Author Topic: jTBLEdit 0.1 Alpha  (Read 9334 times)

0 Members and 1 Guest are viewing this topic.

Offline m!m

  • 211
As described in this thread I'm working on a Table editor with some neat features.
Major features are:
  • Syntax highlighting
  • Parsing of table files to generate a table outline
  • Documentation of table elements
  • Table to spreadsheet exporter (currently supported formats: CSV, XLS)
  • (limited) Content assist
  • Open tables out of VP files
  • A wizard to create table files with help of templates

To install download the main package and the associated QT libraries.
Extract the files to a folder (important: both zip have to be extracted into the same folder) and then start it by launching jTBLEdit.jar.
WARNING: This program is far from being finished and you might encounter bugs and even crashes.
Please report bugs in this thread but I'm also open to feature requests or general comments. :)

The QT library package does only include libraries for Windows. I'll post instructions for other platforms on request. The program is absolutely platform independent as long as the platform supports Java and an appropriate QT package exists.

PS: Happy new Year! ;)

EDIT: I updated the main package to version 0.1.1a.
« Last Edit: January 10, 2011, 06:35:11 am by m!m »

 
This is great :)

You've said 'limited content assist'. I thought about how to do this quite a while ago, the best idea I came up with was to hook the table reading functions (I can't remember what they're called any more) to obtain the engine's expectations for the tables, and then have a variety of people playing different mods/etc (because tables have optional fields!) play to give a representation of what the engine sees.

It would be great if whatever you come up with is really modular in its structure - I can see other utilities (eg table validation for handwritten tables) benefitting from the work you're doing on this.

portej05
STRONGTEA. Why can't the x86 be sane?

 

Offline sigtau

  • 29
  • unfortunate technical art assclown
Definitely not working on Tableview 2 if this is out there, because this kicks ass.

Oh well, back to my game design.  :D
Who uses forum signatures anymore?

 

Offline headdie

  • i don't use punctuation lol
  • 212
  • Lawful Neutral with a Chaotic outook
    • Minecraft
    • Skype
    • Twitter
    • Headdie on Deviant Art
Got it up and working and critiquing now.  :D

General impression is that it looks good so far and generally makes sense.

An initial suggestion for beta / final builds would be to include a shortcut that can be copied to desktop by the less confident/competent user, I found the right file OK but with it not being having an exe, bat, com, shortcut, etc threw me for a second.
Minister of Interstellar Affairs Sol Union - Retired
quote General Battuta - "FRED is canon!"
Contact me at [email protected]
My Release Thread, Old Release Thread, Celestial Objects Thread, My rubbish attempts at art

 

Offline m!m

  • 211
I'm glad that it starts up without too much problems and the next version will include an exe-wrapper so launching won't be that complicated.

This is great :)

You've said 'limited content assist'. I thought about how to do this quite a while ago, the best idea I came up with was to hook the table reading functions (I can't remember what they're called any more) to obtain the engine's expectations for the tables, and then have a variety of people playing different mods/etc (because tables have optional fields!) play to give a representation of what the engine sees.

It would be great if whatever you come up with is really modular in its structure - I can see other utilities (eg table validation for handwritten tables) benefitting from the work you're doing on this.

portej05
I already thought of this but I always failed at getting a solution on how I should hook into the engine reading as my application is written in Java so I would need to write a custom JNI binding and that wouldn't be modular at all (and I have absolutely no idea how to access an executable :nervous:).
Currently the content assist is limited to the elements of the table ($Name:, ...) that are read from the wiki.

Definitely not working on Tableview 2 if this is out there, because this kicks ass.

Oh well, back to my game design.  :D
That's sad :(. I'd love to see this released but it's your decision.

 
I'm glad that it starts up without too much problems and the next version will include an exe-wrapper so launching won't be that complicated.
I already thought of this but I always failed at getting a solution on how I should hook into the engine reading as my application is written in Java so I would need to write a custom JNI binding and that wouldn't be modular at all (and I have absolutely no idea how to access an executable :nervous:).
Currently the content assist is limited to the elements of the table ($Name:, ...) that are read from the wiki.

Export the contents to an intermediate format :) The code doesn't need to get checked into SVN in order to be very useful :)
Insert a macro into the read_string/etc functions in the table code - if you're on Windows, you could potentially use the dbghelp functions to get the various parameters passed to the function, but I haven't checked how easy that would be.
STRONGTEA. Why can't the x86 be sane?

 

Offline headdie

  • i don't use punctuation lol
  • 212
  • Lawful Neutral with a Chaotic outook
    • Minecraft
    • Skype
    • Twitter
    • Headdie on Deviant Art
Ok done a little more poking and have come up with the following, most of which is trivial stuff really


New Table
   Needs a more comprehensive list, at a minimum weapons and ship tables, personally these are the ones I use the most

Editor
   Would be nice to still get the tool tip for a line that is commented out ( ; )
   
Ship.tbl/tbm
   $Max Velocity: , $Expl Propagates: , $Shockwave Speed: , $EngineSnd: aren’t highlighted in blue

Weapons.tbl/tbm
   $Trail: aren’t highlighted in blue
Minister of Interstellar Affairs Sol Union - Retired
quote General Battuta - "FRED is canon!"
Contact me at [email protected]
My Release Thread, Old Release Thread, Celestial Objects Thread, My rubbish attempts at art

 

Offline m!m

  • 211
Export the contents to an intermediate format :) The code doesn't need to get checked into SVN in order to be very useful :)
Insert a macro into the read_string/etc functions in the table code - if you're on Windows, you could potentially use the dbghelp functions to get the various parameters passed to the function, but I haven't checked how easy that would be.
I'm a little confused. What contents do you mean and what do you mean with the macro thing? Sorry, I'm not experienced (read: I don't have a clue) when it comes to C/C++.

Ok done a little more poking and have come up with the following, most of which is trivial stuff really

New Table
   Needs a more comprehensive list, at a minimum weapons and ship tables, personally these are the ones I use the most
Currently the templates are more proof of concept than anything other but you can take a look at the current ones in the /table/templates.xml file.
I can post some instructions on how to create additional templates if you want.

Editor
   Would be nice to still get the tool tip for a line that is commented out ( ; )
Do you mean something like "No information available"?

Ship.tbl/tbm
   $Max Velocity: , $Expl Propagates: , $Shockwave Speed: , $EngineSnd: aren’t highlighted in blue

Weapons.tbl/tbm
   $Trail: aren’t highlighted in blue

Thanks for pointing that out. It was a stupid mistake I made and it's fixed now.
« Last Edit: January 02, 2011, 02:16:12 pm by m!m »

 

Offline headdie

  • i don't use punctuation lol
  • 212
  • Lawful Neutral with a Chaotic outook
    • Minecraft
    • Skype
    • Twitter
    • Headdie on Deviant Art
Editor
   Would be nice to still get the tool tip for a line that is commented out ( ; )
Do you mean something like "No information available"?

I'm thinking if you have for example ;$shields: then it brings up the $shields: tool tip
Minister of Interstellar Affairs Sol Union - Retired
quote General Battuta - "FRED is canon!"
Contact me at [email protected]
My Release Thread, Old Release Thread, Celestial Objects Thread, My rubbish attempts at art

 

Offline m!m

  • 211
Alright, I changed the tool tip behavior so a popup is displayed for elements in comments but only if they have a valid documentation. It's possible to disable this so only uncommented elements get a popup.
Is that alright?

 

Offline m!m

  • 211
(tiny) :bump:
Before I release the next version I wanted to know if someone found an issue that should be fixed or if there are feature request that should be incorporated.

m!m

 

Offline Nohiki

  • 28
  • Graf von Kaffeetrinken
    • Minecraft
    • Skype
    • Steam
Just a few minor ones imho, mostly cosmetic:
- change color of number values (having hard time reading them on highlighted line) or have the colors be customizable by user
- keep the documentation frame on until you move the cursor away from the tag, it shuts down too early
- maybe add a template manager for people who never seen xml before
:::ALSO PROUD VASUDAN RIGHTS SUPPORTER:::

 

Offline asyikarea51

  • 210
  • -__-||
Stumbled across a slight bug that causes the tree list to be cut off in ships.tbl (may affect other tables too)...

Quote
Say for example I have two ships, both have +Tech Description:

Shipname#type1
Shipname#type2

If, say, Shipname#type2 appears in Shipname#type1's tech description (yes with the end_multi_text thing too)  and vice versa, the ship list in tree view gets cut off.

Did not test if it affects other tables though.

Another one I noticed was SF Mara (Terrans), the name doesn't show in the tree view...? This one doesn't look like a game-breaker to me though....

Trying out the program on my own tables (so there might be errors I haven't seen, but they haven't made any debug builds go crazy for mistakes so far IIRC :nervous:) and I don't have anything at the moment that can open VP files to extract any defaults... they're somewhere else right now...

A sort-of wish-list, unless already implemented and I simply didn't see the option anywhere:
-A "close all" function?
-A drop-down menu when selecting a tab ala Notepad++ (although I don't know what options could be listed)?
-Changing text colours? The yellow numbers were difficult for me to read...
-Any way to make the PBanks/SBanks/Flags in the tree list appear as a normal (single) line, instead of a widely spaced-out line? Or was this intentional? I don't mind but it does irk me somewhat.

Also, what's that table.doc for in /doc? It made both swriter and winword go nuts when I tried to open it... XD

I'll also admit that I didn't like the long load time (especially when lots of tables are loaded at startup) and the time it takes to update an entry. Then again, the reason it took several seconds might be because I was trying to "fix" the bug above by correcting the text in the table, so it's normally faster?

Even starting up the program without any tables preloaded before made the fans speed up outright... sort of. Still, if it's not fixable I'll learn to live with it. :)

Otherwise I'm :D with it so far. Sorry if my post looks rushed/blunt/unintentionally offensive, slightly busy at the time of typing this.
Inferno plz
The Power of Nightmares
TheHound: "Nice idea, but I have a thing against announcing campaigns before having them already finished."
G5K: "The flipside of that is that if you don't announce your campaign, yet take too long to finish it, other people may independently come up with some of the same ideas."

 

Offline m!m

  • 211
Alright, I'll try to recreate the first issue you described but it would be easier if you could post or send me a table file where that happens. :nod:

Another one I noticed was SF Mara (Terrans), the name doesn't show in the tree view...? This one doesn't look like a game-breaker to me though....
Thanks for pointing this out. It was a parsing mistake that is fixed in the most recent version. :cool:

A sort-of wish-list, unless already implemented and I simply didn't see the option anywhere:
-A "close all" function?
-A drop-down menu when selecting a tab ala Notepad++ (although I don't know what options could be listed)?
I have implemented a context menu for the tabs and there already are "Close all" and "Close all but this" options so could you maybe give some ideas what could be added there?

-Changing text colours? The yellow numbers were difficult for me to read...
The text colors are specified in the xml file in the table/syntax/ directory. A GUI for editing those colors is on my todo-list but still not implemented. :)

-Any way to make the PBanks/SBanks/Flags in the tree list appear as a normal (single) line, instead of a widely spaced-out line? Or was this intentional? I don't mind but it does irk me somewhat.
This is not intentional and now fixed with a IMO much better functionality.

Also, what's that table.doc for in /doc? It made both swriter and winword go nuts when I tried to open it... XD
:lol: That's the documentation used to provide tool-tips and Content assist. It's a binary format to store Java-object and the file name is just randomly choosen.

I'll also admit that I didn't like the long load time (especially when lots of tables are loaded at startup) and the time it takes to update an entry. Then again, the reason it took several seconds might be because I was trying to "fix" the bug above by correcting the text in the table, so it's normally faster?
That's caused by the circumstance that the highlighter is regular expression based and that's just awful in term of performance. I already replaced it with a faster but not that flexible alternative that reduces load times significantly.

Even starting up the program without any tables preloaded before made the fans speed up outright... sort of. Still, if it's not fixable I'll learn to live with it. :)
:wtf: That's ... odd. I have no idea why it's that demanding when it loads.

Thank you for your input, it really helps in fixing bugs  ;)

Just a few minor ones imho, mostly cosmetic:
- change color of number values (having hard time reading them on highlighted line) or have the colors be customizable by user
- keep the documentation frame on until you move the cursor away from the tag, it shuts down too early
- maybe add a template manager for people who never seen xml before
First two are done (it wasn't too difficult ;)), third one is coming along.

Regards,
m!m

PS: Long post is long  :P

 

Offline headdie

  • i don't use punctuation lol
  • 212
  • Lawful Neutral with a Chaotic outook
    • Minecraft
    • Skype
    • Twitter
    • Headdie on Deviant Art
I have just noticed that this program does not use hard returns when saving so when a file saved by the program is opened in notepad it is difficult to read

[attachment deleted by admin]
Minister of Interstellar Affairs Sol Union - Retired
quote General Battuta - "FRED is canon!"
Contact me at [email protected]
My Release Thread, Old Release Thread, Celestial Objects Thread, My rubbish attempts at art

 

Offline asyikarea51

  • 210
  • -__-||
Here are two sample tables manually typed out, but I'm not sure if they describe the error well... also this only tests Ships, not sure on weapons or anything else with a tech description. :wtf: Just in case they don't I'll have to resort to a MAJOR cut-paste and editing job in my actual modded ships.tbl...

The simplified one should give you a rough idea... I'm not so sure on the other file since I ended up confusing myself when I typed it out, I thought what would happen if three or more ships would get this LOL :nervous: :shaking:

Notice how the two entries after Goodbye in the simplified table just don't show anywhere.

Funny how the errors "look worse" in the sample tables (to me anyway) than in my own table. XD Oh, erm... one more for the wish list, a word wrap feature? :nervous:

Why is IE lagging on me now -_-||

[attachment deleted by admin]
Inferno plz
The Power of Nightmares
TheHound: "Nice idea, but I have a thing against announcing campaigns before having them already finished."
G5K: "The flipside of that is that if you don't announce your campaign, yet take too long to finish it, other people may independently come up with some of the same ideas."

 

Offline m!m

  • 211
Alright, I tracked down where it breaks and I'm trying to fix it now.
EDIT: I think I fixed it :nervous:.

And I'll give word wrap it's own configuration entry so you can customize that.

I have just noticed that this program does not use hard returns when saving so when a file saved by the program is opened in notepad it is difficult to read
Ouch, I'll look into that.

 

Offline headdie

  • i don't use punctuation lol
  • 212
  • Lawful Neutral with a Chaotic outook
    • Minecraft
    • Skype
    • Twitter
    • Headdie on Deviant Art
I have another suggestion how about a jump to line number function, lets face it I think everyone here who is involved in modding has hit the old table.tbl(line 531: error such and such, so being able to go strait to the line in question would speed up debugging greatly
Minister of Interstellar Affairs Sol Union - Retired
quote General Battuta - "FRED is canon!"
Contact me at [email protected]
My Release Thread, Old Release Thread, Celestial Objects Thread, My rubbish attempts at art

 

Offline m!m

  • 211
Alright I uploaded a new version that has some fixes and new stuff:
  • Faster syntax highlighting (no more waiting when loading large files)
  • A template manager to create custom templates
  • Some parts are now multi threaded
  • "Jump to line" dialog
  • A lot of minor/major fixes

Known issues:
  • The line endings are not right for windows (just a single \n) so notepad won't show it right

If you already downloaded the QT libraries you don't need to download these again.
In case you had the old version delete all files found in the root of the folder you unzipped the previous package (this means *.jar).
The package now includes an executable that launches the Java application, so starting it will be straight forward.

Again, please report bugs here and I'm always open to comments and feature requests.

Regards,
m!m
« Last Edit: January 10, 2011, 11:01:21 am by m!m »

 

Offline jr2

  • The Mail Man
  • 212
  • It's prounounced jayartoo 0x6A7232
    • Steam
Nice!  =]