星期一, 8月 20, 2012

咦~怎麼一晃眼就過了3個月...

呃...因為5月底時颱風引起的斷電
我客廳的準系統主機板爆掉啦(灑花
然後我OB的測試檔案全在上面(汗....

因為準系統規格特殊  所以到6月底才修好回來
還好硬碟正常  資料完全無損
不過因為一個月沒動  我就推拖拉扯、一時懶得再開計畫
直到上週末才又有興趣繼續(逃

果不其然...一打開OB資料夾完全看不懂之前弄到哪裡、怎麼弄的
所以乾脆先去弄16x16劇情文字的解碼跟擴容....

16x16文字主要有兩種編碼方式:

1.訊息部分是未壓縮+索引
   這部份很簡單,導出程式一下就寫好了,導入程式也不難寫(還沒動手)。
   改出來大概就下最下面的圖....

2.劇情對話部分是壓縮+索引
   這部份較難些,不過很謎的是導出程式我以前不知何時就寫得差不多了,導入程式預計用與未壓縮差不多的方式寫入(還沒動手,不過應該也不難)。

相對起來...擴容還是傷腦筋得多...雖然沒8x16那麼複雜啦

擴容這邊問題在於代碼不足!
原遊戲的16x16字可用代碼範圍如下:
XX, 19+YY, 1A+YY, 1B+YY  (XX:20~FF, YY:00~FF)
所以原本最多有約1000個字可用   要擴容最多也只能多加下面幾組:
1C+YY, 1D+YY, 1E+YY, 1F+YY (20以上開頭就是XX,17以下是控制碼)

花了半天,終於改寫好已經亂到不行的原ROM
把1D+YY, 1E+YY, 1F+YY納入了新的可使用範圍  順便多加一個新的空間放字庫
1C+YY目前無法納入  因為跟小人像的圖塊代號重複
為了避免麻煩....我決定乾脆不用了XD
(例如下圖就使用了1D00~1D01,1E00~1E03,1F00~1F02來顯示皇家騎士團1中文化)

目前看來16x16的文字最多大概可以用1700字左右
考慮OB劇情文字量只有TO一半  我想是夠用了
問題是這些文字要從哪裡來  我現在沒那精力去刻了=__=|||






星期一, 5月 07, 2012

這部分2年前就破過 簡單啦.....

這部分2年前就破過   簡單啦.....:D    

.....才怪:(

 這週處理的是狀態欄上方的bar
 因為上週翻回去以前的blog文章   看到類似處理完的圖
我以為以前就弄好了.....

.....我錯啦!!(抱頭

以前真的就只是試做確認可行性
例如可以固定顯示某小隊長名字   但其實不能換人顯示
這次又是預設只有256個8x8可用   卻要改成可顯示~700個8x16
連那256個8x8字都是不知道壓縮放在哪(我也懶得查了)
反正硬幹等它丟到Ram我再去把代碼跟字型換掉
就出現了左下那張圖   事實上到這裡還不難 
因為就固定是那幾個字   頂多一個早上就能弄好
可是要弄出右下圖就讓我傻眼了....

移動到不同小隊時會顯示小隊長名
原本遊戲人名都是平片假名  所以256個8x8字就夠用
但是現在有上千個中文人名(還有幾個擅長移動地形)
要從~700個8x16字隨意選出來....=_=|||

好吧   也只能看要什麼就臨時載入什麼到VRam
這邊的顯示函式又是照慣例跟其他地方不同
所以又硬著頭皮找遊戲原本是載入到VRam哪裡
然後隨時把要的文字動態取代掉其中的一部份字庫位置
再把代碼依序對應到那固定幾個位置
理論上就能成功了!......才怪:(

不知道什麼原因,直接從Rom丟字到VRam 0x0900位置時
一直無法順利取代掉該位置內容(這是第一次用DMA傳失敗)
試了一個下午  卻"意外"發現丟到0x0400反而可以成功
雖然後來猜測是之前為顯示左下圖而丟在Ram的文字
因為多寫的函式被別人呼叫而持續將它自動載入VRam同位置
導致我另外寫上去的動作在0x0800~0x1000被覆蓋掉
0x0000~0x0800則因為我沒有要拿來顯示  所以沒被別人呼叫到
不過....我在trace過程中  其實完全沒發現有被意外呼叫的情形
所以真正原因至今還是個謎....

まぁ.....反正最後有改出來就好XD

最後總計花了一天時間   多寫了3段函式處理這個bar  效果如下:
(....其實右下小隊長名用空白打混過去  我想80%的人也不會注意到吧....)

那麼   再改完最後一個地方就完成所有8x16字的部分了....
....很遺憾  其實前天想到還有音樂鑑賞模式沒弄....orz
假設1~2週解決1個課題的話(我不一定每週都有空檔....)  
也許6月就可以來弄16x16劇情部分了



星期一, 4月 30, 2012

又多完成了一部分

這部分...其實也是直接沿用2年前的修改   然後實際把字庫(第6個....)跟翻譯加上去
同樣的地方一共有10處(下圖為其中三處)   因為地方少所以直接把16進位碼用手key in進去
英文字還是8x8原字形  我有試改成8x16大小過   不過看起來沒有原版的fu~
考慮到我的目標是"維持原本的風格 > 文字好讀" (這是不改成16x16的主因之一)
所以數字、英文、符號還是保留8x8原字形.....

目前8x16剩2個小地方還沒動手  其中一個2年前有破過了
另一個主角名(取名、記錄時)的部分可能有點小棘手