• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

wc3lib

Status
Not open for further replies.
Level 25
Joined
Feb 2, 2006
Messages
1,689
Since my old thread has been closed I am using this one to ask again for some help with my project wc3lib (http://wc3lib.org) which aims to support as many formats of Warcraft III as possible.
Most recently I've created an initial trigger editor using KDE's API for the GUI.
If you have any suggestions or if you know C++ you could help me continuing this project. Besides it would be great if someone could try to compile the project on Windows (which I do not use very often and where I don't have any compiler/CMake).
 
Level 14
Joined
Jun 27, 2008
Messages
1,325
Nice screens btw. But do you really think writing a new GUI Trigger Editor is a good idea? GUI is mostly used by the less experienced mappers who will most likely stick with the normal editor. I presume your project (which i think is a really good idea) primarily aims for expert users, which wont use the GUI Triggers anyway.
 
Level 25
Joined
Feb 2, 2006
Messages
1,689
You're right, the trigger editor isn't the module you would need most to have reimplemented since the original one is quite good. Anyway, it might be useful if you add some features like integrated local var handling, better JASS support, merging triggers ... (there might be already tools for these things, can't really remember but not cross-platform ones). I could even imagine something like "JASS to trigger" which allows convertion by resolving trigger actions etc. from code.

At least it proves a working core API and is one step on the way supporting other modules, as well. My project aims to provide cross-platform World Editor modules with at least all features of the original one + maybe some useful extras, so finally it wouldn't only be for expert users (hopefully).
 
Level 25
Joined
Feb 2, 2006
Messages
1,689
hello there,

some work is going on again:
https://gitorious.org/wc3lib/wc3lib/source/2cc249c9946ffae99fe8e0df3862a17bed85b535:src/jass

as you can see I've started working on a JASS module in wc3lib. It uses Boost Spirit and LLVM to provide a full compiler suite for JASS.
Spirit is responsible for all parsing work.
LLVM allows you to create abstract assembler instructions, so JASS could be compiled like C code on supported platforms.
I am going to use natives like extern C function declarations, so you could define the natives behaviour yourself in any program as well as properties of hardcoded types such as handle.
Probably one could debug/run programs with calculations and loop instructions etc. of course without Warcraft but it would be still nice to run binaries build from JASS code.

The parser itself of course will be used as syntax checker primarily. I am aware that there are already some JASS syntax checkers/parsers out there. This one should provide a better AST interface for bindings such as LLVM and it is integrated in the code which does not rely on external tools such as yacc etc.
 
Status
Not open for further replies.
Top