• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
April 30, 2024, 10:10:07 pm

News:

Please use .png instead of .bmp when uploading unfinished sprites to the forum!


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 - Emmy

61
Hacking/Patching Tools / Re: Special Snowflakes v1.01
January 25, 2017, 02:32:42 pm
Yay! Success! :)  Works in both epsxe and psx. :)



I figured out what the issue was.  The event this was in still had some remnants of me attempting to use the event upgrade to initially petrify units, which prevented this from working.  Once that was disabled, the hack worked. :)

Thank you for this. :) 
62
Help! / Re: Hello! PSP Modding?
January 23, 2017, 11:49:13 pm
Very few mods are for the PSP version.  Nearly all modders choose PSX version for their projects.  So stick to emulation. :)
63
Hacking/Patching Tools / Re: Special Snowflakes v1.01
January 23, 2017, 11:12:29 pm
So, I tried repatching everything, and tried it on 2 different emulators.  No petrify. :'(  Attached to this is a patch and save file where I tested it.  It is in "test1" (4th proposition).  The entd slot of test1 is 0x150.

Is there a possibility that it conflicts with another hack that I use, but it wouldn't show up in Fftorgasm's "conflict checker" or "view free space" files?  If so I could also give you the other asm.

64
Hacking/Patching Tools / Re: Special Snowflakes v1.00
January 23, 2017, 07:17:38 pm
I attached the saved spreadsheet, along with the xml it produced. :)
65
Hacking/Patching Tools / Re: Special Snowflakes v1.00
January 23, 2017, 06:04:23 pm
Thank you for looking into the issue.  New version still doesn't work on my end :(
66
Hacking/Patching Tools / Re: Special Snowflakes v1.00
January 23, 2017, 04:14:14 pm
So it worked... (almost)



I made one snowflake that makes units huge, and another one that sets initial petrify.  Obviously the one that's huge worked.  But the other 2 bombs were supposed to be initial petrify.  They don't have immortal flag/innate immunity/anything that would prevent this.  Not sure what is wrong. :(
67
Hacking/Patching Tools / Re: Special Snowflakes v1.00
January 23, 2017, 02:27:28 am
I'm not 100% sure how to use it yet but this looks amazing! :)  Thank you! :)

Any chance you can run through an example of what to do?
68
Help! / Re: Edit random Encounters
January 19, 2017, 09:38:51 pm
As I said in another topic you made, if you're serious about modding, I definitely recommend using vanilla as a base as opposed to any other mods.  Hell, I'd recommend doing that even if you're not serious about modding, that way you're not tied to the decisions made by another modder and can do whatever you want. :P

If you're just messing around, open Patcher.  Click the PSX tab, and "Open Patched Iso."  Make the changes you want here *after* doing that, then repatch them to the same iso.  This will make it include both the changes that you made and the changes made by the mod.
69
Help! / Re: Edit random Encounters
January 19, 2017, 11:01:58 am
If what you are asking is what I think you are asking, this is extremely easy.  No ASM or eventing required! :)  Open Patcher to the Entd tab.  Look for the random battle you want to edit.  Have fun! :) 

If you're looking to edit the "rare" encounters from vanilla, these are in Patcher as #5 battles.  And as long as you have a sprite to give them, you can put whatever class you want in random encounters.

70
Short answer: No.

Long answer: There's no way for generics to become non-generic.  However if you're willing to tinker a bit and replace classes, you could for example, give Dancer all of the Hell Knight abilities and such and have a Hell Knight instead of a Dancer.  This will apply for all characters with access to the class.  Or, if you just want to have Hell Knights and Arc Knights join up in your party, you can either make them non-immortal and non-immune to Invite and invite them yourself, or you can check off the "join after event" box in the Entd (which is how those special characters joined you in most cases).

There's no easy way to add to the job wheel.  And if you want to get into more serious modding, I highly recommend just using vanilla as a base instead of an already patched game.
71
Event Editing / Re: ATTACKOUT questions
January 13, 2017, 10:22:22 pm
First thing, you need to copy/paste the xml tab:



Open Notepad, paste all this crap in, save it as whatever you want.xml, put the xml in the same folder as other xml's used by fftorgasm, and you should see it there.
72
Help! / Re: Copying Break Swordskills...
December 26, 2016, 05:19:42 pm
The break/steal formulas, as they are in vanilla, are heavily hardcoded.  Item broken by a break ability is hardcoded to the skill slot.  If you try moving it to another skill slot, the code won't recognize the new skill slot, and the ability will fail. Here is the relevant hardcoding routine:

http://ffhacktics.com/wiki/Steal/Break/Might_Sword_Hard_Coding

A fix for this has been written, if you'd like to make different break/steal skills or move them:

http://ffhacktics.com/smf/index.php?topic=10107.msg193559#msg193559

73
Works for all undead (innate/item/casting undead).  Overwrites items' effects if it has to do with Dark/Holy for undead, and Fire for oil; otherwise doesn't (so you can have an undead guy who's immune to ice for example).
74
Let me use an example with a short hack I wrote. 

hex:


19800A3C
942D498D
902D488D
F9384791
FA384691
28002295
01000134
02110200
21104100
000001A1
21080701
000022A4
250006A1
0800E003
00000000


ASM:


lui r10,0x8019
lw r9,0x2d94(r10)
lw r8,0x2d90(r10)
lbu r7,0x38f9(r10)
lbu r6,0x38fa(r10)
lhu r2,0x0028(r9)
ori r1,r0,0x0001
srl r2,r2,0x04
addu r2,r2,r1
sb r1,0x0000(r8)
addu r1,r8,r7
sh r2,0x0000(r1)
sb r6,0x0025(r8)
jr r31
nop


Unless you are a computer, it is easier to read the ASM than it is to read the hex.  Computer can only read the hex, not ASM.  ASM uses commands such as these, which can be translated into hex: http://xifanie.ffhacktics.com/zodiac/PSX-INST.txt 
75
Help! / Re: Modding FFT
December 14, 2016, 11:02:16 am
Most of these questions can be answered by tinkering with Patcher.  Patcher is 95% easy to use, and the other 5% are hardcoded things that you eventually learn about through tinkering with Patcher (many of which have an ASM fix for).  Many of the other questions, you need to learn eventing or ASM; possibly learning the basics of these to even understand a proper answer to your questions.. <_<

Party:

There is a buggy asm hack somewhere here that uses the guest slots as party slots.  You need to remove all instances of guests appearing in formation (via events and patcher) to use it, and even then it still has some issues.  If you use a unit from slots 17-20, it'll prompt to rejoin after every battle.  It also doesn't seem to play well with monsters (not even giving you the option to choose them if they're using non-vanilla moveset slots).  Controllable guests is a patcher change.

Battle:

Only way to battle with more than 5 is through guest units.  The rest of those questions either are part of patcher or i have no idea what you're asking. :(

Classes:

Monsters can't change jobs.  The only way to get something like that is if you make them not a monster in the code (assign male or female) and use a monster-like sprite, replacing a special character for it.  They will be able to change from their base class to the generic classes.  Changing the soldier office to buy more than just squires is what this is for: http://ffhacktics.com/smf/index.php?topic=10622.0  Characters with special jobs will replace the squire with their special job. 

Monsters:

You need to replace unused class slots from elsewhere to create 5 different types of chocobo.  The other chocobos are not poachable, not breedable, but otherwise will function.  Most of the empty sprites in Shishi can be replaced with something else, though you also need to change their formation sprite to make them look right if playable.

Modding:

Up to you. :)

Effects: 

I know I saw that answered somewhere else...

Items:

Not 100% sure if you mean editing the look of the item (which you need Photoshop), or editing which graphic is used by which item (which you need Item Workbook Compilation, from Raven's spreadsheets).  Again, blank slots are up to you. :) 

Chapters:

No idea what you mean by "compress" but you can add/subtract content with event editing.

Coding:

You need to familiarize yourself with the basics of how ASM works.  I'm not exactly sure what you're asking :(  But the possibilities are almost endless.  :)  I've written a lot of asm hacks.

Shop:

You can change all of the (graphical) appearance of it with Shishi, and items can generally be changed in Patcher.  Of course it's possible to add Synth Shop, unless you're using an incompatible ASM hack with it (in 90% of cases, the incompatible hack can be moved).  If you want to change Fur Shop in any other way besides hacks that are already made, you're going to need to learn ASM and make it yourself.
76
ASM is assembly language.  If you want to learn about it in a more general sense: http://programmedlessons.org/AssemblyTutorial/index.html#part1

If you are serious about learning how it applies to FFT, the wiki is a good resource.  In order to make changes that Patcher/Tactext can't make, you need to learn ASM to be able to edit other things.  Hexadecimal from the game can be translated into more readable ASM code.  Use MassHexAsm for that: http://ffhacktics.com/smf/index.php?topic=7130.0 

I'm not sure if you mean a general hexadecimal editor like HexEdit.  Those can be helpful at times but aren't needed to be used 100% of the time.
77
This is a fairly common request fulfilled. :)  Changes some of the more useless values for setting level in the entd (party +50 and up) into party level -x.  Will set lv = 1 if lv - x < 1.  This copies over the code for party lv - random, so it will now interpret that (along with party lv) as party lv, and since party lv +50 is the starting "0" point for this code, it is also interpreted as party lv.  Set levels and party +1-49 work as normal.  Thank you Glain for telling me what entries in patcher correspond to what values. :)


  <Patch name="Party lv+ 50+ interpreted as party lv - x">
    <Description>Party level, Party lv - random, and Party lv +50 are interpreted as Party Level.  Party Level +51 is interpreted as Party Level -1, Party Level +52 is interpreted as Party Level -2, etc. through party Lv +99 is interpreted as Party level -49.  Set levels and party +1-49 are interpreted as normal.</Description>
    <Location file="SCUS_942_21" offset="4b5dc">
      FF000332
      03006010
      FE000234
      06006214
      6400622C
      0680033C
      08636390
      00000000
      9D6B0108
      00007034
      11004014
      21180002
      0680023C
      08634290
      9600042E
      09008014
      00000000
      96000434
      23200402
      23804400
      1100001E
      00000000
      9D6B0108
      01001034
    </Location>
  </Patch>
78
Help! / Re: My mod, and some feasibility questions...
December 06, 2016, 09:25:10 pm
1.  Not to my knowledge.  It might have been done by someone else, but isn't something that interests me enough to look into.

2.  Could probably be done by expanding the range of mountable classes in the "1 more mountable monster" hack, or by expanding the range of the chocobo check.

3.  Good luck with this.  This is a problem of superfluous checks for gender in code related to equipped items.  For example, code will say "branch if unit is a monster" and have a 2nd check later on "branch if unit is naked" (why is the first check needed if the 2nd exists?)  Anyway I managed to find at least 12 of these and it was still not enough, which means there's more lurking in undocumented code somewhere. :(

4.  Yes.  As a point of reference, vanilla has 55 scripted story battles, and Monster Tactics has 75 as of the latest update.  They aren't totally new locations (the dot on the map has to exist in vanilla to my knowledge), but usually appear by making for example, Goug 1 and Goug 2 in sequence on 2 different Goug maps.

5.  Your best bet here is to use Xifanie's Propositions hack.  It'll replace Propositions with new battle locations, but you need to learn eventing along with worldmap/attack.out basics to make this work. :)

6.  Elric can explain this better than I can, but more or less he manipulated randoms so that if specific units are present in a random (a chocobo and a character that can mount it), that they'll walk to a location where the chocobo is before the screen fully loads; so that all you see is the unit riding the chocobo when the screen does load.

7.  Yes/no, depending on the map.  To my knowledge you can't directly import Wotl maps but you can probably make a similar map and upload to a blank/unused slot.  Some maps that were not used in vanilla or used only in events can be used successfully in battle though. :)

8.  Idk?

9.  No. :(
79
New stuff! :)

Formula 18 = Universal stat change formula at MA+X%.  This can create any amount of bonus/penalty to PA, MA, Speed, CT, Brave, Faith, and can also be used for Quick and CT = 0. Can also be used to level up +1 or level down -1.  Directions for use in description:


  <Patch name="Formula 18 = universal stat change at MA+X%">
    <Description>Directions for use: MA+X% is accuracy. Y is the stat that you want to affect.  Use Y= 16 for level up, 17 for level down, 18 for speed, 19 for CT, 20 for PA, 21 for MA, 22 for Brave, 23 for Faith. DO NOT USE OTHER VALUES FOR Y OR BAD THINGS WILL HAPPEN!  Use the status effect field as what you want for the bonus/penalty amount in hex.  Add +0x80 for bonus amounts (example: 81 = +1), otherwise numbers up to 0x7f are penalty amounts.  If changing CT, you can use FF for Quick and 7F for CT = 0.  Level up requires 80, and level down requires 1.  Do not use other values in combination with 16/17 for the status byte or bad things will happen!</Description>
    <Location file="BATTLE_BIN" offset="12229c">
F5480508
00000000
    </Location>
    <Location file="BATTLE_BIN" offset="eb3d4">
E8FFBD27
1000BFAF
A122060C
00000000
0A004014
00000000
1980083C
FA380291
902D038D
FB380491
21084300
000024A0
01000534
000065A0
250065A0
1000BF8F
1800BD27
0800E003
00000000
    </Location>
  </Patch>


This version of the same hack includes a check for an ability to grant immunity to stat penalties:


  <Patch name="Formula 18 = universal stat change at MA+X%">
    <Description>Directions for use: MA+X% is accuracy. Y is the stat that you want to affect.  Use Y= 16 for level up, 17 for level down, 18 for speed, 19 for CT, 20 for PA, 21 for MA, 22 for Brave, 23 for Faith. DO NOT USE OTHER VALUES FOR Y OR BAD THINGS WILL HAPPEN!  Use the status effect field as what you want for the bonus/penalty amount in hex.  Add +0x80 for bonus amounts (example: 81 = +1), otherwise numbers up to 0x7f are penalty amounts.  If changing CT, you can use FF for Quick and 7F for CT = 0.  Level up requires 80, and level down requires 1.  Do not use other values in combination with 16/17 for the status byte or bad things will happen!  This version of the hack includes a check for a support ability (coded to 0x01c8 slot) that blocks all stat penalties.</Description>
    <Location file="BATTLE_BIN" offset="12229c">
59770508
00000000
    </Location>
    <Location file="BATTLE_BIN" offset="f6d64">
E8FFBD27
1000BFAF
A122060C
00000000
15004014
00000000
1980083C
982D068D
FB380491
8F00C690
FA380291
2000C630
0700C010
902D038D
80008630
0400C014
00000000
C310060C
00000000
06000010
00000000
21084300
000024A0
01000534
000065A0
250065A0
1000BF8F
1800BD27
0800E003
00000000
    </Location>
  </Patch>


This changes Counter to be a bit more badass... :)  Counter works as normal at Weapon Range, but it works as Counter Magic functionality for the Countergrasp flag.  So for example if you flagged Earth Slash as Countergrasp, and you hit a unit with Counter, it will Earth Slash you back!


  <Patch name="Counter = physical counterpart to Counter Magic">
    <Description>Counter will counter with the same move used on target, going by Countergrasp flag.</Description>
    <Location file="SCUS_942_21" offset="4F3E4">
      29
    </Location>
    <Location file="BATTLE_BIN" offset="1173d4">
0B000534
00000000
94F9050C
01000734
    </Location>
  </Patch>

Fixed a bug with it. :)
80
Since you didn't specify whether you want 100% or MA+X% accuracy, I provided both. :)  Copy/paste one of these in place of the larger bit of code in the hack for this formula.

MA+X%:


E8FFBD27
1000BFAF
A122060C
00000000
1E004014
00000000
1980013C
982D228C
902D238C
8C2D2A8C
21200000
58004590
59004690
5A004790
5B004890
5C004990
1B0045A1
1C0046A1
1D0047A1
1E0048A1
1F0049A1
200065A0
210066A0
220067A0
230068A0
240069A0
1980013C
8C2D258C
902D238C
01000434
0000A4A0
000064A0
08000434
2500A4A0
250064A0
1000BF8F
1800BD27
0800E003
00000000


100%:


E8FFBD27
1000BFAF
1980013C
982D228C
902D238C
8C2D2A8C
21200000
58004590
59004690
5A004790
5B004890
5C004990
1B0045A1
1C0046A1
1D0047A1
1E0048A1
1F0049A1
200065A0
210066A0
220067A0
230068A0
240069A0
1980013C
8C2D258C
902D238C
01000434
0000A4A0
000064A0
08000434
2500A4A0
250064A0
1000BF8F
1800BD27
0800E003
00000000


Hope this would work for you. :)