Please login or register.

Login with username, password and session length
Advanced search  

News:

Hacky New Year!

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

Pages: [1] 2 3 ... 205
1
Help! / Re: Edit random Encounters
« on: January 19, 2017, 03:50:50 PM »
I'll just be posting this here as I spent a very long time writing that post and the topic creator couldn't be fucked to log back in, much less reply/thank me... hopefully this will be useful to at least one person who can appreciate the work I put into it:
http://ffhacktics.com/smf/index.php?topic=11456.msg217203#msg217203

Extending on that, if you to

"Rare" Encounters is a misnomer.
Each set of encounters is unlocked at a specific point in the game, usually more or less the same, based on Shop Progression. Let's take Fort Zeakden -> Fovoham Plains for example.
Looking at the image in the spoiler: before Ch2, the only encounter you can trigger is ENTD 011. After you do, you can trigger:
- 011 (25%)
- 012 (12.5%)
- 082 (12.5%)
- 013 (25%)
- 014 (25%)

Note that each enabled random battle has an equal chance of being triggered. For example, Igros Castle -> Mandalia Plains before Ch4 has 66.67% to trigger battle 09D (33.33% + 33.33%) and 33.33% chance to trigger battle 09E. Basically, the lowest chance a specific battle can be triggered is 12.5%.

People usually think that there is only one "rare" encounter per location, and that is, frankly, a load of crap.

The 04/0C/10/19 numbers you see are the shop progression, but in this case the max value, so basically, it means before the next shop progression, or in other words:
- 03 is Before you kill Miluda
- 04 is Before Ch2
- 0C is Before Ch4
- 0E is Before you kill Elmdor
- 10 is End-game
- 19 is End-game
...and so on.


2
New Project Ideas / Re: What if.. Ramza was... A chick!
« on: January 17, 2017, 03:06:09 AM »
Well, JotF has chicken Durbs, and also has a custom made portrait for it.

3
PSX FFT Hacking / Re: Valk's Effect Edits
« on: January 17, 2017, 01:20:34 AM »
Well, as I care about not being an ass, I will actually comment on the effects themselves.

I think it's a bad thing that you put music over the effects, because having an effect match the sound effect is very important; and I can't say the visual effect would match the sound for most of them. Given that, I think the notion of showing elemental properties to a punch without a matching sound feels... wrong.

However, my favourite one for Repeating Fist is the flaming one.

Chakram Aura and Thunder Fist look like they would belong as wave fist and they look really good too!

4
Help! / Re: Waterbreathing: Dummied Content (Solved)
« on: January 15, 2017, 10:26:56 PM »
What the hell is waterbreathing anyway? I mean, it's not like your characters can drown...
And what's that about 3h water? I never read about such a thing in the game.

I know about 3 water related abilities:
  • Walk on Water: Walk like a ninja on water
  • Move in Water: Max depth a unit will sink is 1h (see chocobos), and I don't know if there is a movement reduction for 1h deep water, but if so it cancels that too.
  • Move Underwater: Cancels the movement restriction (half Move) when swimming in 2h deep waters. Does not allow acting; just makes movement easier. I think this is a monster innate only ability?

I know 2 of the 3 names were accidentally reversed (like the Glacier and Blaze Gun names)

Well, I'll be darned, even the PSX version says up to 3h deep. Which makes you wonder if water movement in general is bugged... you can totally just stop in 2h deep water, and from that description, it might not have been intended. Either way, I don't care enough to hack in 3h deep waters to try.

5
Help! / Re: [Sprite] Oh how the mighty have fallen.
« on: January 13, 2017, 02:08:57 AM »
Yeah, see, it kinda helps to use portrait colours for portraits and sprite colours for sprites... don't mix them like you did. Portraits and sprites have access to 16 colours at a time each, not the full 256 colours palette.

6
Help! / Re: [Sprite] Oh how the mighty have fallen.
« on: January 12, 2017, 10:55:09 PM »
http://ffhacktics.com/wiki/Event_Instruction_58

Pretty sure shishi can edit EVTCHRs now.

7
Site Submission / Re: Sprites
« on: January 09, 2017, 09:40:00 PM »
Except you didn't upload it as png... you renamed a bmp as png. It's easy to tell because your file is exactly as big as a bmp. You're supposed to "Save As..." and select the png format. The whole point is to save on disk space; so many people show off the progress of their sprites as bmp, which just eats up disk space and makes the website backup bigger. I have limited data per month, so I just try to have a reasonable filesize for backups, thus I ask people to be reasonable and use png instead.

And thank you Rfh. I don't know when I'll get around to it because first they need to go through quality control. I think Lijj used to do that, but he hasn't exactly been around much in the past few years.

8
Hacking/Patching Tools / Re: FFT Patcher .478 Source Code
« on: January 09, 2017, 06:15:21 PM »
They probably wouldn't press the button; just wishful thinking.

The xml files are fine AFAIK. I just don't know where DefaultHacks.xml came from; it wasn't there in .489.

9
Site Submission / Re: Sprites
« on: January 09, 2017, 06:13:46 PM »
It's not technically dead... people have just stopped spriting and the few that do never submit their sprites... like people just assume I'll browse their topics for them and add their sprite; idfk.

And yeah, unfortunately for their creators, people don't want to use low quality, incomplete sprites. That's why quality control was implemented. If you post your sprite in this topic knowing it is incomplete, I assume you'll never complete it.

If anything, this topic is a good place for people to submit their sprites and get proper credit for them. But like I said, hardly anyone bothers doing so.

10
PSX FFT Hacking / Re: World/Battle Debug (new, stable codes!)
« on: January 06, 2017, 06:02:10 AM »
I think that maybe FFTOrgASM could force this
Unfortunately, ASM hacks don't make themselves by themselves.

11
PSX FFT Hacking / Re: World/Battle Debug (new, stable codes!)
« on: January 06, 2017, 04:52:05 AM »
You're obviously using FFT: Arena... just use the Deep Dungeon menu.

12
Hacking/Patching Tools / Re: FFT Patcher .478 Source Code
« on: January 02, 2017, 06:46:44 AM »
I suppose we should go with standard XML, yeah. Just never been a fan of the format. :p
I don't think I'd have too much trouble adding Tags/Authors support to my hack spreadsheet in that format, thankfully.

I was thinking of grouping by tags, and leaving the option to view individual files at the bottom... although I don't see how it would be all that useful after everything would be ordered by tags. It could be useful until we manage to more or less implement and standardize the tag system, so that everything is finally nicely ordered.

I also had another silly thought: adding a credits generator button. Copying to clipboard the list of authors and their relevant hacks so that you can easily copy/paste into your mod's main topic.
But you know, that would just be giving in to human laziness. :/
Using a hack is not nearly as hard as making it... you'd think people would at least try to properly credit people for their work, but instead it's only a minority that does. Sad.

Which makes me think: prior to the current release, my XML had Choto's Mime hack in it, and fdc completely removed my Weapon Strike Fix hack (which was a misnomer, I'll admit), to replace it with his Elemental Fix hack thing, which COMPLETELY disables the features that I've built in MY hack (which allows to choose between weapon/ability elementals). Yeah, when I learned that, I was pretty fucking pissed. So I bet people have not used my hack in years because it was gone.

Thanks a lot fdc :|

13
The Lounge / Re: The girls of FFH
« on: January 01, 2017, 02:31:45 PM »
WEIRD SMF bug happened. To fix the attachments in this topic, I had to move this topic to another board. When I moved it back to the lounge, it was still fixed.

Not only that, but I did not get a notification of your reply in this topic, neither did my wife.

14
Hacking/Patching Tools / Re: FFT Patcher .478 Source Code
« on: January 01, 2017, 02:03:46 PM »
I was wondering... what is DefaultHacks.xml?

One of Razele's hacks is present in DefaultHacks.xml, but not Razele.xml.
One of Razele's hacks has the same hack in DefaultHacks.xml AND Razele.xml, but they're different versions and there's no way to tell which is the good one!

I'm just trying to make some sense out of all this because I think ASM hacks in FFTOrgASM requires one hell of a makeover. I really, really want to be able to group hacks by category, such as [Formula], [QoL] (Quality of Life), [RSM] and so on.

I was thinking of either manually adding those tags in the patch name and have the "All" section automatically reorganize in alphabetical order, or implement a tag feature.

I was also thinking about adding an Author tag, but that's not as important.

Code: [Select]
<Patch name="Cross Skip v3" tags="Quality of Life, SpeedUp" authors="Xifanie">
<Description>Holding X (Cross button), will fly you through dialog text as if you were mashing the button.&#13;&#10;&#13;&#10;by Xifanie</Description>
<Location file="BATTLE_BIN" offset="CA6C4">
1780023C
D097428C
CE400508
0480033C
</Location>
<Location file="BATTLE_BIN" offset="CA33C">
D3400508
</Location>
<Location file="BATTLE_BIN" offset="C8BC8">
EC400508
0480023C
</Location>
<Location file="BATTLE_BIN" offset="CB6F0">
DC400508
032C0500
40000831
02000015
25400000
A800A897
1780013C
D4DA37A4
D6DA3EA4
D8DA30A4
E0DA22A4
E2DA23A4
</Location>
<Location file="EVENT_ETC_OUT" offset="210">
E040050C
1780013C
</Location>
<Location file="EVENT_ETC_OUT" offset="258">
E040050C
1780013C
</Location>
<Location file="EVENT_ETC_OUT" offset="2A0">
E040050C
1780013C
</Location>
<Location file="EVENT_ETC_OUT" offset="2E4">
E040050C
1780013C
</Location>
<Location file="EVENT_ETC_OUT" offset="320">
E040050C
1780013C
</Location>
<Location file="BATTLE_BIN" offset="E9338">
4459638C
20014230
40006330
B5C50408
25104300
0480023C
4459428C
6400278D
40004230
02004010
FC00E230
03004734
D1C40408
00000000
0480083C
4459088D
BEC90408
00000000
54E4238C
00000000
07006014
0480023C
4459428C
00000000
40004230
02004010
00000000
FF7F1026
0800E003
3840228C
4459428C
00000000
40004230
04004010
1680023C
25A80000
1780013C
04A420A4
F4BE0408
885F428C
</Location>
</Patch>

15
Hacking/Patching Tools / Re: FFT Hack Template Spreadsheet
« on: January 01, 2017, 02:19:44 AM »
placeholder

16
Hacking/Patching Tools / Re: FFT Hack Template Spreadsheet
« on: January 01, 2017, 02:17:39 AM »
SPREADSHEET FUNCTIONS AND VBA

Spreadsheet Functions
WARNING: VBA Functions on a spreadsheet are several thousand times slower than native Excel functions. Try to limit their use; use them smartly!

Function UpperAddress As String
Gets the upper half-word of a word to use with the lui opcode (ex: 0x8016AB6C --> 0x8017)

Function LowerAddress As String
Gets the lower half-word of a word to use with the addiu/ori opcodes (ex: 0x8016AB6C --> 0xAB6C)

Function ReverseBytes As String
Converts a Little-Endian hex string to Big-Endian

Function RangeAddress As String
Outputs an array of ranges that can be used by VBA code (such as the LoadFFTText functions)


VBA Subs and Functions
On a spreadsheet, use the native Excel functions instead of these instead of the ones listed below (see DEC2HEX/DEC2BIN/HEX2DEC/HEX2BIN/BIN2DEC/BIN2HEX)
Also look at the "Self" VBA Module for customizable custom functions


Sub VBATime
Enables or Disables VBA related enhancements to make writing to the spreadsheet way faster.
Make sure to disable it afterwards before the end of your sub with "VBATime false", otherwise it will be extremely hard or impossible to use the spreadsheet.

Function Open_ISO As Integer
Readies your FFT ISO for binary read/write. Use with:
Code: [Select]
Dim ISO_File as Integer
ISO_File = Open_ISO
If ISO_File = -1 Then Exit Sub
Then use "ISO_File" in the Subs/Functions that request it.
If the user has canceled the ISO selection, the Sub/Function will automatically terminate.

Function Import_Files_List As Boolean
Loads FFT File List.txt's contents. At the beginning of your sub/function, place:
Code: [Select]
If Not Import_Files_List Then Exit SubIf the file cannot be loaded or has errors, an error will be displayed and the current Sub/Function will be terminated.

Function GetFileMatch As Long
*Requires Import_Files_List
Gets the Match ID of a filename in FFT File List.txt's contents to use with the File_Sectors/File_Offsets/etc. arrays based on its full filename, its filename, or its XML filename.

Valid arrays to use with a File Match ID:
Array NameDescriptionExample
File_Full_NamesThe file's full path"EVENT\ATTACK.OUT"
File_NamesThe file's name"ATTACK.OUT"
File_XML_NamesThe file's XML name"EVENT_ATTACK_OUT"
File_SectorsThe file's Sector Offset2448
File_OffsetsThe file's Memory Offset, i.e. where it is loaded in RAM1830912 (0x001BF000)
File_OriginalIf true, the file matches a vanilla ISO's name and Sectortrue

Function Create_Sort_Index As Long()
Creates an array to be used with Sort_Array.
This array is an index that specifies which entries to include and in what order.
It can ignore or include duplicates, ignore or include null values, and either sort from A-Z, Z-A, or not sort at all.
This index can then be used with Sort_Array to quickly rearrange one or more arrays.

Function Sort_Array As Variant
Creates a new array from an existing one, reordering and trimming out undesired values.
Should ideally be used with Create_Sort_Index.
Returns an array of the same data type that was parsed.

Function Get_File_Data As Byte()
Gets ISO Data and returns it into an array of bytes. (requires Open_ISO)

Sub Save_File_Data
Saves an array of bytes back into the ISO. (requires Open_ISO)

Function ReadReg As Variant
Gets the value of a specified registry key. If it doesn't exist, it will return a default value.

Sub WriteReg
Writes a value to a specified registry key.

Function DecToHex As String
Converts a long decimal value into a hex string with a given number of digits.

Function DecToBin As String
Converts a long decimal value into a binary string with a given number of digits.

Function HexToDec As Long
Converts a hex string into a long decimal value. (unsigned/signed)

Function HexToBin As String
Converts a hex string into a binary string with a given number of digits.

Function BinToDec As Long
Converts a binary string into into a long decimal value. (unsigned)

Function BinToHex As String
Converts a binary string into a hex string with a given number of digits.

Function HexDecToDec As Long
Converts a string from hex (if the string starts with "0x") or from decimal into a long decimal value. (unsigned/signed)

Function ReverseBytes As String
Converts a Little-Endian hex string to Big-Endian.

Function bAND As Long
Performs a bitwise AND on two long decimal variables.

Function bOR As Long
Performs a bitwise OR on two long decimal variables.

Function bXOR As Long
Performs a bitwise XOR on two long decimal variables.

Function bNOT As Long
Performs a bitwise NOT on two long decimal variables.

Function Smart_Trim As String
Trims out leading and trailing spaces, carriage returns and tab characters.

Function Get_Filename_From_Path As String
Returns the filename from a file path.

Function Get_Directory_Path_From_Path As String
Returns the directory path from a file/directory path.


About FFT File List.txt
This file is necessary to load for anything that requests information about a file on the ISO like "SCUS_942.21", such as its Sector Offset or its Memory Offset.
This file needs to be placed in the same folder as your active spreadsheet. You can either download the "FFT File List.txt" in this topic, or generate one that suits your purposes with my ISO Manager.

17
Hacking/Patching Tools / Re: FFT Hack Template Spreadsheet
« on: January 01, 2017, 02:17:09 AM »
SHEETS

Tutorial
This sheet is entirely optional. This sheet is only meant to provide information on how to use your spreadsheet, if you wish to release it in this format and not only in XML format.


Code
This is where all the magic happens.
You can import an .xml to see how you should format it, but using this example as a base and the detailed information below, you should be fine.


PATCH
Column B: Patch Name

DESCRIPTION
Column B: Patch's Description (can be spread across multiple lines)

COMMENT
Column B: Comment (can be spread across multiple lines)

MEMLOCATION
Column C: Location's File Name
Column D: Location's Memory Address (NOT the File Offset) [Can be spread across multiple lines]
Column E: Opcode or Hex Data (Can be spread across multiple lines)
Column F: Hex Backup; this value is printed when you import data. If it gets wrongly recognized as an opcode, you can simply copy/paste the data in this column back into Column E. If you have no need for the data in this column anymore, feel free to click "Clear Hex Backup" in your toolbar. This will automatically delete its contents and hide the column.
Column G: Comment

MEMLOCATION-1 and MEMLOCATION-2
The same as MEMLOCATION, except that it will be automatically trimmed by 1 or 2 bytes ("-1" and "-2" respectively).
Use this alongside MEMVARIABLE when the variable is part of an opcode, and you still wish the opcode to be on your sheet and to compile properly.
Refer to the above screenshot for more information.

MEMVARIABLE
Column B: Variable's Name
Column C: Variable's File Name
Column D: Variable's Memory Address (NOT the File Offset) [Can be spread across multiple lines]
Column E: Hex Data in Big-Endian; meaning don't flip the bytes!

LOCATION
Column C: Location's File Name or [Sector]
Column D: Location's File/Sector Offset (Can be spread across multiple lines)
Column E: Hex Data (Can be spread across multiple lines) [it will still accept opcodes, but if you want to use opcodes you should really be using MEMLOCATION with Memory Addresses instead]
Column F: Hex Backup; this value is printed when you import data. If it gets wrongly recognized as an opcode, you can simply copy/paste the data in this column back into Column E. If you have no need for the data in this column anymore, feel free to click "Clear Hex Backup" in your toolbar. This will automatically delete its contents and hide the column.
Column G: Comment

VARIABLE
Column B: Variable's Name
Column C: Variable's File Name or [Sector]
Column D: Variable's File Offset [Can be spread across multiple lines]
Column E: Hex Data in Big-Endian; meaning don't flip the bytes!


Hacks

Hack Table
Determines whether the hacks will be saved to ISO/Savestate/XML.
If the "Apply?" column is set to "No" or if the hack is simply not present in the list, the hack will not be parsed.
If it is set to "Yes", then it will be.

NOTE: If your hack isn't in the list, press "Update Hack List" in the Add-Ins toolbar/ribbon.

Auto-Replace Table
Allows you to make terms be auto-replaced by a specific value in your opcodes (or hex, even).
For example: With "Power_Level" and "0x2329"
"ori r2, r0, %Power_Level%" would be parsed as "ori r2, r0, 0x2329"


Hack Settings and Tables
This is where you will place any checkbox, list, table, etc. for the user to interact with that will modify the outcome of the hack.
This sheet uses the Developer toolbar by default. It would be very nice if I could make any new sheet come with a Developer Toolbar, but that's not possible without being very impractical at the same time. If you want another sheet like that, you should either copy this one or give a new sheet a Developer Toolbar.


Calculations
This sheet is meant to handle any calculation that are unnecessary to use the spreadsheet, but used when saving to ISO/Savestate/XML. If you have a large number of calculations to perform to compile data for the Code Sheet, you should place them in this sheet because automatic calculation is turned off by default, and it will be only recalculated when attempting the aforementioned saving to ISO/Savestate/XML. It is unlikely most people will have a use for this Sheet, but hey, it's there.


LoadFFTText
This page has a table that you can edit as you wish to fetch text from your FFTText Editor spreadsheet and a few other things. Look up the wiki to know how to use each function, and what to type for each parameter. For any parameter that requires a range, just use my new "=RangeAddress()" function. Simply press the "Load FFTText" button under the Add-Ins toolbar to make all those functions run all at once, in the order you typed them.


How to create a new sheet with a Developer Toolbar
You could also pre-emptively make a copy of the "Hack Settings and Tables" sheet
1) Create a new sheet
2) Head into the VBA Editor (Alt+F11)
3) On the left page, you'll see your spreadsheet name... under that will be a folder called "Microsoft Excel Objects", and under that will be the sheet's name. Double click it.
4) Paste the following code inside the sheet's code page:
Code: [Select]
Private Sub Worksheet_Activate()
    Call HackToolbar("Developer")
End Sub

18
Hacking/Patching Tools / FFT Hack Template Spreadsheet
« on: January 01, 2017, 02:16:12 AM »
FFT Hack Template Spreadsheet

Downloads
Download the latest version (0.02b)
Download "FFT File List.txt"


What is it?
It's an Excel spreadsheet LOADED with new functions to help you to create and test your ASM hacks in the most user-friendly environment I could think of. You can also easily import your old hacks and it will be nicely reformatted for you, allowing a smooth transition to this tool.
It will forever change the way you make ASM Hacks!

Requirements
  • Windows OS
  • Microsoft Excel 2007+ (non-negotiable, forget about alternatives)
  • *pSX 1.13 (to use the "Save to Savestate" function)
  • *FFTText Editor spreadsheet (to use the Load "FFTText function")
  • *ISO Manager (to create your own "FFT File List.txt")
*optional

Overview

Getting Started
  • Get yourself familiarized with each sheet's functions
  • Open up the "Add-Ins" toolbar/ribbon
  • Click the Configuration icon and configure away!
  • Import an existing XML and look at branches/jump's formulas; use the same format for your own hacks. The colours are optional.
  • Try out essential functions such as "Insert Line(s)"
  • ASM Away!
  • Use the "Analyze Code" function to detect and fix console-breaking errors
  • Test your ASMs faster with "Save to ISO" and "Save to Savestate"
  • Finally, release as XML (Save to .xml) and share for everyone to use your hack

Known Bugs
  • Unable to properly parse XMLs containing ASM and not opcodes stored as Hex (Glain.xml)

Changelog
1.02b - Initial Release

19
Yes, that's how it worked in vanilla as well.

20
Help! / Re: Copying Break Swordskills...
« on: December 30, 2016, 04:11:55 PM »
If you check Ansehelm's profile, it says PSX.

Pages: [1] 2 3 ... 205