星期一, 10月 29, 2012

8x16地名、地圖地名完成

嗯....差點被這地名搞死....

之前一直忘了加8x16地名上去   所以回頭補上
本來以為這跟武器、人名等名詞沒兩樣
結果要填時才發現....
因為每章每個地名要快速顯示
所以是先要用1個"章節索引"指到章節中的第一個"地名索引"
再用"地名索引"指到後續的該章節地名
每章地名資料緊跟在每章最後一個地名索引後面
所以其實各章是獨立卻串在一起
超麻煩~(技術相關因為太囉唆所以淺色字體XD)
因為地名也有幾百個多到不行
最後還是寫了個程式跑完....orz
效果就大概如下面第1個圖

又因為在改8x16地名時   有些地名是大地圖上也會被用到的
為了怕大地圖上的地名文字有硬體限制   所以決定再去弄這部份。
果然.....大地圖上的地名文字完全不是用16x16劇情文字
而是把會用到的幾個字獨立壓縮起來放到某處
要用時再解到ram  然後根據"另一段函式"拼成地名放到Vram
其實難的不是壓縮部分  因為我OB跟TO的處理方式不同
我在OB都是等原程式資料解壓完放到ram/Vram後
隨即直接把一塊無壓縮的新資料用狸貓換太子的方式  
覆蓋掉原本ram/Vram的資料  讓畫面顯示出我放的中文字
當然要選擇在哪裡換就很重要  雖然通常越快換越好
但也會遇到同一個函式被使用在其他無關的地方
導致其他地方出問題的悲劇
這時就要自行在ram裡設flag用其他方法判斷  變得超~麻煩
有時則是原本安排的ram空間不夠  也會變得很吐血

這次能用的ram空間就只有1800 bytes
...大概相當於96個16x16字翻成中文後最少也要~110字
....沒辦法....只好想辦法調整字的位置
最後靠著"修改拼地名的程式+適當調整字的位置"
硬是把110個字塞進去   塞完剛好只剩半個字的空間=___=|||
(我好像常幹這種把大象塞進冰箱的事...之前TO的op也是orz)
效果大概如下面第2、3個圖(還沒加外框)

目前看來  絕大部分的技術問題都解決了
劇情部分  解壓寫出的程式已經好了 
寫入只是找塊地方用無壓縮規則反操作而已

技術上唯一還沒解決的就是主角取名字的部分
這部份的份量雖小  但感覺函式也要動很大T___T
所以放在長假....大概春節再做吧   畢竟我其實平常也蠻忙的

老實說   OB中文化我覺得技術面比TO難2倍以上  這是我當初沒想的
光是原本沒有的新函式就加了22段以上  還不包括其他一堆的修改函式
不過我想目前看來   要像TO,TOG一樣100%中文化應該沒問題