wc3campaigns
WC3C Homepage - www.wc3c.netUser Control Panel (Requires Log-In)Engage in discussions with other users and join contests in the WC3C forums!Read one of our many tutorials, ranging in difficulty from beginner to advanced!Show off your artistic talents in the WC3C Gallery!Download quality models, textures, spells (vJASS/JASS), systems, and scripts!Download maps that have passed through our rigorous approval process!

Go Back   Wc3C.net > Warcraft III Modding > Developer's Corner > Warcraft Editing Tools
User Name
Password
Register Rules Get Hosted! Chat Pastebin FAQ and Rules Members List Calendar



Reply
 
Thread Tools Search this Thread
Old 11-20-2011, 07:13 PM   #3616
Barade
User
 
Barade's Avatar
 
Join Date: May 2006
Posts: 160

Barade is on a distinguished road (14)

Default

Quote:
Originally Posted by Anitarf
That's what keyword is for:
Collapse JASS:
library Test
    private keyword Test2
    struct Test
        private Test2 member

        public static method create takes nothing returns thistype
            local thistype this = thistype.allocate()
            set this.member = Test2.create.evaluate() // Works now.
            return this
        endmethod
    endstruct

    private struct Test2
        static method create takes nothing returns thistype
            return .allocate() // It won't work unless you declare a custom create method.
        endmethod
    endstruct
endlibrary

Regarding the problem with the constant string, it seems to incorrectly identify // inside the string as a comment. You can just write the url without the "https://" part, it works just as well. If you absolutely must have that, you can use string concatenation to work around the issue.
Unfortunately, there's another bug with /// comments after constants in 0.A.2.B:
Collapse JASS:
 
public static constant string defaultOrderErrorMessage = A_TEXT_TARGET_TALKS_ALREADY ///
says
Quote:
Line 39697: Syntax Error, unexpected: end of line?
Line 39697: (At generated code): constant string s__ATalk_defaultOrderErrorMessage= A_TEXT_TARGET_TALKS_ALREADY /
Besides static if statements shouldn't ignore //! import statements (they don't ignore //! runtextmacro as well afaik).
I have some options which can be defined globally using constants and require more files to be imported.
Is there any interest in continuing the development of the JassHelper or to create a new vJass compiler? I would like to drop some unnecessary things, to allow more flexible encapsulation of declarations and to get something like "protected" into the language.
__________________
Barade is offline   Reply With Quote
Sponsored Links - Login to hide this ad!
Old 11-21-2011, 09:05 AM   #3617
Bribe
User
 
Bribe's Avatar
 
Join Date: Mar 2010
Posts: 230

Submissions (1)

Bribe will become famous soon enough (26)

Send a message via AIM to Bribe
Default

This is a mostly-finished project but it is not under development any longer.

There is cJass which has more features but it is less stable than vJass.
Bribe is offline   Reply With Quote
Old 11-21-2011, 05:29 PM   #3618
Skater
User
 
Skater's Avatar
 
Join Date: Jan 2007
Posts: 80

Skater is on a distinguished road (17)

Default

Quote:
Originally Posted by Barade
[]
Is there any interest in continuing the development of the JassHelper or to create a new vJass compiler? I would like to drop some unnecessary things, to allow more flexible encapsulation of declarations and to get something like "protected" into the language.

Ofcourse there is interest in a new vJass compiler. It's not like the whole jassing community dependents on it.
Having multiple options for compilers is always good.
But if you want a new vJass compiler it should actually be just that: a vJass compiler. No "dropping unnecessary things" and no new features.
Not initially. First of all, we need a stable, clean rewrite for the current vJass. Then we could do some experiments.

If you want some radical changes maybe build another language on top of vJass. I'm all up for some jass-experiments.
__________________
Skater is offline   Reply With Quote
Old 11-22-2011, 10:22 AM   #3619
Barade
User
 
Barade's Avatar
 
Join Date: May 2006
Posts: 160

Barade is on a distinguished road (14)

Default

Quote:
Originally Posted by Skater
Ofcourse there is interest in a new vJass compiler. It's not like the whole jassing community dependents on it.
Having multiple options for compilers is always good.
But if you want a new vJass compiler it should actually be just that: a vJass compiler. No "dropping unnecessary things" and no new features.
Not initially. First of all, we need a stable, clean rewrite for the current vJass. Then we could do some experiments.

If you want some radical changes maybe build another language on top of vJass. I'm all up for some jass-experiments.
ok but I have to figure out how many people are actually still using vJass and how many of them could help developing a new compiler.
For example, if I am going to use Boost's Spirit library it would take some time for myself to become familiar with everything and I could be sure that probably no one else of the vJass users could help me.
As you can see it took a very long time for Vexorian to get to the current state of JassHelper, so it would be much better to have a team.
__________________
Barade is offline   Reply With Quote
Old 12-07-2011, 06:18 AM   #3620
cohadar
master of fugue
 
cohadar's Avatar
 
Join Date: Jun 2007
Posts: 2,453

Submissions (5)

cohadar is a jewel in the rough (246)cohadar is a jewel in the rough (246)cohadar is a jewel in the rough (246)cohadar is a jewel in the rough (246)cohadar is a jewel in the rough (246)

Default

Vexorian you cunt.
I asked you to make a for loop in vJass like 3 years ago.
And instead you go and make ZINC.

WHY IS THERE STILL NO FOR LOOP IN VJASS?


for i = 1 to n do
endfor

for i = a downto b do
endfor

while i < 10 do
endwhile


This right here would be a real contribution to vJass.
__________________
Omg database crash deleted my signature, as a side effect this immensely improved wc3c.
cohadar is offline   Reply With Quote
Old 12-07-2011, 10:01 AM   #3621
Bribe
User
 
Bribe's Avatar
 
Join Date: Mar 2010
Posts: 230

Submissions (1)

Bribe will become famous soon enough (26)

Send a message via AIM to Bribe
Default

I don't think he is any longer maintaining JassHelper.

Even better would have been optional parameters, nested textmacros, textmacros as arguments, and/or fix the annoying bugs that compile with normal WE but not with pJass.

But a new parser in general made in a proper programming language would be the best solution overall.
Bribe is offline   Reply With Quote
Old 12-10-2011, 11:15 AM   #3622
cohadar
master of fugue
 
cohadar's Avatar
 
Join Date: Jun 2007
Posts: 2,453

Submissions (5)

cohadar is a jewel in the rough (246)cohadar is a jewel in the rough (246)cohadar is a jewel in the rough (246)cohadar is a jewel in the rough (246)cohadar is a jewel in the rough (246)

Default

Ok since Vex is no longer updating jasshelper I decided to take over.

Is someone doubts that I can do it, take a look at this:
http://sourceforge.net/projects/parapascal/

I am not interested in zinc, I will update only vjass.

The first thing I will do is to add proper loop constructs.

@moyack
Prepare to add following keywords to TESH:
for, to, downto, endfor,
while, do, endwhile
__________________
Omg database crash deleted my signature, as a side effect this immensely improved wc3c.
cohadar is offline   Reply With Quote
Old 12-10-2011, 11:32 AM   #3623
BBQ
User
 
Join Date: May 2011
Posts: 85

Submissions (2)

BBQ will become famous soon enough (30)BBQ will become famous soon enough (30)

Default

If you are really going to take over (I just hope you aren't kidding, even if you "don't care about Zinc"), then the first thing you should do is fixing the order in which the initializers are fired, so that people won't nag about resources that aren't initialized within modules.

Last edited by BBQ : 12-10-2011 at 11:33 AM.
BBQ is offline   Reply With Quote
Old 12-10-2011, 02:01 PM   #3624
cohadar
master of fugue
 
cohadar's Avatar
 
Join Date: Jun 2007
Posts: 2,453

Submissions (5)

cohadar is a jewel in the rough (246)cohadar is a jewel in the rough (246)cohadar is a jewel in the rough (246)cohadar is a jewel in the rough (246)cohadar is a jewel in the rough (246)

Default

I am dead serious.
I have both the skill and the will for the job.
But loops come first since they have greatest impact on ease of coding.

EDIT:
I have had a fist successful source code compilation.
Vex did not include parser builder version in the readme.txt and latest version did not work.
I had to install 3 older versions until I found the right one.
Source code looks terrible, one pas file with 13256 lines of code and no comments...
But believe it or not I have seen worse and survived.
__________________
Omg database crash deleted my signature, as a side effect this immensely improved wc3c.

Last edited by cohadar : 12-10-2011 at 07:43 PM.
cohadar is offline   Reply With Quote
Old 12-31-2011, 03:40 AM   #3625
curi
User
 
Join Date: Mar 2003
Posts: 226

curi has little to show at this moment (4)

Default

What are functions like this for?

function sa___prototype70_HydromancerAbilityEffects takes nothing returns boolean

And can I disable them?

We have 1400 of them in The Kingdom of Kaliron map. Our Korean translators asked about them because a lot of text for quests is in the map twice in prototype functions.

There's also another prototype thing:

call TriggerEvaluate(st___prototype58[i])

I don't know what that is either. I don't see info about prototypes at http://www.wc3c.net/vexorian/jasshelpermanual.html

Thanks for any help.
curi is offline   Reply With Quote
Old 12-31-2011, 05:36 AM   #3626
Nuclear Arbitor
Reputation Leech
 
Nuclear Arbitor's Avatar
 
Join Date: May 2007
Posts: 1,235

Submissions (1)

Nuclear Arbitor has a spectacular aura about (83)Nuclear Arbitor has a spectacular aura about (83)Nuclear Arbitor has a spectacular aura about (83)

Default

i'm guessing that the first one places an affect. that may be related to the return bug though, which no longer works.

i think the second one evaluates something. it appears that there are non asci characters in both though. either that or someone has some odd naming conventions.

as soon as someone with more scripting experience drops by you be able to get more help
Nuclear Arbitor is offline   Reply With Quote
Old 12-31-2011, 03:49 PM   #3627
curi
User
 
Join Date: Mar 2003
Posts: 226

curi has little to show at this moment (4)

Default

the prototype functions are auto generated by vjass. our map has a function called HydromancerAbilityEffects. then vjass makes a second prototype version with that naming convention.
curi is offline   Reply With Quote
Old 12-31-2011, 04:27 PM   #3628
Here-b-Trollz
Corkscrew Chainsaw!!!
 
Join Date: Jun 2006
Posts: 711

Here-b-Trollz has a spectacular aura about (149)

Hero Contest #2 - 2nd Place

Default

The prototype functions and triggers are the reason you can call stuff that hasn't been declared yet using .evaluate(). vJass creates a trigger and a dummy function for each function, as well as a prototype function for each set of parameters (i.e. function Generic takes unit X, real Y returns integer), then adds the dummy as a condition (and an action if you use .execute()). When you call .evaluate() you are actually calling the appropriate prototype function, which sets generic argument globals and then calls TriggerEvaluate(prototypetriggerarray[functionIndex]—the trigger stored in this index has the dummy function added as a condition (and possibly an action). This is also why we can store functions in structs or whatever—we deal with their indexes in the prototype array, not with the actual code variable.
__________________
By reading this signature, you agree that I cannot be held accountable for anything that I might say or do.

Last edited by Here-b-Trollz : 12-31-2011 at 04:28 PM.
Here-b-Trollz is offline   Reply With Quote
Old 11-01-2013, 06:44 PM   #3629
SanKakU
User
 
Join Date: Jan 2009
Posts: 133

SanKakU has a little shameless behaviour in the past (-1)

Send a message via AIM to SanKakU Send a message via MSN to SanKakU Send a message via Yahoo to SanKakU
Default

quick question:
which is the latest version of jasshelper that is still compatible with cjass?

edit: nevermind...got things up and running.

Last edited by SanKakU : 11-01-2013 at 06:59 PM.
SanKakU is offline   Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off


All times are GMT. The time now is 02:13 PM.


Donate

Affiliates
The Hubb http://bylur.com - Warcraft, StarCraft, Diablo and DotA Blog & Forums The JASS Vault Clan WEnW Campaign Creations Clan CBS GamesModding Flixreel Videos

Powered by vBulletin (Copyright ©2000 - 2014, Jelsoft Enterprises Ltd).
Hosted by www.OICcam.com
IT Support and Services provided by Executive IT Services