星期日, 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
兩者正好是兩種極端的作法  















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

星期四, 4月 01, 2010

OB opening完成

OB的opening跟TO一樣是壓縮的
不過這次不採用像上次重壓回去的方法了(太累了....)

簡單來說   正因為是壓縮的
所以這些字一定會解壓排好到RAM裡  然後一起送到VRAM
只要寫一小段函式   在程式送出前
搶先讓取代用文字覆蓋RAM裡的原文字就ok了
基本上大概不用1小時就能完成這工作

下圖是混合中文(古印體字型)與原漢字使用的結果
當然   採用的是與TO、TOG一樣的譯文
文字是剛剛隨手弄的   未來會再修整一下