.....開始刻字了 電動時間減少了
(P4U才剛買說....)
目前確定會用到的字約700字
這700字其實就是主要的8x16字
左邊是目前刻好的256字
約一半是沿用原漢字 一半是新刻
一般人應該分不出來吧?
比較簡單的分法是....
越難看的越可能是原版(我說真的)
因為YY-CHAR不太支援它的格式
所以一個字會分成文字跟外框
老實說 隨便找個10x10字型取代
再寫程式自動加外框
大概不用2天就能完成
但這樣就失去原字型的風格了
所以我還是找相似12x12字型
再手動改成10x11的相似風格
....有種狂氣的感覺呢www
まぁ....反正按照這種速度
要到下下週才會刻到700字
之後就是看翻譯要什麼刻什麼
一邊翻一邊刻也比較不會無聊
啊 這種說法其實有點不正確
...因為我有興趣的事太多
所以幾乎不會有感到無聊的時候
只是可惜一天的休閒時間有限
只能選擇當下最有興趣的事來做
所以如果產生了嚴重作業感
我搞不好會跑去幹其他有趣的事XD
星期一, 8月 27, 2012
星期一, 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一半 我想是夠用了
問題是這些文字要從哪裡來 我現在沒那精力去刻了=__=|||
我客廳的準系統主機板爆掉啦(灑花
然後我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年前就破過 簡單啦.....
.....才怪:(
這週處理的是狀態欄上方的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劇情部分了
訂閱:
文章 (Atom)


