Miscellaneous Forums > Gameplay

FF8 limit changing

(1/2) > >>

I did some lame hack of FF8 to change limits to 32767.
Looks like its work.
Healing with 32767(char had 12000/18000) looked weird(like it health numbers go trought zero)
In battle, menu screen you see only 4 last digits. (In status, juntion, item screen its ok).

I did some testing, but this doesn mean, that I messed something
If you test it please post result of testing.
ONLY FF8 (latest version)geforce version is patched.
patch here(is patching FF8.exe, so make backup)
2 versions(quick made, so maybe I change something later)
first only comparsions changed (looks like best choice)
second all changed(some weird changed too)

Some tech report
First, i diassembled ff8.exe, then I was searching for all 9999 numbers and changing them to 32767. I suppose that all nuber whitch is 9999 is some limit.

Healing with 32767(char had 12000/18000) looked weird(like it health numbers go trought zero)
I think its due going over max value 32767(12000+32767) where should be negative numbers.

(I can only some asm, and a lot of forget:P)

9999=270f hexadecimal

adress with limits
91137 -battle damage limit(even healing/item in battle limit)
95954 -some kind of 9999 limit function
95A1A -changing this alone increase HP limit(maybe there death computing too, but absolutly not sure)

What it ca be
Using healing items in items menu, using healing magic in magic menu
HP/GF HP after level up.
(HP/GF HP after game start.)

some whitch only move 9999

Damage can be 65535(FFFF hex), but with using this, if you get healing to higher then 270f, I think you will not be healed, healt will be decreasing(tested with FFFF)

code usualy looks like this, so sure here is some limit

--- Code: ---;some computing of edx
cmp edx, 0000270F
mov esi, edx
jle 0048F7A0
mov esi, 0000270F
jmp 0048F7A0

--- End code ---

similar to above

--- Code: ---add ecx, 0000270F
cmp esi, ecx
jle 00491145
mov esi, ecx
jmp 0049114F

--- End code ---

limit function

--- Code: ---mov eax, dword ptr [esp+04]
cmp eax, 0000270F
jle 0049595F
mov ax, 270F

--- End code ---

?death computing too, maybe I am absolutly wrong

--- Code: ---:00495A1A cmp edx, 0000270F
:00495A20 jle 00495A27
:00495A22 mov edx, 0000270F
:00495A27 xor eax, eax
:00495A29 mov word ptr [esi+00000174], dx
:00495A30 mov ax, word ptr [ebp+00]
:00495A34 movsx ecx, dx
:00495A37 cmp ecx, eax ;in DX is some 9999limited number compared with some number
:00495A39 jge 00495A46 ;and if DX is greater or equal
:00495A3B mov word ptr [ebp+00], dx
:00495A3F mov word ptr [esi+00000172], dx
:00495A46 xor edx, edx ; make it zero
;some function,...
;some some interesting but not changable,
:00495A78 cmp edx, 000000FF
:00495A7E jle 00495A85
:00495A80 mov edx, 000000FF
:00495A85 mov byte ptr [esi+000001BB], dl
:00495A8B xor edx, edx

--- End code ---

some 9999 number, but not compare

--- Code: ---:004C99FD mov eax, 01CFE0E8
:004C9A02 mov ecx, 00000026
:004C9A07 mov esi, edx
:004C9A09 mov edi, eax
:004C9A0B add edx, 00000098
:004C9A11 repz
:004C9A12 movsd
:004C9A13 mov word ptr [eax], 270F

--- End code ---

--- Code: ---:004C9A57 mov [ebp+12], 270F
:004C9A5D call 0049A740

--- End code ---

Kruci, can you please tell me how to disassemble ff8.exe?

Hey, Kruci, whenever I go to run the patch, it says that my FF8 is an unknown version... is there any way around this? How can I get 'the latest version'?

Nice necro there Francek, This patch is old and outdated, if you want to remove the 9999 limit use the FF8launcher
Hope that helps.

Thanks for the help :)


[0] Message Index

[#] Next page

Go to full version