FF Logo
Hello Guest | Login | Register
Who's online?
1 user and 127 guests
Pages: [1 2 3 4 5]
Users Avatar
Cordite
Posts: 60
Joined: June 5, 2016, 19:21

0
(Y)

Posted: June 28, 2016, 1:07 Post #69
Thanks to monads, making a VPP parser was trivial.

λ: parseArchive "/Volumes/External/RedFaction/RedFaction/tables.vpp"
VPP File count: 29
VPP Files:
- "ammo.tbl" size 2944
- "clutter.tbl" size 164638
- "credits.tbl" size 4787
- "effects.tbl" size 21665
- "emitters.tbl" size 41610
- "endgame.tbl" size 8225
- "entity.tbl" size 374640
- "events.tbl" size 7136
- "explosion.tbl" size 5688
- "foley.tbl" size 82283
- "fpgun.tbl" size 42960
- "game.tbl" size 2424
- "hud.tbl" size 15931
- "hud_personas.tbl" size 908
- "items.tbl" size 19133
- "materials.tbl" size 2900
- "movemodes.tbl" size 3539
- "pc_multi.tbl" size 21947
- "personas.tbl" size 5463
- "ponr.tbl" size 8517
- "sounds.tbl" size 7951
- "strings.tbl" size 115860
- "vclip.tbl" size 24621
- "weapons.tbl" size 108890
- "maps.txt" size 13627
- "maps1.txt" size 37179
- "maps2.txt" size 37202
- "maps3.txt" size 37277
- "maps4.txt" size 37262
1424326
Parsed successfully!


It took 20 lines if you cut out the debug print stuff (as seen above).

Users Avatar
Cordite
Posts: 60
Joined: June 5, 2016, 19:21

0
(Y)

Posted: June 28, 2016, 22:35 Post #70
Looking over the TBL files.

Daaaaang, these people have so sense of consistency.

Users Avatar
Cordite
Posts: 60
Joined: June 5, 2016, 19:21

0
(Y)

Posted: July 3, 2016, 0:31 Post #71
Got the messy code together to parse TBL files into an intermediate AST

Not that I can extract useful data from it yet, but it's a start with formatted data.

[TBLElementHeader "particle emitter types"]
[]
[TBLElementIgnore]
[TBLElementKey "Name",TBLElementText "missile"]
[TBLElementKey "pos",TBLElementV3 (RFV3 {rfV3x = 0.0, rfV3y = 0.0, rfV3z = -0.5})]
[TBLElementKey "dir",TBLElementV3 (RFV3 {rfV3x = 0.0, rfV3y = 0.0, rfV3z = -1.0})]
[TBLElementKey "dir_rand",TBLElementFloat (-1.0)]
[TBLElementKey "min_vel",TBLElementFloat 0.0]
[TBLElementKey "max_vel",TBLElementFloat 0.25]
[TBLElementKey "spawn_radius",TBLElementFloat 0.0]
[TBLElementKey "min_spawn_delay",TBLElementFloat 0.0]
[TBLElementKey "max_spawn_delay",TBLElementFloat 0.0]
[TBLElementKey "emitter_flags",TBLElementText "immediate, continuous"]
[TBLElementKey "initially_on",TBLElementBool True]
[TBLElementKey "alternate_states",TBLElementBool False]
[TBLElementKey "min_life_secs",TBLElementFloat 0.6]
[TBLElementKey "max_life_secs",TBLElementFloat 1.3]
[TBLElementKey "min_pradius",TBLElementFloat 0.25]
[TBLElementKey "max_pradius",TBLElementFloat 0.5]
[TBLElementKey "growth_rate",TBLElementFloat 0.5]
[TBLElementKey "acceleration",TBLElementFloat 0.0]
[TBLElementKey "gravity_scale",TBLElementFloat (-5.0e-2)]
[TBLElementKey "bitmap",TBLElementText "smoketest.tga"]
[TBLElementKey "particle color",TBLElementIntVec [255,255,255,64]]
[TBLElementKey "particle color dest",TBLElementIntVec [255,255,255,0]]
[TBLElementKey "particle flags",TBLElementText "gravity, clr_change"]
[TBLElementHeader "end"]

Users Avatar
Cordite
Posts: 60
Joined: June 5, 2016, 19:21

0
(Y)

Posted: July 5, 2016, 16:55 Post #72
Quoting 2kool4skool
now parse the animation files :124:


What, no gif?

Before I get to that, I should probably try to get TGAs and static geo working in a generic rendering pipeline.

Users Avatar
Cordite
Posts: 60
Joined: June 5, 2016, 19:21

0
(Y)

Posted: July 11, 2016, 2:34 Post #73
Wooohooo

I'm sorta drawing it noooow https://youtu.be/xl9-h4fvkXU

The only problem is that I don't have the polygon face thing figured out.

Right now I'm just using a rolling triangle thing, which seems to be functioning for the most part, but doesn't match what ever RF is doing. Guess I might poke at open faction.

Users Avatar
Cordite
Posts: 60
Joined: June 5, 2016, 19:21

0
(Y)

Posted: July 11, 2016, 22:33 Post #74
Tried the idea I had this morning before going to work.

Worked perfectly!
https://youtu.be/-K0zLR3mMtM

Level 1 seems to have loaded as expected.
Now to bring in some textures.

Users Avatar
Cordite
Posts: 60
Joined: June 5, 2016, 19:21

0
(Y)

Posted: July 12, 2016, 10:22 Post #75
Behold!

https://youtu.be/UTAM0HGTplM

Textures!

I can load from a single VPP, need to figure out the VPP-layering so I can get multiple textures.

Looks like level 1 roof is in maps 2 and level 1 floor is in maps 3. (or the opposite)

Users Avatar
Cordite
Posts: 60
Joined: June 5, 2016, 19:21

0
(Y)

Posted: July 13, 2016, 0:16 Post #76
Now I got multi-VPP support.

https://youtu.be/kRXyaTrbFBw


Users Avatar
Cordite
Posts: 60
Joined: June 5, 2016, 19:21

0
(Y)

Posted: July 13, 2016, 3:38 Post #77
And now for a couple more level files.
https://youtu.be/6OLTHmMUah4

Users Avatar
digi
Posts: 400
Joined: September 11, 2009, 17:01

0
(Y)

Posted: July 13, 2016, 14:19 Post #78
cool

AFAIK the textures are split up into maps*.vpp essentially randomly

Users Avatar
Cordite
Posts: 60
Joined: June 5, 2016, 19:21

0
(Y)

Posted: July 13, 2016, 19:18 Post #79
Quoting digi
cool

AFAIK the textures are split up into maps*.vpp essentially randomly

Yeah, I got those loaded now, which is why Level 1 has both the ceiling and floor, as well as maps_en for things like posters.

Gonna have to figure out why the others are not loading though.

I can probably hide the portal faces.

Users Avatar
Goober
Posts: 284
Joined: September 11, 2009, 19:58

0
(Y)

Posted: July 16, 2016, 12:20 Post #80
Quoting 2kool4skool

when/if you do the lightmaps, try recalculating them based off the lights, because RF's lightmaps are so low res, it's sad


I second this. RED even has better lightmaps than the game does...

Disclaimer: I'm talking about lightmaps directly after you calculate them in RED - if you save a .rfl and reload it in RED, it shows you shitty lightmaps.

Users Avatar
Cordite
Posts: 60
Joined: June 5, 2016, 19:21

0
(Y)

Posted: July 16, 2016, 19:56 Post #81
Quoting Goober
if you save a .rfl and reload it in RED, it shows you shitty lightmaps.


Hahaha, sure. I guess I can. Though first I need to break it up so I have independent mesh control and camera control.

Still not sure what to do about the broken textures though.

Users Avatar
Cordite
Posts: 60
Joined: June 5, 2016, 19:21

0
(Y)

Posted: July 17, 2016, 23:51 Post #82
Got the rooms separated now, and I have basic things done for independent mesh position control.

https://youtu.be/kJ1cwzjvBUk

Users Avatar
Cordite
Posts: 60
Joined: June 5, 2016, 19:21

0
(Y)

Posted: July 19, 2016, 13:33 Post #83
https://youtu.be/p8f0MYzICHE stage two of wobbly is success

This demonstrates mesh-level matrix support (instead of a global set of translate and transforms that get calculated on each vertex)

The next step would be moving to mesh sets, meshes, and sub meshes.

Users Avatar
Cordite
Posts: 60
Joined: June 5, 2016, 19:21

0
(Y)

Posted: August 30, 2016, 6:14 Post #84
Posted Image

My work is in crunch mode lately, so I haven't had my brain and energy to myself.

Don't worry, :v

Pages: [1 2 3 4 5]

© 2009-2020 Faction Files

Page generated in 0.051 seconds