• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
June 14, 2024, 02:07:21 pm

News:

Don't be hasty to start your own mod; all our FFT modding projects are greatly understaffed! Find out how you can help in the Recruitment section or our Discord!


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

41
Hacking/Patching Tools / Re: Map Editor: Ganesha
February 03, 2010, 10:18:45 pm
A new release is coming soon. This one will actually be useful! Ganesha can now edit polygon data and terrain data within the GUI, so making small adjustments to maps is pretty easy. To demonstrate, I made a dip in the walkway in front of Orbonne Monastery:

[attachment=1:uo59uq86]first-terrain-edit.png[/attachment:uo59uq86]

And here's a preview of the Edit Terrain window:

[attachment=0:uo59uq86]edit-terrain-window.png[/attachment:uo59uq86]

Quote from: "Cheetah"Are these values in decimal now too?!?!?!
Yes! :oops:
42
Hacking/Patching Tools / Re: Map Editor: Ganesha
February 02, 2010, 07:08:12 pm
I work on Ganesha on two different computers (home and office), and they both pull the data from a Subversion repository on a third computer, so it's not likely I'll lose it. :)
43
Hacking/Patching Tools / Re: Map Editor: Ganesha
February 01, 2010, 09:47:13 pm
Hey guys! Ganesha just edited its first polygon a few minutes ago. Completely within the GUI, no hex edits necessary. Notice the far left tile:

[attachment=1:2p1zo0n5]first-polygon-edit.png[/attachment:2p1zo0n5]

Here's what the polygon-editing window looks like so far:

[attachment=0:2p1zo0n5]first-edit-window.png[/attachment:2p1zo0n5]

I still need to improve it a bit before it's ready for release, but as you can see, things are coming along nicely!
44
As promised, here's what I've been able to figure out about the SMD format so far:

http://www.ffhacktics.com/wiki/Music/SMD
45
Quote from: "jimmyjw88"So meaning we need that to work?
If you mean FFT 1.3, then no, you don't need that for it to work. I was just saying that my patch and 1.3 both worked on my ISO, which leads me to believe that my ISO isn't unusual.

If you mean PPF-o-Matic, then yes, it's possible that PPF-o-Matic would work and other patchers wouldn't for some reason. That's just a guess, though, and for all I know, Zodiac is also using PPF-o-Matic. Does anybody have any ideas?
46
Quote from: "Zodiac"Are you sure this is for a FFT ISO and not a sound file? I tried patching my ISO and it gave me a "not the same size" warning, and after patching the ISO wouldn't run anymore.
It is for the ISO. Mine is 541,315,152 bytes long (2352 bytes/sector). I just applied my patch and FFT1.3 to the same ISO and they both worked... Hmmm...

I don't know if this matters, but I made the PPF with "MakePPF 2.0 W32 Version Icarus/Paradox" and I applied it with PPF-o-Matic 3.0.
47
Quote from: "jimmyjw88"So does that means we can put songs that we desire into the game?
Yes, although it will require hex editing until someone writes a tool to convert other music files (probably MIDI, or maybe ABC notation) to SMD automatically. Also, we're still stuck with the default set of instruments until we can decode WAVESET.WD.
48
I took another look at the music files. As it turns out, P.J. Barnes was right about the file structure and a few of the commands. This week, I also figured out how notes work and decoded a lot of the instructions, like Set Instrument, Set Octave, Loop, etc. I'll add my findings to the wiki soon.

I've attached a PPF that changes "Character Making" (MUSIC_34.SMD) into "Happy Birthday". Just patch a fresh FFT ISO and start a new game to hear it. :)
49
Hacking/Patching Tools / Re:
January 26, 2010, 09:42:20 pm
Quote from: "Tersius"Has anyone been able to get Gomtuu's viewer to work on WoTL maps?  Or does it only work on PSX ones?
My viewer only works on PSX maps for now, but the map formats are not very different. If I remember correctly, the GNS files were the only ones that would cause trouble, and the difference was minor. Instead of referring to files by the sector number where they could be found on the PSX CD, the PSP GNS files just numbered the files sequentially or something.
50
Hacking/Patching Tools / Re: Map Editor: Ganesha
January 26, 2010, 09:34:53 pm
Quote from: "goldblade0"C:\Ganesha-0.02\game>C:\Ganesha-0.02\python\ppython.exe -E main.py
DirectStart: Starting the game.
Known pipe types:
wglGraphicPipe
(all display modules loaded.)
:display:wgldisplay(error): SetPixelFormat(55) failed after window create
:display(error): Window wouldn't open; abandoning window.
:ShowBase(warning): Unable to open 'onscreen' window
Traceback (most recent call last):
File "main.py", line 9, in <module>
from ganesha.ui import Map_Viewer
File "C:\Ganesha-0.0\game]ganesha\ui.py", line 5, in <module>
import direct.directbase.DirectStart
File "C:\Ganesha-0.02\direct\directbase\DirectStart.py", line 4, in <module>
ShowBase.ShowBase<>
File "C:\Ganesha-0.02\direct\showbase\ShowBase.py", line 229, in __init__
self.openDefaultWindow(startDirect = False, props=props)
File "CL\Ganesha-0.02\direct\showbase\ShowBase.py", line 726, in openDefalutWindow
raise StandardError, 'Could not open window.'
StandardError: Could not open window.
I've never seen this error, but I found a thread about it in the Panda3D forums. It could help...

http://www.panda3d.org/phpbb2/viewtopic.php?t=6088

Quote from: "degrofm"So I got the Windows version to run on my Mac in Crossover Games, if you care about that at all...
Cool! I don't think I ever tried Ganesha or map2gl in wine... Good to know. Does it seem fast enough?
51
Hacking/Patching Tools /
October 01, 2009, 10:11:15 pm
Glad to know you guys are still here too! Yeah, obviously I haven't been active here for several months. I did take another look at Ganesha a couple of weeks ago, though. I may work on it some more in the near future. I've just felt so busy for such a long time!

I saw your map mockup, Cheetah. Very cool! I'm sorry you can't (yet) make it a reality.

Quote from: "LastingDawn"from what I can tell a lot of that info. seems almost flat out wrong, at least the first parts
:( Too bad.
52
Hacking/Patching Tools /
September 30, 2009, 09:25:52 am
Have you guys seen this?

http://pjbarnes.com/music_55.html

Looks like somebody figured out quite a bit about the music file (SMD) format.
53
Hacking/Patching Tools /
April 13, 2009, 01:36:47 pm
Glad you got it working!
54
Hacking/Patching Tools /
April 09, 2009, 12:41:13 pm
Quote from: "Cheetah"Unable to open file /Users/User/Desktop/FFT/FINALFANTASYTACITCS/MAP/MAP098.GNS
You'd get that error if the file you're trying to open doesn't exist or isn't readable. Most likely the former. Are you sure that's the correct path to the file? It's case-sensitive. If you need to add spaces somewhere in the path, you can put the whole path in single or double quotes.

You shouldn't need to specify a file on the command line. Does it work if you leave it off?
55
Hacking/Patching Tools /
April 08, 2009, 05:08:25 pm
Quote from: "Cheetah"How do paths start in OSX, and what is the starting location?
You don't need to supply a path; Ganesha will let you pick a GNS file if you run it without any command-line parameters. But if you want to give it a path, you can either use an absolute path or a relative path. An absolute path would look like this:
/Users/cheetah/Desktop/FFTCD/MAP/MAP001.GNS
Or, if you're in a new Terminal window (which should start you in /Users/cheetah), you should be able to use a relative path like this:
Desktop/FFTCD/MAP/MAP001.GNS
With a relative path, you can use two periods each time you want to go up a directory. If you were in /Users/cheetah/Desktop/downloads/Ganesha-0.02 for example, you could use this:
../../FFTCD/MAP/MAP001.GNS
56
Hacking/Patching Tools /
April 08, 2009, 12:26:50 pm
Ganesha 0.02 is now available.

Instructions for installing the source version are in README.source inside the ZIP file.

As I mentioned, it's not very different from 0.01, but there's a source version now for those who want a smaller download. And on Macs, you'll be able to run the source version without Parallels, which will be faster than 0.01 (binary) was in Parallels. Test it out and let me know if it works for you!
57
Hacking/Patching Tools /
April 05, 2009, 08:36:34 pm
Good news, guys! Panda3D 1.6.0 was released a few days ago. As they promised, there's an OS X version. Also, I got a MacBook for work, which means I can test my programs in OS X easily now. I just tested Ganesha on it with Panda3D 1.6.0 and confirmed that it worked. I also found that running the source version of Ganesha was many times faster than running it in Parallels.

I plan to release version 0.02 of Ganesha within the next few days. It won't have much in the way of new features, but I'll post both a binary (Windows) version and a source (Linux/OS X) version this time, with installation instructions for each one.
58
Hacking/Patching Tools /
March 31, 2009, 02:07:44 pm
Quote from: "Cheetah"So for texture animations there isn't any map coordinates used, you are just referencing the original texture location and then the next texture location so that when the instruction is called it just switches them? That is what I can gather at least. So then my question is, what would happen if the original texture was used in more than one place?
Yep, that's basically it. If two polygons both used the same texture region, they'd probably both change, so if you want to have two doors that look the same but open independently, for instance, you'd probably need two identical doors in the texture.

Quote from: "Cheetah"I'm a little confused about the size limitation stuff, but I think I will have to just start working with it to understand it better.
Files on the CD are stored in blocks called sectors, and each sector is 2048 bytes. Most files aren't exact multiples of 2048 bytes, though, so there's a little bit of room for more data in the last sector of each file. If a file is only 100 bytes, then you can add 1948 bytes to it before the file is too big. Does that make sense?

Quote from: "Cheetah"PS: Do you think one of those unknown bytes could be the trigger for what event instruction triggers this animation? For instance the event instruction for UseFieldObject is just one byte usually 00, 01, 02, etc.
I doubt it. It's been a while since I played with it, but I think they were just numbered by position, so UseFieldObject(00) always triggers the first one, UseFieldObject(01) always triggers the second one, etc.
59
Hacking/Patching Tools /
March 31, 2009, 12:19:32 pm
I've updated the wiki to  include documentation for the texture animation instructions. I'll get to the other section later.

By the way, if you want to add a texture animation chunk to a map file, you can use mapjoin to do it. Just split the map, then create a file that has the appropriate name and size (split a map that already has texture animation instructions for an example). When you use mapjoin to rebuild the map, it should incorporate the new block. Same goes for any other kind of block you might want to add to a map file.

Again, keep an eye on the file's size. To make sure you're not making a file too much bigger, divide its original size by 2048, then compare that to the new size divided by 2048. If the whole part of the second number is the same as the whole part of the first number, you should be fine. In other words, if the first number is 10.3 and the second number is 10.9, you're okay, but if the first number is 10.5 and the second number is 11.1, you've made it too big.
60
Hacking/Patching Tools /
March 30, 2009, 08:39:11 am
Quote from: "Cheetah"Now I'm working on using objects that are part of the maps, liking opening doors and the like. So I wanted to know if there was an easy way to find out which maps had objects to be used. Or on a more ambitious note, is it possible to add such things to a map.
There are two different ways that I know of for making objects on the map move the way you're thinking. One is through texture animations, and one is through mesh animations.

With texture animations, the game just takes a rectangular area of the texture in texture memory and replaces it with a rectangle copied from a different part of texture memory. The doors on the Orbonne Monastery work this way, for example. So does the gate that you have to open when you fight Gafgarion. These kinds of animations are stored in the "texture animation instructions" block in the mesh file (and mapsplit will create a "txa" chunk for them). I do have some notes about the format of this chunk that I haven't added to the wiki yet. I actually had this chunk figured out pretty well. Texture animations are always triggered, I think, by event instructions.

With mesh animations, the vertices of the mesh actually move, like the spinning windmill and its gears. I think there are a few doors that swing open, too. The "mesh animation instructions" block (which mapsplit labels "msa") stores the data that tells the game how to move the vertices. This block is a lot bigger than the texture animation block and I don't understand it quite as well, though I had made some progress. I'll look at my notes again and see what I can get from them. I think some mesh animations are triggered by event instructions and some just play constantly, but I'm not sure about that.

As for adding these blocks, it should be possible as far as I know. You have to keep the file size in mind, of course, to make sure you don't make the file so big it doesn't require another 2048-byte sector. Or we'll have to figure out how to shuffle the map files around on the CD, which I've never tried. The texture animation block is 640 bytes, so statistically there's about a 31% chance that any given mesh file will already be too big to add one without extending the file to the next sector. The mesh animation chunk, though, is 14620 bytes, plus you have to actually add all the mesh data for the thing you want to animate, so that would always require extending the file.