Author Topic: Chrono Trigger Sprite Insertion -- Development of a Guide  (Read 28574 times)

FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Chrono Trigger Sprite Insertion -- Development of a Guide
« Reply #60 on: December 29, 2008, 05:17:21 pm »
I guesss we could just make this an "offsets repository" thread.

Anyone know if Layer 3 spell effects have palettes? I didn't see any option for changing it in jsondag's tech editor.

justin3009

  • Fan Project Leader
  • God of War (+3000)
  • *
  • Posts: 3296
    • View Profile
Re: Chrono Trigger Sprite Insertion -- Development of a Guide
« Reply #61 on: December 29, 2008, 05:26:18 pm »
Window Elements
Quote from: justin3009
3FC457 (D7 C4) - Character Stats On Left
3FC459 (ED C4) - LV**
3FC45B (F4 C4) - TIME 00:00/ ######G
3FC45D (14 CA) - Power, Speed, Evade, Hit, Magic, Magic Defense, Stamina, Experience, Next
3FC45F (35 C5) - Character Name, Level, Power, Speed, Evade etc...#'s
3FC461 (81 C5) - Nothing?
3FC463 (BE C5) - ??? Something to do with character stats
3FC465 (ED C5) - Weapon Text
3FC467 (F4 C5) - ??? Nothing?
3FC469 (FD C5) - ??? Some sort of Stat
3FC46B (5A C6) - "Exchange" Icon/Text
3FC46D (6E C6) - "Who'll you replace?" Text
3FC46F (83 C6) - "Use/Move    Organize" Text
3FC471 (98 C6) - Item Icon (In Item Menu)
3FC473 (A2 C6) - All Icons in Settings Menu
3FC475 (5A C7) - 1 2 3 4 5 6 7 8 (Selection)
3FC477 (65 C7) - Confirm Cancel Menu Dash Warp
3FC479 (87 C7) - Erase old Save File?  Yes No
3FC47B to 3FC480 (A6 C7) - New Game +
3FC481 (B3 C7) - New Game
3FC483 (BE C7) - Time        ######G  Save # xxx
3FC485 (DF C7) - Save File Character Stats
3FC487 (E0 C4) - Attack/Defense Data
3FC489 to 3FC48B(02 C8) - Can't do that!
3FC48D to 3FC496 (11 C8) - 1 2 3 (Tech Menu Icon)
3FC497 (2B C8) - Character Stats/MP Used (Tech Menu)
3FC499 (6B C8) - Skill Points Need ###
3FC49B (80 C8) - ???
3FC49D to 3FC49F(C4 C8) - Active Wait
3FC4A1 (12 C9) - Erase old Save?  Yes No
3FC4A3 (A6 C7) - New game +
3FC4A5 to 3FC4BE(2D C9) - Equip
3FC4BF (41 C9) - Buy
3FC4C1 (37 C9) - Sell
3FC4C3 (4B C9) - Buy    Sell
3FC4C5 (55 C9) - #######G (Shop menu)
3FC4C7 (67 C9) - Blank?
3FC4C9 (71 C9) - AttacK:
3FC4CB (7A C9) - Defense:
3FC4CD (BE C8) - ???
3FC4CF (83 C9) - Buy   Sell   # Owned
3FC4D1 (A8 C9) - Blank?
3FC4D3 to 3FC4D5(AC C9) - 0-9 A-Z etc..(Name Screen)

Finnish CT VWF
Quote from: justin3009
109c1 - Item VWF List Battle
10B5B - Tech VWF List Battle
025A90 - Repoints the tech learning names to the area you changed it too.
025AD2 - Repoints the monster names to the area you changed it to.
025BA1 - Repoints the item finding to the area you changed it to.
2A57D - Change this so item names don't copy themselves over.
2A5AA - Equip VWF List
2B053 - Items VWF List
2BDB2 - Tech VWF List
CD9FD - Tech Pointer Pointer
0CDA0F - Monster Name Pointer of Pointers - 1EE1ED
0CED13 - Monster Name to load in Battle

Other
Quote from: justin3009
1C25A - Tech Targetting Pointer
025D3F - "You learned {tech}" length.
111AB - Change this and it'll change what direction the hand moves when you press "Down"
111AD - Change this and it'll change what direction the hand moves when you press "Up"
111B6 - Change this and it'll change what direction the hand moves when you press "Down"
111CC - Change this and it'll change what direction the hand moves when you press "Right"
1134D - Change this and it'll change what direction the hand moves in TECH SELECTION IN BATTLE when you press "Right"
10938 to - 10958 - Change to FF's and the menu selection in battle...is weird
10B8C - Edits X Position of Tech names
10BB2 - Change to 50 so it doens't so "hni" when scrolling
10BC3 - X coordinates of "Double technique" and "Triple Tecnique"
0CED20 - Monster Name Routine

Mauron Level Stats
Quote from: Mauron
01F7D2 - Max possible level
01F865 - Same
01F827 - Same
3FCF3A - Lowest level where ** shows up
3FCF33 / 3FCF35-3FCF39 - Max # on stats

Edit: Menu Data
Quote from: justin3009
Japan Name Screen Data
==============================
3FC215 - Japan (Final) Name Holder Width
3FC216 - Japan (Final) Name Holder Height

3FC21A - Japan (Final) Name Box X Coordinate
3FC21B - Japan (Final) Name Box Y Coordinate

3FC222 - Japan (Final) "Enter your name" Height
3FC223 - Japan (Final) "Enter your name" Width

3FC244 - Japan (Final) Letters in Naming Screen X Coordinate


English Name Screen Data
==============================
3FC3CA - Name Holder X Coordinate
3FC3CB - Name Holder Y Coordinate

3FC3CC - Name Holder Width
3FC3CD - Name Holder Height

3FC3D1 - Letter Box X Coordinate
3FC3D2 - Letter Box Y Coordinate

3FC3D3 - Letter Box Width
3FC3D4 - Letter Box Height

3FC3D9 - "Enter your name" Height
3FC3DA - "Enter your name" Width

3FC425 - "Crono" X corrdinate
3FC426 - "Crono" Y corrdinate

02E421 - X coordinate of letters!

3FC3F0 - Y coodrinates of Portrait and Name?
3FC3FB - Letters in Naming Screen Y Coordinate?

02E45C - Portrait X Coordinates (subtract or add 2 bytes)
02E4A4 - Portrait Y Coordinates

3FC3F5 - Possibly something to do with the hand's X coordinates?
3FC410 - Possibly something to do with the hand's X coordinates?

02E2BF - The Y position of the hand after you move it left or right.
02E2EA - The X position of the hand after you move it left or right.

02E458 - Possibly important for 8th character

02E465 - Y Coordinate of Top Pointer
02E471 - Y Coordinate of Bottom Pointer
02E35A - Pointers X Coordinates

02E4EA - X coordinate of "Enter your name then push the" part
02E4FB - X Coordinate of "Start Button" part

02E467 - Naming Screen Pointer Things

7E0F08 - Current Column
7E0F09 - Current Row


English Extending Letter Selection Naming Screen
==============================
02E31A - Change to 0C to allow more letters to be selected from the Right (2 letters more)
02E54F - Change this number for how many letters appear on each row
02E2DB - Change to 0C to select 2 more letters on the Right
02E2D5 - Change to 0A and you can press back or right to go to 12th letter
02E2D3 - Change to 0B and you can select the 12th letter when you press left

02E2AF - Change this and it'll extend how many letters per column
02E2AC - Change this, if you press down, it'll go up to w/e # of letters you set.
02E2A7 - Change this, if you press up, it'll go down to w/e # of letter you set


Japan Extending Letter Selection Naming Screen
===============
029202 - Change to 0C to allow more letters to be selected from the Right (2 letters more)
02E6AC - Change this number for how many letters appear on each row
02E3BF - Change to 0A and you can press back or right to go to 12th letter
02E3BD - Change to 0B and you can select the 12th letter when you press left

02E3b6 - Starting
02E399 - Change this and it'll extend how many letters per column
02E396 - Change this, if you press down, it'll go up to w/e # of letters you set.
02e391 - Change this, if you press up, it'll go down to w/e # of letter you set

02E3A9 - The Y position of the hand after you move it left or right
02E3D4 - The X position of the hand after you move it left or right.

0258BB to 0258DC - Routines load text character, and checks type
0258C4 - How far it reads for substrings



Battle Mode
==============================
3FC42F - Battle Mode X Coordinate
3FC430 - Battle Mode Y Coordinate

3FC438 - Active/Wait Description Box X Coordinate
3FC439 - Active/Wait Description Box Y Coordinate

3FC43A - Active/Wait Description Box Width
3FC43B - Active/Wait Description Box Height



Character Replacement
==============================
3FC457 - Beginning Data?

3FBF0E - Character Replacement Width
3FBF0F - Character Replacement Height
3FBF10-12 - Box design of First Column

3FBF13 - First Column Character X Coordinates
3FBF14 - First Column Height (Maybe Y Coordinate?)
3FBF15 - ???
3FBF16 - Box Height First COlumn?
3FBF17 - ???
3FBF18 - Last 3 Boxes First Column X Coordinate <--
3FBF19 - Last 3 Boxes Background First COlumn Y coordinate
3FBF1A - Last 3 Boxes First Column X Coordinate -->
3FBF1B - First Column Y Coordinate Boxes
3FBF1C - 2 Boxes/First COlumn Width

3FBF1D-1E - ??? Box Underneath "Who'll you replace"

3FBF1F - 2nd Column Box Design
3FBF20 - Same as Above
3FBF21 - 2nd Column X Coordinates
3FBF22 - 2nd Column Height (Maybe Y Coordinate?)
3FBF23 - 2nd Column Background Box Width
3FBF24 - 2nd Column Background Box Height
3FBF25 - ???
3FBF26 - Background Design
3FBF27 - Background Design
3FBF28 - Background Design speed?


Main Menu Editing
==============================
3FB808 - Menu Editing

3fB825 - Character Scrolling Main Menu Editing
3FBBB0 - 3FBC57  - Set all to FF and menu has no shading
3FBD5C-3FBD73 - "I have listed as Coordinates and other data for six main menu icons" (Quoted by: Geiger)
3FBD75 - X coordinates of Power/Evade/etc..
3FBD7D - Gold Text Modifying
3FC4FC - Gold Modifying
3FBD7F-80 - Time X Coordinate

3FBD84 - PWR SPD EVA etc Text Modifying
3fBD85 - PWR SPD EVA etc X Coordinates
3fBD86 - PWR SPD EVA etc Y Coordinates

3fBD89 - Menu X Coordinate (Messes up graphics =/)
3fBD8A - Menu Y Cooridnate (Messes up Graphics =/)

3fBD8E - Character Scrolling Menu X Coordinate (back)
3fBD8F - Character Scrolling Menu Y Coordinate (back)
3fBD90 - Character Scrolling Menu Width
3fBD91 - Character Scrolling Menu Height
3fBD93 - Character Scrolling Menu Bottom 3 Objects Width
3fBD94 - Character Scrolling Menu Bottom 3 Objects Y coordinate
3fBD97 - Character Scrolling Menu Bottom 3 Objects Height
3fBD99 - Character Scrolling Column Menu Height

3fBD9C - Character Status X coordinates
3fBD9D - Character Status Y coordinates
3fBD9E - Character Status Width
3fBD9F - Character Status Height
3fBDA9 - Character Stat Spacing

3fBDB1-2 - Character 2-8 MP Y coordinate

3fBDB5 - Start of Editing Column

3FBE11 - Character Stats X Coordinate Menu
3FBE12 - Character Stats Y Coordinate Menu

3FBE20 - Characters Name/LVl Text Modifying Status

3fC53C-41 - Editing the text "Level **"
3FC38D - Editing "Level **" text (JP FINAL)
3FC542 - Edits the max level symbol  07 = Star * 09 = 00
3FC546 - Pwr Hit Mag ** editing
3FC549 - Edits Max symbol for Power 00 = ** 0a = 99
3FC4D8 - Name Pointer in Menu
3FC4ED - "LV" text modification
3FC557 - SPD EV STAM ** X COORDINATE
3FC55F - SPD Max Symbol Editing
3FC564 - STAM MAX SYMBOL EDITING
3FC56A - M.Def ** X coordinates
3FC56D - M.def Max Symbol editing
3FC5BF - How many letters appear in Menu (Gets rid of 1 ><)
3FCB04 - Prelease (Same as above)
3FC5C3 - Pointer for "LV" Text
3FC5CA - X Coordinate of Health Points
3FC5D5 - Editing / That seperates the HP
3FC5DE-DF - Editing the blank spaces between MP
3FC5E5 - Editing / that seperates MP

3FBE11 - Character Stats X Coordinate Menu \
3FBE12 - Character Stats Y Coordinate Menu / These move the ENTIRE status, including name, attack, defense etc..
3FBE20 - Characters Name/LVl Text Modifying Status?

3FC5BD-3FC5C1 - General Area for Character Name


MP Data
==============================
3FC5E2 - Change to 22 for 3 digit MP.  Works Partially.
3FC5E8 - Change to 22 for 3 digit MP.  Works Partially.
3FC7FE - Change to 22 for 3 digit MP.  Works Partially.

3FC5DB - MP Letter
3FC5C5 - HP Letter

3FC4DB-3FC4E5 - Attack Data (Including Icon)
3FC5CD-3FC5DA - HP Data xxx/xxx
3FC5DE-3FC5EB - MP Data xx/ xx



Character Stats
==============================
3FC4E6 - Defense Symbol/Stat Editing
3FC4DD - Attack symbol/Stat Editing

3FC503 - PWR. text editing
3FC507 - PWR. Stat Editing



Exchange Menu Data
==============================
3FBF51 - Exchange Text Selection
3FBF53/3FBF49 - Exchange X coordinates
3FBF54 - Exchange Y coordinates


Unsure
==============================
02EC45 - Character Portrait Height?
3FBD85 - 0F 12 = Stat X Coordinates

3FC3BC - Naming Screen data
3FC205 to 3FC271 Japanese Naming Screen Data


Other
==============================
0281AC - Hand Icon
029B17 - Edits the surround tiles in menu
029C0A - Positioning of Menu Pointers
0281A4 - Pointer for Selecting Character Coordinates/Graphics
x29EA7 - Main Menu Pointer ??

3FB718 - Editing position of Menu stuff

3FC6A2 - 3FC730? - Menu Settings Editing - Menu Settings Editing
3FC815 - Menu Tech Editing

3FC8F4 - Shop Editing

3FCBB6 - Edits the outline of the text if it's a "NEW" item
3FCBBB - Edits the color of the text if it's a "NEW" item

Battle Menu Editing
==============================
CFADF - Change this and it'll move the X position of where the hand moves when selecting something.
« Last Edit: December 29, 2008, 05:51:58 pm by justin3009 »

FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Chrono Trigger Sprite Insertion -- Development of a Guide
« Reply #62 on: February 16, 2009, 03:03:38 am »
Anyone who's familiar with the animation data format, how do the following data sets differ?

243000   24A5FF   ANI   N   Character animation data   2003.07.07

24A800   24CC5F   ANI   N   Uncomfirmed animation data   2003.07.07

Reviewing notes left earlier, it's my current understanding that the data beginning @ 0x243000 determines which sprite assembly frames are called up for each animation, and the data beginning @ 0x24A800 is what specifies the number of frames that compose each animation.

However, if I do the math with Crono as an example, it turns out that the data at 0x24A800 would give Crono 0x128 (dec 296) animations if each byte in that dataset is a framelength identifier, so I'm puzzled. There shouldn't be any more than 0xFF animations per character as far as I know.

justin3009

  • Fan Project Leader
  • God of War (+3000)
  • *
  • Posts: 3296
    • View Profile
Re: Chrono Trigger Sprite Insertion -- Development of a Guide
« Reply #63 on: February 16, 2009, 08:56:05 am »
243000   24A5FF   ANI   N   Character animation data   2003.07.07 - This is what frames are used in the animation.
24A800   24CC5F   ANI   N   Uncomfirmed animation data   2003.07.07 - This is the length of each animation and how fast they move.  Higher the #, slower they are.

FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Chrono Trigger Sprite Insertion -- Development of a Guide
« Reply #64 on: February 16, 2009, 02:32:14 pm »
Ah, okay, so there's something else in the 24A800 data set. Is there one byte that says how long the animation is and one byte that tells how fast for each animation?

So, let's say I want to make a random dude do a three-frame walking animation, and those three walking frames are the first frames in the sprite assembly.

Would I specify the frames 00 01 02 in the 243000 animation data set, and specify 02 as the frame length of the first animation in the 24A800 animation data set? Unless three frames is represented by the byte 0x03.

Vehek

  • Errare Explorer (+1500)
  • *
  • Posts: 1761
    • View Profile
Re: Chrono Trigger Sprite Insertion -- Development of a Guide
« Reply #65 on: February 16, 2009, 02:36:34 pm »
There's no byte saying how many frames an animation is.
I've explained how the game finds the start of each animation before: 4 * animation_number + start of animation data for the current direction.
The 24A800 animation data specifies how long each frame of an animation is shown. Each byte there controls one frame. It's applied to all four directions.

I'm not sure, but I think the game keeps on reading animation frames until it hits a 0xFF frame or a 0x00 frame length.
« Last Edit: February 16, 2009, 02:47:14 pm by Vehek »

FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Chrono Trigger Sprite Insertion -- Development of a Guide
« Reply #66 on: February 16, 2009, 03:51:44 pm »
Okay, by "frame length" I totally misunderstood and thought it meant the number of frames per animation as opposed to display time length.

Let's examine some code. Here's Crono's animation data:


00243000  03 FF 00 00 16 17 18 19 - 1A 1B FF 00 C6 4F C7 4F
00243010  FF 00 00 00 64 FF 00 00 - 20 41 21 22 42 23 FF 00
00243020  45 FF 00 00 6E FF 00 00 - 4F 3A 39 38 6C 6D FF 00
00243030  38 39 3A 4F FF 00 00 00 - 49 8D 8E 49 FF 00 00 00
00243040  71 72 71 72 71 FF 00 00 - 47 48 FF 00 00 FF 00 00
00243050  00 00 00 00 2C 6C FF 00 - 03 93 FF 00 97 03 98 03
00243060  FF 00 00 00 A5 FF 00 00 - CC CD FF 00 68 69 6A 6B
00243070  FF 00 00 00 47 FF 00 00 - 7C FF 00 00 7B FF 00 00
00243080  79 FF 00 00 00 9F A0 FF - AC AD FF 00 87 FF 00 00


Crono's first two animations are highlighted. So, the FF byte is a termination instruction and any 00 bytes that follow serve as buffers to ensure the next animation begins at a multiple of four. Am I correct on that guys?

Given that this is correct, now for another question -- in the above example with Crono, I think the red animation is "standing-front." If so, is the byte 03 telling the game engine to call up the third frame in Crono's sprite assembly? (or would it actually be the fourth frame, with 0x00 representing the first frame?)
« Last Edit: February 16, 2009, 03:53:39 pm by FaustWolf »

justin3009

  • Fan Project Leader
  • God of War (+3000)
  • *
  • Posts: 3296
    • View Profile
Re: Chrono Trigger Sprite Insertion -- Development of a Guide
« Reply #67 on: February 16, 2009, 04:07:19 pm »
It'd be the 4th frame if what I'm seeing is correct.  Also, yea I believe you're right on that.  I haven't done anything with the 00's in front of the actual data, so I think this is a safe guess for right now. 

Yes, I think you're correct on that because 00 is him Facing Foward.

Also, another note that is somewhat related is that Size 5 Sprite Assembly for example Lavos is 80 bytes in length.

FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Chrono Trigger Sprite Insertion -- Development of a Guide
« Reply #68 on: February 16, 2009, 04:12:20 pm »
I'm confuzzled as to why Crono's first animation reads "03 FF 00 00." The byte 0x03 would seem to call up Crono's fourth frame in sprite assembly, but isn't standing-front Crono's very first frame? Why doesn't it read "00 FF 00 00"?

Vehek

  • Errare Explorer (+1500)
  • *
  • Posts: 1761
    • View Profile
Re: Chrono Trigger Sprite Insertion -- Development of a Guide
« Reply #69 on: February 16, 2009, 04:15:52 pm »
Animation data starts with the frames for Facing Up. After that is Facing down, and I don't remember off-hand which order Left and Right go in.

FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Chrono Trigger Sprite Insertion -- Development of a Guide
« Reply #70 on: February 16, 2009, 04:21:58 pm »
Oh, okay, sweet. Thanks. It's all clear now.

Vehek

  • Errare Explorer (+1500)
  • *
  • Posts: 1761
    • View Profile
Re: Chrono Trigger Sprite Insertion -- Development of a Guide
« Reply #71 on: February 20, 2009, 02:03:42 am »
Is there really a "Size 5 sprite assembly"?
Even though the game may have such large values in its sprite data, that doesn't mean those sizes exist.
At least in the field, the game ANDs the sprite size value with $03.

And 80dec bytes is the size of a size 1 assembly.

FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Chrono Trigger Sprite Insertion -- Development of a Guide
« Reply #72 on: February 20, 2009, 03:37:31 am »
I haven't tested it out myself. justin says he's worked with it. If not, might it be possible to make large enemies by putting several Size 1 sprites together? That's basically what happens with Giga Gaea's hands and Queen Zeal, although de-syncing of animation and partial flashing during attacks would be problematic.

I noticed some really wild sprite assembly size numbers were associated with flying enemies (bell birds and so forth) as expressed in Chrono Tweaker. That's going to be interesting.

justin3009

  • Fan Project Leader
  • God of War (+3000)
  • *
  • Posts: 3296
    • View Profile
Re: Chrono Trigger Sprite Insertion -- Development of a Guide
« Reply #73 on: February 20, 2009, 08:57:15 am »
It might be size 3.  I was working with ChronoTweaker and it labeled Lavos as Size 5

Shee

  • Temporal Warrior (+900)
  • *
  • Posts: 942
  • Sheeeeeeit
    • View Profile
Re: Chrono Trigger Sprite Insertion -- Development of a Guide
« Reply #74 on: February 20, 2009, 05:33:09 pm »
See, reading something like this makes my head hurt.  How in the hell do y'all find this stuff?  And even more importantly, how in the hell did y'all find out how to manipulate and use it?  Rabble rabble rabble.  It's just like...you know....um....I'm behind on the whole damn thing here.  Still gettin' the hang of "eventing."  And it looks like this stuff ehre could really take it to the next level.

Granted, I have considerably less time these days then when I joined back in December, so the learning curve is a slower process.  I don't think I used that last phrase correctly, but it serves it's purpose.  Regardless, I have to start putting my brains back into my head...