星期日, 4月 18, 2010

OB戰鬥用文字顯示

這部份平片假名看起來跟別處沒不同
不過其實是另外壓縮的2 bytes文字(別處的是未壓縮4 bytes)
我因為嫌麻煩    於是根本不管壓縮資料在哪
豪爽的直接把自訂字庫丟到VRAM覆蓋掉原字庫

扣除掉那精美的戰鬥畫面所耗掉的VRAM空間
VRAM原則上只剩最多100個中文字的空間
塔羅牌+攻擊技+解說等大概要250字吧....沒辦法一次放入
加上顯示位置不固定   也沒辦法用之前挑字寫入的方式
只好把字庫拆成3個    依不同函式出現時機載入不同字庫到VRAM

例如:
攻擊技是平常用的字庫
按a鍵使用戰術時是塔羅牌名與戰術名的字庫  
再按選擇鍵看解說時用的又是另一個字庫(這個還沒弄好)

幸好只有塔羅牌名會在不同字庫間共用同一代碼
只要在全字庫中    把塔羅牌名用的字固定放在相同位置
就不會有對應不到的問題了

另外    因為函式有可能於別處被呼叫    而在別處產生亂碼
所以還用暫存器中的特定值來判定是不是該載入字庫(危險的秘技)
至少....目前看來顯示上暫時是沒什麼問題(笑)

因為字庫小的關係    技名也要先決定好才行
以前某些用過的技名也重新改過了
例如:アイスフィ-ルド(ice field) -〉 冰之領域 -〉 冰之結界
舊名在TO、TOG改版中會再修改以符合一致性

以全中文為目標的話    現在OB技術層面大概解決6~7成了吧

不過    這次在技術上真的是一次蠻不同的經驗
跟TO幾乎很少修改函式的作法相比
這次是完全不管壓縮演算法    直接硬改函式與VRAM
兩者正好是兩種極端的作法  















戰神.....終於破了.....