Unfinished New Game +

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

Re: Trial Road

Postby Pyriel » Thu Dec 08, 2016 12:43 pm

It's not publicly available. It's a tool I was working on with the idea of making text fixes for the bug patch simpler, and possibly for assisting with translation efforts. It's mostly just source code that I've been tweaking off and on for a while now.

If you can point out any incorrect Kanji, that would be much appreciated. My familiarity with Japanese is low. I built my text converter by ripping the font, and running chunks of it through optical character recognition until I got results that looked acceptable to my untrained eye. I filled in the remaining handful of gaps by using a radical lookup and hoping like hell it wasn't hubris to do so.

Determining the speaker from text alone is impossible, excepting when you already know the script from playing the game. Who says what is handled by the game's scripting engine, and it's mostly relative to the "room", so you'll see 0x18 0x1 0x2 0xA in the files, which would be DialogueWithPortrait(<room character 1>, <table 2>, <string 10>). There are other commands for text pop-ups, like treasure chests, NPC dialogues with no portrait, choice dialogue, etc. If you check the bug-fixes thread, I think I have a dump of the original wiki up (went away when the host site went pay-only), and a GitHub with the patch and various resources. One of which is a document with everything I'd worked out about the foreground script commands: https://github.com/pyriell/gs2-bugfixes ... mmands.txt

I don't have a document for the background/trigger scripting yet. It's a much simpler engine, and mostly does thing like check particular flags and test the player's location on the map.

ne__ya
Posts: 26
Joined: Wed Dec 07, 2016 8:47 am

Re: Trial Road

Postby ne__ya » Fri Dec 09, 2016 5:13 am

The incorrect Kanji I could spot are listed below:

つ->っ
っ->つ
ヴ->"(double quotation that can be used both at the beginning and end)
▪->・
連->違
接->後
瑳->残

It looks like it may be useful for you to have the complete set, so I'm going to paste that below:

Code: Select all

0100=解
0101=国
0102=一
0103=間
0104=来
0105=見
0106=出
0107=村
0108=手
0109=戦
010a=思
010b=今
010c=気
010d=山
010e=知
010f=話
0110=聞
0111=前
0112=大
0113=金
0114=名
0115=士
0116=事
0117=分
0118=中
0119=子
011a=逃
011b=心
011c=城
011d=日
011e=紋
011f=章
0120=方
0121=仲
0122=待
0123=守
0124=者
0125=死
0126=女
0127=年
0128=入
0129=会
012a=生
012b=男
012c=時
012d=仕
012e=長
012f=賊
0130=下
0131=目
0132=度
0133=信
0134=使
0135=近
0136=帰
0137=兵
0138=隊
0139=自
013a=用
013b=騎
013c=屋
013d=要
013e=魔
013f=必
0140=場
0141=皇
0142=家
0143=命
0144=本
0145=先
0146=耐
0147=最
0148=衛
0149=地
014a=船
014b=上
014c=助
014d=息
014e=願
014f=復
0150=備
0151=早
0152=食
0153=考
0154=理
0155=奴
0156=持
0157=君
0158=何
0159=竜
015a=合
015b=部
015c=不
015d=星
015e=世
015f=親
0160=所
0161=準
0162=失
0163=血
0164=法
0165=全
0166=首
0167=師
0168=口
0169=決
016a=火
016b=良
016c=北
016d=町
016e=団
016f=足
0170=勢
0171=将
0172=勝
0173=剣
0174=旅
0175=立
0176=風
0177=当
0178=追
0179=代
017a=相
017b=切
017c=戻
017d=負
017e=秘
017f=配
0180=族
0181=後
0182=結
0183=器
0184=回
0185=意
0186=夜
0187=二
0188=正
0189=少
018a=初
018b=残
018c=期
018d=官
018e=覚
018f=運
0190=礼
0191=密
0192=彼
0193=反
0194=茶
0195=焦
0196=宿
0197=集
0198=呼
0199=鏡
019a=急
019b=流
019c=友
019d=約
019e=面
019f=無
01a0=報
01a1=変
01a2=洞
01a3=動
01a4=多
01a5=選
01a6=清
01a7=%
01a8=図
01a9=術
01aa=吸
01ab=逆
01ac=顔
01ad=加
01ae=明
01af=発
01b0=南
01b1=頭
01b2=槍
01b3=成
01b4=身
01b5=終
01b6=受
01b7=指
01b8=攻
01b9=双
01ba=向
01bb=鬼
01bc=炎
01bd=引
01be=由
01bf=娘
01c0=忘
01c1=別
01c2=払
01c3=番
01c4=盗
01c5=通
01c6=束
01c7=設
01c8=数
01c9=森
01ca=休
01cb=貴
01cc=関
01cd=以
01ce=領
01cf=葉
01d0=夕
01d1=役
01d2=味
01d3=物
01d4=内
01d5=同
01d6=札
01d7=天
01d8=水
01d9=真
01da=乗
01db=取
01dc=光
01dd=月
01de=計
01df=強
01e0=闇
01e1=外
01e2=花
01e3=果
01e4=安
01e5=牢
01e6=令
01e7=乱
01e8=野
01e9=門
01ea=滅
01eb=棒
01ec=父
01ed=夫
01ee=任
01ef=道
01f0=伝
01f1=弟
01f2=退
01f3=争
01f4=進
01f5=新
01f6=情
01f7=私
01f8=元
01f9=拠
01fa=各
01fb=界
01fc=悪
01fd=々
01fe=狼
01ff=連
0200=率
0201=裏
0202=望
0203=返
0204=武
0205=泊
0206=納
0207=毒
0208=都
0209=渡
020a=的
020b=西
020c=呪
020d=酒
020e=借
020f=式
0210=治
0211=姿
0212=姉
0213=込
0214=告
0215=降
0216=虎
0217=湖
0218=供
0219=客
021a=機
021b=我
021c=奥
021d=右
021e=老
021f=医
0220=木
0221=特
0222=島
0223=毎
0224=調
0225=朝
0226=着
0227=遅
0228=択
0229=対
022a=他
022b=狙
022c=静
022d=神
022e=丈
022f=書
0230=参
0231=高
0232=悟
0233=件
0234=係
0235=苦
0236=去
0237=希
0238=感
0239=楽
023a=違
023b=郎
023c=輪
023d=満
023e=百
023f=美
0240=抜
0241=敗
0242=馬
0243=認
0244=得
0245=敵
0246=泥
0247=誰
0248=体
0249=送
024a=性
024b=色
024c=状
024d=焼
024e=消
024f=小
0250=傷
0251=住
0252=襲
0253=次
0254=似
0255=止
0256=志
0257=殺
0258=在
0259=幸
025a=五
025b=現
025c=継
025d=起
025e=危
025f=岸
0260=開
0261=過
0262=隠
0263=員
0264=案
0265=料
0266=遊
0267=勇
0268=薬
0269=銘
026a=霧
026b=未
026c=末
026d=宝
026e=母
026f=平
0270=伏
0271=判
0272=売
0273=答
0274=登
0275=直
0276=達
0277=素
0278=申
0279=寝
027a=条
027b=証
027c=瞬
027d=弱
027e=実
027f=示
0280=紙
0281=策
0282=婚
0283=.
0284=庫
0285=副
0286=形
0287=闘
0288=人
0289=主
028a=公
028b=軍
028c=言
028d=帝
028e=行
028f=放
0290=東
0291=栄
0292=館
0293=更
0294=横
0295=背
0296=承
0297=両
0298=文
0299=字
029a=職
029b=亡
029c=昼
029d=砦
029e=六
029f=眠
02a0=市
02a1=盟
02a2=愛
02a3=力
02a4=買
02a5=速
02a6=斧
02a7=遠
02a8=亭
02a9=青
02aa=雷
02ab=空
02ac=鉱
02ad=値
02ae=段
02af=塞
02b0=妹
02b1=才
02b2=遺
02b3=宴
02b4=石
02b5=板
02b6=妻
02b7=縦
02b8=列
02b9=銀
02ba=兜
02bb=鎧
02bc=罪
02bd=退
02be=却
02bf=弓
02c0=額
02c1=忠
02c2=誠
02c3=兄
02c4=即
02c5=油
02c6=爪
02c7=印
02c8=揮
02c9=陣
02ca=討
02cb=杖
02cc=統
02cd=想
02ce=聖
02cf=嫁
02d0=乙
02d1=僧
02d2=洛
02d3=卵
02d4=辰
02d5=階
02d6=土
02d7=殿
02d8=奇
02d9=装
02da=悲
02db=斬
02dc=三
02dd=恋
02de=義
02df=重
02e0=断
02e1=表
02e2=誓
02e3=万
02e4=忍
02e5=王
02e6=庭
02e7=覇
02e8=司
02e9=魂
02ea=価
02eb=岩
02ec=学
02ed=尊
02ee=敬
02ef=黒
02f0=草
02f1=髪
02f2=支
02f3=付
02f4=組
02f5=影
02f6=第
02f7=鉄
02f8=具
02f9=永
02fa=定
02fb=突
02fc=撃
02fd=矢
02fe=防
02ff=牙
0300=棍
0301=牙
0302=修
0303=七
0304=丸
0305=封
0306=球
0307=技
0308=片
0309=英
030a=歌
030b=属
030c=利
030d=烈
030e=旋
030f=鳴
0310=共
0311=和
0312=左
0313=滸
0314=赤
0315=白
0316=建
0317=皿
0318=庁
0319=舎
031a=丘
031b=刃
031c=輝
031d=盾
031e=蒼
031f=傭
0320=布
0321=能
0322=倉
0323=破
0324=川
0325=品
0326=街
0327=匠
0328=服
0329=線
032a=協
032b=然
032c=念
032d=再
032e=援
032f=途
0330=材
0331=虫
0332=様
0333=捕
0334=教
0335=肖
0336=民
0337=怒
0338=位
0339=裁
033a=問
033b=権
033c=泣
033d=鳥
033e=繚
033f=歳
0340=拳
0341=禁
0342=怪
0343=燕
0344=峠
0345=凶
0346=嬢
0347=境
0348=好
0349=探
034a=商
034b=打
034c=音
034d=声
034e=狂
034f=刻
0350=記
0351=侵
0352=腕
0353=被
0354=害
0355=落
0356=作
0357=説
0358=非
0359=効
035a=征
035b=千
035c=爆
035d=悔
035e=広
035f=鼻
0360=八
0361=欲
0362=晩
0363=幻
0364=邪
0365=確
0366=議
0367=腹
0368=痛
0369=執
036a=務
036b=室
036c=深
036d=糸
036e=資
036f=格
0370=秤
0371=始
0372=穏
0373=荒
0374=優
0375=交
0376=易
0377=暗
0378=昨
0379=祝
037a=占
037b=化
037c=略
037d=四
037e=存
037f=質
0380=類
0381=偽
0382=院
0383=迷
0384=業
0385=雄
0386=橋
0387=諸
0388=警
0389=翼
038a=刑
038b=胸
038c=涙
038d=虐
038e=恩
038f=憎
0390=皮
0391=膚
0392=獣
0393=居
0394=跡
0395=汚
0396=救
0397=飛
0398=押
0399=読
039a=座
039b=偵
039c=功
039d=校
039e=寮
039f=週
03a0=窟
03a1=祖
03a2=絶
03a3=包
03a4=囲
03a5=倍
03a6=貨
03a7=群
03a8=鹿
03a9=夢
03aa=熱
03ab=恵
03ac=限
03ad=海
03ae=壊
03af=護
03b0=符
03b1=歴
03b2=史
03b3=養
03b4=杯
03b5=練
03b6=畑
03b7=廃
03b8=舟
03b9=墓
03ba=憶
03bb=精
03bc=匹
03bd=植
03be=抗
03bf=謀
03c0=儀
03c1=誇
03c2=恥
03c3=辱
03c4=席
03c5=半
03c6=罰
03c7=胞
03c8=臣
03c9=浄
03ca=笑
03cb=有
03cc=賞
03cd=賛
03ce=抵
03cf=里
03d0=猛
03d1=鋒
03d2=予
03d3=霊
03d4=裂
03d5=円
03d6=呂
03d7=灯
03d8=瞳
03d9=険
03da=坑
03db=種
03dc=従
03dd=雲
03de=演
03df=虚
03e0=秩
03e1=序
03e2=眷
03e3=点
03e4=辺
03e5=隷
03e6=旗
03e7=疑
03e8=試
03e9=宣
03ea=歩
03eb=貴
03ec=語
03ed=償
03ee=暴
03ef=桜
0500=(Hero's name)
0501=(Castle's name)
0502=(Army's name)
11=0
12=1
13=2
14=3
15=4
16=5
17=6
18=7
19=8
1a=9
1b=A
1c=B
1d=C
1e=D
1f=E
20=F
21=G
22=H
23=I
24=J
25=K
26=L
27=M
28=N
29=O
2a=P
2b=Q
2c=R
2d=S
2e=T
2f=U
30=V
31=W
32=X
33=Y
34=Z
35=頭
36=右手
37=左手
38=[arrow]
39=[arrow]
3a=[button]
3b=[button]
3c=を
3d=ぁ
3e=ぃ
3f=ぅ
40=ぇ
41=ぉ
42=ゃ
43=ゅ
44=ょ
45=っ
46=あ
47=い
48=う
49=え
4a=お
4b=か
4c=き
4d=く
4e=け
4f=こ
50=さ
51=し
52=す
53=せ
54=そ
55=た
56=ち
57=つ
58=て
59=と
5a=な
5b=に
5c=ぬ
5d=ね
5e=の
5f=は
60=ひ
61=ふ
62=へ
63=ほ
64=ま
65=み
66=む
67=め
68=も
69=や
6a=ゆ
6b=よ
6c=わ
6d=ん
6e=ら
6f=り
70=る
71=れ
72=ろ
73=が
74=ぎ
75=ぐ
76=げ
77=ご
78=ざ
79=じ
7a=ず
7b=ぜ
7c=ぞ
7d=だ
7e=ぢ
7f=づ
80=で
81=ど
82=ば
83=び
84=ぶ
85=べ
86=ぼ
87=ぱ
88=ぴ
89=ぷ
8a=ぺ
8b=ぽ
8c=ヲ
8d=ァ
8e=ィ
8f=ゥ
90=ェ
91=ォ
92=ャ
93=ュ
94=ョ
95=ッ
96=ア
97=イ
98=ウ
99=エ
9a=オ
9b=カ
9c=キ
9d=ク
9e=ケ
9f=コ
a0=サ
a1=シ
a2=ス
a3=セ
a4=ソ
a5=タ
a6=チ
a7=ツ
a8=テ
a9=ト
aa=ナ
ab=ニ
ac=ヌ
ad=ネ
ae=ノ
af=ハ
b0=ヒ
b1=フ
b2=ヘ
b3=ホ
b4=マ
b5=ミ
b6=ム
b7=メ
b8=モ
b9=ヤ
ba=ユ
bb=ヨ
bc=ワ
bd=ン
be=ラ
bf=リ
c0=ル
c1=レ
c2=ロ
c3=ガ
c4=ギ
c5=グ
c6=ゲ
c7=ゴ
c8=ザ
c9=ジ
ca=ズ
cb=ゼ
cc=ゾ
cd=ダ
ce=ヂ
cf=ヅ
d0=デ
d1=ド
d2=バ
d3=ビ
d4=ブ
d5=ベ
d6=ボ
d7=パ
d8=ピ
d9=プ
da=ペ
db=ポ
dc=ー
dd="
de=ヴ
df=「
e000=」\n
e1=(
e2=)
e3=・
e4=、
e5=。
e6=[heart]
e7=!
e8=?
e9=『
ea=』
eb=/
ec=Lv.
ed=Exp.
ee=゛
ef=゜
f0=+
f1=-

I'm fairly certain it's a good one, but won't guarantee it's error-free.

Thanks for sharing details of how the script works in the game. I was afraid that it might be something like that; now I know. Of course, it should be possible to find out what "room character" has been loaded and such, but it won't be easy.
Thanks also for the script commands. Just to think of how much effort was put into this. It's a truly impressive piece of work. I already look forward to going through the list and try understand how the script is processed.

It's already so much more information than I could have hoped for, so I feel really bad about pointing it out, but unfortunately, the link to your zip of the "original wiki" isn't working anymore in the first post of the "Bug Fix" thread. Maybe it expired. Would it be possible for you to make another upload, whenever you find time for it?

Anyway, I took a picture of Sajah so I'll post it here. The rock there looks more than suspicious,and the graphics taken from vram shows a hidden cave. I hope the attachment works.
Sajah.jpg
You do not have the required permissions to view the files attached to this post.

User avatar
Pyriel
Webmaster
Posts: 926
Joined: Wed Aug 18, 2004 1:20 pm

Re: Trial Road

Postby Pyriel » Fri Dec 09, 2016 11:33 am

Thanks for the text-encoding help.

Yeah, I was out of town and not paying attention when my old domain came up for renewal, and some company in China squatted it with a price tag of $300 or something. I'll re-upload later.

The "room"/area thing generally has the first 6-8 slots allocated to your party and convoy (I forget if it can shrink from 8), so when you see 0x18 0x0 or 0x28 0x0, that's always the hero talking in my experience. It mostly shows with the 0x28, since the lines he delivers are always or almost always player choices. The remaining characters are in an array in the area file. There's a 16-bit indicator that either corresponds to the index you can find in that NAME.BIN dump on my GitHub, or the character will have 0xFFxx or 0xFExx if they're an NPC. I can't recall if that same array also contains other interactive objects like the Matilda Gate or not. That wouldn't be terribly important for parsing dialogue. I only mention it because it's possible that there are some other things in there apart from people and cats who say "Sonya".

Anyway, maybe this weekend I'll see about working out who's talking in that scenario. It shouldn't be hard to pin down. Although, at least one of the speakers is likely to be rather custom, and I might have to hunt and peck for a visual representation.

Omnigamer
Posts: 282
Joined: Wed Feb 13, 2013 11:48 am

Re: Trial Road

Postby Omnigamer » Fri Dec 09, 2016 1:41 pm

You can likely infer the speaker for a fair number of those lines. The primary "speaker" in this instance is whatever they selected as a representation of the Rune; I initially thought Leknaat, but the dialog doesn't support that very well. I rearranged them a little to flow better. It also seems to be arranged according to a stack; I used some basic notation to help with flow. As far as I can tell, there are only 2 speakers: the "Rune" and then Riou/Hero.


Init:
"One in search of a new path - I shall test your will." - Rune opening. Probably triggers a battle.
------------------------------------------

Q1:
"I am the Rune of Circulating Paths. Do you wish for a new path?" - Rune, initial dialog.
------------------------------------------
"Yes" - Hero, option 1
------------------------------------------
"No" - Hero, option 2
------------------------------------------
"New path?" - Hero, Option 3
------------------------------------------


Q1A1: (Q2)
"While your strength remains, the new path shall guide you to a new beginning.
Though be warned that there is no return path. Do you still wish for a new path?" - Rune follow-on to Q1
------------------------------------------
"Yes!" - Hero 1
------------------------------------------
"Wait a minute" - Hero 2
------------------------------------------
"What new path?" - Hero 3
------------------------------------------

Q1A1 -> Q2A1: (Q3)
"You will lose your current path, lose all allies and friends that joined you,
and you will even lose the outcome. Do you still choose to follow the new path?" - Rune further follow-on to Q2
------------------------------------------
"Yes" - Hero 1
------------------------------------------
"Rather not" - Hero 2
------------------------------------------
"What new path?" - Hero 3
------------------------------------------

Q1A1 -> Q2A1 -> Q3A1:
"Close your eyes. I shall open the new path for you to see..." - Rune, Q3 "Yes" response
------------------------------------------

Q1A1 -> Q2A1 -> Q3A2:
"Accepted. Time does not flow for me, I shall wait."
------------------------------------------

Q1A1 -> Q2A1 -> Q3A3:
"The world has a million forms, not identical, but not alien.
The path you have followed can once again be followed in another world.
While your strength remains, the path will be a new beginning.
Too many seek that path. Do you seek it also?"

Q1A1 -> Q2A2:
"Accepted. Time does not flow for me, I shall wait."
------------------------------------------

Q1A1 -> Q2A3:
"The world has a million shades, not identical, but not alien.
The path you have followed can once again be followed in another world.
While your strength remains, the path will be a new beginning.
Too many seek that path. Do you seek it also?"
------------------------------------------

Q1A2: (Q4)
"Accepted. That is a wise path. I shall take you outside." - New question just for an easy escape.
------------------------------------------
"Thank you"
------------------------------------------
"No thanks"
------------------------------------------

Q4A1:
"Then farewell, wise young one. Follow your path to the end."
------------------------------------------

Q4A2:
"You do not wish to use my powers? Accepted. The path is there for you to take."
------------------------------------------

Q1A3:
"The world has a million shades, not identical, but not alien.
The path you have followed can once again be followed in another world.
While your strength remains, the path will be a new beginning.
Too many seek that path. Do you seek it also?"
------------------------------------------
"Young one that seeks for a path. Do you choose to follow a new path?" - This line probably appears after all identical instances of the above, and loops back to ask Q1
------------------------------------------

Q1A1 -> Q2A1 -> Q3A1 (2): (Q5)
"Then... Young one... Leave your last record of this world..." - Probably opens save menu
------------------------------------------
"I shall open the new path for you..." - Final chance to opt out
------------------------------------------
"Thank you"
------------------------------------------
"I, er, maybe not"
------------------------------------------

Q5A2:
"Do you fear, young one? But that may be just the wise choice..." - Closes dialog so you can start from square 1
------------------------------------------

User avatar
Pyriel
Webmaster
Posts: 926
Joined: Wed Aug 18, 2004 1:20 pm

Re: Trial Road

Postby Pyriel » Fri Dec 09, 2016 4:29 pm

Yeah, those are probably safe assumptions. I like to be thorough when possible, though.

Alas, that may be the best anyone can do. It looks to me like they must have deleted the scripts that reference those strings. Or else the scripts in question were made using a much older version of the scripting system with some crucial differences. Offhand I'd say it's unlikely the scripts are that old. Otherwise I don't think the VJ modules for this dungeon would work as well as they do. Most likely they were just purged, and either the strings were left in unintentionally, or the compiler was touchy and left them behind somehow by mistake. I wouldn't be surprised if the script compilation was touchy. We see in other places where odd things happened like entire entries in the string pointer arrays being left out, despite the strings still being there and the array indexes still being in the scripts.

Edit: A little more evidence is that I could never find a script that actually moved the player to this dungeon from anywhere else. I never thought to look at a VRAM dump for holes, though. It might be a bit of a long-shot, but I'll work out the X/Y position of that cave on the map and try again later.

Omnigamer
Posts: 282
Joined: Wed Feb 13, 2013 11:48 am

Re: Trial Road

Postby Omnigamer » Fri Dec 09, 2016 7:07 pm

It may also be worth looking into any leftover debug symbols in the CHN PC release files; I think it's a bit of a longshot, but perhaps more clues were left in those files.

User avatar
Pyriel
Webmaster
Posts: 926
Joined: Wed Aug 18, 2004 1:20 pm

Re: Trial Road

Postby Pyriel » Sat Dec 10, 2016 1:49 pm

Yeah, the thought occurred to me, but up until now I've only gotten as far as digging out my copy of the Chinese game.

I checked both the NA and Japanese PS releases by the way. I don't see any need to look at any of the others.

ne__ya
Posts: 26
Joined: Wed Dec 07, 2016 8:47 am

Re: Trial Road

Postby ne__ya » Sat Dec 10, 2016 10:06 pm

It took me a while to get the hang of the script engine and its very basic commands.
Just adding some quick finds:

While in VJ17, references to these string were deleted, I found that they are still in tact in VJ24 (from $6252, with initial line at $34C49?), and I can confirm that Omingamer's compilation is indeed correct. That's so cool!

It looks like the Rune may actually have a face, since the references are made as 0x18 0x8.
I couldn't find refereces to the last bit of strings, though, from the saving part on. Maybe it's in a different place, or no longer a 0x18-speech/0x28-choice, since I couldn't even find Q5-choices which should have been easy.

Also, It seems to me that some of the redundant strings are not being referenced at all, and only one of them is actually in use. Maybe that's how it is supposed to work, but then again, maybe I got something wrong.

User avatar
Pyriel
Webmaster
Posts: 926
Joined: Wed Aug 18, 2004 1:20 pm

Re: Trial Road

Postby Pyriel » Sun Dec 11, 2016 3:22 am

Oh, you know what, I just included VJ24 in the same grep searches I did for VJ17. That would never work since it's not the same array number. Duh.

Edit: I don't know how easy it will be to nail down spritesheets and portraits for this, but I'll keep looking. Here's what you find in the non-defunct files, like VJ17:

Code: Select all

RAM:801102E8 MapObjects:     .word 0xAB               # DATA XREF: RAM:80110460o
RAM:801102E8                                          # Elza
RAM:801102EC                 .word unk_8013EBBC
RAM:801102F0                 .word unk_8014CAF0
RAM:801102F4                 .word 1
RAM:801102F8                 .word 0x84AB             # Elza Alt 1
RAM:801102FC                 .word unk_80141DBC
RAM:80110300                 .word 0
RAM:80110304                 .word 0
RAM:80110308                 .word 0x85AB             # Elza Alt 2
RAM:8011030C                 .word unk_80146130
RAM:80110310                 .word 0
RAM:80110314                 .word 0
RAM:80110318                 .word 0x86AB             # Elza Alt 3
RAM:8011031C                 .word unk_8014CAD0
RAM:80110320                 .word 0
RAM:80110324                 .word 0
RAM:80110328                 .word 0xFE0F
RAM:8011032C                 .word unk_80135A58
RAM:80110330                 .word 0
RAM:80110334                 .word 0
RAM:80110338                 .word 0xFE0B
RAM:8011033C                 .word unk_8013670C
RAM:80110340                 .word 0
RAM:80110344                 .word 0

unk_8014CAF0 is the portrait if memory serves. The other entries for Elza and the NPCs don't require it, but the pointer word right above that is to a structure that includes the sprite sheets I think. The actual spritesheets are ridiculously small in this game, so they're done in chunks. I've seen this alternative thing before, but usually not with this many entries. Elza must have a lot more animation than I remember here.

By contrast, this is what I find in that location in VJ24:

Code: Select all

RAM:8011416C dword_8011416C: .word 0                  # DATA XREF: RAM:801141A4o
RAM:8011416C                                          # RAM:801141B0o
RAM:80114170                 .word 0
RAM:80114174                 .byte 2
RAM:80114175                 .byte 0x62  # b
RAM:80114176                 .byte 0x51  # Q
RAM:80114177                 .byte    1
RAM:80114178                 .half 7
RAM:8011417A                 .half 0
RAM:8011417C                 .byte    0
RAM:8011417D                 .byte    0
RAM:8011417E                 .byte    0
RAM:8011417F                 .byte    0
RAM:80114180                 .byte    0
RAM:80114181                 .byte    0
RAM:80114182                 .byte    0
RAM:80114183                 .byte    0
RAM:80114184                 .byte    0
RAM:80114185                 .byte    0
RAM:80114186                 .byte    0
RAM:80114187                 .byte    0
RAM:80114188                 .byte    0
RAM:80114189                 .byte    0
RAM:8011418A                 .byte    0
RAM:8011418B                 .byte    0
RAM:8011418C                 .byte    0
RAM:8011418D                 .byte    0
RAM:8011418E                 .byte    0
RAM:8011418F                 .byte    0


Nothing else is jumping out at me right now as being the data I expect to find. This is actually the name of the village and what should be some pointers to setup data and so forth, but it's all nulled aside from the name: 隠し村 (I get "Hidden Village"). This structure is referenced in two places in the file, one is where I expect to find a pointer to the array of interactive map objects (NPCs and such), and the other is where I expect to find the pointer to this sort of map identifier/setup data. If they deliberately deleted something and replaced the references, it'll take some digging. Although the name sort of gives me pause that there might be more here than the dungeon, so it may be worth willy-nilly ripping every bit of graphics data I can find.

User avatar
Celes
Global Admin
Posts: 1383
Joined: Sun Nov 12, 2006 6:25 pm

Re: Trial Road

Postby Celes » Sun Dec 11, 2016 6:38 am

The new path, that works like a "new game +", would finally give the epilogue-only items a right to exist.

User avatar
Raww Le Klueze
Global Admin
Posts: 1717
Joined: Sat Jun 26, 2004 1:38 am

Re: Trial Road

Postby Raww Le Klueze » Sun Dec 11, 2016 7:01 am

Certainly explains why the hell they had Sajah sell high-tier runes only after the game is over if you could take items with you.
Doctorum Non Urina Singulus.

TheyCallMeStacy
Posts: 18
Joined: Tue Sep 27, 2016 1:50 pm

Re: Trial Road

Postby TheyCallMeStacy » Sun Dec 11, 2016 9:46 pm

Yeah and with some items of restricted quantity you have to choose from, like the three vases at the beginning of the game, and the Guardian Deity items, as well as characters like Valeria or Kasumi, Ridley and Boris, and the big animals with the listening crystals, maybe they intended for you to be able to do a new game + and take these alternative choices in the new game + instead of just having to start a brand new game for these. It's an interesting thought at least.

ne__ya
Posts: 26
Joined: Wed Dec 07, 2016 8:47 am

Re: Trial Road

Postby ne__ya » Mon Dec 12, 2016 7:50 am

It's so true that the out-of-place bonus items would make much more sense with the new game +. Hadn't given thought to that at all.

>Pyriel
Thanks for the details! I see what you mean. That's a pity they deleted stuff like that, which would have been helpful in giving some direction what to expect and where to look. Well, in that case it might indeed be best to try rip the sprite sheets apart.
In the meantime, I've taken a look at the decompressor, and wow, it is so much simpler than the original one. And I get identical results. So awesome.
I need to take a closer look, though, since the output I get isn't very clean (finally found something to check the visual output!). Obviously I didn't apply the decompressor correctly. I'll need to make a detailed comparison with a decompressed image from a save state and go bit-by-bit to find out what's up.

User avatar
Celes
Global Admin
Posts: 1383
Joined: Sun Nov 12, 2006 6:25 pm

Re: Trial Road

Postby Celes » Mon Dec 12, 2016 11:35 am

Good luck. I'm looking forward seeing the new game + as part of Pyriels patch :)

Most likely the dungeon should be activated only in the epilogue, due t the reasons stated above and extra shop content being available in Sajah.

User avatar
Pyriel
Webmaster
Posts: 926
Joined: Wed Aug 18, 2004 1:20 pm

Re: Trial Road

Postby Pyriel » Mon Dec 12, 2016 12:11 pm

ne__ya wrote:It's so true that the out-of-place bonus items would make much more sense with the new game +. Hadn't given thought to that at all.

>Pyriel
Thanks for the details! I see what you mean. That's a pity they deleted stuff like that, which would have been helpful in giving some direction what to expect and where to look. Well, in that case it might indeed be best to try rip the sprite sheets apart.
In the meantime, I've taken a look at the decompressor, and wow, it is so much simpler than the original one. And I get identical results. So awesome.
I need to take a closer look, though, since the output I get isn't very clean (finally found something to check the visual output!). Obviously I didn't apply the decompressor correctly. I'll need to make a detailed comparison with a decompressed image from a save state and go bit-by-bit to find out what's up.


I'm not sure what you mean by it not being clean. Those compressed buffers are generally just the pixel data, and if that's correct the only thing left is to apply the appropriate CLUT. Depending on how you do that, it gets a little odd, as PS bitmaps reverse a couple of RGB values and the intensity is about 1/8th of what's required in a typical bitmap.


Return to “Suikoden II”

Who is online

Users browsing this forum: No registered users and 4 guests