Please login or register.

Login with username, password and session length

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] 4 5 ... 206
41
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.

42
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.

43
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 :|

44
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.

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

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

47
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.

48
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

49
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.02c)
Download "FFT File List.txt"
Download the latest update files

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.03b - Fixed a bug where you could only import hacks if they had both Location and Variable fields
1.02b - Initial Release

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

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

52
Hacking/Patching Tools / Location Names Spreadsheet
« on: December 29, 2016, 08:29:18 PM »
Just something I'm tossing out there that I made in an hour or so...

This spreadsheet allows you to alter the width/height of location name graphics among other things.
Useful if you are translating the game or just making your own total conversion mod.

Note: This spreadsheet is using an experimental spreadsheet template, and there might be bugs. However, from what I know, all the buggy features would not be accessible anyway in this case, but there might be bugs happening if you don't properly configure your settings. So, before you try saving to xml/savestate/ISO, make sure you press "Configure"!
PS: All the functions are located under the Add-Ins tab/ribbon.


53
Event Editing / Re: easyvent convo editing question
« on: December 22, 2016, 08:50:03 PM »
You better start reading the wiki:
http://ffhacktics.com/wiki/Event_Instructions

You can read a lot of information about each instruction.

54
The Lounge / Re: Is it weird?
« on: December 20, 2016, 12:30:35 PM »
Brave Fencer Mushashi (PS1) is the SHIT. :cool: The second one (PS2) looked like crap.
Being a huge BFM fan, I'm surprised I've never heard of that second game. It must be really bad.

Edit: The voice acting... the graphics... the gameplay... the camera... Musashi is so slow and as far as the US version is concerned, I've never heard a voice that sounded so forced in my life. Oh god why.

55
The Lounge / Re: Is it weird?
« on: December 19, 2016, 04:28:17 PM »
Man, I finished FFT when I was 11-12yo... I was so old. Well, can't help it, the game had already been released for 1 whole year in English.

You know what game is childlike, engaging, silly, entertaining, fun? Brave Fencer Musashi. I wish FFTA was more like that. :/

@Angel Well then if I finish FFT then I win I guess? Haha
Nah, she has me as her wife; you can't win. Yeah I'm putting words in her mouth but she's only said it a million times herself. :v

56
The Lounge / Re: Is it weird?
« on: December 19, 2016, 02:23:14 PM »
IIRC I gave up on FFTA the first time the judge showed up.
I still couldn't bring myself to try it again even after a patch to make him useless was made.

57
The Lounge / Re: Is it weird?
« on: December 19, 2016, 02:19:57 PM »
np just do it

58
Tutorials and Learning / Re: Modding FFT
« on: December 13, 2016, 10:25:00 PM »
Before you post 133 questions again, how about you read the answers provided in your previous topic? Those 55 questions, that, by the way, you have copy/pasted into this topic?

I also invite everyone to not answer these questions until Doxus has removed the appropriately answered questions from his topic.

59
Journey of the Five Ch.1 / Re: Chapter 2 Progress Log
« on: December 06, 2016, 09:51:47 PM »
If you're gonna do that, I recommend replacing Ramza with Luso, Link with his CD-i version, Dante with his DMC version, Cloud with his KH1 version, and Alma with Algus.
...I hate you.

60
Journey of the Five Ch.1 / Re: Chapter 2 Progress Log
« on: December 06, 2016, 08:53:06 PM »
To me they are artificial difficulty that people create because they have become so bored with a game they have played dozens of times, that they need to cripple themselves for a challenge.
Do you realize this is the reason I created FFHacktics? I was getting seriously annoyed at veteran FFT players bragging about completing X/Y/Z SCC/SSCCs... I don't see what's fun about restricting yourself, and the more you restrict yourself, the more it becomes a RNG-based playthrough.

I can't say I'm a fan of artificial difficulty either. Asking players for a very specific setup that they have to develop through the game or grind for is a big load of shit. Most people who have been several years on FFH will know what I'm talking about. As far as real, proper difficulty is concerned, I'm fine with it, but I personally don't like to play on hard settings. All I want is a casual playthrough, ideally where I struggle to win, and DO win, but barely (on my first try). This is what gives me the greatest level of satisfaction. If it's too easy, it bores me, if it's too hard and I lose, it's frustrating.

I will respect anyone's preference for harder versions (I will ask that others respect my preferences too; "omg u dont play on wtfhard ur not a real gamer"), which big video games tend to do right, while nearly every modder fail horribly at. But as someone working on JotF, I'll make sure that no version is released with artificial difficulty, even if I don't personally care about a hard mode. I'm not saying anyone on the team wanted an artificial difficulty version, I'm just saying it won't happen. :p

Pages: 1 2 [3] 4 5 ... 206