Author Topic: Ending Pic mini-project  (Read 5539 times)

Vehek

  • Errare Explorer (+1500)
  • *
  • Posts: 1756
    • View Profile
Re: Ending Pic mini-project
« Reply #30 on: December 29, 2007, 12:53:45 pm »
I use both:
361C00   361DFF   DATA   N   "Location Tilesets, 8 bytes each, determines which ""packets"" of graphics are used for each location"   2003.11.13
and
362220   3624BF   PTR   N   "Pointers to Location Tiles (224 addresses, first at 252000)"   2004.06.21

FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Ending Pic mini-project
« Reply #31 on: December 29, 2007, 02:52:55 pm »
Ah, so you go by the pointers. Very good, thanks. I'm on the verge of doing an in-game test with the simple 15-color ending pic and I've got the modified uncompressed tile sets the same size as the their unmodified counterparts. But if the tile sets are compressed using Run Length Encoding (not sure about that by any means; just my guess), is that any guarantee that they'll be the same size as the unmodified compressed tile sets?

FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Ending Pic mini-project
« Reply #32 on: December 29, 2007, 08:43:04 pm »
Houston, we have a problem.   :?

To make a long story short, here's my notes on the original compressed tile sets and the altered compressed tile sets for the court room interior:

#1 2C0000, (E5D) compressed; (FDF) recompressed
#2 2C0E5D, (D15) compressed; (F7D) recompressed
#3 2C1B72, (C14) compressed; (EB7) recompressed
#4 2C2786, (F50) compressed; (BEB) recompressed
#5 2C36D6, (F58) compressed; (F3E) recompressed
#NOT USING 2FD02D, (280) compressed; () recompressed
#7 257CBF (18D8) compressed; (1908) recompressed

As you can see, the ending pic takes up way more space than what we've got available. The uncompressed tile sets are the same size when altered as their unaltered counterparts, but due to (likely) RLE compression, the blank space in the original tile sets allow them to be compressed more than the art, which has completely solid subtiles. Not sure what to do; I could change the pointers that apply to the court room scene just fine, but that would have a huge impact on tile sets that are adjacent to the court room scene's tile sets. I guess the next step is to investigate which tile sets are adjacent and whether or not that will impact the rest of the hack.

The only other options, as I see it, are to shrink the ending pic to the same resolution as the Japanese ending pic (less quality) and do an insert identical to what was done in the Retranslation, or to scrap the ending pic idea altogether.

Thoughts?

EDIT: Actually, I should mention that only a portion of the tile set labeled #7 above is used, so if I erased the remainder of that tile set and did some rebalancing with the extra space, we might be able to salvage this pretty handily. Also, the tile set "NOT USED" is worth an extra 280 bytes, so I might be able to make use of those in some way. This will take time, though. I might have to spend the next day or two exploring space-saving combinations.

UPDATE: Whew, panic mode over space-wise, at least. Here's my revised notes on the compression and recompression sizes:

#1 2C0000, (E5D) compressed; [E26] recompressed  -16 subtiles
#2 2C0E5D, (D15) compressed; [CF0] recompressed  -22 subtiles
#3 2C1B72, (C14) compressed; [BA0] recompressed  -32 subtiles
#4 2C2786, (F50) compressed; (BEB) recompressed [FINE]
#5 2C36D6, (F58) compressed; (F3E) recompressed [FINE]
#NOT USING 2FD02D, (280) compressed; () recompressed
#7 257CBF (18D8) compressed; (1908) recompressed [14D1] +70 subtiles, - many unnecessary subtiles.

Now for an in-game test....anyone happen to have a savestate handy made just before the trial? Or is there a way to warp to certain events in the game? :oops:
« Last Edit: December 29, 2007, 10:37:55 pm by FaustWolf »

FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Ending Pic mini-project
« Reply #33 on: December 29, 2007, 11:45:25 pm »
Okay, it appears we have a good data insert. However -- is there some way to work with subtiles directly in Temporal Flux, i.e., move subtiles from the subtile swatch over to the location editing window? Flux isn't allowing me to select anything in the subtile swatch...

I guess it's possible to create custom tiles via changing each tile quadrant to its proper subtile one-by-one, but man, that's going to be tedious. Any tips? How was the Japanese ending art built in the location editor for the Retranslation?

[attachment deleted by admin]

Vehek

  • Errare Explorer (+1500)
  • *
  • Posts: 1756
    • View Profile
Re: Ending Pic mini-project
« Reply #34 on: December 29, 2007, 11:47:41 pm »
We didn't need to build the Japanese ending art for the Retranslation. The tileset assembly was already in the ROM, just unused.

FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Ending Pic mini-project
« Reply #35 on: December 30, 2007, 12:27:31 am »
Oh shoot, okay. This is the first time a piece of artwork has had to be built from scratch within Flux, eh? Guess it's time to hunker down and get a grid over a screencap of the subtile swatch window and just bust it out. It appears that the subtiles start at 0x100 in the subtile select menu, so I'm hoping 0x101 will be the subtile just to the right of that one, etc. etc. I.e., the subtiles should follow logically from left to right, making building custom tiles slightly less painful.

Chrono'99

  • Guru of Reason Emeritus
  • God of War (+3000)
  • *
  • Posts: 3605
    • View Profile
Re: Ending Pic mini-project
« Reply #36 on: December 30, 2007, 04:16:48 am »
Yeah, it starts at 100 and goes in order up to 10F, then 110 is the next line, etc. It's indeed tedious to changes every subtile like that, but it's easy, at least. Note that you can click directly on the quadrant of the tile in the frame at the left of the TF screen, instead of choosing the quadrant in the scrollbox. Also if you want to refresh the tileset when working on it you can do it just by reopening the location; no need to write memory and save everytime (except to actually save the work, of course).

Chrono'99

  • Guru of Reason Emeritus
  • God of War (+3000)
  • *
  • Posts: 3605
    • View Profile
Re: Ending Pic mini-project
« Reply #37 on: December 30, 2007, 04:51:05 am »
Now for an in-game test....anyone happen to have a savestate handy made just before the trial? Or is there a way to warp to certain events in the game? :oops:

You can change things with TF but I've made these two event files for you to test the pic. Just import the two in your ROM in TF. The first file changes the load screen so that it loads the courtroom instead of a new game. The other file removes the events in the courtroom as well as the black bar at the bottom of the screen (normally CT has this bar because textboxes placed at the bottom of the screen have some garbage graphics).

[attachment deleted by admin]

FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Ending Pic mini-project
« Reply #38 on: December 30, 2007, 12:08:58 pm »
Thanks a million for those files, Chrono'99! I'll finalize the ending pic image today (cape shading and sky need to be worked on for the seven-palette pic) and begin building it in flux.

FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Ending Pic mini-project
« Reply #39 on: December 30, 2007, 01:55:49 pm »
Quick question for those more experienced than I in Chrono Trigger editing -- the ending pic I'm going to insert into the ROM is 31 subtiles (length) by 21 subtiles (height). Will that be able to fit on one screen? Chrono'99 said that the SNES can handle up to 896 subtiles onscreen, but I wanted to make sure there isn't going to be a problem with picture length.
« Last Edit: December 30, 2007, 02:02:30 pm by FaustWolf »

Chrono'99

  • Guru of Reason Emeritus
  • God of War (+3000)
  • *
  • Posts: 3605
    • View Profile
Re: Ending Pic mini-project
« Reply #40 on: December 30, 2007, 02:02:35 pm »
Yeah, the maximum is 32 by 28 so it will fit nicely.

EDIT: Regarding Serge's diary, there isn't enough space to add commas and apostrophes in the ASCII text graphics, so we have use a tileset as discussed earlier in the thread... but don't worry about it, I've just replaced the Castle Guardia tileset with letters, punctuation signs and numbers from the ASCII graphics. This should take care of the diary and credits.
« Last Edit: December 30, 2007, 02:15:03 pm by Chrono'99 »

FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Ending Pic mini-project
« Reply #41 on: December 30, 2007, 08:37:47 pm »
Phew, thanks for taking care of the text aspect. If we want a New Year's Day release with the ending pic, it's gonna be close. How does the attached pic look? I still detest how the cape turned out (my shading skillz are nonexistent), but overall it's more colorful than the single palette version.

[attachment deleted by admin]

Chrono'99

  • Guru of Reason Emeritus
  • God of War (+3000)
  • *
  • Posts: 3605
    • View Profile
Re: Ending Pic mini-project
« Reply #42 on: December 31, 2007, 04:12:16 am »
I think it looks okay. Even if there's some minor imperfection, I'm sure players will be more excited than "disappointed" at seeing this pic in the game.

FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Ending Pic mini-project
« Reply #43 on: December 31, 2007, 06:36:29 pm »
Aw, shoot. Looks like I'm running into a problem with the courtroom location -- the seventh tile packet I used to solve the compression dilemma earlier is apparently only for animations, and doesn't show up in Flux at all. Leene Square, future looks suitable though -- are you guys using that tile set or its palettes for anything?

Leene Square - Future is location 0x02C and uses tile set 0x09. I should be able to find out where its graphics packets with the tips Vehek gave me earlier, but Vehek, if you happen to wander in here, could you perhaps work your magic again, as you're more efficient than I am at that sort of thing?

I'll see if I can salvage the use of the court room location in the meantime. If we do use Leene Square - future for the ending pic, it should be testable easily enough since that's in one of the endings and ending savestates are a dime a dozen on the Net.

It would appear that tile set 0x09 (Leene Square - future) uses graphics packets 31, 32, 33, 34, 35, and 39, with 15 likely being animation data that I won't even bother with. The sixth graphics packet doesn't have anything weird going on with it like its counterpart in the courtroom, so that should solve things. The hack doesn't have any ending scenes with FATE or anything that would require a 3200AD lab tile set, does it?

Okay, even better. Thanks to Vehek's info, I've been able to change pointers such that the courtroom now shows the seventh tile set meant only for implied animations. Booyah! Time for some art insertion.

Doesn't look like I'm gonna get this done tonight, folks, so don't hold your breath. At the present rate of accomplishment, all I'll have to show on New Year's is a ROM with the ending pic inserted in an intelligible fashion. What's more, I won't be able to work on this for the next two days due to a funeral (being a pall-bearer on New Year's wasn't what I had in mind  :cry:), so I'll attach the ROM with inserted data and some other materials in case anyone wants to take this up while I'm out. That'll be up tomorrow morning.

UPDATE: Pic insertion looks good. All that remain are assembly and palette insertion & application. I'm linking to a portable "working box" with all the materials I've been using so everyone can see what I've been tinkering with and continue where I've left off if necessary.

Here's what's inside the zip:

*TrialSet#.bin: Subtile graphics packets extracted from the game, uncompressed. These are labeled according to the order in which Vehek gave me the graphics packets locations earlier in this thread (#1 was pulled from 0x2C0000, etc.)
*TrialSetInsert#.bin: Chunks of the ending pic that I've inserted back into my test ROM.
*Split # Insert.bmp: Finalized chunks of the ending pic, one for each palette.
*Insert: A raw file created in Tile Molester; what you get when you arrange all the "Split # Insert" bitmaps to form the whole picture; this is what I actually stuffed into the graphics packets for re-insertion into the ROM. Each subtile should display correctly when it is assigned the appropriate palette shift indicated in its corresponding "Split # Insert" bitmap.
*GUI.string: A file Temporal Flux gave me; not sure what its significance is, but I'm including it just in case.
*Copy 2 of Chrono.smc: My test ROM after graphics packet re-insertion; load it into Flux and go to the court room / trial location (location 0x1B IIRC) and enable the L1/2 subtiles swatch to see Julie Dillon's artwork in all its 16-bit glory.

Like I say, I will return to finish this, but wanted to give you guys some flexibility in case my absence over the next couple days is going to introduce too much delay into the project's release. In all likelihood I should get back to this on January 3, with a final patch ready on Jan 4.

LINK: http://rapidshare.com/files/80439165/End_Pic_WorkBox.zip.html
« Last Edit: January 01, 2008, 03:31:53 am by FaustWolf »

FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Ending Pic mini-project
« Reply #44 on: January 03, 2008, 07:42:48 pm »
We have a successful in-game test!!  :lee:

I'm not sure why areas that appear blank in Flux become "p" tiles; perhaps I can eliminate that by setting them to a different subtile. Palette shift is 0, so these should be blank -- unless palette shift 0 means the tile is transparent, and this is perhaps showing something that's on another layer. The second pic shows what happens when layer 2 is disabled in ZSNES, if this provides any clues as to what's up.

Palettes are still needed, of course. Now, if the colors are 15 bits per pixel and there's 15 colors in a location palette, we should need 225 bits per palette, correct? Or 28.125 bytes, meaning the relative offsets for the first palette would be x0 ~ x28; and the next palette would be contained in relative offsets x28 ~ x56? The third palette would be x56 ~ x84, and so on? I'll try this scheme out; anyone happen to have a list of palette offsets, or know for sure what the scheme is for determining which relative offsets apply to which palette shift?


[attachment deleted by admin]
« Last Edit: January 03, 2008, 07:46:01 pm by FaustWolf »