星期一, 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 則留言:

FantasyDR 提到...
作者已經移除這則留言。
FantasyDR 提到...

额……不小心一点就删没了。
16x16的像素字可以用程式来生成么?
如果需要的话我可以帮忙的说……

Lula 提到...

完全用程式生成自動生成會跟原遊戲字形有較大落差,頂多只能半自動做。OB裡16x16的字是有外框的,字本身是寬9點高11點,加上外框是11點寬13點高。(雖然說是16x16,但為了間隔鄰接字,所以會上邊跟右邊會留空間)

字本身可以透過windows內建的小畫家來完成,選用文字大小5的適當中文字型,把想要的文字打在小畫家上(設定成黑白畫布),就會出現約12點寬12點高的文字,對寬選刪3行、高選刪1列後就完成基本,不過其實大部分字還是要手動改幾個點才會自然好看。外框我可以寫個簡單程式快速產生。

16x16製作上是沒有我之前刻的8x16難(8x16繁體只能完全手動點,程式跑出來的一定糊掉),不過也稱不上多輕鬆就是了(一小時做不了60個字吧),如果確定想試再告訴我,我再寫篇流程範例提供參考。

FantasyDR 提到...

原来没有16x16这么大的空间啊。额……如果要逐像素描绘的话我估计就搞不定了,我是个手残的coder……

不过我找到一个开源的像素字体:
http://code.google.com/p/zpix/

不知道这个能不能满足需求?还没看是否包括所有正体字……

Lula 提到...

謝謝,我會考慮修改使用的:)