About the .HRC file type...........

  • Thread starter Thread starter The SaiNt
  • Start date Start date
Status
Not open for further replies.
T

The SaiNt

Guest
Anyone can help me out here?
The following is an example of a hrc file:HEADER_BLOCK 2
:SKELETON n_sefiros_sk
:BONES 23

hip
root
1.6143456
1 BKHE

chest
hip
5.073813
1 BKIA

head
chest
4.5480328
1 BKIC

non_1
head
5.7248783
0

kami
non_1
14.583745
1 BKJB

l_chest
hip
4.7595735
0

l_collar
l_chest
2.3108385
0

l_uparm
l_collar
3.4343264
1 BKJD

l_foarm
l_uparm
4.8168325
1 BKJF

l_hand
l_foarm
2.2786036
1 BLAB

r_chest
hip
4.7595735
0

r_collar
r_chest
2.3108385
0

r_uparm
r_collar
3.4343264
1 BLAD

r_foarm
r_uparm
4.8168325
1 BLAF

r_hand
r_foarm
2.2786036
1 BLBB

l_hip
root
1.8991876
0

l_femur
l_hip
7.0923777
1 BLBD

l_tibia
l_femur
7.99837
1 BLBF

l_foot
l_tibia
6.756432
1 BLCB

r_hip
root
1.8991876
0

r_femur
r_hip
7.0923777
1 BLCD

r_tibia
r_femur
7.99837
1 BLCF

r_foot
r_tibia
6.756432
1 BLDB

What are numbers exactly for?
 
for a start this belongs in the tech area or game tweaking, look at the post about lgp editor and file types, a little discription is in that post, in the tech-related foroum.
 
woops!
Sorry! this is the tech-related area  :oops:!
my mistake!
 
The Skillster: (!) Hey, it happens. Now I don't feel bad at all about my torqueing Qhimm off with my double post the other day.The SaiNt: (Please keep in mind that I am only doing guesswork.) The decimal numbers? I am guessing they are either:
1. Onscreen coordinates of the specific part of the skeleton
2. Size of the specific part of the skeleton
3. ...or something else I was too stupid to think of.

I don't know if this helps, but if you can find the corresponding .rsd files then you have the individual info for each part of the skeleton... right?

Which .hrc in char.lgp? If you can supply that info, I can poke around and tell you if I come up with anything. Is this the Sephiroth skin by any chance? (n_sefiros_sk)    :wink:

I've puzzled over this before, but I'm afraid I still don't understand the .hrc structure. First it lists the header, then the... strings? Then something else that completely escapes me. The layout seems to follow an odd pattern (if pattern it is).

Headers:
1. Always have ":" in front of each line.
2. Always have the same three line format of
Line 1: The header block name (I don't understand it)
Line 2: The name of the skeleton
Line 3: The number of "bones" the skeleton has.

Strings/unknown
1. Always have four lines
2. First two lines are always a description of something (the specific part?)
3. Third line always has a decimal number (one digit whole number, decimal carried 5-7 spaces)
4. Sometimes the first two lines in the group have something at the beginning such as "1_", "r_".
5. The fourth line always has a single digit number (i.e. "0") and/or a four letter combination (i.e. "BKIA" or "0 BKIA"). The singled digit number is possibly binary as I've only seen ever seen the numbers "0" and "1" in these parts of .hrc files I've looked at.
6. Almost all of the four line strings/unknowns have a corresponding segment of another four lines further down the list. (i.e.
"hip
root
1.6143456
1 BKHE"

and

"l_hip
root
1.8991876
0")

These have the following differences:
(1) The first two lines are unaltered in cases such as "hip", and "root". Otherwise they are altered by adding something to the front of the word like "1_" or "r_". (Note that there are exceptions.)
(2) I have not bothered to check about this, but number of decimal spaces in the third line may be static. What I mean is that the number in the third line of each segment is carried to might be fixed (i.e. a segment and it's corresponding segment both have different numbers, but they have to have the same length. Example: The two seperate four line parts shown above. They are different numbers, but both have 5 decimal digits.)

Anyways, I'm stumped. Anyone know anything more about this?
Let me be the first to say I could be wrong about *any* part of this.

[This message has been edited by Srethron Askvelhtnod (edited January 04, 2001).]
 
The strings for each part: eg.head
chest
4.5480328
1 BKIC

First one (head) is name of this part. Second one (chest) is name of its "parent" part. Hip is the initial (root) part that has no parent.
The number might be a scale factor, don't know. The four letters are definitely a filename of something in the same LGP archive.
 
Keep in mind that these are object hierarchies (model skeletons).head
chest
4.5480328
1 BKIC
----------
'head' - node name
'chest' - name of parent node
'4.5480328' - distance to parent node (bone length)
'1 BKIC' - geometry file associated with this node


non_1
head
5.7248783
0
----------
'non_1' - node name
'head' - name of parent node
'5.7248783' - distance to parent node
'0' - empty geometry reference, this node has no associated geometry.


Skeletons are defined using angle/distance vectors. The bone lengths define the 'body proportions' of the model, while the node rotation info is stored in the .a files (not too hard to decode, stored as simple floats).
 
woah! this is going out of the realm of programming/hacking and into the realm of 3d graphics and polygonal positioning!
ill leave this topic for now, its starting to lose me  :(!
 
It's still programming ... tho I can understand if it's not the sort of programming you want to start off with!
 
Ok! Got it.
Just one more thing I wanted to say,
if I put chest
hip
5.073813
2 BKIA BKJF

I can put two parts together!
The 2 can be changed into anything else corresponding to the amount of parts added.

One more favour,
Qhimm,since you said its possible to decode the .a files, could you help me please. I really need to turn one of the parts around about 180 degrees i think. Thanks
 
Hey, I only said they were easy to decode, I don't know which values correspond to which angles. Just look through the files and you'll find floats like 180.0 and 90.0, then fiddle around with these values in your OpenGL app or whatever you're using.
 
The SaiNt: Thanks for the info.
Qhimm: At the risk of making an even bigger fool of myself...
Now, that part I don't understand. OpenGL? What does OpenGL have to do with modifying HRC files?   :-?

[This message has been edited by Srethron Askvelhtnod (edited January 05, 2001).]
 
OpenGL is a 3d API. It's pretty easy to program in, so if you were going to write some sort of 3d display program, you'd probably use it for a quick and easy solution. So, Qhimm's suggesting you knock up a OpenGL polygon displayer and feed the values in 'til you get some results.EDIT: Skillster: Yes, I got your email. I should mention now that I might be away from my computer for a week or two. I'll still be able to visit the message board and check email, but I won't have access to any of my files - so no updates to my programs. Not sure yet; but I may not be able to sort anything out soon.

[This message has been edited by ficedula (edited January 05, 2001).]
 
Hehe, one more problem.
How do I know which .a file to look in?
I can't seem to find a reference anywhere within the .hrc or .rsd files.
For eg:
I'm looking for the part BKFB but BKJB is the name of a .RSD file. In the RSD file all i see is@RSD940102
PLY=BKJC.PLY
MAT=BKJC.MAT
GRP=BKJC.GRP
NTEX=0

The references for the .PLY .MAT and .GRP seem to be in the .p files. I have no idea how you read the .p files so i'm stuck.

For those who want to know, in the .hrc file,

head
chest
4.5480328
1 BKIC

The no. 4.5480328
can be made a negative no.
like this -4.5480328


[This message has been edited by The SaiNt (edited January 06, 2001).]
 
Ficedula: Thanks again. I understand about being away. I'm not asking you to give up your personal life or anything.   :wink:The SaiNt: Thanks for all the info. It's a big help (believe it or not). I'm not sure,  but Qhimm may have a bit of code in several of his source files for reading .a and .p files (and Lgp.h  calls them Animation and Geometry).

[This message has been edited by Srethron Askvelhtnod (edited January 06, 2001).]
 
SaiNt: I'm sure if anybody here has got any further than you have at the moment. You might be on your own at this point.
'Course, it'd be nice for somebody to prove me wrong....
I have my PC again! Yay! So I *do* have access to all my files. Except I have a large technical report to write ... arg.
 
The SaiNt: Haven't made any progress yet. If I find something out, you'll be among the first to know. Have you checked Qhimm's source to see if there's any info there?Ficedula: Hey, at least it wasn't two weeks.
 
I *did* say 'might'. Didn't know what was happening until yesterday.
 
Status
Not open for further replies.
Back
Top