Author Topic: Larger Tables  (Read 9404 times)

0 Members and 1 Guest are viewing this topic.

Offline EAD_Agamemnon

  • 28
  • Fuzzy Wuzzy wasn't very Fuzzy Was He?
1 gig? MAN YOU CRAZY!
It took me over 300 pages of writing just to break the 1 megabyte mark...and that was writing something I REALLY wanted to right. (no and I dont mean code ... I not a coder)
"Never start a fight, but always finish it."  - Captain John Sheridan
-------
In Diffucult Ground; Press On
In Encircled Ground; Devise Strategems
In Death Ground; FIGHT!

Sun Tzu on The Art of War circa 400 B.C.

 

Offline phreak

  • Gun Phreak
  • 211
  • -1
in the future i'd like to be using binary tables which would just basically be the contents of the weapon_info array spit out in a file, with some minor changes.  There'd probably be some program outside of freespace in order to compress them.  Hell, i wouldn't mind some XML based gui table creator dealie.
Offically approved by Ebola Virus Man :wtf:
phreakscp - gtalk
phreak317#7583 - discord

 

Offline WMCoolmon

  • Purveyor of space crack
  • 213
It would have not noticeable effects on load times, disk usage (especially with CVPs), and it would create severe accessibility overhead. It'd also require a completely new TBL-parsing system so that the tables didn't go out of date as soon as somebody added an extra field. Either that, or you'd have to add loading functions that everybody would have to change every time they changed one of the structs. Or I suppose you could change all the handles in the struct to string representations and force their relevant arrays to be searched every time the struct is accessed, adding hundreds of extra function calls per frame.

Not to mention the extra overhead involved in creating an application and maintaining it with the changing FS2_Open table parsing.

Finally, most modders simply prefer the table files. And quite frankly, anyone who can't learn how to use a table file would probably have severe problems doing any modding.
-C

 

Offline Getter Robo G

  • 211
  • Elite Super Robot Pilot
"Like me!"

 :nervous: *Frack, I got so caught up in that I forgot to use my inner voice...*

This may sound lazy, but I woudl love a pre-checker that you could throw your ship/weapon entry into that at the very least would tell you it won't crash fred, mission load up, or game play.

This would not mean it's not bugged or even fubar to begin with (you still need half a brain for that)

BUT when it tells you things are missing "X token in weapons" and so you GO there and "X" is there, it makes me go WTF is really wrong!?!?

SO a parsing helper/checker would be a great help especially for the newb/noob modder. It would cut down significantly on things that might go missing by accident as well as the old "find the bug that's crashing the table".

Just a friendly suggestion angled from the lay person perspective.  :D

 
"Don't think of it as being out-numbered, think of it as having a WIDE target selection!"

"I am the one and ONLY Star Dragon..."
Proof for the noobs:  Member Search

[I'm Just an idea guy, NOT: a modeler, texturer, or coder... Word of advice, "Watch out for the ducks!"]

Robotech II - Continuing...
FS2 Trek - Snails move faster than me...
Star Blazers: Journey to Iscandar...
FS GUNDAM - The Myth lives on... :)

 
I hear that! ;)
SCP is the greatest cause of Inferiority Complexes in those that can't run it

 

Offline TrashMan

  • T-tower Avenger. srsly.
  • 213
  • God-Emperor of your kind!
    • FLAMES OF WAR
Agreed.. A debug build SHOWERS me with errors, yet teh game works!

Things like, "ballistic primaries" are no longer needed, you have not specified PBank capacity, can't find Mekhu_Glow.. or stuff like that??? I mean W.T.F???
Nobody dies as a virgin - the life ****s us all!

You're a wrongularity from which no right can escape!

 

Offline takashi

  • Better than TrashMan
  • 29
check your root_fs2.vp! it contains the root files you find in folders like "models" and "maps"! find "mehku glow" and extract it from that file.

you may need VPview though, found in karajormas freespace FAQ. its in the "tools" section.

 

Offline Getter Robo G

  • 211
  • Elite Super Robot Pilot
Technically you only do that if you intend to modify it to look a different way,  as that will override the file that's in the VP... But it's crazy enough to work (sounds like some of the stuff I do)...

"Don't think of it as being out-numbered, think of it as having a WIDE target selection!"

"I am the one and ONLY Star Dragon..."
Proof for the noobs:  Member Search

[I'm Just an idea guy, NOT: a modeler, texturer, or coder... Word of advice, "Watch out for the ducks!"]

Robotech II - Continuing...
FS2 Trek - Snails move faster than me...
Star Blazers: Journey to Iscandar...
FS GUNDAM - The Myth lives on... :)

 

Offline WMCoolmon

  • Purveyor of space crack
  • 213
You're not going to get anything better than the fs2_open parser with a new program. Just because somebody makes a new program doesn't necessarily mean that the errors are going to be any more understandable.

Just because you haven't gotten a coder to work on making the errors a bit clearer doesn't mean that giving up on the whole thing is going to fix anything. If somebody can tell me the exact error they want changed, and to what, I can do it in about two minutes. I haven't done so because I've only heard of occasional complaints about the errors, in cases where something odd was afoot (Understanding of the error/warning was not an issue). This whole "The parse errors are worthless" spiel is news to me.
-C

 

Offline takashi

  • Better than TrashMan
  • 29
im showered with parse error using modded installs (i have 5). and it works. but things can go wrong with a parse errors. like invisible ships (cant parse a ship model entry) or lasers being to long (weapon parse errors. maybe you should have put a "." in that 5 and a fraction length when converting it to a decimal, or did research on the freespace wiki). parse errors are usualy worthless (for me), but can be symptoms of much bigger problems.

 

Offline Wanderer

  • Wiki Warrior
  • 211
  • Mostly harmless
How about just running debug build (or fred debug) and fixing the darn errors? It doesn't require higher maths or anything. Often the debug even tells you what to change. With ballistics the error - or actually just a warning - even states what is wrong with your entry. Lazy modders are the problem not the table parsing.

If you cant fix the error(s) post it (those) to modding forum for others to take a look at it (those).


This may sound lazy, but I woudl love a pre-checker that you could throw your ship/weapon entry into that at the very least would tell you it won't crash fred, mission load up, or game play.
Err... That is what the debug does both at table parsing (when you start the game) and also at model load (either at mission load or lab).

Quote
SO a parsing helper/checker would be a great help especially for the newb/noob modder. It would cut down significantly on things that might go missing by accident as well as the old "find the bug that's crashing the table".
It would be outdated as soon as next new feature is added to the tables... on the other hand debugs are almost always up-to-date.
« Last Edit: March 03, 2007, 02:28:27 am by Wanderer »
Do not meddle in the affairs of coders for they are soggy and hard to light

 

Offline karajorma

  • King Louie - Jungle VIP
  • Administrator
  • 214
    • Karajorma's Freespace FAQ
Exactly. You don't need a pre-checker. Yes it might be convenient for you but some poor sod is going to have to keep it up to date with the latest SCP additions and that's not an easy task. Especially when you consider that the 3.6.9 and 3.7 branches actually have some differences that need to taken into account unless you want to have two pre-checkers.

I've got no interest in doing all that work for someone who can't be bothered to just run a debug build and I'll be very surprised if one of the other coders is.
Karajorma's Freespace FAQ. It's almost like asking me yourself.

[ Diaspora ] - [ Seeds Of Rebellion ] - [ Mind Games ]

 

Offline takashi

  • Better than TrashMan
  • 29
on the list of fres-crashing parse error filled things: most ships offa hades-combine. SERIOUSLY. people. stop using those tabs! i use the debug build so much now theres a shortcut for it!

 

Offline jr2

  • The Mail Man
  • 212
  • It's prounounced jayartoo 0x6A7232
    • Steam
... just use Notepad, open it up, type in a "TAB", select the tab, copy it to the clipboard.
The code below is only visible in IE, or IETab, sorry.  (That's because Firefox knows better!  :p )
Code: [Select]
Then, open the offending mission/table/whatever.
Use "Edit > Replace", under "Find what:", hit CTRL+V to past.  (Notice the nice little familiar square the pops up in the box.)
Under "Replace with:" type three spaces.
Click the "Replace All" button.

 

Offline takashi

  • Better than TrashMan
  • 29
it did this, but only to ship table entrys

Code: [Select]
#Ship Classes

;-----------------------------------------------
;
$Name:                          AF Kato
$Short name:            AFight
$Species:                       Terran
+Type:                          XSTR("Space Superiority", 2939)
+Maneuverability:       XSTR("Excellent", 2940)+Armor:                         XSTR("Light", 2941)+Manufacturer:          XSTR("MA Technologies", 2942)+Description:         XSTR( " ", 2943)$end_multi_text+Tech Description:XSTR("This is the main fighter of the Ancient fleet comprising nearly one third of all Ancient fighter groups. It has a mediocre hull and a fair shield, making a few direct hits enough to destroy it. However the Kato's maneuverability and speed are superb, this coupled with two banks of three primaries, and two secondary banks, makes the Kato one of the most dangerous fighters that have ever been encountered. ", 2944)$end_multi_text+Length:          10 m+Gun Mounts:      6+Missile Banks:   2$POF file:                      Kato.pof$Detail distance:       (0, 100, 900, 2000)$ND:                154 172 184$ND:                103 159 158$ND:                52 101 210$ND:                172 113 220$ND:                67 117 108$ND:                88 122 211$ND:                153 143 171$ND:                118 127 156$ND:                156 140 160$ND:                145 126 145$ND:                123 99 32$Show damage:           YES$Density:                       2$Damp:                          0.10$Rotdamp:                       0.30$Max Velocity:          0.0, 0.0, 90.0                  ;; in x/y/z -- z only specified forward.  use special tokens for backward movement$Rotation time:         2.4, 1.9, 4.0$Rear Velocity:         60.0$Forward accel:         2.7$Forward decel:         1.5$Slide accel:           0.0$Slide decel:           0.0$Expl inner rad:        25.0$Expl outer rad:        55.0$Expl damage:           15.0$Expl blast:            1000.0$Expl Propagates:       NO                                                      ;; If set to Yes, then when the ship dies, the explosion propagates through it.$Shockwave Speed:       0.0                                             ;; speed shockwave expands at, 0 means no shockwave$Allowed PBanks:        ( "Pharnec" "Subach HL-7" "Akheton SDG" "Morning Star" "Prometheus S" "Prometheus R" "Lamprey" "Circe" "Maxim" "Targeting Laser")$Allowed Dogfight PBanks:        ( "Subach HL-D" "Prometheus D" )$Default PBanks:        ( "Pharnec" "Pharnec" )$Allowed SBanks:        ( "Rockeye" "Tempest"  "Hornet" "Tornado" "Hornet#Weak" "Harpoon" "Harpoon#Weak" "EMP Adv." "TAG-A" )$Allowed Dogfight SBanks:    ( "Tempest D"  "Hornet D" "Harpoon D" )$Default SBanks:        ( "Harpoon" "Harpoon" )$SBank Capacity:        ( 20, 20 )$Shields:                       380$Shield Color:      255 255 75$Power Output:          2.0$Max Oclk Speed:        100.0$Max Weapon Eng:        60.0$Hitpoints:                     175$Flags:                         ( "player_ship" "default_player_ship" "fighter" "in tech database")$AI Class:                      Captain$Afterburner:           YES   +Aburn Max Vel: 0.0, 0.0, 140.0   +Aburn For accel:       0.7   +Aburn Fuel:            300.0   +Aburn Burn Rate:       50.0   +Aburn Rec Rate:        25.0$Countermeasures:       25$Scan time:                     2000$EngineSnd:       128                   ;; Engine sound of ship$Closeup_pos:           0.0, 0.0, -22$Closeup_zoom:          0.5$Shield_icon:           Katoshell$Ship_icon:                     katoicon$Ship_anim:                     Kato$Ship_overhead: loadKato$Score:             8$Trail:   +Offset:      -5.8 -6.6 1.6   +Start Width:   0.1   +End Width:   0.05   +Start Alpha:   1.0   +End Alpha:   0.0   +Max Life:   1.0   +Spew Time:   60   +Bitmap:   Contrail01$Trail:   +Offset:      5.8 -6.6 1.6   +Start Width:   0.1   +End Width:   0.05   +Start Alpha:   1.0   +End Alpha:   0.0   +Max Life:   1.0   +Spew Time:   60   +Bitmap:   Contrail01$Trail:   +Offset:      -7.5 -7.1 -1.3   +Start Width:   0.1   +End Width:   0.05   +Start Alpha:   1.0   +End Alpha:   0.0   +Max Life:   1.0   +Spew Time:   60   +Bitmap:   Contrail01$Trail:   +Offset:      7.5 -7.1 -1.3   +Start Width:   0.1   +End Width:   0.05   +Start Alpha:   1.0   +End Alpha:   0.0   +Max Life:   1.0   +Spew Time:   60   +Bitmap:   Contrail01$Trail:   +Offset:      0 -11.5 0   +Start Width:   0.3   +End Width:   0.05   +Start Alpha:   1.0   +End Alpha:   0.0   +Max Life:   1.0   +Spew Time:   60   +Bitmap:   Contrail01$Subsystem:                     communication,  10, 0$Subsystem:                     navigation,             10, 0$Subsystem:                     weapons,                        20, 0$Subsystem:                     sensors,                        10, 0$Subsystem:                     engine01,                        15, 0$Subsystem:                     engine01,                        15, 0#End
:

 

Offline jr2

  • The Mail Man
  • 212
  • It's prounounced jayartoo 0x6A7232
    • Steam
OK, good news is I don't see any tabs; bad news is there appears to be quite a few missing return (Enter) keys... which I think is why the tabs mess them up in the first place.  I noticed when you remove the tabs, some lines get merged, which makes me wonder if the FS2 Engine doesn't process tabs correctly.  The whole thing is rather confusing to me, and I wish I could correctly get a coder to see what I'm saying, so they could confirm or deny my suspicions...

EDIT: please post the original table using code /code.
« Last Edit: March 10, 2007, 01:51:13 am by jr2 »

 
Personally I'd like to see tables in XML.  We could use xml verifiers to validate the tables.
That's cool and ....disturbing at the same time o_o  - Vasudan Admiral

"Don't play games with me. You just killed someone I like, that is not a safe place to stand. I'm the Doctor. And you're in the biggest library in the universe. Look me up."

"Quick everyone out of the universe now!"

 

Offline taylor

  • Super SCP/Linux Guru
  • Moderator
  • 212
    • http://www.icculus.org/~taylor
The parser interprets spaces and tabs the same way, so there should be absolutely zero difference with how the game handles those.


Personally I'd like to see tables in XML.  We could use xml verifiers to validate the tables.
It's been suggested before, but not even a single tangible benefit was given for doing that.  A bunch of negatives, but no real positives over the current way parsing is handled.

  

Offline WMCoolmon

  • Purveyor of space crack
  • 213
OK, good news is I don't see any tabs; bad news is there appears to be quite a few missing return (Enter) keys... which I think is why the tabs mess them up in the first place.  I noticed when you remove the tabs, some lines get merged, which makes me wonder if the FS2 Engine doesn't process tabs correctly.  The whole thing is rather confusing to me, and I wish I could correctly get a coder to see what I'm saying, so they could confirm or deny my suspicions...

EDIT: please post the original table using code /code.

I'm skeptical...FS2Open doesn't have any builtin writing code for tables, as far as I know, so that means what you put in should be what you receive out. The table itself should never be changed when FS2Open is run, although it is of course possible that FS2Open is still not reading it properly.

Since tables are never saved, though, that shouldn't matter.
-C

 

Offline takashi

  • Better than TrashMan
  • 29
Code: [Select]
#Ship Classes


;------------------------------------------------------------
;

$Name:                          AF Kato

$Short name:            AFight

$Species:                       Terran

+Type:                          XSTR("Space Superiority", 2939)

+Maneuverability:       XSTR("Excellent", 2940)

+Armor:                         XSTR("Light", 2941)

+Manufacturer:          XSTR("MA Technologies", 2942)

+Description: XSTR( " ", 2943)

$end_multi_text

+Tech Description:

XSTR("This is the main fighter of the Ancient fleet comprising nearly one third of all Ancient fighter groups. It has a mediocre hull and a fair shield, making a few direct hits enough to destroy it. However the Kato's maneuverability and speed are superb, this coupled with two banks of three primaries, and two secondary banks, makes the Kato one of the most dangerous fighters that have ever been encountered. ", 2944)

$end_multi_text

+Length:          10 m

+Gun Mounts:      6

+Missile Banks:   2

$POF file:                      Kato.pof

$Detail distance:       (0, 100, 900, 2000)

$ND: 154 172 184

$ND: 103 159 158

$ND: 52 101 210

$ND: 172 113 220

$ND: 67 117 108

$ND: 88 122 211

$ND: 153 143 171

$ND: 118 127 156

$ND: 156 140 160

$ND: 145 126 145

$ND: 123 99 32

$Show damage:           YES

$Density:                       2

$Damp:                          0.10

$Rotdamp:                       0.30

$Max Velocity:          0.0, 0.0, 90.0                  ;; in x/y/z -- z only specified forward.  use special tokens for backward movement

$Rotation time:         2.4, 1.9, 4.0

$Rear Velocity:         60.0

$Forward accel:         2.7

$Forward decel:         1.5

$Slide accel:           0.0

$Slide decel:           0.0

$Expl inner rad:        25.0

$Expl outer rad:        55.0

$Expl damage:           15.0

$Expl blast:            1000.0

$Expl Propagates:       NO                                                      ;; If set to Yes, then when the ship dies, the explosion propagates through it.

$Shockwave Speed:       0.0                                             ;; speed shockwave expands at, 0 means no shockwave

$Allowed PBanks:        ( "Pharnec" "Subach HL-7" "Akheton SDG" "Morning Star" "Prometheus S" "Prometheus R" "Lamprey" "Circe" "Maxim" "Targeting Laser")

$Allowed Dogfight PBanks:        ( "Subach HL-D" "Prometheus D" )

$Default PBanks:        ( "Pharnec" "Pharnec" )

$Allowed SBanks:        ( "Rockeye" "Tempest"  "Hornet" "Tornado" "Hornet#Weak" "Harpoon" "Harpoon#Weak" "EMP Adv." "TAG-A" )

$Allowed Dogfight SBanks:    ( "Tempest D"  "Hornet D" "Harpoon D" )

$Default SBanks:        ( "Harpoon" "Harpoon" )

$SBank Capacity:        ( 20, 20 )

$Shields:                       380

$Shield Color: 255 255 75

$Power Output:          2.0

$Max Oclk Speed:        100.0

$Max Weapon Eng:        60.0

$Hitpoints:                     175

$Flags:                         ( "player_ship" "default_player_ship" "fighter" "in tech database")

$AI Class:                      Captain

$Afterburner:           YES

+Aburn Max Vel: 0.0, 0.0, 140.0

+Aburn For accel:       0.7

+Aburn Fuel:            300.0

+Aburn Burn Rate:       50.0

+Aburn Rec Rate:        25.0

$Countermeasures:       25

$Scan time:                     2000

$EngineSnd:       128                   ;; Engine sound of ship

$Closeup_pos:           0.0, 0.0, -22

$Closeup_zoom:          0.5

$Shield_icon:           Katoshell

$Ship_icon:                     katoicon

$Ship_anim:                     Kato

$Ship_overhead: loadKato

$Score:             8

$Trail:

+Offset: -5.8 -6.6 1.6

+Start Width: 0.1

+End Width: 0.05

+Start Alpha: 1.0

+End Alpha: 0.0

+Max Life: 1.0

+Spew Time: 60

+Bitmap: Contrail01

$Trail:

+Offset: 5.8 -6.6 1.6

+Start Width: 0.1

+End Width: 0.05

+Start Alpha: 1.0

+End Alpha: 0.0

+Max Life: 1.0

+Spew Time: 60

+Bitmap: Contrail01

$Trail:

+Offset: -7.5 -7.1 -1.3

+Start Width: 0.1

+End Width: 0.05

+Start Alpha: 1.0

+End Alpha: 0.0

+Max Life: 1.0

+Spew Time: 60

+Bitmap: Contrail01

$Trail:

+Offset: 7.5 -7.1 -1.3

+Start Width: 0.1

+End Width: 0.05

+Start Alpha: 1.0

+End Alpha: 0.0

+Max Life: 1.0

+Spew Time: 60

+Bitmap: Contrail01

$Trail:

+Offset: 0 -11.5 0

+Start Width: 0.5

+End Width: 0.3

+Start Alpha: 1.0

+End Alpha: 0.3

+Max Life: 1.0

+Spew Time: 70

+Bitmap: Contrail01

$Subsystem:                     communication,  10, 0

$Subsystem:                     navigation,             10, 0

$Subsystem:                     weapons,                        20, 0

$Subsystem:                     sensors,                        10, 0

$Subsystem:                     engine01,                        15, 0

$Subsystem:                     engine01,                        15, 0



#End