Warcraft II Forum

Warcraft II => Mods & Development => Topic started by: fois on April 04, 2020, 07:19:40 PM

Title: Plugin package
Post by: fois on April 04, 2020, 07:19:40 PM
Here you can download all my plugins in 1 package (it's easier to update for me like this...)

Extract war2-plugins.zip into your plugin folder and that's it. If you don't have a plugin folder then install WarCombat 46 (http://en.war2.ru/downloads/) standard or full.



The following plugins are included:

HardwareCursor Plugin - Can fix the laggy cursor on Windows 8/10 (http://forum.war2.ru/index.php/topic,6190.0.html)
Ignore Plugin - Can permanently ignore players, even after a restart of the game (http://forum.war2.ru/index.php/topic,5713.0.html)
PlaySound Plugin - Plays a sound of your choice on events (Game Start/Join game) (http://forum.war2.ru/index.php/topic,5446.0.html)
NoteBot Plugin - Fixes the incorrect "nobody can join your game" message (http://forum.war2.ru/index.php/topic,5686.0.html)
AutoWarLat Plugin - Enables the WarLat patch automatically on game start (Same as setting the latency to high and then to low manually)
SmoothScroll Plugin - Changes keyboard and mouse scrolling to scroll 1 cell at a time rather than 2 cells (to get a smooth scroll effect)
MMblack Plugin - Changes the mini map color of the black player to any color you like (by default = pink) without changing the units/buildings colors



Download: https://github.com/FunkyFr3sh/Warcraft-II-Plugins/releases/latest/download/war2-plugins.zip (https://github.com/FunkyFr3sh/Warcraft-II-Plugins/releases/latest/download/war2-plugins.zip)
Title: Re: Plugin package
Post by: Nox on May 22, 2020, 06:45:57 PM
Need a list of those plug in so we dint dl for no reason if we already have them.
Title: Re: Plugin package
Post by: fois on June 24, 2020, 07:05:41 PM
Need a list of those plug in so we dint dl for no reason if we already have them.

Yeah, good idea. Updated the first post
Title: Re: Plugin package
Post by: Lambchops on September 03, 2020, 02:32:21 AM
@fois
Nice work on the plugins. Great stuff here  :thumbsup:

Rebuilt your autowarlat thing in ASM and added a fix for that annoying "*\/:><|+^&" message.

Feel free to use this if you want.
Code: [Select]
; Autowarlat by fois.   ASM conversion and additions from Lambchops
.486
.model flat, stdcall
option casemap :none

 include    \masm32\include\windows.inc
 include    \masm32\include\kernel32.inc
 includelib     \masm32\lib\kernel32.lib

PATCH_CALL_LOC    equ 420E01h  ; location of call offset to patch
PATCH_CALL_TARGET equ 477E60h  ; original patched call target
LAT_CALL_LOC      equ 477CC0h  ; address of latency set target
PATCH_LEN         equ      4h
STRINGTABLE_PTR   equ 4AE10Ch  ; location of game system string table
STRING_OFFSET     equ   0AF5h  ; offset of lat(0) message
WARLAT_LOC        equ 47862Eh  ; location of orig warlat patch
WARLAT_LEN        equ      7h


.code
   

patch_func:
 
  ; call orginal target func
  mov eax,PATCH_CALL_TARGET
  call eax
 
  ; patch string table
  mov eax,STRINGTABLE_PTR
  mov eax,[eax]
  add eax,STRING_OFFSET
  mov dword ptr[eax],  074754103h
  mov dword ptr[eax+4],07261576Fh
  mov dword ptr[eax+8],03A74616Ch
  mov byte  ptr[eax+12],20h
 
  ; set latency call
  push 0
  mov eax,LAT_CALL_LOC
  call eax
  pop eax
 
  ret


w2p_init proc
  pushad
  mov ebx,esp  ; local loc
  push 0       ; alloc local
 
 
  ; warlat patch
  push ebx
  push 4 
  push WARLAT_LEN
  push WARLAT_LOC
  call VirtualProtect
 
  mov eax,WARLAT_LOC
  mov dword ptr[eax],00499090h
  mov dword ptr[eax+3],90909090h
 
  push ebx
  push [ebx]
  push WARLAT_LEN
  push WARLAT_LOC
  call VirtualProtect

  ; autowarlat patch
  push ebx
  push 4
  push PATCH_LEN
  push PATCH_CALL_LOC
  call VirtualProtect
 
  mov edx,PATCH_CALL_LOC+4
  mov eax,OFFSET patch_func
  sub eax,edx
  mov [edx-4],eax
 
  push ebx
  push [ebx]
  push PATCH_LEN
  push PATCH_CALL_LOC
  call VirtualProtect
 
  pop eax        ; deaclloc local
  popad
  ret
w2p_init endp



DllMain proc hModule:DWORD, dwReason:DWORD, reserved:DWORD
  mov eax,1
  ret
DllMain endp

end DllMain

;autowarlat.def
;
;LIBRARY autowarlat
;EXPORTS
;w2p_init





 -- edit --

or if you want you can just zero the string and disable the message alltogether

like:

Code: [Select]
  ; patch string table
  mov eax,STRINGTABLE_PTR
  mov eax,[eax]
  add eax,STRING_OFFSET
  mov dword ptr[eax],  0h


of course it only changes the message on the local client, other players not using the plugin will still see "*\/:><|+^&"


(http://forum.war2.ru/index.php?action=dlattach;topic=5714.0;attach=3805)
Title: Re: Plugin package
Post by: fois on September 09, 2020, 08:43:02 PM
@fois
Nice work on the plugins. Great stuff here  :thumbsup:

Rebuilt your autowarlat thing in ASM and added a fix for that annoying "*\/:><|+^&" message.

Feel free to use this if you want.

Cool idea! Latest combat got the message fixed as well, but maybe it's useful for those that don't want to use the latest version
Title: Re: Plugin package
Post by: Szwagier on April 13, 2021, 06:05:48 PM
Hello @fois, I got question about ignore plugin cause sometimes in lobby I can see message from ignored people, any ideas to fix it?
Title: Re: Plugin package
Post by: fois on April 13, 2021, 06:29:34 PM
@Szwagier

EDIT: I found the problem, it only happened when the message was too long and it displayed the message in multiple lines.

Fixed it now, re-download the plugin from the first post
Title: Re: Plugin package
Post by: Szwagier on April 14, 2021, 02:03:48 AM
Yes thats possbile I saw only long message, thank you
Title: Re: Plugin package
Post by: fois on May 11, 2023, 05:05:26 PM
Updated the plugin package with a new "MMblack" plugin that allows you to change the mini map color of the black player to any color you like (by default it's set to pink) - The units/buildings colors will not change using this plugin (they're still black)
Title: Re: Plugin package
Post by: dannyldd on May 13, 2023, 05:35:53 PM
Thanks for sharing Fois, bud. Always cool to see new content from you.

I've set up 245 and seems like good enough satisfying color on minimap. Thanks again!