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

Pages: 1 ... 54 55 56 57 58 [59]
1451
Quote from: ficedula

Zangan only displays the *locations* - not the people in it. So all you could export would be a static set of geometry, for the scenery.

Nevertheless, http://www.dcs.warwick.ac.uk/~csuzs/oldsite/Zangan110.zip for the latest version ... only real change being the plugin support (all the info needed to write a plugin is including, if you still want to do it).

In your description you have for
TPart = packed record
   TexCount, VertGroup, GroupCount:   Integer;
   Texs:      ^Integer;
   Verts:   ^TVertex;
   Groups:   ^TGroup;
   IndCounts: ^Integer;
end;
You have no description for TVertex. I assume this is TPoint3d in reality? :)
Quote from: ficedula

For people, you need Mirex's Leviathan (see General forum for an announcement today about that), or a program I'm working on - see http://www.dcs.warwick.ac.uk/~csuzs/oldsite/dio.png for a screenshot.


Ahh cool.. I'll have to have a looksie then!

Quote from: ficedula

However, we don't understand the animation format. We (thanks to Phaeron, I should add) can position the model on its base frame, but not (AFAIK) decode any frames after the first.

My guess is the animation uses the skeleton information for movement, just a guess I've been wrong before and it won't be the first time! ;)

1452
Quote from: Alhexx
Cyb: Thanx for the info, but I have already made my thoughts on those selection problems, it fine to see them all listed here anyway ;)

Fice: Okay, I'll take a look at that in the MSDN library ... maybe I'll find something useful...

Hey.. I've survived making a modeler before just sharing my Pain err experience :)  I found that being able to locate the constraints (planar or single axis) is kind of a good idea ;) ) helped a LOT.

Hmmm MS support for OGL is only 1.1 last I checked. You might have to get a MESA GL port for you card for windows or something akin to that.  I know MS's GL drivers included with windows are software only as well. Hmmm not sure what other encouraging things to say to you! ;)

I haven't looked at OGL's support for such things as mouse, I didn't look at the bitmap manipulation interface and it was pretty nice.  As another user said, you might need to look at it and see if it's for you mostly ;)

Cyb

1453
Quote from: ficedula

Cyberman: Hmmm, am I noticing a pattern in your feature requests here? :D

Zangan doesn't as yet support a plugin interface, although a lot of my programs do...although I could easily add one in. I'm guessing you'd like me to?

Although, since Zangan only does the *locations*, I'm not sure how you'd want to export a series of frames...

Nevertheless, an export location to a plugin could be useful. I'll do it.

Yes.. I like to make plugins .. haven't you noticed that? (laughs).

Besides I've only been making lots of DLL's for something ;)

Well each model/person in the scene has a animation sequence attached to them right? (dumb question had to be asked).

Cyb

1454
Quote from: Alhexx

ficedula: A very important question:
Is there somethin useful for hit-testing in OpenGL?
I mean, if a user clicks with the cursor on the renderer view, I have the coordinates of the mouse position. Now is there a possibility to find out which "renderer object" (vertiex, polygon etc.) is rendered at this position?
This would be very useful for the "drag-and-drop"-movement of vertices...


 - Alhexx

I know this is to Fice.. but in order to drag vertices you might need to 'constrict' movement in one 3d plane IE XY Z is frozen YZ X frozen etc. This also works if you freeze say XY and can only move the Z axis coordinates of the vertices.

This is called constraint based manipulation of a 3d scene.  As for what object or objects or things the pointer is near.  You could translate the objects to a clust of 2d points and depth sort them. IE the closest object would be a 'top' layer of active points.

Think of it this way:
Ugly ASCII
Code: [Select]


Viewer

   B
A    C
   D

D you could NOT click on because it's below the faces that are part of A B and C you could click on A B or C since they are 'visible'.  Although in your modeler it's not likely you are to see D you could still have some conflicts.  Also selection critera might want to use the GROUP information IE group of polygons edges etc.  So if you click on a group that's Yuffies head you can move the whole head instead of one of the vertices on her eyebrow.

Ahhh the fun of a UI! ;)
Recap:
You need to consider what object types you need to grab.  IE Vertices (3d points essentially in this case), polygons, or groups.
You need to consider how you are going to move them IE what axis or axis' you are going to have movement in for what you just selected.
You need to consider 'how close' the objects are in order to decide what was or can be selected.

Just some hopefully useful thoughts! ;)

Cyb

1455
Quote from: ficedula
Alhexx:

The different open button; can do, obviously that's easy.

Moving the camera ... hmm ... yes, of course it *can* be done, just don't expect the location to always look that good ;)  The battle locations are sometimes like theatre props - literally only complete on one side, and viewed from the other angles, they look like hollow shells.... ;)

Guess I'll put the camera movement in anyway. Just don't be surprised by stuff like that ;)


Hmmm any way to add a plugin interface? IE export to a renderer such as POV etc?  Might be cool to export a series of frames from a combat scene into POVray's format (which includes the ability to LOOP and a few other things).

Cyb

1456
Danke' Fice I've read some of it but haven't had a successful decode yet.  I probably should 'buffer' 8k of the output stream so that I can not worry about getting all the data. LZS is a interesting dictionary format to say the least. Nothing like LZW compression (which I have written tools to do).  It looks like it's a 'intelegent' form of compression that could be challenging to encode with.  As for the decoding it looks simple enough just need to have a successful decoding of one file (grin). I suppose I could decode a file using your routines and compare the outputs. :)

Cyb

1457
ficedula: These things happen, would be cool to be able to know how to expand the LZS files so I can find out what is in or 'show' there contents, my 'TV' (short for TIM Viewer)  is becoming more a FF7 File viewer now (heh).

Alhexx: The happy file hacker, how about a plugin system for import and export for ultima?  This would allow people to add to ultima's.. ultimate (bad pun?) functionality :) Namely being able to export to formats such as POV, 3dS or any other 3D viewer by simply knowing the format and having a Compilor handy.  I know I would make a POV exporter (importer might be a bit hard to do).

Hopefully I can find whatever the .p files are on the PSX and use the wonderful information you have provided for making a .P viewer using OGL .

Cyb

1458
Quote

ficedula:
My site has a description of the format (*not* complex, I should add, so don't go relying on it 100%) and a decompressor/compression program ('FFLZS') which *does* now work fine with the files.

Hmmm I didn't see a format description  :o for the file type (whine whine... :) ).  I'm still working on the MIM DAT and BSX files, so far no dice but it's different on the PSX than the PC, I suppose running FF7 under a PSX emulator that allows you to single step and view the memory as well might be handy (especially when dealing with opening and reading files).  I read somewhere that a few of the .BIN files are actually Data files as well. (sigh).

At least I got some interesting information you had on the 'text' format for FF7.  There choice of -0x20 each of the ANSI defined characters makes sense after reading that.  What I am trying to do is to 'view' the background images in the game.

My guess is these are 'hidden' in the field directory and they are the MIM files.  Does anyone have a dump of information that should be in the background image of ONE scene? That would help me in figuring out what is what in the files and have a better 'view' of the images.

Phaeron - GZIP should allow you to rip out multiple GZIPed files if they are concatenated. LZS is the biggest challenge.

As an Aside I can see the need for a VERY smart hacking tool now.  What I'm thinking about is a tool that creates a data structure based on XML information.  For example you are looking at a hex dump and you decide something is a unsigned long integer you can grab the address and create a new 'variable' for that location.  The same with TEXT bytes and data structures.  At least that's what I am thinking about.  Creating the data file isn't the problem, it's having a way to create the 'data' structure information that is :)

Cyb

1459
After reading the information in your file format descriptions, I believe the PSX data files are compressed (just too many files with .LSZ and .Z  extensions makes me suspicious). Now if I could decipher what a MIM file was.. I could make more sense of things (LOL).   I wonder if these are RLE compressed background image files?

What is the file structure of the PC version of FF7? On the PSX there are 6 ENEMY directories 1 battle directory and a FIELD directory.  The enemy ones I think have the model and animation information for each enemy each are titled LSZ. the Field file has BSX files .Z files and .DAT files.  I could be wrong however. the BSX files are relatively small though the .DAT are the next largest and the .Z files are the largest.  I wonder how and what they compressed these these files with though (mumble).  The only easy files to read are the collection of TIM files in the MENU directory (hehe).

The MINI directory has all the files for the MINI games in FF7 (surprise?).

Anyhow.. I'm puzzled what they used on the files to compress them, it doesn't seem to be standard compress format sadly (sigh).

Cyb

1460
Scripting and Reverse Engineering / Addled minds ...
« on: 2002-12-19 16:02:00 »
Erg what I ment to say (heh) was that it was for the PC versions data set (mumble).  MIM files.. what are they (scratches head).

1461
Oh yes.. I did peruse your images, I wondered where Aeris and Tifa were on the last image then I realized it was a test program (doh).
I think I saw a bit more detail on Cloud than when using the PSX version of FF7. I assume your program is for the PC version of FF7 :)

Cyb

1462
Scripting and Reverse Engineering / PSX file sets for FF7
« on: 2002-12-19 05:58:26 »
Hmmm are the files similiar between the PC and PSX for all the background settings? I'm not sure what format they are in.  I've found 3 files per 'scene' in FF7 BSX DAT ad MIM.  MIM are my guess the background image information and BSX and DAT are likely to being the extra 'scene' objects (IE things you can walk behind etc.)

Cyb (curious CYB strikes back)

1463
General Discussion / Basically... FFX.
« on: 2002-12-14 04:14:48 »
I have 60 hours in my FF10 game.. I've completed most side quests..

I have 240 hours into FF8  .. I'm still on disc 3.. I guess it's all relative? :)

I have a lot of fun in FF8.. FF10 is fun but the music gets monotonous at times.. also it still plays when you pause (sigh).

However I still like FF10 a lot better than FF9.. I think the one place I like best in FF9 is Clerya.. that's it.. it's just a cool place. :)

The side quests in FF10 are ok .. but just seem busy work.  I still need to finish cactuar village.

The Internation version had additional stuff in it like Reiku's story and Yuna's story added in.  Perhaps they'll release FF7 and FF8 respins for for the Ps2 sometime.. I'll buy those for shear fun to play.

FF8 was pretty mind boggling when it came out, especially when they combined 3d characters and movies so smoothly.  

As I said.. I wouldn't want to trade my FF10 away.. but I can see where some minor improvements would have made it more fun for me.

FF10 is hard in certain anoying spots.. that's what drives me nuts :)

Cyb

1464
General Discussion / Basically... FFX.
« on: 2002-12-12 15:00:55 »
FFX is a pretty big improvement over the near mindlessness of FF9.. but it's still not on par with FF7 or FF8.. both were pretty good. FF10 is there first PS2 release, I think you can see the affect of adding in voice acting into the game however, notice how SHORT FF10 is.  I was just finishing up the calm lands and next thing I know I'm near the end of the game! All things considered, they could have had a LOT more things to do and weird twists and adventures. Right now I'm just looking for things to do before I go and obliterate sin.
1: Cactuar village.. I suppose one could do this when lost in the desert but it was such a pain then..  so now I'm doing it.  GEESH you have to have PERFECT timing to get the cactuars.
2: Ultimate weapons I don't know if these actually DO anything (snicker) but I thought it was kind of cool to get them.
3: Getting all the Aeons.  Yep I have Anima and that weird one that charges you money for combat. (Yojimbo?)  Once I defeat ALL possible aeons I can go and get whatever lies in that temple near the calm lands.
4: I think one has to do a few races and a few other things with Chocobo's to get some objects needed for the ultimate weapons.
5: Defeat the super hybrid monsters. These guys are hard to beat.. but I donno seems like fun.  I have to collect some more monsters outside the calm lands to complete this and then fight them all.  Need more star curtains anyways for making cool weapons and armor.

Cyb

1465
General Discussion / Square Enix
« on: 2002-12-12 14:39:53 »
Quote from: Jari Huttunen
Copies of what? Amounts of games sold (Dragon Quest and FF series) are about 1% of those, 30 million and 42 million worldwide.

Not to mention that Square could be selling lot more and still doing worse, if they are also spending more (like developing more titles).

But, IIRC, games aren't the problem for Square, movies (or rather the one and only movie) are. I don't know how much profit, if any, The Spirits Within made, but it most certainly didn't do nearly as well as Square had hoped.


After watching the movie I can understand why it did so poorly.

1: It was dumbed too far down for the die hard Square fans
2: The affects etc were great, however it seemed kind of pointless.
3: I didn't like it, the affects were wonderful, but WRONG DEMOGRAPHIC.  They made a gross error in there marketing target for the movie.  People who would likely be interested in a movie like that, are.. 1 at least have a college degree or are a die hard square fan, 2 aren't as interested in special affects as a good story, 3 aren't as interested in action as a good story.  I think the movie lacked hitting all 3 of these.  Namely the story  wasn't all that well developed and it wasn't targeted at a more intellectual demographic.

Movies I like would be 'Hearts of Atlantis' where there is very little action but lots of plot.  You don't need to spend huge amounts of money to make a good movie, you need a good story though.

Cybie :)

1466
General Discussion / Square Enix
« on: 2002-12-01 23:55:45 »
Hmmm Squenix.. well...

Anyhow :) It may be a good thing or a bad thing, I've noticed that the last few years of Square releases save Chrono Cross have been rather poor.  I'm not a big FF9 fan. FF7 and FF8 I love same with FF4 FF5 FF6 and FF Tactics FF10 is OK :)

I'm not sure how Square has managed there poorly going releases like FFXI from what I've heard is doing horribly.  I hope Square turns it's eyes back on good developement and PLOT instead of cool graphics and such.. lots of glitz but no real bang to me.. bites. :)

FF8 .. real plot what's important.. and who are you?
FF7 .. real plot meaning of life and it's importance

I prefer games that have a point or direction to them .. that's an underlying theme.

I liked for example Vagrant story (although I am sure a number HATED that game I loved it :) ).

Cybie!

1467
PS the added bit fields to information0 was discovered in the forums here.. I just don't care who uses it .. heh :) it was cool to find.

Disclaimer, the information is thought to be acurate but no responsibility is taken for it's use.

 :o

Cyb

1468
I've a few additions to the Griever save file format (ala PSX) it should be relatively easy to migrate to the PC (minor changes).

Code: [Select]

#ifndef _FF8_
#define _FF8_

#include <vcl.h>
/////////////////////////////////////////////////////////////////
// Final Fantasy VIII codes

// If you can find a way to make the enum 1 byte in size, uncomment
/*
enum FF8CHARID {
Squall,
Zell,
Irvine,
Quistis,
Rinoa,
Selphie,
Seifer,
Edea,
Laguna,
_zz1,
_zz2,
_blank,
Griever,
MiniMog,
Chicobo,
Angelo,
None = 0xFF
};
*/

#define CHAR_SQUALL        0
#define CHAR_ZELL          1
#define CHAR_IRVINE        2
#define CHAR_QUISTIS       3
#define CHAR_RINOA         4
#define CHAR_SELPHIE       5
#define CHAR_SEIFER        6
#define CHAR_EDEA          7
#define CHAR_LAGUNA        8
#define CHAR_KIROS         9
#define CHAR_WARD          10

#define CHAR_GRIEVER       12
#define CHAR_MINIMOG       13
#define CHAR_CHICOBO       14
#define CHAR_ANGELO        15
#define CHAR_NONE          0xFF


typedef BYTE FF8CHARID;
//#define FF8CHARID BYTE
//#define BYTE unsigned char


struct _FF8ITEM {
BYTE type;
char *name;
};

struct _FF8ABILITY {
BYTE type;
BYTE ap;
char *name;
};

struct _FF8MAGIC {
char *name;
};

#define CARD(t,l,r,b) { 0x##t,0x##l,0x##r,0x##b }

#define NONE -1
#define FIRE 0
#define ICE 1
#define THUNDER 2
#define EARTH 3
#define POISON 4
#define WIND 5
#define WATER 6
#define HOLY 7

#define SIMPLE 0
#define BOSS 1
#define GF 2
#define PLAYER 3


struct _FF8CARD {
char *name;
struct _FF8CARDVALUES {
char top;
char left;
char right;
char bottom;
} values;
char element;
char border;
};

struct _FF8CARDLOCATION {
char *name;
};

struct _FF8LOCATION {
char *name;
};

typedef BYTE _FF8INNATEABILITY;


/////////////////////////////////////////////////////////////////
// Final Fantasy VIII item/magic/ability lists
#define LOCCOUNT 200

extern _FF8ITEM dbItems[200];
extern _FF8ABILITY dbAbilities[120];
extern _FF8MAGIC dbMagic[60];
extern _FF8CARD dbCards[110];
extern _FF8CARDLOCATION dbCardLocations[256];
extern _FF8LOCATION dbLocations[LOCCOUNT];
extern _FF8INNATEABILITY dbInnateAbilities[16][21];
extern char *dbJuncNames[];
extern char *dbWeapons[];
extern int const GF_Level[16];
/////////////////////////////////////////////////////////////////
// Final Fantasy VIII save file structures


// Unknown data
struct UNKNOWN {
UNKNOWN () { data = 0xFF; }
BYTE data;
};

// FF8 text identifier
typedef char FF8STR;


// Save file description block
struct FF8DESC {
USHORT checktag; // Tag - must be 0x0FF8
USHORT location; // Current location
UNKNOWN zz0[4];
USHORT saves; // Number of saves
UINT gil; // Gil
UINT seconds; // Game time
BYTE level; // Lead character's level
FF8CHARID party[3]; // [3] Current party
};



// Guardian Force block
struct FF8GF {
FF8STR name[12]; // [10] GF name
//UNKNOWN zz1[2];
UINT exp; // GF EXP
UNKNOWN zz2;
BYTE found; // Has GF been found?
USHORT hp; // Current HP
BYTE abilities[16]; // [16] Learned abilities (bLearned[i] = abilities[i/8] & (1 << (i%8)))
BYTE ap[21]; // [21] Ability APs
UNKNOWN zz3[3];
USHORT kills; // Number of enemies killed
USHORT ko; // Number of KOs
BYTE learning; // Ability being learnt
BYTE forgotten[3]; // Abilities forgotten
};

// Magic block
struct FF8MAGIC {
BYTE type;
BYTE amount;
};

// Character block
struct FF8CHAR {
USHORT hp; // Current HP
USHORT basehp; // Base HP
UINT exp; // EXP
FF8CHARID id; // Character id
BYTE weapon; // Current weapon
BYTE str; // Strength
BYTE vit; // Vitality
BYTE mag; // Magic
BYTE spr; // Spr
BYTE spd; // Speed
BYTE luck; // Luck
FF8MAGIC magic[32]; // [32] Magic library (stock)
BYTE ab_command[3]; // [3] Command abilities
UNKNOWN zz;
BYTE ab_char[4]; // [4] Character abilities
USHORT gf; // Junctioned GFs
UNKNOWN zz2[2];
BYTE junction[19]; // [19] Junctions
// 00: HP Junction (Magic Type)
// 01: Str Junction (Magic Type)
// 02: Vit Junction (Magic Type)
// 03: Mag Junction (Magic Type)
// 04: Spr Junction (Magic Type)
// 05: Spd Junction (Magic Type)
// 06: Hit Junction (Magic Type)
// 07: Eva Junction (Magic Type)
// 08: Luck Junction (Magic Type)
// 09: Elem-Atk Junction (Magic Type)
// 10: ST-Atk Junction (Magic Type)
// 11: Elem-Def Junction 1 (Magic Type)
// 12: Elem-Def Junction 2 (Magic Type)
// 13: Elem-Def Junction 3 (Magic Type)
// 14: Elem-Def Junction 4 (Magic Type)
// 15: ST-Def Junction 1 (Magic Type)
// 16: ST-Def Junction 2 (Magic Type)
// 17: ST-Def Junction 3 (Magic Type)
// 18: ST-Def Junction 4 (Magic Type)
UNKNOWN zz3;
USHORT compat[16]; // [16] GF compatibility
USHORT kills; // Number of enemies killed
USHORT ko; // Number of KOs
BYTE stats; // Battle metere stats?
UNKNOWN zz4;
USHORT status; // Status effects
//   1: ?Death?
//   2: Poison
//   4: Petrify
//   8: Darkness
//  16: Silence
//  32: Berserk
//  64: Zombie
// 128: ?Sleep?
                        // 256: ?Slow?
                        // 512: ?Stop?
                        //1024: ?Curse?
                        //2048: ?Confuse?
                        //4096: ?Drain?
//UNKNOWN zz5;
};

// Item block
struct FF8ITEM {
BYTE type;
BYTE amount;
};

// Card identifier
typedef BYTE FF8CARD; // 0x80: Collected    0x7F: Amount
// Rare cards: Location

struct FF8CONFIG {
BYTE spd_battle; // Battle speed (0=fast,4=slow)
BYTE spd_battlemsg; // Battle message speed (0=fast,4=slow)
BYTE spd_fieldmsg; // Field message speed (0=fast,4=slow)
BYTE soundvolume; // Sound volume (0-100(%))
BYTE options; // Misc. options
//   1: ATB - 1:Wait 0:Active
//   2: ??? 0:Stereo 1: Mono
//   4: Cursor - 1:Memory 0:Initial
//   8: ???
//  16: ???
//  32: Controller - 1:Customize 0:Normal
//  64: ???
// 128: ???
BYTE scan; //   1: Scan - 1:Always 0:Once
BYTE camera; // Camera movement (0=100%,4=0%)
UNKNOWN zz1;
UNKNOWN buttons[12]; // [12] Button configuration (?)
};


// Chocobo World data
struct FF8CHOCOBO {
UNKNOWN zz[64];
};

// limit structure
struct FF8LMT
{
   unsigned short Quistis;
   unsigned short Zell;
   BYTE           Irvine;
   BYTE           Selphie;
};

// Save file block
struct FF8BLOCK {
UNKNOWN zz1[384];

USHORT checksum1; // Checksum
FF8DESC desc; // Save block description

FF8STR squall[12]; // [12] Squall's name
FF8STR rinoa[12]; // [12] Rinoa's name
FF8STR angelo[12]; // [8] Angelo's name
FF8STR chicobo[12]; // [4] Chicobo's name
BYTE disc; // Current disc (zero based)
UNKNOWN zz[3];
UINT saves; // Number of times saved (*2?)

FF8GF gf[16]; // [16] GF blocks

FF8CHAR chars[8]; // [8] Character blocks
                           // 0 - Squall
                           // 1 - Zell
                           // 2 - Irvine
                           // 3 - Quistis
                           // 4 - Rinoa
                           // 5 - Selphie
                           // 6 - Siefer
                           // 7 - Edea

UNKNOWN zz2[400];

FF8CONFIG config; // Configuration
FF8CHARID party[3]; // [3] Party
UNKNOWN zz22[5];
FF8STR griever[12]; // [8] Griever's name

UNKNOWN zz23[4];
UINT gil; // Gil
UNKNOWN zz24[4];

   FF8LMT   limits;
// BYTE limits[6]; // [6] Learned limit breaks
// [0]-[1] Quistis
// [2]-[3] Zell
// [4] Irvine
// [5] Selphie
BYTE combine_compl; // Rinoa's Combine: Angelo Abilities Completed
BYTE combine_known; // Rinoa's Combine: Angelo Abilities Known
BYTE combine_left[8]; // [8] Rinoa's Combine: Points left to learn different abilities
// [0] 'Angelo Rush' (max 10)
// [1] 'Angelo Recover' (max 30)
// [2] 'Angelo Reverse' (max 40)
// [3] 'Angelo Search' (max 60)
// [4] 'Angelo Cannon' (max 80)
// [5] 'Angelo Strike' (max 120)
// [6] 'Invincible Moon' (max 140)
// [7] 'Wishing Star' (max 160)

BYTE b_items[32]; // [32] Order of battle items
FF8ITEM items[198]; // [198] Items

UINT seconds; // Game time
UNKNOWN zz28[8];
UINT battleswon; // Number of battles won
UNKNOWN zz29[2];
USHORT battlesescaped; // Number of battles escaped
UNKNOWN zz30[60];
BYTE limit_options; // Limit break options (1:Renzokuken Auto, 2:Duel Auto)
BYTE limit_indicator; // Renzokuken indicator (128)
BYTE information0; // Bit 0 Party isolated / Dream world (1)
                           // Bit 1 Have Odin
                           // Bit 2 Have Phoenix
                           // Bit 3 Have Gilgamesh
                           // Bit 4 Rinoa can't summoon Angelo
                           // Bit 5 Rinoa can use Angle wings
                           // Bit 6 Unknown
                           // Bit 7 Unknown
BYTE information[9]; // [9] Information (bitmask)
// [0]1-8: Location information
// [2]1-8: Location information
// [3]1-4: Location information
// [3]5-8: Term information
// [4]1-8: Term information
// [5]1-6: Term information
// [5]7-8: People information
// [6]1-5: People information
// [6]6-8: Character reports
// [7]1-4: Character reports
// [8]3-3: Term information
// [8]4-6: Report information
UNKNOWN zz31;
BYTE gf_reports[3]; // [3] GF reports

UNKNOWN zz3[3];
BYTE testlevel; // Current written test level
UNKNOWN zz39[4];
FF8CHARID party_field[3]; // [3] Current field party ([0] = leader)
UNKNOWN zz395[7];
USHORT location; // Current location
USHORT location_last; // Last location (?)
UNKNOWN zz4[30];
UINT steps; // Number of steps taken
USHORT payslip; // Payslip steps
UNKNOWN zz5[6];
USHORT seedlevel; // SeeD Level
UNKNOWN zz55[66];

UNKNOWN zz550[2];
// USHORT location_last; // Last location ?
UNKNOWN zz551[186];

BYTE tt_rules[8]; // [8] Region game rules
BYTE tt_traderules[8]; // [8] Region trade rules
BYTE tt_lastrules[2]; // [2] Last game rules remembered ([1] = second to last)
BYTE tt_lastregion[2]; // [2] Last region remembered ([1] = second to last)
UNKNOWN zz555;
BYTE tt_currules; // Current game rule
BYTE tt_curtraderule; // Current trade rules
BYTE tt_cardqueen; // Card Queen's location
BYTE tt_traderating_region; // Region for trade rating
BYTE tt_traderating; // Trade rating

UNKNOWN zz6[1110];
FF8CARD cards[77]; // [77] Cards (bit 8=collected, bit 1-7=amount)
BYTE card_locations[33]; // [33] Card locations
BYTE cards_rare[5]; // [5] Rare cards found (bFound[i] = cardsfound[i/8] & (1 << (i%8)))
UNKNOWN zz7[9];

USHORT test1;
USHORT test2;
FF8CHOCOBO cw; // Chocobo World data
USHORT checksum2; // Checksum (identical to checksum1)
BYTE padding[2782]; // Padding, makes save block 8192 bytes
};

#endif


Have fun .. with this .. the changes are realtively small but make it easier to read.  the information bit fields still have a way to go.. namely I have to go through the game and watch every tutorial and do everything in the game etc. (sigh).

Cyb

1469
Troubleshooting / Background viewer
« on: 2002-11-19 15:34:51 »
FF7 has a lot of bitmap layers in it, be sure that the black areas you see aren't actually behind something.  A good way to guess this is to examine the scene in FF7 whilst it's running.. if you can run behind an object (which all areas in FF7 are pretty much 2d overlayed bitmaps) that's a bitmap then that object will likely be BLACK in the background.  There are a large number of images used in each 'scene' in the game, in some places more than others.

Trivia time! The reason that Square went with 2d drawn background and images is because the GTE (Geometry transform engine) on the playstation did not support sub pixel positioning.  If you ever play this game on an emulator you'll see gaps and things in the 3d models on ocassion. this is why.  A large detailed area like the scenes used in FF7 would take a long time to assemble in 3d and display too many artifacts in it, thus it was easier and faster to just draw them.  On the playstation it looked better too :)

Cyb

Pages: 1 ... 54 55 56 57 58 [59]