2013-08-17, 09:04 PM
I think changing "Meteor Doom" is a good idea. I changed the names "Wizard, Mage, Sorcerer". They all mean the same thing in English, so I used more distinct titles.
Unfortunately, there is no sure way to recognize half-pointers. They almost always end in "0x24", which is the CPU code that means "add this number to existing number". For example:
0x096CB8 [M.0x0A64B8]
* 00015C40 [B8648424]
Ã¥ ¹ ´
Years
Also, data in a Playstation executable is "aligned" in 4byte chunks. so the location of a pointer will always be a multiple of 4 (0x4, 0x8, 0xC, 0x0). For example:
0x096CB8 [M.0x0A64B8]
* 00015C40 [B8648424]
Ã¥ ¹ ´
Years
Also, pointers for related text will often be located near each other. For example:
0x096D28 [M.0x0A6528]
* 0003AA50 [28658424]
Ã©Ë ²Ã¥ ¾ ¡Ã¥Å âº
DEF
0x096D20 [M.0x0A6520]
* 0003AA28 [20658424]
æ⠻æâÆåŠâº
ATK
The only sure way to detect a half-pointer is to change it, then see if text in the game changes too.
Also note, some of BGE's text is located in OVER.BIN files. The OVER#.BIN files are cycled through RAM when their text is needed. OVER1.BIN has text for world-map. OVER2.BIN has text used during battles. OVER3.BIN has text used during "New Game" sequence etc. The OVER.BIN files are all loaded into RAM at 0xB6838 (I think). So the offset for their text is "location of text +0xB6838". So, if text is located at 0x6F4 in OVER3.BIIN, the pointer will read 0x6F4 + 0xB6838 = 0x0B6F2C. For example:
0x0006F4 [M.0x0B6F2C]
* 00009030 [2C6F0B80]
åŸ ºÃ¦Å ¬Ã£ ¨Ã£ ªÃ£ââ¹Ã¦Ë ¦Ã¨ ¡âãââÃ¥ ¦Ã£ ³Ã£ ¾Ã£ â¢Ã£â¬â
Learn basic tactics
Also, a few bits of text are in the EXE, but have their pointers in Over3.BIN:
Unfortunately, there is no sure way to recognize half-pointers. They almost always end in "0x24", which is the CPU code that means "add this number to existing number". For example:
0x096CB8 [M.0x0A64B8]
* 00015C40 [B8648424]
Ã¥ ¹ ´
Years
Also, data in a Playstation executable is "aligned" in 4byte chunks. so the location of a pointer will always be a multiple of 4 (0x4, 0x8, 0xC, 0x0). For example:
0x096CB8 [M.0x0A64B8]
* 00015C40 [B8648424]
Ã¥ ¹ ´
Years
Also, pointers for related text will often be located near each other. For example:
0x096D28 [M.0x0A6528]
* 0003AA50 [28658424]
Ã©Ë ²Ã¥ ¾ ¡Ã¥Å âº
DEF
0x096D20 [M.0x0A6520]
* 0003AA28 [20658424]
æ⠻æâÆåŠâº
ATK
The only sure way to detect a half-pointer is to change it, then see if text in the game changes too.
Also note, some of BGE's text is located in OVER.BIN files. The OVER#.BIN files are cycled through RAM when their text is needed. OVER1.BIN has text for world-map. OVER2.BIN has text used during battles. OVER3.BIN has text used during "New Game" sequence etc. The OVER.BIN files are all loaded into RAM at 0xB6838 (I think). So the offset for their text is "location of text +0xB6838". So, if text is located at 0x6F4 in OVER3.BIIN, the pointer will read 0x6F4 + 0xB6838 = 0x0B6F2C. For example:
0x0006F4 [M.0x0B6F2C]
* 00009030 [2C6F0B80]
åŸ ºÃ¦Å ¬Ã£ ¨Ã£ ªÃ£ââ¹Ã¦Ë ¦Ã¨ ¡âãââÃ¥ ¦Ã£ ³Ã£ ¾Ã£ â¢Ã£â¬â
Learn basic tactics
Also, a few bits of text are in the EXE, but have their pointers in Over3.BIN:
Code:
0x096D68 [M.0x0A6568]
* 00002AD0 [68658424]
ç·ÂãÆžãÆÅ
Mana
0x096D70 [M.0x0A6570]
* 00002AB4 [70658424]
ç·Âæâ¹Â çâ¹
Castles
0x096D78 [M.0x0A6578]
* 00002AEC [78658424]
ç·Â騎士
Knights
0x08DCE0 [M.0x09D4E0]
* 00002B14 [E0D48424]
ç·ÂãÆ¢ãƳãâ¹ãâ¿ãƼ
Troops
0x096D80 [M.0x0A6580]
* 00002A70 [8065A524]
ï¼Å%s>
%s (Brackets around country name