Author Topic: [5000] Decipher the Cross Ending Enigma  (Read 5413 times)

ZeaLitY

  • Entity
  • End of Timer (+10000)
  • *
  • Posts: 10795
  • Spring Breeze Dancin'
    • View Profile
    • My Compendium Staff Profile
[5000] Decipher the Cross Ending Enigma
« on: October 01, 2009, 12:48:27 pm »
http://www.chronocompendium.com/Forums/index.php?topic=4187

There is a lot of legend surrounding the Chrono Cross developer's ending, fueled by a trick that changes Kid's clothing. The best way to figure this out would be to decode Chrono Cross's field script and then examine the field script for each developer room. That would authoritatively solve the mystery.
« Last Edit: October 07, 2009, 07:01:32 pm by ZeaLitY »

Vehek

  • Errare Explorer (+1500)
  • *
  • Posts: 1756
    • View Profile
Re: Decipher the Cross Ending Enigma
« Reply #1 on: October 01, 2009, 02:51:14 pm »
The only Kid model in that room is orphanage Kid. So, having her "change" costumes should be impossible. I think she can only be in or out of the shadows.

ZeaLitY

  • Entity
  • End of Timer (+10000)
  • *
  • Posts: 10795
  • Spring Breeze Dancin'
    • View Profile
    • My Compendium Staff Profile
Re: Decipher the Cross Ending Enigma
« Reply #2 on: October 01, 2009, 03:44:48 pm »
Ah, that helps a lot. So beyond that first outfit, everything written on the subject is probably false.

MDenham

  • CC:DBT Dream Team
  • Chronopolitan (+300)
  • *
  • Posts: 330
  • Glowsticks are not a weapon.
    • View Profile
    • Java IRC - konata.echoes-online.com
Re: Decipher the Cross Ending Enigma
« Reply #3 on: October 01, 2009, 05:25:10 pm »
Ah, that helps a lot. So beyond that first outfit, everything written on the subject is probably false.
Barring there being a fieldscript opcode for "load model from Room X", yes.

Actually, come to think of it, changing between party-outfit Kid and orphanage-outfit Kid should be possible (the party models should always be accessible), but any other change would require being able to load models from other rooms.

utunnels

  • Guru of Reason Emeritus
  • Zurvan Surfer (+2500)
  • *
  • Posts: 2797
    • View Profile
Re: [5000] Decipher the Cross Ending Enigma
« Reply #4 on: October 21, 2009, 08:55:22 am »
Hmm, maybe it is just an emulator glitch (the shadow effect doesn't work, for example).


IAmSerge

  • Temporal Warrior (+900)
  • *
  • Posts: 964
    • View Profile
Re: [5000] Decipher the Cross Ending Enigma
« Reply #5 on: October 22, 2009, 01:49:41 am »
I can tell you that I have attempted to do this many times, however the only thing ive been able to do is to get her to nod her head or to shake her head, and I can agree with what the gamefaqs guide said, that it changes with the song.  Also, orphanage kid I have reached, no further.

...Im getting angry that schala isn't blue haired >.<

Vehek

  • Errare Explorer (+1500)
  • *
  • Posts: 1756
    • View Profile
Re: [5000] Decipher the Cross Ending Enigma
« Reply #6 on: July 08, 2016, 03:13:46 am »
As I mentioned in the toolset thread, I wasn't sure where to post now that the original thread is pinned in this forum, but this one has no cruft for anyone new to go through, so I'm posting here.
The room script's CD1-471-Programmers Room - Far Right Of Main 2.txt in yaz0r's script dumps.
These are Kid's init and idle scripts. I'm not including the talk-to script because it's mostly just a lot of checks for which choice you selected.
Code: [Select]
---------------------------
| Entity 13 INIT
---------------------------
0x0229: SETUP_NPC(9)
0x022C: SET_POSITION_UNSIGNED(-607, -99, 0)
0x0234: SET_ROTATION(1024)
0x0237: opFE64(1, THIS)
0x023B: op47(0x01)
0x023D: SET_ANIMATION(3)
0x0240: STOP()
---------------------------
| Entity 13 UPDATE
---------------------------
0x0241: roomVar[0x00] = rand()%6
0x0246: IF_JUMP(roomVar[0x00] == 0, 0x025F)
0x024E: WALK_TO_POSITION(0x00, -642, -99)
0x0257: WALK_TO_POSITION(0x01)
0x0259: WAIT(60)
0x025C: JUMP(0x02C9)
0x025F: IF_JUMP(roomVar[0x00] == 1, 0x0278)
0x0267: WALK_TO_POSITION(0x00, -627, -99)
0x0270: WALK_TO_POSITION(0x01)
0x0272: WAIT(40)
0x0275: JUMP(0x02C9)
0x0278: IF_JUMP(roomVar[0x00] == 2, 0x0291)
0x0280: WALK_TO_POSITION(0x00, -607, -99)
0x0289: WALK_TO_POSITION(0x01)
0x028B: WAIT(60)
0x028E: JUMP(0x02C9)
0x0291: IF_JUMP(roomVar[0x00] == 3, 0x029F)
0x0299: WAIT(60)
0x029C: JUMP(0x02C9)
0x029F: IF_JUMP(roomVar[0x00] == 4, 0x02AD)
0x02A7: SET_ANIMATION(9)
0x02AA: JUMP(0x02C9)
0x02AD: IF_JUMP(roomVar[0x00] == 5, 0x02BB)
0x02B5: WAIT(90)
0x02B8: JUMP(0x02C9)
0x02BB: IF_JUMP(roomVar[0x00] == 6, 0x02C9)
0x02C3: SET_ANIMATION(1)
0x02C6: JUMP(0x02C9)
0x02C9: STOP()

Kid's animations are randomized.
Also, the musicians don't store your music choice into a variable, so it probably can't be tracked by other entities.

And for good measure, here's the locked door's script from Programmer's Room Main 2:
Code: [Select]
---------------------------
| Entity 10 INIT
---------------------------
0x01AD: SET_POSITION_UNSIGNED(0, 1280, 0)
0x01B5: TOGGLE_RECT_COLLISION(0x01)
0x01B7: op8D(0x02)
0x01B9: RECT_SIZE(180, 100)
0x01BE: SET_ROTATION(1024)
0x01C1: DISABLE_BACKGROUND_LAYER(4)
0x01C4: DISABLE_BACKGROUND_LAYER(5)
0x01C7: DISABLE_BACKGROUND_LAYER(6)
0x01CA: DISABLE_BACKGROUND_LAYER(7)
0x01CD: DISABLE_BACKGROUND_LAYER(8)
0x01D0: DISABLE_BACKGROUND_LAYER(9)
0x01D3: DISABLE_BACKGROUND_LAYER(10)
0x01D6: DISABLE_BACKGROUND_LAYER(28)
0x01D9: STOP()
---------------------------
| Entity 10 UPDATE
---------------------------
0x01DA: STOP()
---------------------------
| Entity 10 ON_ACTION
---------------------------
0x01DB: DIALOG(0x0006, 0x08)

+-------------------------
|It's completely locked.<Close>
+-------------------------

0x01DF: WAIT_DIALOG()
0x01E0: STOP()
---------------------------
| Entity 10 ON_COLLISION
---------------------------
0x01E1: STOP()
Definitely not seeing any door-opening interactions, not even a silent one with no text.

Schala Zeal

  • Radical Dreamer (+2000)
  • *
  • Posts: 2127
  • 7th Elemental Innate, and vtuber
    • View Profile
Re: [5000] Decipher the Cross Ending Enigma
« Reply #7 on: July 08, 2016, 03:22:38 am »
I've attempted to un-LZSS these scripts, but when I do "decompress" them, I get another binary file. I can't even tell if I did it wrong or not.What should I look for if successful? (ie. 2540.out is an LZSS)

alfadorredux

  • Entity
  • Mystical Knight (+700)
  • *
  • Posts: 746
  • Just a purple cat
    • View Profile
Re: [5000] Decipher the Cross Ending Enigma
« Reply #8 on: July 08, 2016, 08:25:00 am »
PSZ, I've attempted to answer your question on your "Engine reimplementation" thread ont he Cross mod board. Hope that helps.

Schala Zeal

  • Radical Dreamer (+2000)
  • *
  • Posts: 2127
  • 7th Elemental Innate, and vtuber
    • View Profile
Re: [5000] Decipher the Cross Ending Enigma
« Reply #9 on: July 08, 2016, 03:16:52 pm »
I saw. I've been trying to adapt this ( https://oku.edu.mie-u.ac.jp/~okumura/compression/lzss.c ) to my code. If you don't know C, let me know and I'll build an EXE of this. I'd like a second opinion on this, because I'm not sure if my editing the constants up top to be on par with CC works. The decompressed size in the LZSS header matches what's put out by this, but other than that, I'm lost.

ZeaLitY

  • Entity
  • End of Timer (+10000)
  • *
  • Posts: 10795
  • Spring Breeze Dancin'
    • View Profile
    • My Compendium Staff Profile
Re: [5000] Decipher the Cross Ending Enigma
« Reply #10 on: July 11, 2016, 10:20:00 am »
Thanks. I'm going to create a Feature/encyclopedia page specifically outlining the proof we have, now (another Chrono Cross FAQ reputation, hahaha). I guess it might be better as a legitimate Article; I can go off on some other late 90s/early 00s game myth tangents.

The legend is finally dead.