Author Topic: Ladies and Gentlemen, Start Your Chocobos. (An introduction, and query.)  (Read 3779 times)

Corigne

  • *
  • Posts: 20
  • PM me if you need extra hands on a project!
    • View Profile
    • Fireheart Inc
Hello fellow code-junkies.

I'm fairly new to the world of coding compared to some-- having only a meager four years experience in the craft, and have been using/tweaking/building/gaming with computers since before I could walk.  A few months ago I got my first programming oriented job, and as my responsibilities have progressed I've found my thirst for code has grown.  I started with only two years experimentation in Java, and self taught C, Javascript, Bash, some Objective-C, and HTTP in that short time.  As you can imagine, while I've been writing algorithms for a little while and my logic is quite sound, I'm still new to the world of mods and hacking.  I've always enjoyed reading this forum, but never had the time to join.  Now that I've joined, I want to develop some necessary skills to take the mods and hacks I enjoy using-- and begin creating them.

I'm curious as to what projects are out there, and in finding who would be willing to break this greenhorn in.

If not, what would people like to see?

Cheers,

Corigne

EDIT: While this is slightly misplaced-- I wanted to draw the attention of only the modding/hacking community here.
« Last Edit: 2012-05-11 23:37:07 by Corigne »

Bosola

  • Fire hazard!
  • *
  • Posts: 1752
    • View Profile
    • My YouTube Channel
Not really the best place for this thread, so I've moved it to Completely Unrelated.

Reverse-engineering FF games involves working with pre-compiled binaries, so naturally, it helps to have a sound grasp of assembler. Whilst x86 experience will be fine for FFVII and VIII, there's no PC release for IX, which is the one that probably demands the most attention. So being willing to get to grips with the MIPS architecture (the PSOne uses a MIPS R3000) would be a plus.

Mind you, knowledge is still lacking on VII and VIII. AFAIK, no-one has done too much research on VII's minigames, and there's a lot about the world map that could do with being uncovered. VIII isn't well explored at all, but it isn't all that popular for some reason or other.

One major project that's been on the back burner for a few years now is Q-Gears, an open source implementation of the FFVII engine. You should look at the Q-Gears board for more details if that's the kind of thing you fancy. It all depends what sort of work you enjoy and what you hope to get out of modding. What do you want to learn?
« Last Edit: 2012-05-12 20:46:07 by Bosola »

Corigne

  • *
  • Posts: 20
  • PM me if you need extra hands on a project!
    • View Profile
    • Fireheart Inc
Well, I'm interested in possibly spending some time on the world map if that's an area lacking in understanding.  I should get familiar with the assembler first though. I'll take a look and start there  As for FF IX, it's the only FF I haven't owned, so I will have to get back to you on that one once I've managed to find a PSX copy.  My first goal is to write a mod that accesses and displays the item library in an interface that allows you to add entries for new items in FF VII; where a users can select the appropriate models and textures to accompany the item's stats all in a nice gui that helps avoid direct lgp unpacking/packing.  (Personally with my experience as a user I don't mind messing around in the lgp databases, but I've heard a lot of end users aren't confident in doing so.)  That's a bit of a long term goal, but a goal all the same.

Perhaps I should look into any current progress in reverse engineering the FFVII item databases, and see what  I can do to help.

Bosola

  • Fire hazard!
  • *
  • Posts: 1752
    • View Profile
    • My YouTube Channel
Field items are a bit problematic; most of them rely on triggering hardcoded functions in the menu module. FFVII's code is pretty brittle. NFITC1 has probably done more research on how items are handled than anyone else; you might find a few of his posts as you search the forums for clues.

Also, as a pointer, the field items aren't handled in LGP archives, but as part of MNU executable fragments (or the FF7.exe for the PC build). IIRC, these are BIN-GZIP fragments which consist of a few bytes of header metadata and then a series of archives. You can find out the exact details of the BIN-GZIP format on the wiki (http://wiki.qhimm.com/FF7/Kernel/Low_level_libraries#BIN-GZIP_Type_Archives).

Battle items are handled completely separately, and aren't synced in any way (I told you FFVII was brittle). Their attributes are described in the KERNEL.BIN, which NFITC1's WallMarket utility can handle pretty comprehensively.

Corigne

  • *
  • Posts: 20
  • PM me if you need extra hands on a project!
    • View Profile
    • Fireheart Inc
Wonderful. I've decided for starters to pick up AoA: HAL for reference before I even touch the binaries.  I appreciate your direction on this one, I hope to quickly grow to be a productive member of the community.  Also, I think I'm going to join on the Q-Gears project as running FF7 on linux and mac is something I am rather desirous of, and building an open source engine would mean having source docs to work with when writing mods.  Getting Q-Gears to a beta phase is a definite must, as I think it would help this community grow to encompass even more users.

Cheers,

Corigne
« Last Edit: 2012-05-13 01:26:18 by Corigne »

Bosola

  • Fire hazard!
  • *
  • Posts: 1752
    • View Profile
    • My YouTube Channel
Only staff have the ability to delete posts. Just change the content to 'delete this' and someone will get round to it.

Corigne

  • *
  • Posts: 20
  • PM me if you need extra hands on a project!
    • View Profile
    • Fireheart Inc
Only staff have the ability to delete posts. Just change the content to 'delete this' and someone will get round to it.
Noted. Thank you.

Timu Sumisu

  • *
  • Posts: 1850
  • The Master
    • View Profile
I recently learned about the x86 architecture, though I havn't much looked into ff7's codey stuff. Where is best to poke for such material?