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 - Lazy Bastard

Pages: [1] 2 3 4 5 6 ... 12
1
FF7 Tools / Re: (FF7 PSX) BCX Breakdown Tool
« on: 2017-09-12 14:30:37 »
Very minor update: default output file name changed to BCXBreakdown.txt .

Currently working on the next piece of this framework, a BSX breakdown tool. Stay tuned.

2
Gameplay / Re: Play As Bosses -- FF7
« on: 2017-08-20 22:11:27 »
PSX or PC?

3
Support / Re: (FFVII PSX) Model swapping?
« on: 2017-08-16 21:01:58 »
To be clear, we can't extract the models from the psx iso, rig up a custom mesh, and re-import the model to the psx iso, correct?

In theory, we should be able to do that. However, I don't know anything about graphic design, and I also don't know anything about PC model data formats. It's quite possible someone else could bridge that gap for us, but in the meantime, yes, we're limited to manual manipulation of existing assets.

4
Support / Re: (FFVII PSX) Model swapping?
« on: 2017-08-16 01:40:37 »
There absolutely is - I figured it out several years ago based on reverse engineering work by Akari and a few others, and a large amount of reversing of my own. However, it's a manual and tedious process (I intend to write some Python scripts sometime to automate much of it, but so far I've only written a script to extract BCX file data and provide a text breakdown).

Here are a few threads of interest in this regard (in no particular order):

http://forums.qhimm.com/index.php?topic=13501.0
http://forums.qhimm.com/index.php?topic=15836.0
http://forums.qhimm.com/index.php?topic=13559.0
http://forums.qhimm.com/index.php?topic=14467.0
http://forums.qhimm.com/index.php?topic=13831.25
http://forums.qhimm.com/index.php?topic=13597.0
http://forums.qhimm.com/index.php?topic=13534.0
http://forums.qhimm.com/index.php?topic=13524.0
http://forums.qhimm.com/index.php?topic=13502.0
http://forums.qhimm.com/index.php?topic=13433.0
http://forums.qhimm.com/index.php?topic=13420.0
http://forums.qhimm.com/index.php?topic=13412.0

If after skimming those, you're still interested in diving in, let me know. I've also documented most of this on the Qhimm.com wiki.

5
Sorry for the necro.

If you're just looking to build a map of useful addresses and their values in memory for FF7 PSX NTSC, I'd start by looking at GameShark codes:
http://gamehacking.org/game/88853

6
Very cool; sorry I don't have anything useful to offer other than accolades ;)

7
FF7 Tools / Re: [FF7] bin-gzip extractor / creator
« on: 2017-03-01 14:16:08 »
Done; thanks.

8
FF7 Tools / Re: [FF7] bin-gzip extractor / creator
« on: 2017-02-27 18:49:45 »
Awesome; I've grabbed a copy for posterity. Mind if I add it to the Downloads page of GameHacking.org ?

9
I haven't used it in a while, but I did manage to successfully use that program for a few FF7 BIN files (not sure if that included WINDOW.BIN). Did you follow the instructions included?

10
Yup I written this page

Hah, funny.

Don't worry about it, myst6re. This is a hobby, not a job :)  Thanks for making Makou Reactor. It's a great tool.

11
NERV Agent: I believe the download entitled "FF7Dec + gzip" at GameHacking.org's Downloads page can handle WINDOW.BIN:

http://gamehacking.com/download

12
DLPB: There is one scene I can recall in Cosmo Canyon, as you descend into the caves/catacombs from the town, in which the sound volume decreases as you descend and increases as you ascend. I used it to hack a quick sound volume mod for GameShark when I was a kid:

80062F5E xxxx

This code simply controls the volume level of the music in fields. Sound effects are not affected. Here are a few values:

0000 - Silence
3000 - Quiet
5000 - Medium
7FFF - Maximum

But, this may not be related.

13
I realize the battle model (LZS) and field model (BCX/BSX) formats are different on PSX (I believe battle models use a modified HRC format), but I'd like to know if it's feasible to take a single battle model part, perform some minor modifications if necessary, and replace a field model part with that part (I can make offset adjustments to the field model accordingly for size differences, etc).

For reference, PSX battle model format, per the wiki: http://wiki.qhimm.com/view/FF7/Playstation_Battle_Model_Format
...and PSX field model format: http://wiki.qhimm.com/view/FF7/Field/BSX#Models_Section

Any nudge in the right direction is appreciated.

14
Roxas: is there a specific reason you'd like to see this? If you just want to take a video of it or something, you could probably run the game in a PSX emulator, then use GameShark codes or similar to hide all models.

15
FF7 Tools / [PSX] BCX Breakdown Tool
« on: 2016-12-23 14:22:04 »
BCX Breakdown Tool, v1.01
By Lazy Bastard, of GameHacking.org

This is a Python app I wrote - mostly to teach myself Python - which takes a Final Fantasy VII PSX decompressed BCX (field model file for playable characters), and generates a human-readable breakdown of its parts, similar to the breakdowns I've written and shared in the past. This is primarily useful in making graphical model mods for FF7 PSX (swapping parts, animations, and other things from one model to another, or modifying a model's existing assets). For greater compatibility, this was written for Python 2.7. I may use this code as the launching point for creating a few other apps for various FF7 PSX model editing tasks, and if so, I'll likely later unify them into a single tool set for end-to-end modification. Let me know if there's a feature you'd like to see in a future tool.

Usage:
1. Place the desired BCX file in the same directory as bcxbreakdown.py .
2. Decompress the BCX using something like LZSCDec.
3. Run bcxbreakdown.py .
4. When prompted, enter the name of the desired decompressed BCX file.
5. Your BCX breakdown will be generated and saved as BCXBreakdown.txt .

Note:
There are currently no error handling mechanisms and no checks performed; if you pass a non-BCX file to bcxbreakdown.py, you'll get ugly output and possibly strange behavior (loops generating ever-larger output in BCXBreakdown.txt until you kill the task, etc). If there's demand for beautifying this application, I'll do so. Otherwise, I probably won't.

Enjoy.

Download BCX Breakdown Tool from GameHacking.org

16
Gameplay / Re: Anyone have a playable Sephiroth Patch?
« on: 2016-12-20 04:18:06 »
PSX or PC?

17
Request:

Could you add support for PSX DAT file model data?

It's described here:
http://wiki.qhimm.com/view/FF7/Field/Models

...and I recently ran into it when modding a DAT, and the fix is described here:
http://forums.qhimm.com/index.php?topic=17278

Basically, at the end of every field DAT, there's model data, and this includes a value that controls whether or not a playable model (a BCX model) can be displayed (I believe it's specifically whether or not a character has been in the party). Without this in Makou Reactor, you need to decompress LZS, hex edit, and compress LZS again.

18
I reached out to Roden, and he reminded me of something meesbaker and I stumbled upon a few years ago when working on meesbaker's Sephiroth mod (Roden also discovered this, independently of us):

Quote
From what I can remember, in the DAT file for each field is a listing of each model, it looks like this:
Cloud:   00160F0300000001
Aeris:   0118100300000002
Barret:  02160F0300000003
Tifa:    0319110300000004
Nanaki:  041E160300000005
Cid:     05160F0300000006
Yuffie:  0619100300000007
Cait:    071D100300000008
Vincent: 081A110300000009

If a character is NOT in your party, they will not appear in the field UNLESS you add a 01 in the appropriate place. So for example Barret is usually: 02160F0300000003

But to also have him appear on the map when he is not in your party, you need to add a 01 like so: 02160F0800010003


This worked.

Incidentally, that string also contains the number of parts for each playable model, and if that isn't adjusted to match a custom BCX, you'll have issues or crash. Also, there is a set number of parts altogether per field, and I can't recall where that's set...either somewhere else in the DAT, or somewhere weird like FIELD.BIN .

Unfortunately, some of the notes meesbaker and I took weren't backed up and lived solely here on the forums and wiki...shortly before the 2012-ish data loss that destroyed ~3 months of forum and wiki data :(

Let me know if you run into issues related to this, and I'll see if I can bumble my way through re-documenting it. I'll probably need to do that anyway at some point.

19
I'm working on my PSX FF7 prequel mod, Adamant, and I'm about to create another custom BCX (party member field model), but before I do so, I want to ensure I can make the field model show up in the field I want it to. Somehow, I haven't needed to get a custom BCX to show up in a field, other than Cloud's custom BCX (which is presumably somehow different since he's the default playable character).

As a test, I used Makou Reactor (1.7.2) on field BLIN61.DAT (Shinra HQ, floor 61, Lounge), and noting that Cid is already a model in this field (and even has the required model data in BLIN61.BSX), tried every way I could conceive of to display Cid in this field. I gave him legitimate coordinates and a triangle (not that triangle assignment has seemed to matter in the past with non-party models, strangely), added "Display field model", gave him a looping animation of his standing animation, etc. I also tried doing these via a script under his group ID, and calling that script in Main or AD groups, but no luck. Since he's a potential party member, I also tried adding him to the party, adding him then removing him from the party, etc, and still no dice.

Am I missing something obvious? If a field already has other potential party members such as Cid and Tifa specified, and its BSX includes the required model data for them (and their BCX includes the rest of their model data), is there something special I need to do in order to get them to show up in a field?

Minor update: DLPB was kind enough to test my modified field on PC, and it worked fine for him. Is there something special for PSX I need to do here? Or, is Makou Reactor not handling this specific modification for PSX properly?

20
FF7 Tools / Re: [FF7] File Reconstruction Project!!
« on: 2015-10-18 01:19:37 »
Awesome. I've saved a copy of mine, and removed it from my Drive. If at some point in the distant future the file becomes unavailable everywhere else, reach out to me and I'll dig it up in its 2015-10-17 state.

21
FF7 Tools / Re: [FF7] File Reconstruction Project!!
« on: 2015-10-05 00:18:03 »
OK. Let me know when you've got the file and uploaded it to a Google Drive so others can access it. I'll archive my copy, in case it's ever needed later.

22
FF7 Tools / Re: [FF7] File Reconstruction Project!!
« on: 2015-09-14 02:06:50 »
Re-Necromancy!

I've not touched this file for a very long time and I'm ready to pass the torch.

Anyone want to volunteer to take possession of this file?

If not, I'll likely archive it on GameHacking.org for anyone to grab, but in that form it won't be a live editable document and single source of truth...

23
Sorry I'm late to the party, and thanks for the honorable mention :)

Looks quite good; almost makes me want to play the PC version :P

24
Hah, you're right. Fixed.

25
Looking back, I realize my post above is somewhat dense to read. So, to summarize:


Image data (TIM):

For faces 0x00 to 0x09:

0x10 + (face_id * 0x1000)

For example, Cid is face_id 0x05, so:
0x10 + (0x05 * 0x1000 = 0x5000) = 0x5010


For faces 0x0A to 0x21:

0xA010 + ( (face_id - 0x0A) * 0x400 )

For example, Sephiroth is face_id 0x15, so:
0xA010 + ( (0x15 - 0x0A = 0x0B) * 0x400 = 0x2C00) = 0xCC10



Palette data (CLUT):

0x0000FE10 + (face_id * 0x20)

For example, Cid is face_id 0x05, so:
0x0000FE10 + (0x05 * 0x20 = 0xA0) = 0x0000FEB0.

Pages: [1] 2 3 4 5 6 ... 12