Here's some of the information I've deciphered about PRF files for various parts.
Hopefully, we'll get a PRF generating program put together that uses this info some day,
but you can play around with things manually for now.
ITEMS:
$4c = Sets "linked pedestal" for this Symbol Item (ie $09 here means
this Item is key for Pedestal with $09 at $6a in its PRF)
OBJECTS:
$40-$4B - Collision shape size
$40-$44= height
$45-$47= width (or radius)
$48-$4b= length
Common Sizes:
00000000=none
cdcccc3d=.1
0000803f=1
00004040=3
0000a040=5
0000e040=7
$4c-$4f = probably unused.
$50 = Toggle collision data shape - 00= square 01= round
$51 = Toggle moving 2nd texture (like Fountain) - 00= normal, 01= 2nd texture moves
$52 = Object Type
$00 = normal
$0a = Light Source
$14 = Box
$15 = Chest
$16 = Corpse
$28 = Switch
$54-55 = Loads Flame type animation (no motion)=
FFFF= normal (no flame)
0B00= Wall lamp2 flame
oC00= Floor lamp2 flame
3200= wall of light2
3300= wall of light2
3400= Fountain splash
3700= wall of light3
3800= wall of light4
c401= Floor lamp3 flame
$57 = Controls Flame Type Animation speed
(seems to indicate speed? lower value= slower cycle)
00= Off (Normal)
1E= Flame animation normal speed
$6a = Sets Pedestals Symbol Item (ie $09 here means
'Item with $09 at $4c in its PRF is key)
$6B = XY Adjust setting
00 = disabled
01 = enabled
Enemy PRFs:
$00-1d = Enemy's name for Parameter Editor
$1f- 3e = Name of enemy's MDL model
$40 = External texture file setting
00= No external texture
01= Has external texture
$41-4e = External texture's name
Enemy's Behavior:
$60 = A split digit code
First digit= movement mode
0= normal movement (falls to floor)
1= Flying, no walk, turn when idle
2= Flying, normal movement
5= Flying, no walk, no turn when idle (Stone face)
Second Digit= enable editor behavior options
0= normal? (Mantis, Slime, Dragon, Goblin1-2)
1= normal? (Zombie1,kobalt,minotaur etc)
2= normal? (Jellyfish, pixie, Phantom)
3= normal? (Worm, Gremlin, StomeFace)
4= enable avoid (Demon1-2)
5= enable avoid (GillMan,Griffon,Lizardman2 etc)
9= enable defend (Golem4-5,Guardian1-3, LizardMan etc))
Example: $22 is a flying enemy that walks and turns when standing idle
$61 = 'Trigger' setting - 00= disable, 01= allow
Enemy's Shape:
$64-6f = collision shape
$64-$67 = Collision/hit cylinder height
$68-$6b = Shadow cylinder radius (forces collision shape to enlarge with it)
$6c-$6f = Collision/hit cylinder radius
Common Sizes:
00000000=none
cdcccc3d=.1
0000803f=1
00000040=2
00008040=4
0000c040=6
Enemy Attack Information:
$80 = Direct attack1 1st hit damage timing
$81 = Direct attack1 2nd hit damage timing
$82 = Direct attack1 3rd hit damage timing
$83 = Direct attack2 1st hit damage timing
$84 = Direct attack2 2nd hit damage timing
$85 = Direct attack2 3rd hit damage timing
$86 = Direct attack3 1st hit damage timing
$87 = Direct attack3 2nd hit damage timing
$88 = Direct attack3 3rd hit damage timing
(Note: Need significant time between hits or won't register ie $5)
$90= Number of Direct Attacks available for this model 00= none, 03=three etc
$91= Number of Indirect Attacks available for this model 00= none, 03=three etc
$92-a5 = 1st direct attack name
$a7-ba = 2nd direct attack name
$bc-cf = 3rd direct attack name
$d1-e4 = 1st indirect attack name
$e6-f9 = 2nd indirect attack name
$fb-10d = 3rd indirect attack name
SND file Sounds in Enemy PRFs:
The bytes toward the end of the file select which sound effects are played during an animation. They are listed in the order of their associated animation's number-name. So listed first would be the 'Idle' sound effect (animation set #00) and lastly would be their 'Getting Hit' sound effect (animation set #20).
Some animation sets use multiple sound effects which are listed in sequence. For example, walking uses two separate 'step' sounds and some indirect attacks (spells) play multiple sounds in a row.
The sound effects are listed in 2 bytes that correspond to the SND file's number-name, but the hex number is reversed so '0A 01' in PRF should be read '01 0A' aka $10A = 266 = 0266.snd
There are two bytes of unknown purpose (maybe playback duration) in between each listed SND.
In the attached picture, some of the SND file references are highlighted. The yellow "d5 00" at the very end is the "animation set #20" 'Getting Hit' sound.
Since this enemy only has 2 indirect attacks, the second-to-last SND (pink "37 03") lists the sound for "animation set #16" which is Indirect Attack #2 and so on.
SoM only recognizes SND files numbered 1023 or lower- which is hex value "FF 03" as it would appear when reversed in a PRF file.
Hopefully, we'll get a PRF generating program put together that uses this info some day,
but you can play around with things manually for now.
ITEMS:
$4c = Sets "linked pedestal" for this Symbol Item (ie $09 here means
this Item is key for Pedestal with $09 at $6a in its PRF)
OBJECTS:
$40-$4B - Collision shape size
$40-$44= height
$45-$47= width (or radius)
$48-$4b= length
Common Sizes:
00000000=none
cdcccc3d=.1
0000803f=1
00004040=3
0000a040=5
0000e040=7
$4c-$4f = probably unused.
$50 = Toggle collision data shape - 00= square 01= round
$51 = Toggle moving 2nd texture (like Fountain) - 00= normal, 01= 2nd texture moves
$52 = Object Type
$00 = normal
$0a = Light Source
$14 = Box
$15 = Chest
$16 = Corpse
$28 = Switch
$54-55 = Loads Flame type animation (no motion)=
FFFF= normal (no flame)
0B00= Wall lamp2 flame
oC00= Floor lamp2 flame
3200= wall of light2
3300= wall of light2
3400= Fountain splash
3700= wall of light3
3800= wall of light4
c401= Floor lamp3 flame
$57 = Controls Flame Type Animation speed
(seems to indicate speed? lower value= slower cycle)
00= Off (Normal)
1E= Flame animation normal speed
$6a = Sets Pedestals Symbol Item (ie $09 here means
'Item with $09 at $4c in its PRF is key)
$6B = XY Adjust setting
00 = disabled
01 = enabled
Enemy PRFs:
$00-1d = Enemy's name for Parameter Editor
$1f- 3e = Name of enemy's MDL model
$40 = External texture file setting
00= No external texture
01= Has external texture
$41-4e = External texture's name
Enemy's Behavior:
$60 = A split digit code
First digit= movement mode
0= normal movement (falls to floor)
1= Flying, no walk, turn when idle
2= Flying, normal movement
5= Flying, no walk, no turn when idle (Stone face)
Second Digit= enable editor behavior options
0= normal? (Mantis, Slime, Dragon, Goblin1-2)
1= normal? (Zombie1,kobalt,minotaur etc)
2= normal? (Jellyfish, pixie, Phantom)
3= normal? (Worm, Gremlin, StomeFace)
4= enable avoid (Demon1-2)
5= enable avoid (GillMan,Griffon,Lizardman2 etc)
9= enable defend (Golem4-5,Guardian1-3, LizardMan etc))
Example: $22 is a flying enemy that walks and turns when standing idle
$61 = 'Trigger' setting - 00= disable, 01= allow
Enemy's Shape:
$64-6f = collision shape
$64-$67 = Collision/hit cylinder height
$68-$6b = Shadow cylinder radius (forces collision shape to enlarge with it)
$6c-$6f = Collision/hit cylinder radius
Common Sizes:
00000000=none
cdcccc3d=.1
0000803f=1
00000040=2
00008040=4
0000c040=6
Enemy Attack Information:
$80 = Direct attack1 1st hit damage timing
$81 = Direct attack1 2nd hit damage timing
$82 = Direct attack1 3rd hit damage timing
$83 = Direct attack2 1st hit damage timing
$84 = Direct attack2 2nd hit damage timing
$85 = Direct attack2 3rd hit damage timing
$86 = Direct attack3 1st hit damage timing
$87 = Direct attack3 2nd hit damage timing
$88 = Direct attack3 3rd hit damage timing
(Note: Need significant time between hits or won't register ie $5)
$90= Number of Direct Attacks available for this model 00= none, 03=three etc
$91= Number of Indirect Attacks available for this model 00= none, 03=three etc
$92-a5 = 1st direct attack name
$a7-ba = 2nd direct attack name
$bc-cf = 3rd direct attack name
$d1-e4 = 1st indirect attack name
$e6-f9 = 2nd indirect attack name
$fb-10d = 3rd indirect attack name
SND file Sounds in Enemy PRFs:
The bytes toward the end of the file select which sound effects are played during an animation. They are listed in the order of their associated animation's number-name. So listed first would be the 'Idle' sound effect (animation set #00) and lastly would be their 'Getting Hit' sound effect (animation set #20).
Some animation sets use multiple sound effects which are listed in sequence. For example, walking uses two separate 'step' sounds and some indirect attacks (spells) play multiple sounds in a row.
The sound effects are listed in 2 bytes that correspond to the SND file's number-name, but the hex number is reversed so '0A 01' in PRF should be read '01 0A' aka $10A = 266 = 0266.snd
There are two bytes of unknown purpose (maybe playback duration) in between each listed SND.
In the attached picture, some of the SND file references are highlighted. The yellow "d5 00" at the very end is the "animation set #20" 'Getting Hit' sound.
Since this enemy only has 2 indirect attacks, the second-to-last SND (pink "37 03") lists the sound for "animation set #16" which is Indirect Attack #2 and so on.
SoM only recognizes SND files numbered 1023 or lower- which is hex value "FF 03" as it would appear when reversed in a PRF file.