[Glitch] Hunting the Tenzan Chimera

If you are stuck in the Dunan Unification Wars; or wish for more details on the gameplay systems, this is the place.
Post Reply
User avatar
Pyriel
Webmaster
Posts: 1229
Joined: Wed Aug 18, 2004 1:20 pm

[Glitch] Hunting the Tenzan Chimera

Post by Pyriel »

The Tenzan Chimera is a highly elusive creature. A debate has raged for years amongst zoologists, as to whether or not it even truly exists. Some say it hides, deep in the mountains, where even birdmen or dwarfs fear to go. Others say it's merely a myth, and that the footprints offered as evidence were made by bears or large cats. I know the truth. No one has seen them because it's literally impossible to find one without reaching into the world of Suikoden and altering its fundamental laws. However, if you are the reprehensible sort that would risk the stability and habitability of a thriving world for fun and bragging rights, you too can hunt this legendary beast.

Image

All bluster and imitations of bad fantasy game manuals aside, this thing is for real. I was surprised to find that it's fully defined. That is, it has sprites, stats, attacks, and every bit of data necessary for it to be used during gameplay. Not only that, but the data is actually loaded when you reach the area, so I can't see any reason why this thing isn't available. (I know the sprite is a reuse, but I was a little concerned it would reference a non-existent palette.) Even more mystifying is the fact that the Tenzan Chimera is in three of the nine enemy party formations in Tenzan Pass. The only reason you can't fight it is that the table of active encounters (10 of them) has no references to it, and instead has four duplicate references to formations made up of only the familiar Minotaur and Magus that haunt the area.

It's a simple matter to restore the Chimera to its proper place, by inserting its formations into the table. Then you can hunt it to your heart's content. They drop a Cyclone orb with a probability of about 1/127. As I understand it, the Cyclone rune is one-of-a-kind otherwise. To me, that gives this a bit of value, for the simple fact that it's not exactly cheating to restore something the programmers put into the game. So this gives purists a method for farming the only rune of this sort that was inexplicably made unique.

Encounter Chimeras in Tenzan Pass
D01363EC 6328
801363D8 637C
D01363EC 6328
801363E0 6398
D01363EC 6328
801363EC 63B4

I know I said I would do this ages ago, but I don't own a Dex Drive, and was planning to do it when I reached the end during a new play-through of the game. Unfortunately, I got a little side-tracked, and never got much beyond the Neclord plot.
Last edited by Pyriel on Tue Jun 28, 2011 4:33 pm, edited 1 time in total.
User avatar
Celes
Global Admin
Posts: 1422
Joined: Sun Nov 12, 2006 6:25 pm

Re: Hunting the Tenzen Chimera

Post by Celes »

Finally a conclusion why those are unavailable during normal gameplay. I listed them in the bestiary back then, due to their code appearing in the Tenzan fragments. Yet never accomplished to encounter one of the cyclone rune bearers. The rune drop is, as already stated, the reason I guess this being a programming error after all. Every other high-elemental rune is available as a rare drop, while the cyclone isn't.

At the risk of overstating the obvious: I need a copy of this game without the endless number of bugs in it.
Oppenheimer
Global Admin
Posts: 2861
Joined: Tue Mar 15, 2005 10:41 am
Location: ON, Canada

Re: Hunting the Tenzen Chimera

Post by Oppenheimer »

Hmmm looks like their name is incorrect in that screen shot. But otherwise, great job!
User avatar
Pyriel
Webmaster
Posts: 1229
Joined: Wed Aug 18, 2004 1:20 pm

Re: Hunting the Tenzen Chimera

Post by Pyriel »

It's the same problem that affects everything in Tenzan pass. The localization team didn't translate or properly encode their names. If somebody has a Japanese copy of the game, it might be possible to figure out what it maybe should have been (assuming it's not just "Chimera"). As it stands, the Magus, Minotaur, and Chimera in that area all have mangled names, and are only recognized by their sprites.
Last edited by Pyriel on Tue Jun 28, 2011 4:35 pm, edited 1 time in total.
User avatar
Vextor
Global Admin
Posts: 1867
Joined: Sun Jun 27, 2004 2:45 am
Location: Japan
Contact:

Re: Hunting the Tenzen Chimera

Post by Vextor »

Wow, this is pretty incredible work! A mystery that has existed since 1998 is finally resolved...
User avatar
Raww Le Klueze
Global Admin
Posts: 1915
Joined: Sat Jun 26, 2004 1:38 am

Re: Hunting the Tenzan Chimera

Post by Raww Le Klueze »

Pyriel wrote:The localization team didn't translate or properly encode their names. If somebody has a Japanese copy of the game, it might be possible to figure out what it maybe should have been (assuming it's not just "Chimera").
It's Chimera in the PAL version.
Doctorum Non Urina Singulus.
KFCrispy
Global Admin
Posts: 6176
Joined: Wed Jun 30, 2004 3:29 pm

Re: [Glitch] Hunting the Tenzan Chimera

Post by KFCrispy »

yeah.. i'm not sure what this is trying to accomplish. the enemies were fully developed for the Post-Beast Rune journey to meet Jowy. you can even bring a full party of McDohl and 4 squirrels (obviously they can't be already recruited) if you feel like maxing out the party after the Beast Rune. the ONLY mistake was not translating the names in the US release.
User avatar
Raww Le Klueze
Global Admin
Posts: 1915
Joined: Sat Jun 26, 2004 1:38 am

Re: [Glitch] Hunting the Tenzan Chimera

Post by Raww Le Klueze »

the ONLY mistake was not translating the names in the US release.
The thing is that in no version does the Chimera enemy actually appear. They're not coded properly so you'll never encounter them without this code active.
Doctorum Non Urina Singulus.
User avatar
Celes
Global Admin
Posts: 1422
Joined: Sun Nov 12, 2006 6:25 pm

Re: [Glitch] Hunting the Tenzan Chimera

Post by Celes »

Yeah. While a lot of glitches were fixed in PAL, this wasn't.
KFCrispy
Global Admin
Posts: 6176
Joined: Wed Jun 30, 2004 3:29 pm

Re: [Glitch] Hunting the Tenzan Chimera

Post by KFCrispy »

oh i thought i saw them, but i guess the normal encounters are just the magus and minotaur clones?
User avatar
ninjaluc79
Posts: 867
Joined: Tue Sep 13, 2005 10:45 pm
Location: The Island Nations
Contact:

Re: [Glitch] Hunting the Tenzan Chimera

Post by ninjaluc79 »

Well, IMHO, the point of hunting Cyclone Runes is that you DO NOT want to rely on Luc for magic all the time (considering there ARE people who HATE HIM enough to NOT use him). There are other characters in this game who can become good mages with the right runes.

The best Wind Mages in this game affinity-wise are as follows:

Rank A (+40% Damage)
- Luc (9/8/5/3), Meg and Stallion (7/4/2/1)

Rank B (+20% Damage) - Jowy, Mazus (9/7/4/2), Sierra, Tengaar (9/6/3/2), Camus, Millie, Yoshino (8/5/2/1), Feather, Freed Y, Killey, Tomo, and Tsai (7/4/2/1)

Rank C (Normal Damage) - McDohl (9/7/4/2), Rina (9/6/3/2), Kahn, NIna, Hero2/Riou, Siegfried (9/5/3/1), Gantetsu, Karen, Lorelai (8/5/2/1), Ayda, Bob, Chaco, Futch, Hai Yo, Hix, Kasumi, Kinnison, Miklotov, Mondo, Sasuke, Shiro, Sid (7/4/2/1) and Hoi (6/3/1/0)

MP brackets shown above are at level 60.

Cyclone Rune Spells

Healing Wind - Fully Heals HP of one ally
The Shredding - 400 base wind-element DMG to all enemies
Storm Warning - Reflects magic DMG for one turn
Shining Wind - Heals 500 HP to all allies, 500 base wind-element DMG to all enemies

For some people, affinities only matter. For others, only MAG and MP matters. And for yet some others, both affinities and MP count.

Choose your Wind Mage or rather, alternate Wind Mage, VERY wisely. Assuming you even need one BTW.
It's not all about knowledge, but it helps.
Omnigamer
Posts: 324
Joined: Wed Feb 13, 2013 11:48 am

Re: [Glitch] Hunting the Tenzan Chimera

Post by Omnigamer »

Pyriel, I'm hoping you can elaborate on area encounters a little bit more. Is the 10 slots limit universal, ie does every area have exactly/at most 10 encounter slots? Also, is there a "chance" assigned to each slot such that some encounters are more common than others? I've done some experiments in North Sparrow that show, for example, that CutRabbit groups are more likely to appear on some screens than others. I'm wondering whether this is due to an assignment of likelihood for each group, or if certain groups get duplicated to multiple slots to increase their probability.

Either way, if you have more technical details on how encounters work (memory addresses would be especially nice) I am interested in hearing about it.
User avatar
Pyriel
Webmaster
Posts: 1229
Joined: Wed Aug 18, 2004 1:20 pm

Re: [Glitch] Hunting the Tenzan Chimera

Post by Pyriel »

How do you review the code? If you use IDA, I can give you a couple of scripts that simplify loading the module files.

Area .BIN files that contain encounters will load at either 0x8010DC50 or 0x8015DC50. There's no table I've found that tells you what goes where. If I remember correctly, there are separate functions that load files to either, so I assume it's down to which is called from the scripting engine. The easiest way to tell is to open the file in a hex editor. If the first word is less than 0x8015DC50, then it loads at 0x8010DC50. Otherwise, it loads at 0x8015DC50. Most of the files load in one of those two places, but some common modules, like the battle routines and some basic "wander the area" code load around 0x8002xxxx (I don't recall exactly). I think there's one other spot where modules can go, but I think that was for things like the Window and Sound menus.

Within these files, the first word is a pointer to a structure with some important data about objects in the file. The file for Tenzan Pass is /CDROM/010_ARA/VA11.BIN, and the pointer leads to 0x801127E4.

Code: Select all

RAM:801127E4 off_801127E4:   .word off_80112768       # DATA XREF: RAM:8010DC50o
RAM:801127E4 # Pointer to 2 struct pointers.
RAM:801127E4 # 1st pointer sets up the area from the Taxonomy.
RAM:801127E4 # 2nd is pointer to dialog arrays.
RAM:801127E8 .word 6
RAM:801127EC .word ptrBlockScript
RAM:801127F0 .word 0
RAM:801127F4 .word 5
RAM:801127F8 .word Taxonomy
RAM:801127FC .word 0
RAM:80112800 .word EncSet_Array
RAM:80112804 .word unk_801127C0 # Possibly a script run on entry (displays area name).
I've commented some things above. The "Taxonomy" consists of all the characters and interactive objects that the file requires. This is everything you see as you wander the area. It doesn't include encountered enemies. I started out calling it the "Population", but if there are five chests, only one entry exists here, so that wasn't quite right. The word that immediately precedes it is the number of objects it contains. The "ptrBlockScript" is a pointer to a set of structures that control and organize scripts for execution. I'm not currently very clear on everything the data within them indicates, but each one includes two pointers. One is to a "background" script that can execute constantly, e.g., waiting for you to interact with a hotspot, and the other is to a "live/active" script that takes over when you do. Again the word preceding indicates how many blocks of scripts there are, and each block can consist of many scripts. I believe these are swapped out to allow the game to use the same module in different phases.

The "EncSet_Array" (Encounter Set) is what you were wondering about. It points to a structure that looks like this:

Code: Select all

RAM:8013608C EncSet_Array:   .word 3                  # DATA XREF: RAM:80112800o
RAM:80136090 .word EncSet_0
RAM:80136094 .word EncSet_1
RAM:80136098 .word EncSet_2
Again, a count followed by the actual encounter sets. I don't know if there's an upper limit. I seem to recall seeing a module with 0 sets, so you might theoretically be able to block encounters by zeroing the total here. Again, I think multiple sets simply allows the encounters to vary in different phases.

The Encounter Sets themselves appear like so:

Code: Select all

RAM:80136068 EncSet_0:       .word unk_801360BC       # DATA XREF: RAM:80136090o
RAM:8013606C .word FormList_0
RAM:80136070 .word EnemyList_0
RAM:80136074 EncSet_1: .word unk_801360BC # DATA XREF: RAM:80136094o
RAM:80136078 .word FormList_0
RAM:8013607C .word EnemyList_0
RAM:80136080 EncSet_2: .word unk_801360BC # DATA XREF: RAM:80136098o
RAM:80136084 .word FormList_0
RAM:80136088 .word EnemyList_0
The first pointer in each leads to a structure with several other pointers. Eventually, they lead to compressed graphics data, so I assume it's tiles and data required to construct the battle scene, but I've never decompressed the data to confirm. The FormList (Formation List) and Enemy List are what determines the contents and arrangement of the enemy party.

Enemy List:

Code: Select all

RAM:801362C4 EnemyList_0:    .word 3                  # DATA XREF: RAM:80136070o
RAM:801362C4 # RAM:8013607Co ...
RAM:801362C8 .word Enemy_0 # Minotaurus
RAM:801362CC .word Enemy_1 # Magus
RAM:801362D0 .word Enemy_2 # Chimera
The data for each enemy includes the name, pointers to sprite sheets, and a pointer to what I believe is an AI routine.

Formation List:

Code: Select all

RAM:801363D0 FormList_0:     .word 0xA                # DATA XREF: RAM:8013606Co
RAM:801363D0 # RAM:80136078o ...
RAM:801363D4 .word unk_801362D4
RAM:801363D8 .word unk_8013637C
RAM:801363DC .word unk_801362F0
RAM:801363E0 .word unk_80136398
RAM:801363E4 .word unk_8013630C
RAM:801363E8 .word unk_80136328
RAM:801363EC .word unk_801363B4
RAM:801363F0 .word unk_80136344
RAM:801363F4 .word unk_80136344
RAM:801363F8 .word unk_80136360
A count (word) followed by pointers to formations. Each individual formation is a very simple structure for a change.

Code: Select all

RAM:801362D4 Formation1:     .byte    3               # 3 enemies in formation
RAM:801362D5 .byte 0
RAM:801362D6 .byte 0
RAM:801362D7 .byte 0
RAM:801362D8 .byte 1 #first type of enemy to include
RAM:801362D9 .byte 0 #second type (none)
RAM:801362DA .byte 0
RAM:801362DB .byte 0
RAM:801362DC .byte 0
RAM:801362DD .byte 0 #sixth type
RAM:801362DE .byte 1 #enemy in first position
RAM:801362DF .byte 1 #second
RAM:801362E0 .byte 1 #third
RAM:801362E1 .byte 0
RAM:801362E2 .byte 0
RAM:801362E3 .byte 0 #sixth position
RAM:801362E4 .byte 0
RAM:801362E5 .byte 0
RAM:801362E6 .byte 0
RAM:801362E7 .byte 0
RAM:801362E8 .byte 0
RAM:801362E9 .byte 0
RAM:801362EA .byte 0
RAM:801362EB .byte 0
I've yet to see the trailing data loaded. Possibly they allowed for more than 6 enemies, or there are special positions for some encounters, like the Beast Rune.

I believe that in general the probability of any encounter is only increased by including a pointer to it in the formlist more than once. That said, the game is setup so that custom code can be run from any module in the scripts, so I can't swear that random encounters aren't managed differently from one area to the next.
Omnigamer
Posts: 324
Joined: Wed Feb 13, 2013 11:48 am

Re: [Glitch] Hunting the Tenzan Chimera

Post by Omnigamer »

Excellent, thank you so much! I have access to IDA and some past experience with it, but recently I've been doing dynamic analysis as opposed to static. In any case, this will help me directly figure out some beneficial areas for searching out specific formations.
User avatar
Celes
Global Admin
Posts: 1422
Joined: Sun Nov 12, 2006 6:25 pm

Re: [Glitch] Hunting the Tenzan Chimera

Post by Celes »

Post Reply