Warcraft II Forum

Warcraft II => Mods & Development => Topic started by: Lambchops on June 05, 2019, 10:23:20 PM

Title: WC2 Plugins v0.1.3 fully compatible
Post by: Lambchops on June 05, 2019, 10:23:20 PM
Version 0.1.3 of the Plugin Framework is now tested and working on Windows 10, 7, and XP with all ddraw versions.

Should work with all War2 BNE 2.02 variants including all w2combat versions except 4.4

Instructions and description are HERE. (http://forum.war2.ru/index.php/topic,2703.msg78016.html#msg78016)

The new ZIP file is here (http://forum.war2.ru/index.php?action=dlattach;topic=2703.0;attach=3111)

AFAIK it should work with all Windows versions - If you successfully install on a different OS not listed here please let me know and I will update the list.


Thanks to RandomPeasant and EC for testing and feedback  :fro: :thumbsup:





Title: Re: WC2 Plugins v0.1.3 fully compatible
Post by: Tolean on June 06, 2019, 05:59:55 AM
What is this and where can I use it?
Title: Re: WC2 Plugins v0.1.3 fully compatible
Post by: Lambchops on June 06, 2019, 09:04:36 AM
What is this and where can I use it?


Instructions and description are HERE. ([url]http://forum.war2.ru/index.php/topic,2703.msg78016.html#msg78016[/url])

Title: Re: WC2 Plugins v0.1.3 fully compatible
Post by: Lambchops on June 06, 2019, 10:28:23 AM
                CRAZY Speed plugin    ;D


         This one is just for the lols.

Obviously you can't use this pvp unless all players are using it. You would just drop.


This doesn't actually speed up the game, it just makes all the game action delays finish instantly... so:

Peons instantly exit mines/halls/mills as soon as they enter.

Unit movement/construction/training/chopping speeds are faster (maybe 1.5x - 3x)

Repair speed is much faster 5x ?? 10x ?? idk

Towers attack speeds are insane ??x omg

Other stuff is faster (spells etc.)


The attached video is of part of a game on fastest, in real time.
(sorry for bad video quality has to be small to post)

The gold being collected is from 6 peons in a PM ;)


  -- edit --

There's 2 versions:


CrazySpd.w2p         Just gives the local player speed.
CrazySpdAll.w2p     Gives everyone speed (including comps)

You will need the second version if you want to try it out pvp for fun. (obviously don't try to use them both at once...)

IIRC With the all speed version playing vs. comps is ok until the comps get magic then they start messing you up pretty badly.

Because repair is so OP (and comps don't repair-build) you can build very fast and defend your base with 1 or 2 towers as long as you watch for cats... but when the comps get DKs you want to be ready for it.


Title: Re: WC2 Plugins v0.1.3 fully compatible
Post by: Tolean on June 06, 2019, 03:57:06 PM
Oh, I will take a look, thx
Title: Re: WC2 Plugins v0.1.3 fully compatible
Post by: CLAVV on July 01, 2019, 04:29:12 AM
IF U KONSIDER ON-SCREEN "CHOP PROGRESS" TO BE A MILD IMPROVEMENT, HOW BOUT AN ON-SCREEN HP DISPLAY OF UNITS HP? I BELIEVE THEY HAVE THAT IN WARGUS
THE HP BAR COULD BE DISPLAYED UNDER THE UNIT, SIMILARLY TO THE CHOP PROGRESS

I BELIEVE IT BE EVEN MORE HACKISH, BUT HAS SUPER USES SO I LIKE TO SUGGEST THAT (IF IL ADDZ THE CHOP PROGRESS TO THE GAME AND WE FOLLOW "NOT A HACK" NARRATIVE)
Title: Re: WC2 Plugins v0.1.3 fully compatible
Post by: fois on July 10, 2019, 08:00:21 PM
Got another plugin idea, could you create one that will automatically query the /stats of a user when someone joins your game?
Title: Re: WC2 Plugins v0.1.3 fully compatible
Post by: Warbux on July 11, 2019, 08:30:04 PM
is there a health bar 1 for ur own units by any chance?
Title: Re: WC2 Plugins v0.1.3 fully compatible
Post by: iL on August 30, 2019, 09:22:30 AM
The idea about timer plugin:
russians looks into it and thought to move the time to the right bottom angle. And also to change it's color.
What do you think about that update, @Lambchops ?
(http://forum.war2.ru/index.php?action=dlattach;topic=4948.0;attach=3284)
Title: Re: WC2 Plugins v0.1.3 fully compatible
Post by: Lambchops on August 30, 2019, 09:55:52 PM
The idea about timer plugin:
russians looks into it and thought to move the time to the right bottom angle. And also to change it's color.
What do you think about that update, @Lambchops ?
([url]http://forum.war2.ru/index.php?action=dlattach;topic=4948.0;attach=3284[/url])


@iL

oh cool :) Looks good.

I only put it on the mini map because the main screen doesn't refresh every second, so the timer will stop until you move something.

Perhaps it is the observer "p/g/o .... k/r" (or "apm:" ) that is making the screen refresh in that corner?

Anyway I am happy to see others working on plugins. Looks good in the corner.
Could maybe use the larger font down there too.

Title: Re: WC2 Plugins v0.1.3 fully compatible
Post by: Lambchops on August 30, 2019, 10:08:37 PM
Got another plugin idea, could you create one that will automatically query the /stats of a user when someone joins your game?

Can do this, except the server limits requests .. I think 1 request/7 seconds maybe? can't remember.

If 7 people join straight away then either the server refuses for flooding or if you spread them out then it takes 49 seconds to get them all.

Maybe a keypress that just does /stats for the last person who joined?


is there a health bar 1 for ur own units by any chance?

Haven't done any more work on displaying stat bars recently. This is quite doable but I thought I would wait until people relaxed a bit about the whole plugin situation then revisit the issue.

Personally I think health bars for selected units would be a good thing, but not going there right now.
Title: Re: WC2 Plugins v0.1.3 fully compatible
Post by: iL on August 31, 2019, 03:40:11 AM
Can do this, except the server limits requests .. I think 1 request/7 seconds maybe? can't remember.

If 7 people join straight away then either the server refuses for flooding or if you spread them out then it takes 49 seconds to get them all.

Maybe a keypress that just does /stats for the last person who joined?
Hm, need to try.
Also, lesnik got another problem on his hardware: timer always turning to 9 in last digit before show proper number, check attached warvideo. That depends on ddraw on his hardware, but moving to right bottom corner fixes that for him.
Title: Re: WC2 Plugins v0.1.3 fully compatible
Post by: Available on August 31, 2019, 04:22:28 AM
Hi, it's lesnik.

Oh, iL, as usual. You need learn to read carefully.
>"That depends on ddraw on his hardware"

No, that works on standard good GDI visualiser from fois, which installed by default.

Almost all the screen refreshing ok, except some edges,
so i prefer to use that yellow mod with normal GDI ddraw.
Title: Re: WC2 Plugins v0.1.3 fully compatible
Post by: Lambchops on August 31, 2019, 06:05:01 AM
Can do this, except the server limits requests .. I think 1 request/7 seconds maybe? can't remember.

If 7 people join straight away then either the server refuses for flooding or if you spread them out then it takes 49 seconds to get them all.

Maybe a keypress that just does /stats for the last person who joined?
Hm, need to try.

I did a test for fast sending /w via server

got it to do like

/m warbux test0
/m warbux test1
/m warbux test2
/m warbux test3
/m warbux test4
/m warbux test5
/m warbux test6   .... etc.  When I pressed a key.

I think he got like 1 and 2 then missed some and I got a flooding message from server and he got 6 and 7 or something like that.

Anyway there is a limit to how fast you can make server requests. Perhaps there is a pvpgn setting where you can change this?

Here I looked it up. I wrote last post when I was leaving for work.

WC2 limits sending server commands to one every 2 seconds when normally entered. That is easy to bypass in the exe, but the server will refuse if there is too many too fast:

Code: [Select]
.text:004739D4                 call    ds:__imp_GetTickCount
.text:004739DA                 mov     edx, LAST_SERVER_TICK_COUNT
.text:004739E0                 mov     ecx, eax
.text:004739E2                 sub     ecx, edx
.text:004739E4                 cmp     ecx, 7D0h
.text:004739EA                 jb      short loc_473A10 ; exit if tick count interval < 2000
.text:004739EC                 lea     edx, [esi+8]
.text:004739EF                 mov     LAST_SERVER_TICK_COUNT, eax


Also, lesnik got another problem on his hardware: timer always turning to 9 in last digit before show proper number, check attached warvideo. That depends on ddraw on his hardware, but moving to right bottom corner fixes that for him.

Strange. It is not turning to 9 .... it is not erasing the last number and writing the next number on top of it.

so when 3 changes to 4:  first you get 3..... then 3 and 4 together ..... then just 4
then when 4 chages to 5 you get 4....4&5....5

This could maybe be related to a double-buffering setting somewhere?

Also I would try the fastMM plugin if you arent already using it. This could help too idk.

... but if you want it in bottom right, then use that one. It freezes until I move the screen for me not using observer, but if it works for you that's good :)

Title: Re: WC2 Plugins v0.1.3 fully compatible
Post by: iL on August 31, 2019, 05:57:17 PM
Strange. It is not turning to 9 .... it is not erasing the last number and writing the next number on top of it.
You right, it's not 9, is looks like the previous number. I didn't look carefully.

so when 3 changes to 4:  first you get 3..... then 3 and 4 together ..... then just 4
then when 4 chages to 5 you get 4....4&5....5

This could maybe be related to a double-buffering setting somewhere?
As lesnik said timer works fine with gdi ddraw only:
No, that works on standard good GDI visualiser from fois, which installed by default.
And when you try cnc ddraw or maybe some other versions (like test4 from aqrit or w/e?) is still has the problem.

Also I would try the fastMM plugin if you arent already using it. This could help too idk.
If that fastMM idea will change visualization logic, i'd say we shouldn't do that for such simple thing as a timer.
We need a way to let these numbers work perfect on every configuration.
... but if you want it in bottom right, then use that one. It freezes until I move the screen for me not using observer, but if it works for you that's good :)
At least i think top left corner and the border of minimap is not the best place for timer, especially if it overlaps a minimap a little.
I think right bottom would be better. Maybe to write it even lower: in the string where you type chat messages. Though lesnik cheked that and states that part of the screen is not being updated at all...
Title: Re: WC2 Plugins v0.1.3 fully compatible
Post by: shesycompany on September 02, 2019, 11:18:14 PM
lamb ok this idea maybe highly a annoyance but could one plugin do this..like u type in idk ice ice baby and it will play a clip of that song and otehr sound effects from movies whatever??
Title: Re: WC2 Plugins v0.1.3 fully compatible
Post by: Lambchops on September 03, 2019, 06:25:58 AM
lamb ok this idea maybe highly a annoyance but could one plugin do this..like u type in idk ice ice baby and it will play a clip of that song and otehr sound effects from movies whatever??

There already is one... it's on your phone labeled "google" ;)


Title: Re: WC2 Plugins v0.1.3 fully compatible
Post by: Lambchops on September 03, 2019, 06:40:37 AM
Also I would try the fastMM plugin if you arent already using it. This could help too idk.
If that fastMM idea will change visualization logic, i'd say we shouldn't do that for such simple thing as a timer.
We need a way to let these numbers work perfect on every configuration.

fastMM just makes the mini-map update more frequently, that is all. It makes the mini-map display unit movement much more smoothly. I think everyone should use this just for that reason, but it may also help with the timer because there are more frequent refreshes.

... but if you want it in bottom right, then use that one. It freezes until I move the screen for me not using observer, but if it works for you that's good :)
At least i think top left corner and the border of minimap is not the best place for timer, especially if it overlaps a minimap a little.
I think right bottom would be better. Maybe to write it even lower: in the string where you type chat messages. Though lesnik cheked that and states that part of the screen is not being updated at all...

Yes I agree. Having the timer on the mini-map is a kludge, it is there simply to make sure the screen is updated. It would be much better somewhere else, but we need to force the game to update that part of the screen.

Without a more complete understanding of the internal screen update mechanism, perhaps an easy fix could be to force the game to display some empty text like some char 0x20... or just output it via the in-game text functions (I think observer uses this?).

For the timer we should probably research whatever method observer uses to display APM etc. but for other graphics it would be good to know how to force the screen to update.

Title: Re: WC2 Plugins v0.1.3 fully compatible
Post by: iL on September 04, 2019, 09:17:53 AM
one more feedback from lesnik:
cpu saver plugin has performance problems with "GDI" ddraw. It gives 7-15 fps only on GTX1660, i7, win10.

Not sure what to do with that, i'll try to test it on my test win10, but the only fix i can offer is to disable that cpu save in installer by default...
Title: Re: WC2 Plugins v0.1.3 fully compatible
Post by: iL on September 04, 2019, 10:31:20 AM
fastMM just makes the mini-map update more frequently, that is all. It makes the mini-map display unit movement much more smoothly. I think everyone should use this just for that reason, but it may also help with the timer because there are more frequent refreshes.
Also note that timer moved to right bottom corner updates fine with GDI ddraw. But have no updates until you scrolls the screen with CnC or other ddraw. Check that please also...
Title: Re: WC2 Plugins v0.1.3 fully compatible
Post by: Lambchops on September 04, 2019, 11:30:57 AM
one more feedback from lesnik:
cpu saver plugin has performance problems with "GDI" ddraw. It gives 7-15 fps only on GTX1660, i7, win10.

Not sure what to do with that, i'll try to test it on my test win10, but the only fix i can offer is to disable that cpu save in installer by default...

Yeah the in-game cpu saver has not been thoroughly tested under all conditions. It works ok for me but winXP is much more forgiving with many things like this.

I had it disabled when I posted the zip.

I think the channel cpu-saver is the most important... Its ok to use the cpu when you are playing the game, but having it use 100% just sitting in the channel is silly.

Title: Re: WC2 Plugins v0.1.3 fully compatible
Post by: iL on September 04, 2019, 11:43:22 AM
Yeah the in-game cpu saver has not been thoroughly tested under all conditions. It works ok for me but winXP is much more forgiving with many things like this.
he says he can see the problem even in start menu.
I don't have such problems with my i5 win7.

I think the channel cpu-saver is the most important... Its ok to use the cpu when you are playing the game, but having it use 100% just sitting in the channel is silly.
I see, i'll release the fix with cpu saver splitted between game and chat and game part disabled by default...
Title: Re: WC2 Plugins v0.1.3 fully compatible
Post by: Available on September 05, 2019, 07:47:44 AM
Some thoughts about Timer plugin.

What about to get rid of 'seconds' and use game Ticks instead?

Of course keeping screen updates same every real second or so on, but display value='game Ticks', not time seconds.
That have much more sense:

1. Then we can straight and clearly compare 'timings' on different speeds - must be same for game Ticks, not depending on useless 'real time seconds'.

2. That may solve "on pause mode" problem, that must not be counted on game timer.


ps: whoever need to check 'real seconds' for some reason, can use warvideo already.
or just set up real timer nearby :)