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 > Resources > - Submit a resource -
User Name
Password
Register Rules Get Hosted! Chat Pastebin FAQ and Rules Members List Calendar



Reply
 
Thread Tools Search this Thread
Old 05-22-2009, 12:02 AM   #16
Vexorian
Free Software Terrorist
 
Vexorian's Avatar


Technical Director
 
Join Date: Apr 2003
Posts: 14,898

Submissions (37)

Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)

Hero Contest #3 - 2nd Place

Default

Please don't use novjass as a comment block...

I'll let Anitarf continue his work on this resource's review.
__________________
Zoom (requires log in)Wc3 map optimizer 5.0
Someone should fix .wav sound in this thing.
Zoom (requires log in)JassHelper 0.A.2.A
Turns your simple code into something that is complicated enough to work.
Faster != more useful
Vexorian is offline   Reply With Quote
Sponsored Links - Login to hide this ad!
Old 05-22-2009, 12:21 AM   #17
akolyt0r
In Flames
 
akolyt0r's Avatar
 
Join Date: Jan 2006
Posts: 1,154

Submissions (3)

akolyt0r has a spectacular aura about (120)

Default

Quote:
Originally Posted by Vexorian
Please don't use novjass as a comment block...

I'll let Anitarf continue his work on this resource's review.

why not ... it wont compile without vjass anyway ... and i want syntax highlighting of my examples + i dont want additional docu triggers, since i had quite often the problem that i imported some kind of system into my map (e.g. xe), then had some questions ... so i had to search & open up the xe-map again to search the docu for my question ...
__________________
akolyt0r is offline   Reply With Quote
Old 05-22-2009, 12:26 AM   #18
Vexorian
Free Software Terrorist
 
Vexorian's Avatar


Technical Director
 
Join Date: Apr 2003
Posts: 14,898

Submissions (37)

Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)Vexorian has a reputation beyond repute (1062)

Hero Contest #3 - 2nd Place

Default

I would just paste xe's docus in the map.

I keep everything in separate files, including the documentation, so I just open them in gedit. It is never intended to use highlight.

I think that novjass is quite the hack in this case, but well, if you really like highlighting that much...
__________________
Zoom (requires log in)Wc3 map optimizer 5.0
Someone should fix .wav sound in this thing.
Zoom (requires log in)JassHelper 0.A.2.A
Turns your simple code into something that is complicated enough to work.
Faster != more useful
Vexorian is offline   Reply With Quote
Old 06-15-2009, 01:03 PM   #19
Anitarf
Procrastination Incarnate


Development Director
 
Join Date: Feb 2004
Posts: 8,190

Submissions (19)

Anitarf has a brilliant future (903)Anitarf has a brilliant future (903)Anitarf has a brilliant future (903)Anitarf has a brilliant future (903)Anitarf has a brilliant future (903)Anitarf has a brilliant future (903)Anitarf has a brilliant future (903)Anitarf has a brilliant future (903)

2008 Spell olympics - Fire - SilverApproved Map: Old School Alliance TacticsHero Contest #2 - 3rd PlaceSpell making session 2 winner

Default

I still think this needs a bit more modularization, at the very least the damage detection stuff should be a separate library the same way jAssystSpellBonus is so users can easily recalibrate it to work with a different damage detection system, right now that the code is mixed up in the main system that's kind of hard to do.
__________________
Anitarf is offline   Reply With Quote
Old 06-15-2009, 03:22 PM   #20
akolyt0r
In Flames
 
akolyt0r's Avatar
 
Join Date: Jan 2006
Posts: 1,154

Submissions (3)

akolyt0r has a spectacular aura about (120)

Default

Quote:
Originally Posted by Anitarf
I still think this needs a bit more modularization, at the very least the damage detection stuff should be a separate library the same way jAssystSpellBonus is so users can easily recalibrate it to work with a different damage detection system, right now that the code is mixed up in the main system that's kind of hard to do.

problem about this is, that most damage detection systems handle stuff differently..

e.g. IDDS registers triggers, LLDD uses "code returns boolean" and your ADamage System uses a function interface.

To achieve compatibility with all those systems, i cant achieve the best performance, because i would need wrapper functions for at least 2 DDS, so thats +1 extra function call for those DDS. ... will be possible without performance loss, but increases code length since i need 2 onDamage functions now.

Of course i see it would be really cool, if users could use the DDS of their choice.

I will do some tests to check out whats possible.

EDIT: I think its possible
EdIT2: but i wont do it without an additional module, just an additional config section in the main script, for encapsulation reasons...and since a extra module is gay for less than 10 Lines of code.
__________________

Last edited by akolyt0r : 06-15-2009 at 03:51 PM.
akolyt0r is offline   Reply With Quote
Old 06-15-2009, 04:22 PM   #21
akolyt0r
In Flames
 
akolyt0r's Avatar
 
Join Date: Jan 2006
Posts: 1,154

Submissions (3)

akolyt0r has a spectacular aura about (120)

Default

Updated.
__________________
akolyt0r is offline   Reply With Quote
Old 06-15-2009, 05:15 PM   #22
Anitarf
Procrastination Incarnate


Development Director
 
Join Date: Feb 2004
Posts: 8,190

Submissions (19)

Anitarf has a brilliant future (903)Anitarf has a brilliant future (903)Anitarf has a brilliant future (903)Anitarf has a brilliant future (903)Anitarf has a brilliant future (903)Anitarf has a brilliant future (903)Anitarf has a brilliant future (903)Anitarf has a brilliant future (903)

2008 Spell olympics - Fire - SilverApproved Map: Old School Alliance TacticsHero Contest #2 - 3rd PlaceSpell making session 2 winner

Default

No, that's not right. Since none of the DD systems is listed in the library requirements, the whole thing might not even compile. Furthermore, you get code bloat by adding support for multiple systems into a single library.

By porting it to a separate library, you can have a different version of that for each DD system without affecting the main library in any way, there's no code bloat and if a user has a nonstandard DD system it's a piece of cake to make it work for that too. If spell assist could be a separate library I see no reason why damage assist shouldn't be.
__________________
Anitarf is offline   Reply With Quote
Old 06-15-2009, 07:36 PM   #23
akolyt0r
In Flames
 
akolyt0r's Avatar
 
Join Date: Jan 2006
Posts: 1,154

Submissions (3)

akolyt0r has a spectacular aura about (120)

Default

done - as you wish. even though the "code bloat" you mentioned was excactly 7 (!) lines.
__________________
akolyt0r is offline   Reply With Quote
Old 06-19-2009, 01:00 PM   #24
Anitarf
Procrastination Incarnate


Development Director
 
Join Date: Feb 2004
Posts: 8,190

Submissions (19)

Anitarf has a brilliant future (903)Anitarf has a brilliant future (903)Anitarf has a brilliant future (903)Anitarf has a brilliant future (903)Anitarf has a brilliant future (903)Anitarf has a brilliant future (903)Anitarf has a brilliant future (903)Anitarf has a brilliant future (903)

2008 Spell olympics - Fire - SilverApproved Map: Old School Alliance TacticsHero Contest #2 - 3rd PlaceSpell making session 2 winner

Default

I disagree with the one-periodic-timer implementation, a timer per assist would be more sensible and efficient.

By the way, you forgot to release the timer in unRegisterAUTimed.
__________________
Anitarf is offline   Reply With Quote
Old 06-19-2009, 02:02 PM   #25
akolyt0r
In Flames
 
akolyt0r's Avatar
 
Join Date: Jan 2006
Posts: 1,154

Submissions (3)

akolyt0r has a spectacular aura about (120)

Default

Quote:
Originally Posted by Anitarf
I disagree with the one-periodic-timer implementation, a timer per assist would be more sensible and efficient.

By the way, you forgot to release the timer in unRegisterAUTimed.
1: ok
2: omg! fixed

Quote:
v1.42 - changed implementation to 1 timer per AssistUnit and fixed a minor bug, and fixed some constants of the configuration, which were set to really bad values.

damn i really had REALLY wrong values in the config section ... forgot to change them since i did some debug stuff in earlier versions ...

Collapse oldvalues:
private constant real TIME_OUT          = 0.01 //OMG ?? 0.5 is fine.
private real    UNREGISTER_TIMEOUT = 10.     //OMG ?? anything >60 is fine.
that unregister timeout would have caused many errors, when a non-hero, registered unit would have been revived AFTER those 10 seconds.

Well i have fixed those.
__________________
akolyt0r is offline   Reply With Quote
Old 07-24-2009, 02:03 AM   #26
Anitarf
Procrastination Incarnate


Development Director
 
Join Date: Feb 2004
Posts: 8,190

Submissions (19)

Anitarf has a brilliant future (903)Anitarf has a brilliant future (903)Anitarf has a brilliant future (903)Anitarf has a brilliant future (903)Anitarf has a brilliant future (903)Anitarf has a brilliant future (903)Anitarf has a brilliant future (903)Anitarf has a brilliant future (903)

2008 Spell olympics - Fire - SilverApproved Map: Old School Alliance TacticsHero Contest #2 - 3rd PlaceSpell making session 2 winner

Default

When I suggested one timer per assist, I meant it so that you could stop using the whole TIME_OUT periodic thing and use MAX_ASSIST_DELAY as the timer timeout time instead.
__________________
Anitarf is offline   Reply With Quote
Old 08-04-2009, 05:54 PM   #27
akolyt0r
In Flames
 
akolyt0r's Avatar
 
Join Date: Jan 2006
Posts: 1,154

Submissions (3)

akolyt0r has a spectacular aura about (120)

Default

Quote:
Originally Posted by Anitarf
When I suggested one timer per assist, I meant it so that you could stop using the whole TIME_OUT periodic thing and use MAX_ASSIST_DELAY as the timer timeout time instead.

i dont think this will improve performance ...(due to the fact that you cant change the duration of a timer)...
When i change the system to work with one timer for each unit, everytime an assist is registered (using the modules), the timer for that unit would have to be stopped and started again ...
Actually i think its better to do more math, when the global timer elapses and some more math when an assist is registered, compared having no timer which counts down (using TIME_OUT), but starting and stopping lots of timers instead...
__________________
akolyt0r is offline   Reply With Quote
Old 10-30-2009, 03:21 PM   #28
Anitarf
Procrastination Incarnate


Development Director
 
Join Date: Feb 2004
Posts: 8,190

Submissions (19)

Anitarf has a brilliant future (903)Anitarf has a brilliant future (903)Anitarf has a brilliant future (903)Anitarf has a brilliant future (903)Anitarf has a brilliant future (903)Anitarf has a brilliant future (903)Anitarf has a brilliant future (903)Anitarf has a brilliant future (903)

2008 Spell olympics - Fire - SilverApproved Map: Old School Alliance TacticsHero Contest #2 - 3rd PlaceSpell making session 2 winner

Default

Quote:
Originally Posted by akolyt0r
i dont think this will improve performance ...(due to the fact that you cant change the duration of a timer)...
When i change the system to work with one timer for each unit, everytime an assist is registered (using the modules), the timer for that unit would have to be stopped and started again ...
Stopping a timer and then starting it again effectively changes it's duration, which contradicts your first statement. Also, you don't need to stop it, just a TimerStart call is enough.

Quote:
Actually i think its better to do more math, when the global timer elapses and some more math when an assist is registered, compared having no timer which counts down (using TIME_OUT), but starting and stopping lots of timers instead...
That's probably true because you use such a high period (0.5 seconds). That's rather ugly and terribly inaccuarate but I guess it doesn't matter for a system like this. However, your current implementation is a weird hybrid that makes no sense: you're using a periodic timer, but instead of one timer running all instances you still have a timer per instance.

Your automatic unregistering is error-prone. If a unit dies, is ressurected and then 110 seconds after it's death dies again, it will then be unregistered 10 seconds later instead of 120. Also, if the unit gets removed before the time is up your IsUnitType check for it being dead will return false.

Ideally, unit registering should be completely automatic as well, AutoIndex would allow you to do this easily without the issues your current unregistering has. The only public function needed for a system like this is RegisterAssist.

Also, your documentation on system usage is practically nonexistant.
__________________
Anitarf is offline   Reply With Quote
Old 10-30-2009, 05:08 PM   #29
akolyt0r
In Flames
 
akolyt0r's Avatar
 
Join Date: Jan 2006
Posts: 1,154

Submissions (3)

akolyt0r has a spectacular aura about (120)

Default

Quote:
Originally Posted by Anitarf
Your automatic unregistering is error-prone. If a unit dies, is ressurected and then 110 seconds after it's death dies again, it will then be unregistered 10 seconds later instead of 120.
Yeah, didnt think of that, but this can be fixed by an additional Trigger registering the Death of the registered unit, which resets the unregister-timeout.
Quote:
Originally Posted by Anitarf
Also, if the unit gets removed before the time is up your IsUnitType check for it being dead will return false.
If people remove such important units without calling the unregister-function it's really their own fault...
Quote:
Originally Posted by Anitarf
Ideally, unit registering should be completely automatic as well, AutoIndex would allow you to do this easily without the issues your current unregistering has. The only public function needed for a system like this is RegisterAssist.
I dont feel like i want to put too much work into this anymore, and since th unregistering issue is fixable easily, it doesnt matter too much ...
And calling one function when you remove important units like heros isnt that much work... isnt it ?
__________________
akolyt0r is offline   Reply With Quote
Old 03-10-2010, 08:39 AM   #30
akolyt0r
In Flames
 
akolyt0r's Avatar
 
Join Date: Jan 2006
Posts: 1,154

Submissions (3)

akolyt0r has a spectacular aura about (120)

Default

Quote:
Originally Posted by Anitarf
That's probably true because you use such a high period (0.5 seconds). That's rather ugly and terribly inaccuarate but I guess it doesn't matter for a system like this. However, your current implementation is a weird hybrid that makes no sense: you're using a periodic timer, but instead of one timer running all instances you still have a timer per instance.

Your automatic unregistering is error-prone. If a unit dies, is ressurected and then 110 seconds after it's death dies again, it will then be unregistered 10 seconds later instead of 120. Also, if the unit gets removed before the time is up your IsUnitType check for it being dead will return false.
fixed ..

Quote:
Originally Posted by Anitarf
Ideally, unit registering should be completely automatic as well, AutoIndex would allow you to do this easily without the issues your current unregistering has. The only public function needed for a system like this is RegisterAssist.
@Anitarf, Automatic registering of units ??, how should this system know which units it should register ?...
Of course i could say ...hmm yeah ... just register all heroes, but many maps use heroes for there hero-choice system, so this is error prone..
__________________
akolyt0r 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:30 AM.


Affiliates
The Hubb The JASS Vault Clan WEnW Campaign Creations Clan CBS GamesModding Flixreel Videos

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