peedeeboy

[WIP] OENS = Odyssey Engine Netbeans Solution

Recommended Posts

OENS (pronounced like the Welsh name Owens), the Odyssey Engine Netbeans Solution is/was something I've been working on.  There are already a lot of great tools other authors have put a lot of hard work into - so I thought I would try and create something that has the full 'rich-client' experience that would run multi-platform, and the best way I could think to do that was to create a plugin for an existing IDE.

OENS is a plugin for Netbeans 8.2 w/ Java8 designed for editing Odyssey Engine files.  Sadly, it may not go much further - I'd hoped my current job would be a lot quieter than previous jobs and I would have a lot more time for my own fun projects, but sadly not :(

Here's where I've got to (not that far):

 

2DA Editor

Spoiler

6m2aW38.png

 

  • Open, edit and save binary 2DA files
  • Full Undo/Redo support!
  • Add/remove rows and columns
  • Move rows/columns up,down,left & right
  • Auto-resize column width for content
  • Rename row and column headers

 

To Do

  • Text 2DA support
  • Maybe add a descriptive box at the bottom for known 2DA columns à la TlkEdit

 

NWScript Editor

Spoiler

e6kStIc.png

 

  • Open/edit/save .nss NWScript files
  • Full undo/redo support
  • Basic (not 100% perfect) syntax highlighting based on the deprecated Netbeans language specification (basically regular expressions..)
  • The palette (can) contain code snippets that can be dragged & dropped into the code (working - but I only have #Include at the moment.  Suggestions?)

 

To Do

  • Write real lexer and parser 
  • Syntax checking
  • Intellisense/code completion
  • Code folding
  • Allow user to specify location of nwnnsscomp and compile scripts or PIPE DREAM implement a Java based compiler 

 

At this rate it may be done in oooooh, I dunno, ten years??? 😂

  • Like 2

Share this post


Link to post
Share on other sites

Had a free afternoon, so added basic Netbeans Project support:

Project Support

 

  • Create a new OENS project with skeleton structure (working directory and target folders)
  • Netbeans recognizes project folder and creates appropriate logical view complete with custom icon
  • Basic actions skeleton added (new file, copy project, delete project)
  • Project preferences skeleton ready to be extended with user preferences
Spoiler

2FFzu4G.png

 

fxBpP5h.png

 

 

To Do

  • Implement project action (copy project, rename project, delete project etc.)
  • Extend New Project Wizard to capture KOTOR & TSL installation locations, 3rd party tools etc (nwnnsscomp et al)
  • Add KOTOR & TSL installation locations to Netbeans favourites when new OENS project created, and open favourites window so users can drag/drop files from KOTOR/TSL to their project and vice versa
  • Add preferences for installation location of 3rd party tools (nwnnsscomp etc.), syntax highlighting colours and so on

 

  • Like 2

Share this post


Link to post
Share on other sites

Very small update to Project Support:

  • Added basic Versioning support (Git, Mercurial, SVN) inc. undelete
  • Implemented Copy, Move & Rename of Projects

Share this post


Link to post
Share on other sites

Another teeny-tiny update:

  • Project properties now allow user to select location of Fred Tetra's nwnnsscomp.exe
  • Ant build script + action to compile .nss files to .ncs using nwnnsscomp.exe (right-click on .nss file -> Compile file)
  • Added control flow snippets to Palette of .nss editor (drag and drop into code to insert snippet
  • .nss files now open in CP1252 (Windows) encoding, so now more warning when Netbeans implicitly tries to convert to UTF-8
Spoiler

x6CSqrV.jpg

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.