花了好久的功夫,終於把寶可夢火紅的存檔修改器編完了。實現了包括訓練師姓名、ID、金錢、寶可夢種族、技能、物品等屬性的修改。我把寶可夢火紅的GBA檔案、模擬器,還有我編寫的修改器都打包上傳到百度網盤了。下載地址:http://pan.baidu.com/share/link?shareid=2853712096&uk=4128141257(圖片問題已解決)
開始自己只是偶然心血來潮,想玩一下小時候玩過的模擬器遊戲——《口袋妖怪》(黃/紅/綠)。當時是叫這麼個名字,呵呵,後來一搜才發現已經改名叫《精靈寶可夢》了。然後就下載了火紅版本的來玩。好像人越大,對遊戲的耐心就越小了,玩著玩著就想用金手指。可惜網上的金手指怎麼試都沒用。。。於是我就開始搜尋修改器,同樣,一無所獲。
尋找各種現成的方法失敗之後,一根筋的精神爆發了。。。想自己修改封存檔案了。十分幸運,在http://bulbapedia.bulbagarden.net/wiki/Save_data_structure_in_Generation_III上找到了寶可夢火紅封存檔案的編碼方式。於是開始著手編寫修改器。編到後來,反而對遊戲本身不怎麼感興趣了,呵呵。。。只想練習下C++二進位檔案的讀寫和用Qt編寫不規則介面。
在實現了寶可夢封存檔案的讀寫後,我就開始用Qt寫介面。想盡量將介面寫得好看一點,就參考了http://blog.csdn.net/gzshun/article/details/7592865和http://www.cnblogs.com/appsucc/archive/2012/03/14/2395657.html,學習他們做了不規則的介面,還實現了通過拖動來切換介面。總之,通過編寫這個修改器,自己也學到了很多東西,得到了不少經驗,呵呵。
PS:昨天發現一個問題,在有的電腦上圖片顯示不出來。。。過幾天修複。
續記:圖片問題幾經修複了。不過拖動寶可夢頁面時,被點擊的那隻寶可夢的背景色塊去不掉~那一塊的mask顏色不知取多少才能在各種系統上生效。可能還是我實現拖動效果的這種方法本身不太好吧。有想過修改下寶可夢頁面的按鈕控制項,不過懶了,呵呵,就這樣了吧。
上圖是訓練師介面,可以修改玩家名字、對手名字、金錢。
在寶可夢頁面可以修改玩家隊伍裡的寶可夢,可以修改的屬性在上圖有。遊戲裡關於怪獸等級的演算法比較複雜,所以就沒有編寫怪獸等級的修改。不過可以修改經驗值,設定個比較大的值,修改後去戰鬥一下,勝利後等級就會狂漲。
我把雪拉比和超夢都調出來了。
好像因為我還沒有玩到後面,所以251號精靈的編號還顯示不出來。不過我試了的,可以戰鬥,修改的技能也能正常使用。最好還是從“寶可夢儲存系統”也就是遊戲裡的PC裡修改精靈。
調完後在遊戲中啟動並執行畫面,可以看到雪拉比和超夢都出來啦。
添加了99個神奇糖果,嘿嘿
寶可夢儲存系統,對應遊戲裡寵物醫院(PC)的那個可以儲存寶可夢的電腦。