Author Topic: Tech Editor - Period  (Read 28521 times)

Agent 12

  • Zurvan Surfer (+2500)
  • *
  • Posts: 2572
    • View Profile
Re: Tech Editor - Period
« Reply #75 on: May 09, 2008, 11:48:17 am »
Quote
Now that I think about it... does this mean new techs for CE?


(nods)

If we don't have an actual contest for it then just random submissions by people, or i'll just make them myself haha.


--JP

BROJ

  • CC:DBT Dream Team
  • Errare Explorer (+1500)
  • *
  • Posts: 1567
    • View Profile
Re: Tech Editor - Period
« Reply #76 on: May 09, 2008, 12:15:04 pm »
Quote
Now that I think about it... does this mean new techs for CE?


(nods)

If we don't have an actual contest for it then just random submissions by people, or i'll just make them myself haha.


--JP
Would it be alright to make a couple suggestions, namely, Death/Doom(Fire-Lucca) and Drain(Fire+Water-Magus)?

FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Tech Editor - Period
« Reply #77 on: May 09, 2008, 12:40:19 pm »
Ooh! jsondag! ZeaLitY and I discussed the idea of a Summer tech creation contest just recently, and there's no problem with conflicting with Summer's Cry or anything -- maybe it could be a longterm contest spanning 6 months even, since entrants would need to spend some time debugging. I'll do a nice Youtube vid showing off the best entries, complete with some kickass music like "Premonition" from FF8 or something, and everyone with a Youtube account here could upload it. Do you want to be in charge of designing the contest rules and so forth, since you're now the person most familiar with the tech data?

Should we wait to start the contest until more things can be edited and enemy tech graphics accessed, and the like?

When I get a chance to work with your tech editor I'll do a PhantomBolt tech for Magus, though maybe it should be a double tech between Magus and Crono. Man, this is great! Truly a new age for videogame fandom, thanks to jsondag's coding skillz!

Ozzie

  • Porrean (+50)
  • *
  • Posts: 53
    • View Profile
Re: Tech Editor - Period
« Reply #78 on: May 09, 2008, 12:57:34 pm »
A contest would be so cool, I would enter for sure.

I would attempt 'Luminslash', Crono would do a cool looking slash to the enemy, and Luminare would trigger in mid slash, or after a series of slashes. I would love to make Luminare red as well, though that may not be easy to do. The fun would be in trying and viewing other people's ideas and creativity.


FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Tech Editor - Period
« Reply #79 on: May 09, 2008, 01:04:47 pm »
That reminds me, the contest entry rules would necessitate that entrants list all the values for the various tech aspects in their creations. That way we can reproduce the results in case a patch gets lost or something.

For the Youtube video that shows off the best entries, I could either make video clips with SNES9x's AVI function or the entrants could make their own clips and submit them for judging. If everyone's going to do their own clips, I'll need to set stipulations for which codec they need to use -- doing the Youtube vid will be harder if everyone encoded their videos differently. I'll have to see what encoding options SNES9x has to begin with.

BROJ

  • CC:DBT Dream Team
  • Errare Explorer (+1500)
  • *
  • Posts: 1567
    • View Profile
Re: Tech Editor - Period
« Reply #80 on: May 09, 2008, 02:38:16 pm »
Quick question: Can one 'add' a tech to a character's tech list as opposed to replacing an existing 'reference entry'(pointer)?

Agent 12

  • Zurvan Surfer (+2500)
  • *
  • Posts: 2572
    • View Profile
Re: Tech Editor - Period
« Reply #81 on: May 09, 2008, 03:52:08 pm »
Couple things:

First off I made an update I know I said I was going to stop for awhile for CE but I found a huge bug in the program where I the program thought that the call sound 78 variant was three bytes instead of two.  This caused everything after a call sound to be loaded incorrectly.

It is now fixed, after fixing it some more things became clear:

24 XX && 36 (wait for section and section++)  have very similar commands
23 XX && 35 I called these wait for subsection and subsection++.

34 1B / 1A turn on/off graphics stored in graphic header byte 7.  So if you want to make LumniSlash after you have crono slash them call 34 1B and it'll trigger the luminaire.  you can then call 34 1A to turn it off.  It looks like you have to put a pause(69) Nand pause (1B) in order to give it enough time.  They split up the pauses because they divided the luminaire into 2 sections, after the pause (69) they do a section++ which triggers the enemies to turn white.

D9 30 loads the graphics that are stored in the other graphic byte headers, but it's unclear which byte does what.

Making a red luminaire could be hard it's to bad we can't see how frog flare is done which leads me to my next point:

We don't have any of the double tech mapped right now.  In order to map them we would have to find the Bytes that they start at, the bytes that they end at, the bytes that the graphics header is stored at, and finally the bytes that the properties are stored at.  If someone finds those it's really easy to add them. 

Also based off what chickenlump did in the "I think it's time to work on techs thread" with gatos song enemy techs use the exact same code, if someone documents all of those I can add them as well.

Onto some questions:

Quote
Quick question: Can one 'add' a tech to a character's tech list as opposed to replacing an existing 'reference entry'(pointer)?

I talked about this earlier, there's dummy tech graphics data  but it would involved adding animations data/properties data/ hacking the asm of the battle/menus to display etc.  I don't forsee this happening anytime soon.

Quote
That reminds me, the contest entry rules would necessitate that entrants list all the values for the various tech aspects in their creations. That way we can reproduce the results in case a patch gets lost or something.

Definately.



Quote
Should we wait to start the contest until more things can be edited and enemy tech graphics accessed, and the like?

I'm gunna focus on CE hardcore for awhile, but if people document new techs (double/triple/enemy) I can add them it's as easy as inputting the numbers at this point.  Also if people decode more commands I'll add them, general rule of thumb is you haven't decoded a command until you see it used twice or you physically use it yourself once.

Best way to decode commands is to open the editor twice, clear out someones tech and add the nodes one at a time and see what changes.


Quote
When I get a chance to work with your tech editor I'll do a PhantomBolt tech for Magus, though maybe it should be a double tech between Magus and Crono.

We can't edit double techs.....Yet bwa haha.



--JP

BROJ

  • CC:DBT Dream Team
  • Errare Explorer (+1500)
  • *
  • Posts: 1567
    • View Profile
Re: Tech Editor - Period
« Reply #82 on: May 09, 2008, 04:09:52 pm »
I talked about this earlier, there's dummy tech graphics data  but it would involved adding animations data/properties data/ hacking the asm of the battle/menus to display etc.  I don't forsee this happening anytime soon.
Shoot! I was just thinking that Magus could be a much more effective character with Drain, and further 'Vortex Drain' (Crono's Cyclone + Magus's Drain -- Damages all enemies(n/elemental), Heals all allies.) Although I could see Lucca with Death definitely becoming way 'overpowered', let alone if used in a multi-tech... :twisted:
I guess I'll have to wait for the bugs and features to get hammered out before I can do these, though. :cry: *cue gloomy music*

FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Tech Editor - Period
« Reply #83 on: May 09, 2008, 04:17:47 pm »
jsondag, if I'm not mistaken the "graphics headers" for double and triple techs should directly follow the ones for single techs, though I could be mistaken 'cause it's been awhile since I took a look at the hex. I'll post again in this thread when I find out more, unless someone else gets to it first.

EDIT:

A hypothesized model for the tech "header" thingies:

0xD45AD ~ 0xD4735: Single Techs, seven-byte stride
0xD4735 ~ 0xD4870: Double Techs, seven-byte stride
0xD4870 ~ 0xD4926: Triple Techs, seven-byte stride

The tech order is simply what's in our list of techs:
http://www.chronocompendium.com/Term/Tech_Data_Notes.html

WITH the exception that the graphics pointers are definitely in a slightly different order than what's in our tech list, as you saw with the Ice/Cure switcharoo. However, I believe you could definitely say the Dual Tech data is stored in "Aura Whirl, Ice Slash, etc." order, and the Triple Techs are stored in "Delta Force, Life Line, etc." order.
« Last Edit: May 09, 2008, 06:43:33 pm by FaustWolf »

Ozzie

  • Porrean (+50)
  • *
  • Posts: 53
    • View Profile
Re: Tech Editor - Period
« Reply #84 on: May 10, 2008, 07:27:18 am »
I could do a breakpoint on unknowns and paste the code for those commands here or in the other thread if someone knowledgeable in assembly wants to take a crack at figuring out what they do in this manner. It's mostly all greek to me, but maybe someone can decipher it.

Example:

Command 27 Used in Cyclone, probably related to command 28, which usually follows after 27

$C1/5806   A9 01       LDA #$01               A:0000   X:004E   Y:0000   P:envMxdiZc   
$C1/5808   85 8E       STA $8E    [$00:008E]   A:0001   X:004E   Y:0000   P:envMxdizc   
$C1/580A   AD 10 A0   LDA $A010  [$7E:A010]   A:0001   X:004E   Y:0000   P:envMxdizc   
$C1/580D   C9 08       CMP #$08               A:0000   X:004E   Y:0000   P:envMxdiZc   
$C1/580F   B0 2A       BCS $2A    [$583B]     A:0000   X:004E   Y:0000   P:eNvMxdizc   
$C1/5811   C9 04       CMP #$04               A:0000   X:004E   Y:0000   P:eNvMxdizc   
$C1/5813   F0 11       BEQ $11    [$5826]     A:0000   X:004E   Y:0000   P:eNvMxdizc   
$C1/5815   AA          TAX                     A:0000   X:004E   Y:0000   P:eNvMxdizc   
$C1/5816   BD 14 A0   LDA $A014,x[$7E:A014]   A:0000   X:0000   Y:0000   P:envMxdiZc   
$C1/5819   AA          TAX                     A:0000   X:0000   Y:0000   P:envMxdiZc   
$C1/581A   BD CD A5   LDA $A5CD,x[$7E:A5CD]   A:0000   X:0000   Y:0000   P:envMxdiZc   
$C1/581D   29 80       AND #$80               A:0000   X:0000   Y:0000   P:envMxdiZc   
$C1/581F   05 8E       ORA $8E    [$00:008E]   A:0000   X:0000   Y:0000   P:envMxdiZc   
$C1/5821   9D CD A5   STA $A5CD,x[$7E:A5CD]   A:0001   X:0000   Y:0000   P:envMxdizc   
$C1/5824   80 15       BRA $15    [$583B]     A:0001   X:0000   Y:0000   P:envMxdizc   
$C1/583B   A9 01       LDA #$01               A:0001   X:0000   Y:0000   P:envMxdizc   
$C1/583D   4C BB 75   JMP $75BB  [$7E:75BB]   A:0001   X:0000   Y:0000   P:envMxdizc

Command 28 Used in Cyclone, probably related to command 27, which usually comes before 28

$C1/5840   64 8E       STZ $8E    [$00:008E]   A:0000   X:0050   Y:0000   P:enVMxdiZc   
$C1/5842   80 C6       BRA $C6    [$580A]     A:0000   X:0050   Y:0000   P:enVMxdiZc   
$C1/580A   AD 10 A0   LDA $A010  [$7E:A010]   A:0000   X:0050   Y:0000   P:enVMxdiZc   
$C1/580D   C9 08       CMP #$08               A:0000   X:0050   Y:0000   P:enVMxdiZc   
$C1/580F   B0 2A       BCS $2A    [$583B]     A:0000   X:0050   Y:0000   P:eNVMxdizc   
$C1/5811   C9 04       CMP #$04               A:0000   X:0050   Y:0000   P:eNVMxdizc   
$C1/5813   F0 11       BEQ $11    [$5826]     A:0000   X:0050   Y:0000   P:eNVMxdizc   
$C1/5815   AA          TAX                     A:0000   X:0050   Y:0000   P:eNVMxdizc   
$C1/5816   BD 14 A0   LDA $A014,x[$7E:A014]   A:0000   X:0000   Y:0000   P:enVMxdiZc   
$C1/5819   AA          TAX                     A:0000   X:0000   Y:0000   P:enVMxdiZc   
$C1/581A   BD CD A5   LDA $A5CD,x[$7E:A5CD]   A:0000   X:0000   Y:0000   P:enVMxdiZc   
$C1/581D   29 80       AND #$80               A:0001   X:0000   Y:0000   P:enVMxdizc   
$C1/581F   05 8E       ORA $8E    [$00:008E]   A:0000   X:0000   Y:0000   P:enVMxdiZc   
$C1/5821   9D CD A5   STA $A5CD,x[$7E:A5CD]   A:0000   X:0000   Y:0000   P:enVMxdiZc   
$C1/5824   80 15       BRA $15    [$583B]     A:0000   X:0000   Y:0000   P:enVMxdiZc   
$C1/583B   A9 01       LDA #$01               A:0000   X:0000   Y:0000   P:enVMxdiZc   
$C1/583D   4C BB 75   JMP $75BB  [$7E:75BB]   A:0001   X:0000   Y:0000   P:enVMxdizc


Command 2E

$C1/58E4   9C FF CF   STZ $CFFF  [$7E:CFFF]   A:0000   X:005C   Y:0000   P:enVMxdiZc   
$C1/58E7   A9 01       LDA #$01               A:0000   X:005C   Y:0000   P:enVMxdiZc   
$C1/58E9   4C BB 75   JMP $75BB  [$7E:75BB]   A:0001   X:005C   Y:0000   P:enVMxdizc

Command 01

$C1/4CF7   AD D1 A3   LDA $A3D1  [$7E:A3D1]   A:001B   X:000F   Y:CC74   P:enVmxdIzC   
$C1/4CFA   F0 04   BEQ $04    [$4D00]   A:001B   X:000F   Y:CC74   P:enVmxdIzC   
$C1/4CFC   7B    TDC   A:001B   X:000F   Y:CC74   P:enVmxdIzC   
$C1/4CFD   4C BB 75   JMP $75BB  [$7E:75BB]   A:001B   X:000F   Y:CC74   P:enVmxdIzC   



Agent 12

  • Zurvan Surfer (+2500)
  • *
  • Posts: 2572
    • View Profile
Re: Tech Editor - Period
« Reply #85 on: May 10, 2008, 05:20:40 pm »
27/28:

it seems to be that when moving sprites post 27 but before 28 gives them highest drawing priority (they are loaded ontop of other sprites).  Best example is with cat attack they use the 27 and 28's to make ayla go through the enemy with her first attack and then come back out in front of him with her second attack.

here's how I saw it


27:
move sprite be on one side of enemy
Pause FF  <-------she's in front of enemy during this pause
28 
Pause FF  <---------She's behind enemy during this pause

FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Tech Editor - Period
« Reply #86 on: May 22, 2008, 12:08:48 am »
Ah, seeing Magus perform Lightning has always been a dream of mine. Thanks jsondag!


I imagine volunteers could help you flesh this out by trying random values for unknown property specifications and documenting the results. Is there anything specific you wanted to tackle first? Maybe figuring out what all the graphics "header" bytes do?

Agent 12

  • Zurvan Surfer (+2500)
  • *
  • Posts: 2572
    • View Profile
Re: Tech Editor - Period
« Reply #87 on: May 22, 2008, 01:31:32 am »
There's not really any "most wanted" anymore.  I happily found my biggest question marks.  I talked to Geiger and he thinks 01 (which was bugging the heck out of me) is a "debugging command". 

Here's my current scratch paper:


DA 71?: 
   Hide super sprites like the grenade in megabomb

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

   
0D 24:  In all of cures Stars, in heal beams start, in Frog's Heal
   always has 01 after it


10 XX YY:
   10 70 1E:  In Life
   10 01 20:  In mega bomb
   10 02 11:  In triple kick



The best thing anyone can do is just play around with it..these aren't really imossible just tedious at this point.  Headers are important so there are some unknowns there, Justin I believe documented alot of the "super graphics" (*2/luminaire/flare)  i know it's possible to put some of lavos attacks in.

Oh yea one big question mark still is determining what element the magic is....like fire2  Ice2 I can't see any difference in the headers.

Share what you make, i'd like to see a "phantom bolt" for CE actually, try to replace fire2.  Actually I guess I should implement an export/import feature.


--JP

FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Tech Editor - Period
« Reply #88 on: May 22, 2008, 01:49:25 am »
My "PhantomBolt" idea might necessitate a palette change for Layer 3 graphics I think, whereas the fifth graphics header byte only affects Layer 1&2 graphics. Thus I was able to get the little explody circle thingies that accompany the lightning bolt to turn purple, but there may or may not be a byte that determines the palette of the lightning bolt itself. I'll focus my efforts on getting the graphics header bytes explored for the time being, and seeing where elemental determinations might be made.

justin3009

  • Fan Project Leader
  • God of War (+3000)
  • *
  • Posts: 3296
    • View Profile
Re: Tech Editor - Period
« Reply #89 on: May 22, 2008, 09:10:58 am »
It's possible to use any enemy graphics inside techs.