Valhalla Legends Archive

Programming => Battle.net Bot Development => Topic started by: Barabajagal on July 05, 2008, 03:12 PM

Title: Warcraft III 1.22
Post by: Barabajagal on July 05, 2008, 03:12 PM
Quote--------------------------------------------------------------------------
Patch 1.22
--------------------------------------------------------------------------

FEATURES

- There is now a replay auto-save feature in the options menu. Replays
   are automatically saved to the "replay" folder.
- The game is now automatically saved in the event of a potential
   disconnect. These saved games are placed in the "save" folder.
- Player color selection can now be limited by the number of players in
   the game using an option in the "Advanced Options" screen during game
   creation.
- Added an option to always show unit and building health bars.
- You can now enable and disable the display of minimap signals
   from players and other observers using chat commands:
   /showminimapsignals and /hideminimapsignals.
- Added a new in-game cheat "maxfps" to limit the maximum frame rate to
   the given number. Example: "maxfps 30" will set the maximum frame rate
   to 30 FPS.

BALANCE CHANGES

HUMAN
- Scout Tower repair rate changed from 12 to 20.
- Knight damage increased: Attack cooldown changed from 1.50 to
   1.40 and base damage increased from 25 to 28 (Average damage is 34).

UNDEAD
- Increased Ziggurat base armor from 1 to 5.
- Reduced the build time of the Necropolis from 120 to 100.

NIGHT ELF
- Reduce the Orb of venom poison duration from 10 seconds to 8 seconds.
- Increase the experience gain from Dryads from Level 2 (40xp) to
   Level 3 (60 xp).

FIXES

- The cooldown on unlimited usable items (example: the staff of
   preservation) now persists after the item is dropped or traded.
- A cooldown exploit with potions has been fixed.
- When you unburrow a Crypt Fiend, its auto-cast will no longer be toggled
   off.
- An exploit bug in which items could lose their cooldowns when transferred
   between heroes has been fixed.
- Fixed DotA-specific sound effects on Intel Macs.
- Fixed sound falloff on Intel Macs. Distant sounds should now still be
  audible.

MAPS

- New maps from contest winners:
- (2)MeltingValley
- (2)RoadToStratholme
- (4)CentaurGrove
- (4)TidewaterGlades

Verbyte: 0x16
Hashes: Here (http://rcb.realityripple.com/hashes/download.php?f=WAR3)

The Game.dll file has been changed so that the automatic determination of the Verbyte is no longer operational (C7 85 4C FD FF FF XX XX XX XX 89 8D 50 FD FF FF). Damn >:(
Title: Re: Warcraft III 1.22
Post by: MyndFyre on July 05, 2008, 03:40 PM
Of course, Warcraft's verbyte has always been the same version as its minor version number...
Title: Re: Warcraft III 1.22
Post by: Barabajagal on July 05, 2008, 04:08 PM
I wouldn't trust to that either, though... :-\

Also, the size of the files has broken my dynamic zip file code, even though PHP's supposed to have 40M allocated to it, so the hash download's not available at this time. Fixed.
Title: Re: Warcraft III 1.22
Post by: brew on July 05, 2008, 04:53 PM
When you see the verbyte's consistency for over a decade with many different clients, it seems much more reliable than searching for a pattern of instructions.

Question: What could have contributed to the major filesize increase with game.dll this patch?
Title: Re: Warcraft III 1.22
Post by: Barabajagal on July 05, 2008, 05:10 PM
Maybe the new features as documented in the changelog?
Title: Re: Warcraft III 1.22
Post by: Hdx on July 05, 2008, 07:44 PM
Anyone bothered to dissasemble the diff of the two files?
Aside form that, the things in the change log would account for *some* of the increate in the game.dll but i agree.. 2mb(?) jump is weird.
I asked myself what that was when I was uploading it to my server :P
Title: Re: Warcraft III 1.22
Post by: Kp on July 06, 2008, 02:24 AM
Perhaps the new version was built with a different compiler version or different options, such as switching from dynamic CRT to static CRT.  Perhaps debugging code was mistakenly shipped, causing the file to grow due to all the extra debug strings and/or sanity checking.

The best way to find the correct answer is to analyze the files, as Hdx suggested.  Start with easy tests like checking whether the DLL dependency list has changed.  Move on to checking whether functions known to be in the old version are unchanged in the new version (as opposed to picking up instrumentation).  If that doesn't turn up anything useful, then try to identify functions which are new in this version and determine what they do.
Title: Re: Warcraft III 1.22
Post by: Barabajagal on July 06, 2008, 02:08 PM
The new one has MSVCR80.DLL as a dependency; the only function is still GameMain.
Title: Re: Warcraft III 1.22
Post by: Hdx on July 06, 2008, 04:13 PM
Andy, GameMain fills a struct with addresses of other functions in the library. [Pretty much the same way snps worked]