Zinc

Azlier

Old World Ghost
Reaction score
461
I wonder if Vex just released a Jasshelper that rejects cJass. Hmm.
 

Azlier

Old World Ghost
Reaction score
461
Ah. So Zinc won't conflict with cJass? Good for people who use it, then.
 

Renendaru

(Evol)ution is nothing without love.
Reaction score
309
I do not like this Zinc, its syntax is complicated beyond what it should be.
 

Naga'sShadow

Ultra Cool Member
Reaction score
49
Defiantly get rep for this. Speaking of which This should require a new jasshelper compiler, or at least an update. When and where would we go to get this? Or are you still in beta stages? I don't think enough like a programmer to be any help in that regard.
 

Jesus4Lyf

Good Idea™
Reaction score
397
>_<

I like your static if.

>There are some differences regarding struct storage limit and array structs, mostly a side effect of killing the array keyword:
I hate you.

I see no attraction to Zinc. You kept all the mistakes you made with structs, it seems. I'm gonna make a guess that you don't give a damn what I think, because I'm still banned. But I'll state my opinions anyway.

  • Structs don't make sense, create contains allocate but destroy does not contain deallocate. You cannot produce a user interface that encapsulates things properly to something that doesn't need struct allocators.
  • vJass complaint: Modules still don't make sense, you can't have multiple modules that use onInit methods, which attacks their usability greatly.
  • Your allocators and deallocators should be overridable for those who aren't interested in what you consider a standard. Otherwise, they should be optional, as in your destroy method should not have to deallocate (think of your own example with RGB colours). Either way, I don't see why structs should be forced to use your allocate/deallocate stuff, any source of a unique integer is good enough for me (unit ids, hashes of things, even H2I's).
  • [LJASS]public function Factorial(integer n) -> integer[/LJASS]. What's wrong with [LJASS]public integer Factorial(integer n)[/LJASS].
  • There are heaps of bugs with vJass that I would've reported but am unable to. I'm losing my taste for all this, and cJass is looking good to me.
 

Vexorian

Why no custom sig?
Reaction score
187
Defiantly get rep for this. Speaking of which This should require a new jasshelper compiler, or at least an update. When and where would we go to get this? Or are you still in beta stages? I don't think enough like a programmer to be any help in that regard.

Just update jasshelper to 0.9.Z.0, it is quite "stable" - as much as code can be 4 days after you started writing it and with no external testing whatsoever.

Ah. So Zinc won't conflict with cJass? Good for people who use it, then.
It is made to be completely separated from vJass syntax. cJASS is meant to be within the JASS parts, so it should give no issues. The intended way for it to work is with //! import zinc, which should be evaluated after the cJASS phase.

I do not like this Zinc, its syntax is complicated beyond what it should be.
Stick to vJass or switch to cJASS.

vJass complaint: Modules still don't make sense, you can't have multiple modules that use onInit methods, which attacks their usability greatly
I will add onInit and onDestroy for modules. What's stopping me? Well, I randomly pick what to fix or do based on my current interest, I know it is very unpredictable. In the case of those module methods I have to rework something inside the structs phase for it to work and it has been getting a little tiresome...

What's wrong with public integer Factorial(integer n).

It seems backwards to me. There is another problem with not naming them functions or methods. And well, what really made me avoid the C/Java like way is, how about functions with no returns? I could be an absolute retard and say "public nothing onInit()" but that's stupid. Then I would have to rename nothing into void, which looks even worse to me.

There's also the problem of what to do for 'code' values after the removal of the function keyword.

There are heaps of bugs with vJass that I would've reported but am unable to.
There are heaps of bugs with vJass, and I know it. There are things that are fixable by making Zinc and other things that are only fixable by fixing the vJass bugs. Zinc is a proof of concept for a next step. A small 4 days-project to test grounds in new areas. But I won't give details right now. And honestly not really meant to replace any de-facto standard or get actually used for that matter.

I think though that you are right about deallocate, darn I should have seriously thought of that before, bah anyway, I think Zinc is young enough and I will be able to cut on backwards compatibility on version 0.2 .

Hmnn, now that I think of it, there is no reason I wouldn't add deallocate and make destroy overrideable in vJass as well, this does not break backwards compatibility. For that matter, I think I can add deallocate to vJass and zinc. I'll then just remove onDestroy from zinc... (hmnn though onDestroy would be probably necessary for modules anyway)


I'm gonna make a guess that you don't give a damn what I think, because I'm still banned.
It is just that you helped hijack my friend's map... wc3c bans are forever.

I'm losing my taste for all this, and cJass is looking good to me.
Aha.
 

Vexorian

Why no custom sig?
Reaction score
187
Do you want just onInit (i.e. can I temporarily get away by not making onDestroy work on modules? onInit is very easy to do and can do it even tonight.

I will also try to add deallocate/make destroy overrideable, let's see how it goes...
 

Jesus4Lyf

Good Idea™
Reaction score
397
>Hmnn, now that I think of it, there is no reason I wouldn't add deallocate and make destroy overrideable in vJass as well, this does not break backwards compatibility. For that matter, I think I can add deallocate to vJass and zinc. I'll then just remove onDestroy from zinc... (hmnn though onDestroy would be probably necessary for modules anyway)

You hero.
onInit would be great, that's why I thought it was ridiculous that you hadn't at least done that. I want AIDS/T32 structs. As soon as you do that, they will work. (Ie. unit data structs with a periodic effect.)

>It is just that you helped hijack my friend's map... wc3c bans are forever.
I understand that. I had no contact with the mapping community at that time and edited the map for my mates and I. I'm sure you understand why I did it just as much as I understand why you banned me. Things have changed since then, naturally. I won't go into how I have actually tried to make ammends, this thread isn't a plea to be unbanned.

>I will also try to add deallocate/make destroy overrideable, let's see how it goes...

You don't know how happy I am.

I just remembered two more things you may like to implement:
- For array structs, inheritance, please. I don't see why not inherit from an array struct...
- For array structs, enable [LJASS]integer i = 5 // can't specify initial values[/LJASS] and give some [LJASS].initValues()[/LJASS] method.

But yeah, I've been struggling with the onInit conflict for some time. If you turn inheritance on for array structs, I can implement workarounds for other things anyway. (Did I mention I'd love to be able to have no naming constaints for array structs? Could write my own .allocate() and .deallocate()!)
 

kingkingyyk3

Visitor (Welcome to the Jungle, Baby!)
Reaction score
216
lol, my AVG detected the new history.exe in jasshelper as Brontok.FF. Now jasshelper also have false positive now, like newgen.
 

Vexorian

Why no custom sig?
Reaction score
187
Default values for array structs requires me to do some changes to stuff.

I have already made deallocate work (It compiled right on some test maps heavy with structs usage, but I somehow expect this will somehow cause regressions with stuff related to extends, so I'll need to release it quick so people have a chance to test) . I will add onInit for modules and make it a 0.9.Z.1
 

Vexorian

Why no custom sig?
Reaction score
187
lol, my AVG detected the new history.exe in jasshelper as Brontok.FF. Now jasshelper also have false positive now, like newgen.
There's no supposed to be history.exe in jasshelper.exe ouch,

I got brontok ages ago when I still used windows, it is a pesky virus that creates copies of itself everywhere with the same name as folders. It took me ages to remove it completely.

It seems that since the delphi folders in my virtualbox machine are inherited from that old windows partition, it was still in one hidden folder in gold's source code.

Since I did modifications to gold's source code, I made the mistake of just copying the gold folder without verifying what was on it.

it is a virus, hehe, this is funny. Do not double click history.exe, I'll remove it ASAP..
 

Jesus4Lyf

Good Idea™
Reaction score
397
There's no supposed to be history.exe in jasshelper.exe ouch,

I got brontok ages ago when I still used windows, it is a pesky virus that creates copies of itself everywhere with the same name as folders. It took me ages to remove it completely.

It seems that since the delphi folders in my virtualbox machine are inherited from that old windows partition, it was still in one hidden folder in gold's source code.

Since I did modifications to gold's source code, I made the mistake of just copying the gold folder without verifying what was on it.

it is a virus, hehe, this is funny. Do not double click history.exe, I'll remove it ASAP..
LOL
>false positive now, like newgen.
FALSE POSITIVE
Isn't so false.
It's hilarious except that you just distributed a virus. But that is one of the more amusing ways I've seen a virus get distributed - an official release of an open source product? :D

>it is a virus,
We wouldn't know anyway. You could feed us anything, and we'd just disable our checkers. <3
 

Vexorian

Why no custom sig?
Reaction score
187
I grew a dislike of newgen pack because of that. The whole thing with the false postives is not good.

Anyway, the .exe was hidden in such an obscure place, that what made me unable to notice it would also made it incredibly hard to infect anything, unless of course my users were of the kind that browsed deep into folders and clicked at the first .exe they found...

Anyway Z.1 crisis dissolved, deallocate, modules onInit...
 

kingkingyyk3

Visitor (Welcome to the Jungle, Baby!)
Reaction score
216
my users were of the kind that browsed deep into folders and clicked at the first .exe they found...
I am that people, but I does not have interest of the history.exe. I know AVG will not let me to open it. :p
 

Jesus4Lyf

Good Idea™
Reaction score
397
OMG!
So cool!
Excuse the off topic, but...
This is one of the most powerful things...
JASS:
struct FlyingSystem extends array
    private static constant real DISTANCE = 200 * T32_PERIOD
    private static method AIDS_filter takes unit u returns boolean
        return IsUnitType(u,UNIT_TYPE_FLYING)
    endmethod
    //! runtextmacro AIDS()
    private method periodic takes nothing returns boolean
        local real r = GetUnitFacing(this.unit) * bj_DEGTORAD
        call SetUnitX(this.unit, GetUnitX(this.unit) + Cos(r) * thistype.DISTANCE)
        call SetUnitY(this.unit, GetUnitY(this.unit) + Sin(r) * thistype.DISTANCE)
        return GetWidgetLife(this.unit)&lt;=0.405 // Ever tried resurrecting a flying unit?
    endmethod
    implement T32
    private method AIDS_onCreate takes nothing returns nothing
        call this.startPeriodic()
    endmethod
endstruct
Just wanted to show Vex and whoever else why I wanted this kind of thing so bad.

AND OMG DESTROY OVERRIDE!
JASS:
struct KK
    static method create takes nothing returns thistype
        return thistype(3)
    endmethod
    method destroy takes nothing returns nothing
        call BJDebugMsg(I2S(this))
    endmethod
endstruct

function Trig_NewFeature2_Actions takes nothing returns nothing
    call KK.create().destroy()
    call KK.create().destroy()
    call KK(77).destroy()
endfunction

//===========================================================================
function InitTrig_NewFeature2 takes nothing returns nothing
    set gg_trg_NewFeature2 = CreateTrigger(  )
    call TriggerRegisterTimerEventSingle( gg_trg_NewFeature2, 1.00 )
    call TriggerAddAction( gg_trg_NewFeature2, function Trig_NewFeature2_Actions )
endfunction
TODAY IS A HAPPY DAY! :D (Ignore my crappy example, but this is epic win - no longer need extends array structs as much - only thing missing now is a method for resetting initial values. :thup:)

Can't believe structs are finally fixed!! :D

Thx Vex.
 

Attachments

  • AIDS_T32.w3m
    34.4 KB · Views: 238

Frozenhelfir

set Gwypaas = Guhveepaws
Reaction score
56
>only thing missing now is a method for resetting initial values.

Isn't that what the create method is for? I always reset the values in the create method o_o
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • WildTurkey WildTurkey:
    is there a stephen green in the house?
    +1
  • The Helper The Helper:
    What is up WildTurkey?
  • The Helper The Helper:
    Looks like Google fixed whatever mistake that made the recipes on the site go crazy and we are no longer trending towards a recipe site lol - I don't care though because it motivated me to spend alot of time on the site improving it and at least now the content people are looking at is not stupid and embarrassing like it was when I first got back into this like 5 years ago.
  • The Helper The Helper:
    Plus - I have a pretty bad ass recipe collection now! That section of the site is 10 thousand times better than it was before
  • The Helper The Helper:
    We now have a web designer at my job. A legit talented professional! I am going to get him to redesign the site theme. It is time.
  • Varine Varine:
    I got one more day of community service and then I'm free from this nonsense! I polished a cop car today for a funeral or something I guess
  • Varine Varine:
    They also were digging threw old shit at the sheriff's office and I tried to get them to give me the old electronic stuff, but they said no. They can't give it to people because they might use it to impersonate a cop or break into their network or some shit? idk but it was a shame to see them take a whole bunch of radios and shit to get shredded and landfilled
  • The Helper The Helper:
    whatever at least you are free
  • Monovertex Monovertex:
    How are you all? :D
    +1
  • Ghan Ghan:
    Howdy
  • Ghan Ghan:
    Still lurking
    +3
  • The Helper The Helper:
    I am great and it is fantastic to see you my friend!
    +1
  • The Helper The Helper:
    If you are new to the site please check out the Recipe and Food Forum https://www.thehelper.net/forums/recipes-and-food.220/
  • Monovertex Monovertex:
    How come you're so into recipes lately? Never saw this much interest in this topic in the old days of TH.net
  • Monovertex Monovertex:
    Hmm, how do I change my signature?
  • tom_mai78101 tom_mai78101:
    Signatures can be edit in your account profile. As for the old stuffs, I'm thinking it's because Blizzard is now under Microsoft, and because of Microsoft Xbox going the way it is, it's dreadful.
  • The Helper The Helper:
    I am not big on the recipes I am just promoting them - I use the site as a practice place promoting stuff
    +2
  • Monovertex Monovertex:
    @tom_mai78101 I must be blind. If I go on my profile I don't see any area to edit the signature; If I go to account details (settings) I don't see any signature area either.
  • The Helper The Helper:
    You can get there if you click the bell icon (alerts) and choose preferences from the bottom, signature will be in the menu on the left there https://www.thehelper.net/account/preferences
  • The Helper The Helper:
    I think I need to split the Sci/Tech news forum into 2 one for Science and one for Tech but I am hating all the moving of posts I would have to do
  • The Helper The Helper:
    What is up Old Mountain Shadow?

      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