Comments are closed

cJass on the Google Code.
Our BugTracker (recommend to post bugreports and features request there).
Beta tester notes.

all times are GMT +04:00
Latest posts

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19 20 21 22 23 24 25 26 27

posted at 25/12/09 09:42

The only feature from vJASS that doesn't work atm is the bug I pointed out right before your post : )

posted at 25/12/09 00:46

Hi, I have two questions:
1: Can someone explain to me what exactly a enumeration is?
2: Do all (or any) vJASS features work with cJASS? I really like the way cJASS works and looks, but I need the features vJASS has.
Thanks for any help.

posted at 23/12/09 19:04

Found some bugs with modules!
This doesn't work
scope Demo initializer Initialization
module A
local integer aaa = 0
call DisplayTextToPlayer(GetLocalPlayer(), 0, 0, "hi")

struct Test
private method hi takes nothing returns nothing
implement A
private function Initialization takes nothing returns nothing

It thinks implement A is a local variable
It works with cJASS disabled.
I really need this fast, so please hurry ^_^.

posted at 22/12/09 00:42

Priest170234, once you install cJASS it automatically attaches to NewGen. You'll see a cJASS drop down menu on the top of NewGen, so just make sure it is enabled and then you can write cJASS to your heart's content : D.
It should be automatically enabled, so you should already be set to go : p.

posted at 19/12/09 18:58

Thanks for replying and yes, i read it. Is cJASS a plugin or what? And is there a new WE in the newgen pack?

posted at 11/12/09 20:48

Priest170234, have you look at the Syntax section at this site?
It has an "Read cJass manual in English" link to the tutorial. :)

posted at 11/12/09 16:37

Sorry, I am a new user to this software and I am not sure how to use it. I downloaded the NewGen, installed cJASS(AdicHelper), and I have absolutely no idea how to use it. Anyone might give me a tutorial? Thanks in advance.

posted at 28/11/09 06:13

->Ok, since definitions are technically macros, maybe a readonly definition or something ;o
lol... readonly would be so helpful for me to fix this issue
player GetLocalHuman() {
return localPlayer
Yes, the above code stays in the script even though it's inlined o-o
Furthermore, some definitions that could allow you to pass in parameters in front of a . would be nice ; ), like stuff for in front and stuff for behind sort of like how structs work in vJASS ^_^. In this way, could pretty easily do public definitions for structs or w/e else with instancing even ; D.
Also, I did find the #if DEBUG while I was writing my little parser for cJASS, but thank you for pointing it out : ).

posted at 28/11/09 05:31

Also neth, it's #if DEBUG

posted at 28/11/09 02:41

Nestharus, the define you did for CONST? is considered correct and I fail to see why you think somethins wrong.
For ADOLF and VD: using two defines on one line is failing miserably and ruining brackets.
if RectContainsCoords(where, LoadX(i, ii), LoadY(i, ii))
LoadX and LoadY are defines, by the way, defined as:
#define private LoadX(lsID, pointID) =
LoadReal(Hash, lsID, pointID * 2)

#define private LoadY(lsID, pointID) =
LoadReal(Hash, lsID, pointID * 2 + 1)
It is converted to:
if RectContainsCoords(where,LoadReal(Lighting__Hash,i,ii*2) then
call ,LoadReal(Lighting__Hash,i,ii*2+1)
Notice how the LoadY is moved down a line, and the brackets are unfinished.

posted at 26/11/09 22:59

Here's the cJASS highlighting for jEdit :3
It's as complete as I can make it to my knowledge.
To add to jEdit:
Go to jEdit\modes\catalog
And add this line:
<MODE NAME="cJASS" FILE="cJASS.xml" FILE_NAME_GLOB="{!{common,blizzard}}.j" />

posted at 25/11/09 18:23

Ok, since definitions are technically macros, maybe a readonly definition or something ;o

int[] varName
int varName[]
Apparently I was thinking of C# :p, my bad
The rest I still think are weird ;o

posted at 25/11/09 16:44

Ok... this is an interesting issue..
int x
define <CONST?> = x
void Test() {
set CONST? = 3 //this works...
Uhm... am I missing something her? lol
Oh, and another fun little thing-
player GetLocalHuman() {
return localPlayer
So, that code is inlined right... but, well, it stays in the map even though it's not being used and remove unused code is checked o-o. I'd put it into a definition, but then you can do that strange thing I just mentioned, lol.
Oh... and there's another thing-
Apparently cJASS doesn't work with NewGen's DEBUG_MODE?? lol
So I have to put all of that stuff into static ifs > <.
Oh, another good one-
exitwhen i-- == 0
For some reason, that generates really strange code... it should just do something very simple ><
exitwhen i == 0
set i = i -1
The reason I'd put it after the exitwhen is to save myself an operation, not add 2 more, lol. exitwhen i == 0 works fine, just not i : O.
I also vote to get cJASS working with zinc as well, and I vote for cJASS to fix its while loop (!=), add a sweet for loop, and do public definitions at some point : O.
Also, internal structs would be nice like internal class ; D.
Btw, I love your addition of the [], but why does it go after the var name? That seemed a little weird to me considering it's C Syntax, lol.
It should be-
int[] varName
int varName[]
Stick with the syntax you guys chose : )

posted at 25/11/09 07:27

Beside for fanboyism, why not link around zincs new functionality? Zinc is much cleaner then VJass and has almost none of the terrible issues that VJass does. I've even convinced Vex to implement defines (still won't be as good as Cjass defines).

posted at 25/11/09 00:32
Dark Dragon

k i updated JNGPS!
it does not use now Updater coz Avast whole the time deletes it. i hope u can do smth. anyway it seems that cjass is most likely stable enough so it would be fine even if it does not have updater. anyway if u can do smth it would be good. as well adding features i listed below in my last post would be nice.

posted at 24/11/09 15:16

Zinc == sux
cJass == <3

posted at 24/11/09 04:03

I think CJass needs to link around the new functionality of zinc.
Zinc now support anonymous functions and has different privacy settings for objects that is a bit more intuitive imo.
Zinc also support a cleaner while loop
while( x == 7)
compiles to exitwhen x != 7
and a genuine for loop.
for(x = 0; x < 6 ; x+=1){}
Works exactly as you expect.
Obviously Vex doesn't support variables anywhere, so x would already have to have been declared. He also doesn't support the ++ syntax, which I think you can compile down to x=x+1 here anyway.
Also zinc no longer requires you to call function interfaces with the pointer, and the declaration of function interfaces is MUCH more logical.
The syntax for function declaration still sucks. And the anony declaration is a little to C++0x for my taste::
integer x = function(integer x)->integer
return x;
Is anonymous version of an identity function and evaluation.

posted at 24/11/09 02:32

VD, don't start work on the jEdit syntax highlighting. I'm almost done :O

posted at 24/11/09 01:04

To further explain the idea, I was suggesting that it be done so that we could add it to to structs and scopes to have their Init functions called first.
Its annoying having to enclose anything you want to have initted first within library blocks.

posted at 23/11/09 11:00

sry, wrong link ><-
Actual idea-

posted at 23/11/09 02:26

Vexorian started a pretty sweet syntax thing for jEdit for JASS, vJASS, and Zinc
I was wondering if you could add syntax stuff for cJASS for jEdit ^_^. The idea is to write the files in jEdit and include them in the wc3 map : O.
Yeah, I can do it. Can't be sure with terms, but I'm likely to do that.

posted at 22/11/09 03:44

Suggestion time! Since cJass appears to have added everything Vexorian seems to have refused doing, why not add library priorities? They would be another keyword, which, if a library has it, will be placed above all other libraries at the top of a script.
You know, in case you have like 10 libraries requiring one thing, just set the library that is required to havepriority.
library IamRequiredByStuff priority
I see no need in such option because jasshelper already reorganizes the libraries according to their requirements.

posted at 20/11/09 23:39

Hooray! An update!

posted at 16/11/09 14:41
Dark Dragon

glade to see that cJass is up-to-date!
i have some health problems coz of spending to much time on my pc, thous i had to reduce it and so i stopped making my campaign for some time now. i got an new keyboard so i should be fine with coding a bit and all that. through i will still not be active on hive for some time now since i cant make all of the requests i have and all that...
1) since i started coding again and number of my libraries increased AdicHelper crashed... it seems it can only include n of same libraries even if i use #guard command.
2) integer i=0
while(i<5) {
integer j = 0
while(j<5) {...}
sometimes variables are moved at top and remain that way so i just wrote code from one of my libs which had that problem.
3) its an suggestion for an add-on!
boolean test() { return TRUE }
code GlobCode = function test
boolean Flag = test()
boolexpr Exp = Filter(GlobCode)
this would be awesome add-on and would be compiled to:
boolean test() { return TRUE }
code GlobCode = null
boolean Flag = false
boolexpr Exp = null
#define <cJass_v666_init_vars()> = {
GlobCode = function test
Flag = test()
Exp = Filter(GlobCode)
nothing main() {
// call this before anything else
4) anonymous functions would be really good in my option!
ForGroup(g, nothing() {
thats all for now!
Best regards from DD!

posted at 15/11/09 17:22

It will fuck up replays, because of GetLocalPlayer.

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19 20 21 22 23 24 25 26 27

[back to top]