• Welcome to Final Fantasy Hacktics. Please login or sign up.
 

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - xjamxx

1
PSX FFT Hacking / Monster Job Wheel (MJW)
May 02, 2019, 05:17:51 pm
If you are looking for a decent patch, just leave. I warned you.

After a lot of work, my final patch is ... garbage.

Description:

MJW:

Allow monsters to change their job to other monster job. This patch is not compatible with OEJ by itself, use MJW compatibility patch. No variables, so edit through xml only. Edit this label if needed (it goes across all locations):
st_unlock_mjw___Inner game stage to unlock monster wheel (35 = chapter 4 - before orbonne)

MJW - OEJ compatibility patch:

Requires 'MJW', fixes incompatibility issues with OEJ patch. No variables, so edit through xml only. Edit these labels to match with OEJ labels (they go across all locations):
oej_id_______OEJ job ID. Recommended range from 0x35 to 0x49.
oej_ma_unit__OEJ formation sprite for male. Shishi value -1?
oej_fe_unit___OEJ formation sprite for female. Shishi value -1?

MJW - BETTLE-PSX minimal workaround:

Requires 'MJW'. For some unknown reason MJW doesn't work with BETTLE-PSX, and for it is a major issue. Though I have a theory of what is going on, I could not prove it so far. The issue goes to monster_wheel routine that makes the list of jobs. It only works for 61h, 62h and 63h, all goblin jobs. It does not matter the sprite, I drawed with a choco sprite and as long as the jobs are those it works, for any other job it freezes. This patch turn MJW in a goblin job wheel for monsters, but it works with BETTLE-PSX.



"Monster Job Wheel (MJW)"
Allow monsters to change their job to other monster job. Made by xjamxx. This patch is not compatible with OEJ by itself, use MJW compatibility patch.

"MJW - Monster Level restriction"
Requires 'MJW'. The wheel will be unlocked after the moster hits a certain level. Only one restriction can be applied due space limitations. For more complex restrictions, find a code cave and write it there. No variables, so edit through xml only. Edit this eqv if needed:
   mon_lvl            Monster level needed to unlock wheel.

"MJW - Progression Byte restriction"
Requires 'MJW'. The wheel will be unlocked after progression byte reaches a certain value. Only one restriction can be applied due space limitations. For more complex restrictions, find a code cave and write it there. No variables, so edit through xml only. Edit this eqv if needed:
   prg_unlock         Inner game stage needed to unlock wheel (35h = chapter 4 - before orbonne).

"MJW - Elidibs Defeat restriction"
Requires 'MJW'. The wheel will be unlocked after Elidibs is killed. Only one restriction can be applied due space limitations. For more complex restrictions, find a code cave and write it there.

"MJW - No class change"
Requires 'MJW'. It simplifies the wheel to the 3 types of monsters per class.

"MJW - OEJ compatibility patch"
Requires 'OEJ' and after 'MJW', fixes incompatibility issues with OEJ patch. No variables, so edit through xml only. Edit these labels to match with OEJ labels (they go across all locations):
   oej_id            OEJ job ID. Recommended range from 0x35 to 0x47.
   oej_ma_unit         OEJ formation sprite for male. Shishi value -1?
   oej_fe_unit         OEJ formation sprite for female. Shishi value -1?



For future updates (if any) check in: https://github.com/xjamxx/FFTPatcher/tree/master/FFTorgASM/XmlPatches

Since people won't READ and keep downloading outdated xml files, and i made some important fixes to my patches (though i uploaded them some days ago in github), i will replace the xml files here too...

As far as i know MJW.xml, OEJ.xml and PRE.xml are complete and without any issues (they work on all emus and they should work on psx hardware).
2
PSX FFT Hacking / Re: Steam Job Wheel Discussion
April 28, 2019, 04:21:40 pm
3
Help! / Re: Help changing some sprites
April 19, 2019, 03:40:13 pm
Colors issue? --> wrong palette. To avoid issues, read this:
http://ffhacktics.com/smf/index.php?topic=6702.0
4
PSX FFT Hacking / Re: ASM Requests
April 18, 2019, 07:49:28 pm
Quote from: Tony75 on February 26, 2019, 08:27:14 pm
Can someone make a working Accessory break for the knight ? I would like to change break MP to Break Accessory .

  <Patch name="Magic Break can break accessory">
    <Description>With FFTPatcher or similar program change ability 'Magic Break' formula from 2c to 25, change x and y values, uncheck Affect MP and check Unequip. If need change offset F6400 to whatever you want (as long as it is a safe spot).</Description>
    <Location file="BATTLE_BIN" offset="F6400" mode="ASM">
@my_code_cave:
      beq r3,r2,SKP #Branch if used ability is 'Icewolf  Bite'
      ori r2,r0,0x008e
      beq r3,r2,SKP #Branch if used ability is 'Acc Break'=='MP Break'
      ori r2,r0,0x0072
      j 0x00187b54
      nop
SKP:  j 0x00187b5c
      nop
    </Location>
    <Location file="BATTLE_BIN" offset="187b4c" mode="ASM" offsetMode="RAM">
      j @my_code_cave
      nop
    </Location>
  </Patch>
5
PSX FFT Hacking / Re: One Extra Job Hack (OEJ) WIP
April 18, 2019, 08:30:36 am
Quote from: Xifanie on April 18, 2019, 02:28:00 am
I think he's assuming that people will want chemist to be a job unlocked from the start like in vanilla. Personally I would've just made a xml ASM patch for this. Or at least that fits his personal purpose.

Yes. I was tired yesterday and rushed it to finish.

If you check in scus unlocked jobs (modded):

      lui t2,0x0040 #Current Unlock Check = 0x400000.
      lui t3,0x00c0 #Jobs Unlocked = 0xC00000 (start squire and chemist).
      addiu t6,zero,0x0000 #Counter = 0.

Inside the loop, i just added these:
To fix the female unlock for dancer so it goes to bard slot in the unlocked bytes

UJS2: ori v0,zero,0x0010
      bne v0,t6,UJS3
      andi v0,a1,0x0040
      beq v0,zero,UJS4 #Branch if Unit is not Female.
      lui a0,0x00ff
      sll t2,t2,0x01
      ori v0,a0,0xff80
      and t3,t3,v0
      bne t1,zero,UJLP
      or a1,zero,zero
      j UJLP
      or t3,t3,t2

And with only 5 lines of code (i haven't use a single code cave for the entire patch, only used the space i free myself) i set the requirements for the new job, cuz chemist will be always unlocked

UJS4: beq t5,t8,UJS3
      addiu t5,t8,0x00aa
      sll t2,t2,0x01
      j UJLP
      or t5,t8,zero


If needed i can rewrite so it work like vanilla (chemist check chemist....), and  set a zero for the new job and add a nop for custom jump to an special routine (which i won't make).

Give it a try

UPDATE:  i just rearrange the code and added its own job level requirement. Chemist is like vanilla it reads its own req.
6
PSX FFT Hacking / Re: One Extra Job Hack (OEJ) WIP
April 18, 2019, 02:03:48 am
Yeah i know, but I had the time.
7
PSX FFT Hacking / One Extra Job Hack (OEJ)
April 17, 2019, 10:48:46 am
"if all you have is a hammer, everything looks like a nail"

Only one drawback:
The new job will be placed after bard/dancer and before mime (it can be worked but it requires more code to move it).

How to use it:
1. All parameters (or labels) are in the first location (eqvs are not global):

    <Description>Extend jobs from 19 to 20. Based on RAD3. Made by xjamxx. No variables, so edit through xml only. Edit these labels (cuz they go across all locations):
oej_id OEJ job ID (should be less than 0x8F).
oej_ss OEJ skillset. The one that the job ID has. id(0x34)=ss(0x21) unless chagned via hacks.
oej_ma_unit OEJ formation sprite for male. Shishi value -1?
oej_ma_unit_p1 OEJ formation sprite for male. Shishi value?
oej_fe_unit OEJ formation sprite for female. Shishi value -1?
oej_fe_unit_p1 OEJ formation sprite for female. Shishi value?
oej_ma_face OEJ formation portrait for male. Shishi value -1?
oej_fe_face OEJ formation portrait for female. Shishi value -1?
oej_m_ss OEJ spritesheet for male. Shishi value?
oej_f_ss OEJ spritesheet for female. Shishi value?</Description>
    <Location file="SCUS_942_21" offset="5DC14" mode="ASM" offsetMode="RAM">
    .label  @oej_id, 0x43
    .label  @oej_ss, 0x73
    .label  @oej_ma_unit, 0x08
    .label  @oej_ma_unit_p1, 0x09
    .label  @oej_fe_unit, 0x09
    .label  @oej_fe_unit_p1, 0x0A
    .label  @oej_ma_face, 0x08
    .label  @oej_fe_face, 0x09
    .label  @oej_m_ss, 0x3C
    .label  @oej_f_ss, 0x3E

2. For job requirements use the second location, and edit:

    <Location file="SCUS_942_21" offset="5dce8" offsetMode="RAM">
       50000000 <!--Jobs levels requirement for OEJ -->
       00000000 <!--From Squire to Mime every one hexa digits-->
       0000 <!--Example 5000 0000 0000 0000 0000 = Squire level 5-->
    </Location>


Whatever:
1. It would be nice if others test it, but i doubt it.
2. Use it as you like.
3. Thanks pokeytax (though i never spoke to you, i know u are still there).
4. If some1 needs help on how to use it, ask it here.
5. This is my last week here, i won't be back for a long time (could be months, could be years).



Final Update:
-Cleaned a bit more the code, removed that battle.bin inner jump call and skip (had to rewrite the entire routine), free more space so any can add more jobs req (there is an example in a second patch). Fixed some undetected load delays, added a require.out location just in case. (more details in https://github.com/xjamxx/FFTPatcher)

Since people won't READ and keep downloading outdated xml files, and i made some important fixes to my patches (though i uploaded them some days ago in github), i will replace the xml files here too...

As far as i know MJW.xml, OEJ.xml and PRE.xml are complete and without any issues (they work on all emus and they should work on psx hardware).
8
PSX FFT Hacking / Re: Sprites FFTEVGRP
December 16, 2018, 05:17:20 pm
Quote from: Nyzer on December 14, 2018, 09:52:05 am
You can't do that without bugs right now.

if you are referring to roster extension to 20, then you haven't test my last PRE.xml, cuz i played till chapter 3 without any 'bug' (units can be stored, deployed, moved, controlled like any unit from 1 to 16 slot), but at the end it falls to what u understand for bug....
9
Non-FFT Modding / Re: Final Fantasy VIII Draw ASM hack
November 19, 2018, 11:15:22 am
Note 1:
On pc at least for draw you have: http://forums.qhimm.com/index.php?topic=18383.0
Asm hack in pc may look a bit more complicated, but you have one big advantage: practically unlimited space for hacks, while on psx all is about space.

Note 2:
It was me or this site was down for 3 days or so?

Note 3:
I made some other hacks, plus added entries to patch some 'pc' (they must be psx version) files in the iso
10
Non-FFT Modding / Final Fantasy VIII ASM hacks
November 14, 2018, 09:00:18 am
Since I am done with my FFT modding, I went back to another PSX title I modded a couple of years ago. Yes it is Final Fantasy VIII.

Unlike FFT, this game has a pc port (it is also on Steam) and most of the modding stuff around is for the pc version. Sadly the psx version (though it is moddable with pc tools, most of the data files are inside the big file) lacks of mods.

This is going nowhere, lets go to the point. I always wanted to change the maximum amount magic (9) you can draw from a foe per turn, but this would require an ASM hack and no data tool could help you here.

Well after a couple of hours I did it:


This is the first ASM hack for FF8-SLUS (AFAIK, if this doesn't count https://gamefaqs.gamespot.com/boards/197343-final-fantasy-viii/47719827), and you saw it here at ffhacktics.com.

The patch is attached below, its written in a xml file to apply it with FFTorgASM.
I also attach my notes to show how I did this.

Cya.

Current ASM hacks
Battle Draw Amount:
Changes max and min magic draw amount for battles. Also adds a draw multipier. Edit these eqvs if needed:
mx_draw   Maximum draw amount, range 0-100. Vanilla value is 9.
mn_draw   Minimum draw amount, range 0-100. Vanilla value is 0.
dw_mult   Draw multiplier. Vanilla value should be around 26 (26/128 = 1/5).

Rare-item all slots:
Now fourth slot items can be obtained if rare-item is equipped.

Re apply status effect:
Vanilla will always miss to apply any status effect if already applied. This patch address that, while not messing with auto abilities nor permanent effects.

Junction linked to Level:
Magic junction will be multiplied by level instead of stock as long as you have one.

Gil Multiplier for Junk Shop:
Changes the gil multiplier for Junk Shop. Edit this eqv if needed:
gl_mult   Gil Multiplier, suggested range 1-10000. Vanilla value is 10.

Level Caps:
Rewrites what lvl 251, 252, 253, and 254 do on scene.out. Edit these eqv if needed:
   st_lv1   Static level for 251, range 1-100.
   mx_lv2   Max level for 252, range 101-199.
   mx_lv3   Max level for 253, range 101-199.
   mx_lv4   Max level for 254, range 101-199.
   mn_lv2   Min level for 252, range 1-100.
   mn_lv3   Min level for 253, range 1-100.
   mn_lv4   Min level for 254, range 1-100.

Current Importable Inner Files
init.out
kernel.bin
scene.out
'..enemy..'.dat


If you have issues with FFTorgASM use this:
UPDATE (Nov 2018): finished all tweaks in ff8 too So no more updates for a long time.
11
All i wrote can be translated to:
<Patch name="Time Magic grants access to Throw">
    <Description>Grants access to Throw (0x14) if unit has skillset 0x0C (twice).  Original code by Pride.</Description>
    <Location file="BATTLE_BIN" offset="e9994" mode="asm">
      or r9,r0,t0               #Modded here to have t0 instead of fixed value
      beq r5,r9,SKP1
      or r2,r0,t1               #Modded here to have t1 instead of fixed value
      bne r7,r9,SKP2
      nop
SKP1:   sb r2,0x0000(r16)
      addiu r16,r16,0x0001
SKP2:   ori r2,r0,0x00ff
      sb r2,0x0000(r16)
      jr r31
      nop
    </Location>
    <Location file="BATTLE_BIN" offset="e99c0" mode="asm">
      addiu r29,r29,-0x0018
      sw r31,0x0010(r29)
      lbu r3,0x000c(r18)
      lbu r5,0x0013(r18)
      or r9,r0,t0               #Modded here to have t0 instead of fixed value
      beq r3,r9,SKP1
      nop
      bne r5,r9,SKP2
      nop
SKP1:   addu r6,r17,r0
      jal 0x0019a5f8
      or r5,r0,t1               #Modded here to have t1 instead of fixed value
      lbu r3,0x000c(r18)
SKP2:   lw r31,0x0010(r29)
      addiu r29,r29,0x0018
      jr r31
      nop
    </Location>
    <Location file="BATTLE_BIN" offset="e9b00" mode="asm">
      ori t0,zero,0x000c
      jal 0x80150994
      ori t1,zero,0x0014
      ori t0,zero,0x000c         #yeah a second time. change 000c to another thing
      jal 0x80150994
      ori t1,zero,0x0014         #yeah a second time. change 0014 to another thing
      jr r31
      nop
    </Location>
    <Location file="BATTLE_BIN" offset="e9b50" mode="asm">
      ori t0,zero,0x000c
      jal 0x801509c0
      ori t1,zero,0x0014
      ori t0,zero,0x000c         #yeah a second time. change 000c to another thing
      jal 0x801509c0
      ori t1,zero,0x0014         #yeah a second time. change 0014 to another thing
      jr r31
      nop
    </Location>
    <Location file="BATTLE_BIN" offset="11a4f0">
      C042050C                  <!--Modded here to call e9b00 instead of e9994-->
      00000000
    </Location>
    <Location file="BATTLE_BIN" offset="13347c">
      D442050C                  <!--Modded here to call e9b50 instead of e99c0-->
      00000000
    </Location>
  </Patch>

Its quite crappy (in art of writing low level code), in theory it should work (but i am unsure, cuz didnt tried, of what the main code does, if its global then it won't work or it is call per unit in which case it will work).
12
Quote from: Reikan on November 07, 2018, 10:21:05 amI'm trying to slightly edit and use Emmy's formula to link some skillsets to each other. What I did was basically swap numbers following Pride's logic line, but it only seems to work when I apply 1 ASM at a time.

I would really help that you post the code you are working on whenever you ask something...
Nonetheless from what i understand of your post, if you are trying to use this code of Pride:
<?xml version="1.0" encoding="utf-8" ?>
<Patches>
<Patch name="Support Equip Jump">
    <Description>Support skill below Non-Charge gives access to skillset x34</Description>
   <Location file="BATTLE_BIN" offset="F762C">
      E8FFBD27
     1000BFAF
     92004392
     00000000
     02006330
     03006010
     21302002
     7E69060C
     34000534
     12004392
     1000BF8F
     1800BD27
     0800E003
     00000000
     92006590
     00000000
     0200A230
     04004010
     00000000
     34000234
     000002A2
     01001026
     FF000234
     000002A2
     0800E003
     00000000
   </Location>
   <Location file="BATTLE_BIN" offset="11A4F0">
     9979050C
     00000000
   </Location>
   <Location file="BATTLE_BIN" offset="13347C">
     8B79050C
   </Location>
  </Patch>
</Patches>

It has 3 parts (each one is a location section):
The first one is the main code (the one that does the 'magic'), there other 2 (the smaller ones) are just for hooking (jumping or branching) from vanilla code to the 'main' code of the hack.

So if you wanna use it twice by duping the patch and replacing data numbers in main code, you will just get the last applied patch cuz both share the same memory space for main code (which starts at: F762C or in RAM offset at: 15E62C).

In battle.bin file the space from 14cf68 - 1743c4 (in ram offset) is occupied by 'unused' routine, so that's why most of the asm hacks main code goes there.

So what you should do? You will need to mod the main code to support two 'linking'.

One option: you could dupe the main code (the entire first location) in another offset (try not overwrite another used patch) then create a fourth location (maybe) to call both main codes and then adjust vanilla hooking to this new location instead of hooking the original main code.

I think it may be hard to understand but i am trying to teach you how to do things by yourself in this process...
13
The Lion War / Re: FFT - The Lion War
November 06, 2018, 09:12:22 pm
Thank you, there is no need to search for it. I was thinking in the wotl DK job req, and I was like, does this game have a kill counter for each unit?... But you just simplified.

In my asm hacks there is an optimization of vanilla job req that frees 20 instruction spaces in scus file, where i added my custom jobs requirements. Maybe (it will really depend how exactly choto implemented the hack) could use that to write the req for DK.

EDIT: indeed Pride, though it is more like a never used routine from 275c0 to 2873c which has 1120 instructions.
14
The Lion War / Re: FFT - The Lion War
November 06, 2018, 08:34:12 pm
Out of curiosity, which job req will have DK?
15
PSX FFT Hacking / Re: ASM Requests
November 01, 2018, 09:22:42 am
  <Patch name="Formula 18: melee spellcaster">
    <Description>Redirects empty formula 18 to F6400 (the same as Glain's Formula 3B), so it becomes DMG_F(PA*(WP+Y))  Hit_F(PA+X)%. Uses 28 instructions.</Description>
    <Location file="BATTLE_BIN" offset="F6400" mode="ASM">
@melee_spellcaster:
      addiu sp,sp,0xffe8
      sw ra,0x0010(sp)
      jal 0x001885b8            #Magic Evade.
      nop
      bne v0,zero,NFED
      nop
      jal @acc_mag_melee           #Calculate (PA + X)*Faith% acc, based on 0x001889cc.
      nop
      bne v0,zero,NFED
      nop
      jal @dmg_f_melee            #DMG_F(PA*(WP+Y)), based on 0x00188d84.
      nop
NFED: lw ra,0x0010(sp)
      addiu sp,sp,0x0018
      jr ra
      nop
@acc_mag_melee:
      addiu sp,sp,0xffe8
      sw ra,0x0010(sp)
      jal 0x00185dac            #Store PA+X.
      nop
      j 0x001889d8            #It is 0x001889cc but first part is patched.
      nop
@dmg_f_melee:
      addiu sp,sp,0xffe8
      sw ra,0x0010(sp)
      jal 0x00185e5c            #Store PA and WP + Y.
      nop
      j 0x00188da0            #It is 0x00188d84 but first part is patched.
      nop
    </Location>
    <Location file="BATTLE_BIN" offset="18929C" mode="ASM" offsetMode="RAM">
      j @melee_spellcaster
    </Location>
  </Patch>

I didn't tested it. Also you should find another code cave to put the "main code" of your formula since it uses the same as other Glain's hack.
EDIT:
Did one test, it seems to work..., minor touches:
  <Patch name="Formula 18: melee spellcaster">
    <Description>Redirects empty formula 18 to F6400 (the same as Glain's Formula 3B), so it becomes DMG_F(PA*(WP+Y))  Hit_F(PA+X)%. Uses 26 instructions.</Description>
    <Location file="BATTLE_BIN" offset="F6400" mode="ASM">
@melee_spellcaster:
      addiu sp,sp,0xffe8
      sw ra,0x0010(sp)
      jal 0x001885b8            #Magic Evade.
      nop
      bne v0,zero,MSED
      nop
      jal @acc_mag_melee           #Calculate (PA + X)*Faith% acc, based on 0x001889cc.
      nop
      bne v0,zero,MSED
      nop
      jal @dmg_f_melee            #DMG_F(PA*(WP+Y)), based on 0x00188d84.
      nop
MSED: lw ra,0x0010(sp)
      addiu sp,sp,0x0018
      jr ra
      nop
@acc_mag_melee:
      addiu sp,sp,0xffe8
      sw ra,0x0010(sp)
      lui v0,0x8018
      j 0x00185dac            #Store PA+X.
      ori ra,v0,0x89d8         #It is 0x001889cc but first part is patched.
@dmg_f_melee:
      addiu sp,sp,0xffe8
      sw ra,0x0010(sp)
      lui v0,0x8018
      j 0x00185e5c            #Store PA and WP + Y.
      ori ra,v0,0x8da0         #It is 0x00188d84 but first part is patched.
    </Location>
    <Location file="BATTLE_BIN" offset="18929C" mode="ASM" offsetMode="RAM">
      j @melee_spellcaster
    </Location>
  </Patch>

EDIT 2:
  <Patch name="Formula 18: melee spellcaster">
    <Description>Redirects empty formula 18 to F6400 (the same as Glain's Formula 3B), so it becomes DMG_F(PA*(WP+Y))  Hit_F(PA+X)%. Uses 22 instructions.</Description>
    <Location file="BATTLE_BIN" offset="F6400" mode="ASM">
@melee_spellcaster:
      addiu sp,sp,0xffe8
      sw ra,0x0010(sp)
      jal 0x801885b8            #Magic Evade. If Physical use 0x80188510.
      nop
      bne v0,zero,MSED
      lui v0,0x8018
      jal @acc_mag_melee           #Calculate (PA + X)*Faith% acc, based on 0x001889cc.
      addiu sp,sp,0xffe8
      bne v0,zero,MSED
      lui v0,0x8018
      jal @dmg_f_melee         #DMG_F(PA*(WP+Y)), based on 0x00188d84.
      addiu sp,sp,0xffe8
MSED: lw ra,0x0010(sp)
      addiu sp,sp,0x0018
      jr ra
      nop
@acc_mag_melee:
      sw ra,0x0010(sp)
      j 0x80185dac            #Store PA+X.
      ori ra,v0,0x89d8            #It is 0x001889cc but first part is patched.
@dmg_f_melee:
      sw ra,0x0010(sp)
      j 0x80185e5c            #Store PA and WP + Y.
      ori ra,v0,0x8da0            #It is 0x00188d84 but first part is patched.
    </Location>
    <Location file="BATTLE_BIN" offset="18929C" mode="ASM" offsetMode="RAM">
      j @melee_spellcaster
    </Location>
  </Patch>
16
It is for the european rom.
17
mmm...
I don't have the game, never played the gba version, but i searched the web and found:
Quote from: mziabFor what it's worth, I played around with it for a while and was able to find where the avatars are stored. And since they were compressed using the standard bios LZ77 routine, replacing them with blank ones was a cinch...
For the record, the pointer table for the avatars is stored at 0x1465A0 (for the European rom). Each avatar is prefixed by 0x01 0x00 0x00 0x00 0x14 0x00 0x00 0x00, followed by 640 bytes of tile data.
I was hoping to also move the text 3 tiles left so as not to leave blank space where the portraits used to be, but ran into some strange problems with write breakpoints not triggering in no$gba. I have some notes if someone is interested in doing that part.
Anyway, here is a quick and dirty patch (ff5.ips), if you want to try it out. Just apply it to the European rom. Needless to say, this hasn't been extensively tested.

Quote from: Zero DozerWait, now I've noticed that the link sends me right into the IPS's text. Downloaded it, I wonder if it would work with the US version.
Edit: Tested the maneuver. Didn't work. Worked for the european version as you said, though.

Quote from: Zero DozerI was doing some small research with the guides FAST6191 gave here. Though I didn't succeed in making the patch, Darthatron from Final Fantasy Hacktics helped me and ended reproducing Mziab's patch on the US Version. I'll check the patch and tell you the results.
Edit: It works.
Also, Dart allowed me to post the link to his patch (FFVA_PortraitRemoval.ips). Like Mziab's, this patch is a replacement, still unsuitable to make it to the database.

Quote from: Darthatronmziab, I just copied your hack over to the US version. The pointer table is at 0x1446E8 in the US version.
I, initially, was going to do it a different way; that is just stop the functions that call the data from firing, but it was causing graphical glitches for unknown reasons. As you've said, this is a dirty hack, but it's doing the job, so let's just leave it.


To apply IPS patches you could use Lunar IPS, just search the web for it...

Also from where you wanted to get the patch it was this:
Quote from: CalmlanderWhy don't play the SNES version instead? Better graphics, better music and no portraits, and the new "Legend of Crystals" translation is almost as good as the GBA.


Still my IQ is zero...
18
Spam / CONGLATURATION!!!
October 25, 2018, 01:42:34 pm


to Xifanie and all who help her with this site, for hitting a new record at 220 online users.



Yeah my IQ fall to 0. :more:
19
Help! / Re: Unaligned offset at address xxxx
October 11, 2018, 12:25:02 pm
Ignore. The warning in this case is cuz:
lw r2,0x004a(r4)
nop
or r2,r2,r3
sw r2,0x004a(r4)

'lw' and 'sw' asm instrucctions load and save 32 bits in memory and if you start from 0000 then aligned address should be xxx0 - xxx4 - xxx8 - xxxc. The author of that hack put xxxa to modify two 32 bits aligned slots in memory with a single instruction (16 bit of one slot and 16 bit of another). It may not be the best practice, but it save code space.

UPDATE: didn't know that Glain, i guess i haven't play on my console for more than 18 years. But if Glain says so, then just don't use it if u are going for console.
I never bother to asm the 'event instruction upgrade' hack, but from what i recall it had some offset not aligned, so that hack won't work with consoles too?
20
Assorted.xml --> last hack