2013年1月28日 星期一

大富翁 8 存檔修改器, 使用 QT

在網路上找了很多大富翁 8 存檔修改器, 但是沒找到可以用的, 就興起自己來寫一個的念頭。

下載這個修改器: 大富翁 8 存檔修改器

Volume in drive C is winxp
Volume Serial Number is 88E7-D73A

Directory of C:\qt-prog\rich8_edit_save\debug

2010/06/04  上午 08:46              .
2010/06/04  上午 08:46              ..
2009/06/23  上午 02:42            43,008 libgcc_s_dw2-1.dll
2009/01/10  下午 06:32            11,362 mingwm10.dll
2010/05/31  下午 11:25         2,417,664 QtCore4.dll
2010/05/31  下午 11:29        37,816,431 QtCored4.dll
2010/02/11  上午 12:25       161,192,486 QtGuid4.dll
2010/06/03  下午 09:32         1,108,450 rich8_edit_save.exe
2010/06/03  上午 01:17              save
7 File(s)    202,589,401 bytes
3 Dir(s)   1,742,704,640 bytes free

exe 檔案本身 1 MB 左右, 但是要加上需要的 *.dll, 竟然要超過 100 MB, 這太搞笑了吧, 一個存檔修改器要 100 MB 以上, 這可不是什麼大程式阿。

來改用 static link 好了。好像沒想像中容易, 找了一些資料:
http://descent-incoming.blogspot.com/2009/01/alignment.html
終於搞定 static link 問題。

static 版本只要 9 MB 左右, 還是很大就是了。

D:\rich8_edit_save\release>dir
 磁碟區 D 中的磁碟是 DATA
 磁碟區序號:  F70F-6680

 D:\rich8_edit_save\release 的目錄

2012/09/13  上午 08:51              .
2012/09/13  上午 08:51              ..
2012/09/13  上午 08:51             1,179 main.o
2012/09/13  上午 08:51            56,253 main_window.o
2012/09/13  上午 08:51             3,871 moc_main_window.cpp
2012/09/13  上午 08:51            10,694 moc_main_window.o
2012/09/13  上午 08:51           310,702 qrc_rich8_edit_save.cpp
2012/09/13  上午 08:51            60,996 qrc_rich8_edit_save.o
2012/09/13  上午 08:51         9,524,736 rich8_edit_save.exe
2012/09/13  上午 08:51           150,228 rich8_edit_save_res.o
               8 個檔案      10,118,659 位元組
               2 個目錄  28,268,359,680 位元組可用
 

這是修改器的樣子, 看來不怎麼樣, 不過能正常修改最重要, 比網路上那一堆有用多了。

1P 的位址不是固定的, 所以我才有 0x4e20, 0x4e2c, 0x4e38 這三個選項, 我猜測因為這個問題, 所以網路上修改器有的可以成功, 有的不行。但是因為我不知道什麼時候用那個位址, 所以只好都列出來, 讓使用者自己選擇, 使用前請先備份檔案, 免得改壞存檔。

怎麼判斷那個位址是對的呢?這幾個位址都選選看, 會秀出 1P 擁有的卡片、金額, 就是正確的的位址。

我有備份原來檔案的選項, 選取 Setting/Backup File 即可, 不過怕我程式有 bug, 請自己備份比較安心。

有人說有了這個遊戲玩起來就沒意思了, 不會阿!我覺得這樣惡整電腦還蠻好玩的, 要幹嘛就幹嘛, 在大富翁 8 裡頭,有如神般的地位, 增加遊戲耐玩度。

很開心自己可以完成這個修改器, 以前總是使用人家寫好的, 覺得這些人真的好厲害, 到了現在, 我自己竟然也能開發一個。現在的工具比 dos 時代還要好用, 比對一下之後就可猜到來龍去脈, 還好這存檔沒有加密壓縮, 要不然我就搞不定了, 玩個遊戲, 也沒必要這樣做, 又不是破解遊戲保護, 讓玩家改改存檔, 有趣嘛!

對於本修改器, 不提供任何保證, 要用的朋友請自己付全責, 造成電腦有任何意外請自己處理, 我有提供 source code, 有 bug 可以自己修改。 這是用 qt 寫的, 可以在 ms windows, linux/x, mac os 上 compiler, 不過應該只有 ms windows 的版本才有意義。

現金/存款

點數

卡片位置
1P
嗚咪 - 0x4e38
舞美拉 - 0x4e2c

record_01.sav 比較奇怪, 似乎和 2-9 的存檔格式有點差異。

最後一關只有兩人 PK 時, 也不一樣,
1P 0x4e20
2P 0x5010

source code:
https://github.com/descent/rich8_edit_save

沒有留言:

張貼留言

使用 google 的 reCAPTCHA 驗證碼, 總算可以輕鬆留言了。

我實在受不了 spam 了, 又不想讓大家的眼睛花掉, 只好放棄匿名留言。這是沒辦法中的辦法了。留言的朋友需要有 google 帳號。