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

Pages: [1]
1
Catalogs / Re: Catalog v2.3x Report / Mod Requests
« on: 2019-06-01 18:22:18 »
I'm using the Beacause + Menu Overhaul mod that was packaged in the 7th Heaven catalog, but I just wanted to check: is it the most up-to-date version? It seems like Beacause reached 100% completion, so I want to make sure I'm using that 100% complete version

2
It's not about docked vs. undocked: it's about how Final Fantasy VII renders background images. Resizing the background image to 720p will have the same issue: the original size is 512x512. It has to do with how the game renders background images, so it's likely something in the Camera Matrix or something that needs to be modified

3
My end goal is that I want to have high-res backgrounds on FF7 Switch, which only supports mods that replace existing in-game files one-to-one. As such, I figured out a way to change the background image in field files to anything I want, including higher-res images. The problem is that, when I put a higher-resolution image, it just zooms it in:



I know the high-res image is in there just fine because I'm able to open it and extract it properly in Makou Reactor. My guess is that something (e.g. the Field File Camera Matrix?) needs to zoom out somehow, but I have no idea what exactly dictates how a background image is rendered in-game. Any help would be much appreciated.

If you want to mess with it yourself, my script to change Field file backgrounds is here

https://github.com/niemasd/PyFF7/blob/master/field_change_background.py

And the specific lines that need tinkering start here:

https://github.com/niemasd/PyFF7/blob/master/PyFF7/field.py#L1601

Perhaps the Q-Gears source will be useful, e.g.:

https://github.com/q-gears/q-gears/blob/3da522b996f09e81c148b25bd8cd022d8db761ef/QGearsMain/src/data/QGearsFLevelBackground2DLoader.cpp#L48

4
I've significantly updated PyFF7 since last time! It can now play with the following file types:
  • Field Files (just basic info for now; will later implement extracting and hopefully changing the image)
  • LGP Files (info, unpacking, and packing)
  • LZSS Files (decompress and compress)
  • NPK Files (info and unpacking)
  • TEX Files (info, converting to different image formats, and changing the image within)

5
According to this post, it seems like upscaled magic mods exist, but they use modpath (or at least this one does): http://forums.qhimm.com/index.php?topic=12836.0

6
The unpacking is fine: it's the repacking that's the issue if I'm not mistaken. I think they all mess up with the Lookup Table. I'm not sure if this affects the actual file usage in FF7, but I remember trying to unpack and then repack without changing anything, and the Lookup Table was incorrect (it was mishandling files with a '.' in the first two characters, e.g. "a.rsd")

EDIT: I originally said "Conflict Table", but I actually meant "Lookup Table". The Conflict Table is handled fine in existing tools I've tried (it's the one that you need working to have files that exist in folders)

7
I would definitely be interested in making this happen and helping contribute to it. I've been writing not-so-formal schema for the file formats I've been implementing in my tool's Wiki, so feel free to take what you want from there: https://github.com/niemasd/PyFF7/wiki

8
Thanks for the suggestions! I joined the Qhimm Discord as Fewtch suggested. Regarding Makou Reactor, I think that's my best bet as well, but because they use the same function names for things and split across different files (which is great software engineering practice), it makes it hard for me to follow the logic. I'll sit down and try to follow things when I have time, but something like a simple schematic would be great

Regarding helping with Python bindings in ff7tk, I'd be happy to help! I do like keeping PyFF7 pure Python to make cross-platform compatibility super clean and simple, but I'd be happy to contribute to ff7tk separately as well

9
I'm trying to write my own Python tools to play with various file formats in FF7, and I have the ability to unpack and repack Sections 1-8 of the Field File (largely thanks to this Wiki: http://wiki.ffrtt.ru/index.php/FF7), but the only resources I can find regarding the Background section (http://wiki.ffrtt.ru/index.php/FF7/Field/Background) don't seem to be complete. Namely, it doesn't describe anything at the beginning of the section. For example, I've noticed that all files say "PALETTE" at offset 0x5 and "BACK" at offset 0x24, and they also have a series of 1-byte values that are either 1 or 0 (but varies between files), and they all have data before "PALETTE", but none of this seems to be mentioned anywhere.

Any guidance for more descriptive details about this section would be much appreciated :-)

10
I had found this link (Luksy's ulgp): http://forums.qhimm.com/index.php?topic=12831.0

From there, I tried all 3 versions (1.2, 1.2.1, and 1.3). None of the three worked properly on my magic.lgp (should have 5265 files total, but theirs extracted like 2200 or something)

And thank you for the warm welcome :-) This is an awesome community, so I'm excited to be involved with it all! Also loved the game, so I want to do what I can to help give back!

11
My main worry with ff7tools was that it says "The tools are designed for the PlayStation 1 version of the game. They will
not work with the game's PC port." in the README. My primary focus is on the PC and Switch version. For example, they don't have anything regarding handling LGP files as you mentioned

I checked out Ficedula's lgp utility (as well as other utilities in C++, e.g. ff7toolkit like you mentioned), and I'm not 100% certain they're implementing LGP handling properly, namely packing files with duplicate names as well as periods in the first two characters of the filename (e.g. magic.lgp)

12
FF7 Tools / PyFF7: Python 3 tools to manipulate FF7 files
« on: 2019-05-06 08:52:36 »
Hey, everybody! I'm relatively new here, but I've been following the FF7 modding scene for some time. I was a bit frustrated with some of the existing tools for manipulating FF7 files (namely packing/unpacking LGP files), so I did some research and implemented my own in Python 3 called PyFF7.

Currently, I have implemented an LGP unpacker, an LGP packer, and a tool to just print information about the contents of an LGP (I tested it on char.lgp and magic.lgp, and it seems to work correctly, even when ulgp didn't). Also, the classes I design can be easily integrated into new tools, and I intend to make it available on PyPI so you can install it via pip. I also intend to expand beyond just LGP files. Note that my LGP packer rebuilds the lookup and conflict tables on-the-fly.

Also, if anybody has any information regarding the "check code"(?) in the LGP file format table of contents, I'd greatly appreciate it. Most files list this value as 14 (but some are 11 if I'm not mistaken), and a lot of old posts I read (e.g. from Aali) suggest that the game doesn't actually check this value so I currently just hardcode the value to 14 for all files, but I really want my tool to be completely correct. I was thinking maybe it's user+group file attributes (14 = 7+7 and 11 = 7+4), but yeah any info would be greatly appreciated.

Anyways, you can find the tools here: https://github.com/niemasd/PyFF7/

They're completely written in Python 3 (no external libraries/packages), so they should work out-of-the-box on any system with a Python 3 interpreter.

Pages: [1]