• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
June 06, 2024, 12:07:54 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 - Jumza

81
Hey everyone! All of you that caught Kori's most recent map making stream saw him play through an event / battle series that I created for the map pack. This battle series included 7 battles that the player party went through where they didn't recover HP/MP/Statuses/other stuff between battles, and although it looked to be about 9 event slots, it was actually only using 1. This post is to explain how the magic happens!

Here is the video for reference (Thank you ArmoredKori!)
Go subscribe to this man on Twitch ASAP.

Here is a link to the pastebin of the event.txt, which I will also be attaching below. Feel free to use it as reference for creating your own Battle Series events!

The Setup
Here are images showing how I set up the ENTD, World Map Conditionals for triggering the event, Attack.Out, and Event conditionals.
AttackOut1.png
I had to adjust the Orbonne event to make space for my event! I also moved the Orbonne event from its original spot (offset 4000) to its setup event slot (offset 2000).

AttackOut2.png
Just one slot?? That's right!

ENTD.png
As you can see, all units except for Worker 7 are set not to be present at all. This meant for me that every time I ChangeMap'd and the ENTD data was reloaded, I only had to RemoveUnit Worker 7 and could AddUnit in the enemies I wanted for the fight.

Event Conditionals1.png
Again, I had to modify Orbonne's event conditionals to make space for my event. RIP Vanilla, everyone please use TLW as a base (or make a totally custom mod) instead.

Event Conditionals2.png
I appended my new events conditionals to the end of Vanilla's list. You can see how I got the event to be called over and over again, each time the player wins the fight the event is called again. In the event you can see that I only tell it to go back to the world map if the player beats every fight or if they refuse the challenge.

World Conditionals.png
The world conditionals. This fight is only available in Chapters 2 and 3 because I can control Ramza with his unit ID 02 in those chapters, and I didn't want to put in the effort to check what his unit id was and swap it in if you tried it in chapters 1 or 4 (where his unit id is 01 and 03 respectively). The variable I am using for the check here is actually what background the shops are currently set to!

The Same Event Multiple Times
If you've opened up the event.txt you'll see that it starts with a switch statement.

//Var x0070 will be used to track what part of the event to run
Switch(x70)
Case(x0001) //PART 2
JumpForward(x02)
Break()
Case(x0002) //PART 3
JumpForward(x03)
Break()
Case(x0003) //PART 4
JumpForward(x04)
Break()
Case(x0004) //PART 5
JumpForward(x05)
Break()
Case(x0005) //PART 6
JumpForward(x06)
Break()
Case(x0006) //PART 7
JumpForward(x07)
Break()
Case(x0007) //PART 8 (FINAL)
JumpForward(x08)
Break()
Default() //First part no jump, run part 1 below
Break()
EndSwitch()

Every time this event starts, this Switch checks Var x70, if its value matches a Case, it will run that section. Each of those sections has a JumpForward that brings it to the appropriate part of the event. At the end of every 'PART' of the event, I use JumpForward(x01) to go to ForwardTarget(x01), which is right before the end of the event so I can skip over the parts we haven't gotten to yet. This allows us to create an event that is itself its own Pre-battle, Mid-battle, and Post-Battle events. At the end I use the PostEvent(x80,x0000) command to bring the player back to the world map.

A single event can be quite large, this event has a ton of instructions in it but only uses 5952 bytes out of a possible 8192. If you wanted to create an even longer battle series you could write events that have better looping logic to save space, or use more than one event slot. I just wanted to show that if you really wanted to, you could significantly reduce the amount of space required for multiple events (so don't ever say that FFT doesn't give you enough space!). SOMETIMES using a little more space to keep yourself organized might be the best way to go, especially because condensing things down to this level can make it confusing. Be mindful of why you would do something like this  :lol:

Bringing The Team Back
When you load in your party into an event with a battle formation screen and then ChangeMap, they are wiped away like the units in the ENTD that are not flagged Always / Randomly present. I tried AddUnit-ing them back in, but that presented a strange graphical glitch: Units would take hits from enemies and not react, and no damage would show up even though their health would actually change, unless they had taken a turn first. I discovered the fix for this by looking around in pSX's memory editor, here is the excerpt from the event.txt where I talk about it:

//Battle Stats x0001 has to be the same as what it was at the start of the event,
//otherwise when units are hit before they get their turn they will not react
//(But still take damage). This is just a graphical glitch, but an important one to take care of to make things looks good
//It gets set to FF on ChangeMap, so it must be assigned
SET(x0070,x0010)
UnitAddress(x02,x71)
SaveAddress(x70,x0001,x71,001)
SET(x0070,x0011)
UnitAddress(x78,x71)
SaveAddress(x70,x0001,x71,001)
SET(x0070,x0012)
UnitAddress(x79,x71)
SaveAddress(x70,x0001,x71,001)
SET(x0070,x0013)
UnitAddress(x7A,x71)
SaveAddress(x70,x0001,x71,001)
SET(x0070,x0014)
UnitAddress(x7B,x71)
SaveAddress(x70,x0001,x71,001)

I run this code block every time I ChangeMap. I believe that the numbers are correlated to the fact that in battle stats the player party are stored in those slots (The 16th (0x10) to the 20th (0x14)). The event will still run fine if the player brings less than the full party.

Bringing the Enemies Back
ChangeMap seems to reset ENTD data to a certain point, when I AddUnit enemies in that have previously been defeated / crystal / treasure'd after a ChangeMap, they appear with full HP and MP. I have to do more testing to see what happens with things such as Inviting an enemy and broken gear.

Wrap Up
Thank you to ArmoredKori for creating the Map Pack and inspiring me to do this event for you! It was fun :)
If anyone has any questions about anything I've done here in the event, that I talked about here or otherwise, please respond to this topic or message me on Discord! I hope that we can work out all the kinks of the battle series system and have it included in lots of mods in the future  :o
82
There are indeed flags for the treasures, check this out. https://ffhacktics.com/wiki/Variables#Treasures
I've never used ALMA so I'm not sure, but with good event editing / ASMing skills I'm sure you could make good use out of them somehow.
83
Spam / Re: Perls of the Chat.
May 27, 2021, 12:14:27 am
All credit to Kokojo for creating this gem.
84
PSX FFT Hacking / Re: Interesting Mod
April 06, 2021, 12:58:23 pm
Quote from: CONMAN on April 06, 2021, 11:59:05 amI'm actually wondering if the Sin I was talking about is actually a manipulation of an "evtchr" image like we already use here.

That was my guess! Since there is an editor somewhere to modify how large EVTCHR images can be. They're doing a lot of really fun stuff in this mod it looks like, I hope somebody manages to find it.
85
Help! / Re: Resource.zip Issue
April 06, 2021, 09:31:33 am
Let's make sure you're doing the process correctly! Here's a step by step.

Assuming FFTPatcher v0.493 Beta v6
Open FFTPatcher
Click File -> Generate Resources.zip
Make sure to generate the file in the same directory as FFTPatcher (and keep it there)
Open the zip -> Click on the PSP folder (If that's the version you are editing)
Say you want to edit SkillSets.xml, if you don't have something that knows how to edit xml's, export the file, change it in notepad, and import it back into the same folder it was in in the zip file without changing the name. If you do have something that can edit xml's, just double click on the file in the zip and edit it there, and save.
Close and open FFTPatcher again, your changes should be present.

Make sure you are preserving the formatting of the file while editing the entries. Here is an excerpt from the PSP's SkillSets.xml

  <SkillSet byte="05" name="Fundaments"/>
  <SkillSet byte="06" name="Items"/>
  <SkillSet byte="07" name="Arts of War"/>

Let's say you want to edit Fundaments to Witchcraft (idk), the file now looks like this

  <SkillSet byte="05" name="Witchcraft"/>
  <SkillSet byte="06" name="Items"/>
  <SkillSet byte="07" name="Arts of War"/>

Hope this helps!
86
Help! / Re: Patching w OpenEmu (Mac)
April 03, 2021, 10:31:29 pm
It is possible that it's an issue of compatibility between the emulator and CCP. It's known not to play well with certain versions of ePSXe and anything that isn't pSXfin on windows, lord only knows what happens with it on emulators on mac. Good luck though!
87
Help! / Re: Patching w OpenEmu (Mac)
April 03, 2021, 09:51:01 pm
I'm not sure if this will fix the issue (might just be the emulator? I'm not sure!), but you could try patching with this instead https://www.marcrobledo.com/RomPatcher.js/ and see if you get something that is playable.

Also welcome back!
88
War of the Lions Hacking / Re: Names in FFTPatcher
April 03, 2021, 11:26:42 am
The FFTPatcher suite comes with a tool called FFTacText which can change text (including unit names).
89
Help! / Re: Transaltion issues
March 23, 2021, 01:34:13 pm
So for each character you want to replace, take a look at this reference: https://ffhacktics.com/wiki/Font

You can see the excel sheet asks for the Character ID and Character Width (both provided to you on the wiki page I linked). Put in the correct info for the character you want to replace. So if you want to replace the capital A, ID is 0A and Width is 6. Next draw the new character in the box by filling in the squares with the correct numbers (1 is darkest, then 2, then 3, then blank). Copy everything in the blue box and save it to a .xml file with some name (say, Areplacement.xml), put that XML file in the same folder as other FFTOrgASM hacks and apply it, then in game you should see that A has been changed to whatever you changed it to.
You'll create separate hacks for each letter, and then you'll have to edit the text in game with these replacements in mind.

Hope that explanation makes sense to you!
90
Help! / Re: Transaltion issues
March 22, 2021, 03:28:37 pm
https://ffhacktics.com/smf/index.php?topic=12548.msg228657#msg228657

You can use this tool to create an ASM hack that you can apply to do your font changes. I would stay away from older versions of the FFTPatcher, be sure to use the latest (FFTPatcher v0.493 beta v6).
Save the information to an XML, then use FFTOrgASM to apply the hack! Hopefully it works out for you.
91
Ganesha v0.75 is hErE!!

Once again, credit to Gomtuu for creating Ganesha and Twinees for doing past updates.
Credit again to Garmichael for working on more features and sending in bug fixes for his work from the last update!!
And of course, thanks to the community for testing things out and suggesting new features!

Here is the README update from v0.75:
- (Garmichael) Fixed an issue with importing palettes where Ganesha would only read part of the file
- (Garmichael) Changed palette editing window from having an Alpha slider to having a checkbox
- (Garmichael) You can no longer manipulate the sliders in the palette edit window with nothing selected
- Multi-Terrain Editing window is no longer able to edit Polygons, and should not result in more crashes
- Multi-Terrain Editing window is now able to properly apply Flat 0 and Natural Surface to multiple tiles at once
- Multi-Terrain Editing window will no longer set tiles to Convex NW when no slope type is selected
- Fixed a bug where using a hotkey with nothing selected would cause a crash
- (Garmichael) Added all polygons in map list to the Polygon edit window
- Camera panning has been added, use Alt-Right Click / Mouse-Wheel Click and drag

Not a huge update this time, but the frequently requested Camera Panning feature is here!
Garmichael has been putting in work on Ganesha (as you can see) so make sure you send him some thanks as well :)

Ganesha v0.75 Download

The download / install process remains the same as above, but this time I've only included the folder that has to be replaced in the ganesha-0.60 folder.

(Ganesha is also on github! If you have suggestions and/or bug reports, please note them on the Issues page of the project here: https://github.com/JustinMarshall98/Ganesha or send me a private message on the site, or join our Discord and reach out to us there!)
92
Ganesha v0.74 is HERE!
MORE features, MORE QOL updates! (More bugs discovered!!)

Once again, credit to Gomtuu for creating Ganesha and Twinees for doing past updates.
This time, major props and credit goes to Garmichael for creating the Palette Import / Export feature!
And thanks to the community for testing things out and suggesting new features :)

Ganesha is also on Github now! Come suggest new features or notify me of bugs in the Issues section
https://github.com/JustinMarshall98/Ganesha

Here's the README update from v0.74:
- Fixed the Saving a [0,0] tile Map Bug and capped the max tile count at 256. Any side of the map must be between 1 and 255 tiles.
- Fixed UV to be bound to values between [0,255] to prevent crashing
- Fixed bug where copying black polygons would cause Ganesha to crash while saving
- Polygons without a D point can no longer "rotate" around it
- Polygons and tiles will remain green after being moved with hotkeys
- Polygons and tiles can correctly no longer be selected together
- XYZ colour in polygon editing window now match XYZ axis colours in the map viewer
- Import / Export function added to the palette window (ACT format). Credit to Garmichael for fully implementing this feature.
- Select all polygons / tiles with CTRL+A. Cycle through different terrain levels (or all tiles) by hitting ctrl+a repeatedly
- Added in height changing hotkeys for terrain tiles
- Added a new window for modifying many attributes of multiple terrain tiles at once (Hit tab with multiple tiles selected)
- Polygon editing window now has column-based Copy/Paste buttons for values
- Added in functionality for copying multiple polygons at once
- Added +1/-1 buttons for XYZ and UV
- Added Timestamp into console window when saving

New Bugs:
DO NOT select text in the console window and then attempt to perform any operation in Ganesha. It will crash and corrupt your map files. (You can thank Python for this one)

Once again, limited testing has been performed. Please give feedback if you find anything!

Ganesha v0.74 Download

The download / install process remains the same as above, but this time I've only included the folder that has to be replaced in the ganesha-0.60 folder. Eventually I will attempt to just create some kind of new installer or something to remove this process, but it's not a high priority right now.

EDIT: Updated the link as of 11:46pm same day as posting. Fixed several bugs, pertaining to Import Palette, hotkeys, and the multi-terrain edit window! Please download the latest version to save yourself from dealing with Ganesha crashes

EDIT 3/10/2021: Another bug: Attempting to apply Flat 0 to multiple tiles using the multi-terrain editor and then saving causes Ganesha to crash. It also does not actually apply flat 0 to those tiles. Other slope types do function correctly, but beware for now.
93
It's update time! Welcome to Ganesha 0.73!

I've added a few more features / QOL updates, and have a to-do list for myself or anyone else that may take up Ganesha development in the future.

Major credit / kudos of course to Gomtuu for originally creating Ganesha, and Twinees for adding in COLOUR and features as noted in his above post.

New in v0.73
  • Added the ability to select / unselect multiple polygons at once for mass editing / deleting
  • Added hotkeys for adjusting X (+-28), Z (+-28), Y (+-12), and deleting polygons in the map viewer
  • Added rotate vertex buttons in relation to two more planes (Just XZ in v0.70, now XZ, XY, ZY rotation possible)
  • Added new 'settings' window with a legend for what every button does (Escape)
  • Lighting and Palette textboxes now accept typed entries
  • Fixed Lighting Elevation range from being bound [0,90] to [-90,90]

Still to-do:
  • A better way to select UV for tiles(Option to move on the sheet, like X and Y +/-, or a mouse click!)
  • Current map state display (Day/night/ect) display
  • Duplicating black textureless polygons and then saving causes Ganesha to crash
  • Setting map tile dimensions to [0,0] and then saving crashes Ganesha and makes your map unable to be opened
  • Delete Elric (as per Kokojo's request)
  • Other user suggested features people post in this topic!

I did pretty limited testing, the only issue I know of right now is that while doing multi-selection, you can unselect a selected polygon by clicking it again UNLESS it is a black no texture polygon. Your cursor will kind of 'pierce' it, and select any unsuspecting polygons that are behind it.

Download Ganesha V0.73 here

The installation process remains the same as in Twinees' original post above.
94
Help! / Re: Custom Job Title and Skill
February 26, 2021, 11:01:23 am
You'll have to be a bit more specific with what the problems you are having are. If you are able to open TacText, open your game image, then select things like Ability Names and Job Names from the Quick Edit drop down, and patch your image, that's basically all there is to it.

There have been issues with TacText in the past, my recommendation is for you to have downloaded the latest FFTPatcher Suite (At the time of this post, v0.493 beta v6 https://ffhacktics.com/smf/index.php?topic=7163.msg229430#msg229430) to make sure you are using the latest (and least buggy) versions of these programs. Another good practice is to save your changes as .fftactext files before patching, and when opening Tactext later on to make more changes, load the changes from the tactext file instead of from the image.
95
Help! / Re: Custom Job Title and Skill
February 24, 2021, 10:30:17 am
If you're using Shishi then you also have the FFTPatcher and FFTacText programs, which will allow you to make the changes you want. Algus' sprite is one of the first few listed in Shishi, so you can just change his sprite there. Then, Algus has his own Job in the FFTPatcher (Job 7) with corresponding skillset 1F Battle Skill, you can either change that skillset to be Alma's skillset in the Job tab, or you can edit its name in TacText and then put in the skills that you want (in the skillset tab)!

Explore FFTPatcher, TacText, and Shishi to make sure you have a good grasp of what those programs are capable of doing!
96
Help! / Re: How to download this game on my pc?
February 21, 2021, 02:08:59 pm
Unfortunately we can't share the files ourselves or links to them, all I can say is keep googling! (Or rip it from the disc you own).
97
PSX FFT Hacking / Jumza's ASM Hack
February 15, 2021, 07:55:21 pm
Bet you thought you'd never see the day!

Swap Music

This is just a simple byte swap for a few locations (Party Screen, Memory Card Menu, Shop, Fur Shop, Soldier's Office) that allows you to change what song you want to play there. The defaults set for each are the correct songs for them in vanilla. Refer to the ID's listed here: https://ffhacktics.com/wiki/Songs
I'm still working on tracking down the right locations for the bytes for the World Map, Brave Story, Tutorial, and Battle Formation screen.

More hacks to come maybe??? Find out next time on FFHacktics!
98
Help! / Re: Zero knowledge
February 13, 2021, 10:38:01 am
Skillsets 19, 1A, and 1B are all Ramza.
19 Guts is chapter 1, 1A Guts is chapter 2 / 3, 1B is chapter 4.
The fourth Guts skillset is Chapter 1 Delita. I believe Algus (mr. blonde guy) has a different skillset name, but you can check around the FFTPatcher (like check an ENTD with Algus in it) to see which job is his.

Quote from: LegaultCriez on February 13, 2021, 05:27:27 amMy first initial thought is just adjust some things using the FFTPatcher, go to the jobs section and change one of the 01,02,03 or the 04 since from what I understand thats all his right?

And then to make and change the skillset into my own custom skill set, just go to the skillset tab and add a new one, go back to the job and change the skillset to the one i just made? I guess its not that simple?

The first 3 jobs are Ramza, then Delita is the 4th, just like the skillsets.
You won't be "creating" new skillsets so much as modifying ones that exist, but yeah it is that simple.
99
Help! / Re: Zero knowledge
February 12, 2021, 11:56:23 pm
Tedious because there are SO many special frames for Ramza.

To edit the EVTCHR stuff properly you need to have a program that can edit the palette of a bmp image, like Graphics Gale or GIMP. Wherever Ramza's palette is (it'll be one of the rows, where each row is 16 colours) you need to replace those with the first row of 16 colours from the Ramza sprite you have here. Whatever the first row of colours from the EVTCHR sheet is then needs to be put as the first row of colours in that Ramza sheet (skip this step if Ramza's colours were the first row). Then you can put frames from the Ramza sheet into the EVTCHR sheet. Then this process must be repeated for separate sections.

If this is for a personal hack that only you and maybe a few other people will see I would say it may be best to live with it? But if you enjoy seeing polished things then go for it! Good luck!
100
Help! / Re: Using ffh resources
February 12, 2021, 12:32:42 pm
If you have a copy of the game and the FFTPatcher Suite, open up the file with Shishi and scroll down (just two down I think) to ch4 Ramza and export it.