cJASS - Code in JASS with C syntax.

Jesus4Lyf

Good Idea™
Reaction score
397
It wouldn't teach you anything about C. It just steals some neat features to save our fingers.
More cool features are coming soon, as well as our official thread here.
Looking forward to it. If it is easily compatible with NewGen, I wouldn't be too surprised if this was adopted. A syntax highlighter would also help, but since you can just use normal JASS syntax anyway it isn't too bad.

Unlike vJass, I would actually be able to request features and submit bug reports. :)
 

Azlier

Old World Ghost
Reaction score
461
I, for one, would like to keep using vJass. Though, Vexorian should definitely implement define. Define is a useful feature.
 
Reaction score
456
My first impression about cJass was not good. I tried to save my map and instantly got error (by JassHelper), just because AdicHelper optimizes the code before JassHelper comes into play. And yes, I tried disabling the optimization from the NewGen menu, did not work.

So the situation was like this before AdicHelper:
JASS:
interface SomeInterface

    method operator x   takes nothing returns real
    method operator x= takes real value returns nothing
    method operator y   takes nothing returns real
    method operator y= takes real value returns nothing

endinterface

And became more or less like this after:
JASS:
interface SomeInterface
method operator x takes nothing returns real
method operator x=takes real value returns nothing
method operator y takes nothing returns real
method operator y=takes real value returns nothing
endinterface

Guess did JassHelper like "x=takes" and "y=takes" operator names?

I just uninstalled it and continued working without it. Maybe I gave up too fast. No idea.

>it's your fault for not going over to Wc3C.
I'm sure Jesus would do that if he just could...
 

Van Damm

New Member
Reaction score
7
@Uberplayer: Sorry, we'll fix that in next version.

@All: Nobody forces you to use cJass. And if you use it, you can use it side-by-side with vJass.
 

UndeadDragon

Super Moderator
Reaction score
448
I also like the idea of cJASS, mainly because I use C++ and C#. I might give it a try when I have some free time. I didn't ever try vJASS :p (Mostly because I was retired from map making).
 

Romek

Super Moderator
Reaction score
963
Could we keep this on-topic?
That'd be about cJass, not Wc3c.

(Deleted "Wc3C Sucks" discussion)
 

Karawasa

Element Tower Defense
Reaction score
38
Looking forward to it. If it is easily compatible with NewGen, I wouldn't be too surprised if this was adopted. A syntax highlighter would also help, but since you can just use normal JASS syntax anyway it isn't too bad.

I would be surprised. vJASS has already claimed the role as the standard, and at this point the NewGen people are not looking for another one.
 

Jesus4Lyf

Good Idea™
Reaction score
397
Actually, currently it is a case of:

Your code --> vJass processor --> JASS.

The alternative being:

Your code --> cJass processor --> vJass processor --> JASS.

It just means when you're coding you dont need to type "globals", for example.
And I don't believe NewGen would have to come packaged with it, just simple instructions for adding the cJass layer would be adequate.
 

Karawasa

Element Tower Defense
Reaction score
38
I realize the steps the code takes, but that doesn't change anything. When I mean standard, I mean people want to see spells, systems etc. coded in vJASS and nothing else. Instructions for adding cJASS would in effect be supporting it and I don't see that happening either.
 

Romek

Super Moderator
Reaction score
963
> Maybe "function" too. Hey, maybe cJass can even make modules have their own initialisers. Who knows.
Just as vJass is limited by Jass, I'm sure that cJass is limited by vJass.
So I doubt something like that'd be possible.
 

Sevion

The DIY Ninja
Reaction score
424
Um.

JASS:
nothing Test() {}


I see no "function" keyword. cJASS automatically changes it to:

JASS:
function Test takes nothing returns nothing
endfunction


So, in essence, function is already optional.

So... I'm not sure what you mean by what you said.
 

Romek

Super Moderator
Reaction score
963
> cJass is limited only by Jass itself.
cJass compiles to vJass. If vJass modules can't have their own initializers, they won't be able to in cJass either, right?
Unless cJass adds it's own implementation of modules, which adds the feature.

I may be mistaken, but I don't think cJass can mess with vJass exclusive features.
 

Van Damm

New Member
Reaction score
7
cJass compiles to vJass. If vJass modules can't have their own initializers, they won't be able to in cJass either, right?
Unless cJass adds it's own implementation of modules, which adds the feature.

I may be mistaken, but I don't think cJass can mess with vJass exclusive features.
Yes, you're right. If you're using vJass code, then cJass compiles it to be compatible with JassHelper. And yet again you are right, it's not correct to mess with vJass features, so we won't add the ones that are too closely related to vJass.

I didn't fully understand you at first, but your statement itself was rather categorical.



@Uberplayer: that "operator inside of interface" bug, that you discovered, is fixed now. The latest version for now is 1.3.4.0
 

Lyerae

I keep popping up on this site from time to time.
Reaction score
105
I just downloaded this last night, and tested one of the spells it comes with (demo map).
It's pretty cool, so far. Definately looking forward to learning it.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top