FF8 limit changing

  • Thread starter Thread starter kruci
  • Start date Start date
Status
Not open for further replies.
K

kruci

Guest
Hi,
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
USE ONLY ON YOUR OWN RISK
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)
http://kruci.wz.cz/ff8limitpatch.exe
second all changed(some weird changed too)
http://kruci.wz.cz/ff8limitpatch2.exe


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
8F781
8F850
91137 -battle damage limit(even healing/item in battle limit)
91589
9167C
91FB1
95954 -some kind of 9999 limit function
95A1A -changing this alone increase HP limit(maybe there death computing too, but absolutly not sure)
95E6D

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


some whitch only move 9999
C9A13
C9A5D

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: [Select]
Code:
;some computing of edxcmp edx, 0000270Fmov esi, edxjle 0048F7A0mov esi, 0000270Fjmp 0048F7A0
similar to above
Code: [Select]
Code:
add ecx, 0000270Fcmp esi, ecxjle 00491145mov esi, ecxjmp 0049114F
limit function
Code: [Select]
Code:
mov eax, dword ptr [esp+04]cmp eax, 0000270Fjle 0049595Fmov ax, 270F
?death computing too, maybe I am absolutly wrong
Code: [Select]
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
some 9999 number, but not compare
Code: [Select]
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
Code: [Select]
Code:
:004C9A57 mov [ebp+12], 270F:004C9A5D call 0049A740
 
Last edited:
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'?
 
Last edited:
Status
Not open for further replies.
Back
Top