-----------------------------------------------------------------------------
                             PenguinPlug README
-----------------------------------------------------------------------------

check for updated versions of this readme on http://ste.gnux.info/pp
(PenguinPlug version 0.2 : beta release)

PenguinPlug is a multifunction plug-in for Starcraft. Its goal is to
provide additional functions. The following options are currently available:

- RWT : Replay With Text. When you save a replay, all the messages you received
	from players (and your own messages) will be recorded in the replay.
	When you view the replay, the messages will appear. It works more or
	less like RWA (replay with audio by JCA), except you don't need a
	microphone: the poor man's version :) and you can record humorous
	comments by your opponents, it should give a new life to some replays.
	Note : the player that is saving the replay must have it running during
	the entire game, and each player that is watching it must have it
	running if they want to view the comments. If they don't have
	PenguinPlug, it will still be played like a normal replay for them.
	Of course it doesn't record the enemy privates messages.

- Unshifted Hotkey: If you have a French azerty keyboard, then you must use
	the "shift key" to type numbers, and it's VERY annoying for hotkeys.
	this plug-in allow you to use hotkey without using shift or caps lock.

- Antihacking: It will attempt to disturb a particular maphack, this is done
	by sending a text that will cause the maphack to "self-unally" the
	player : after 5 minutes *it will send automaticaly the message with
	 your name* (a blank line) then if you see a player attacking
	himself with every unit he has, it means he hack for 100% sure.
	It will also attempt to detect any text send that is
	done by a private hacking tool, you will see the message "Possible
	maphack usage detected (Special message recieved, crafted by a hacking
	tool)".
	Keep in mind that it only work against 1 particular maphack, 
	that's just a bonus for public games but it wont be a proof that
	nobody is hacking.
	It also integrate some anti-freeze hack, that prevent the game to
	freeze if a particular character is sent.


-------------
Requirements:
-------------
- Windows XP/NT/2000. This program was NOT tested with windows 95 or 98, you
	can try but it might not work.
- Broodwar 1.11b (this will probably work with Vanilla SC too, but not tested)

-----------
Directions:
-----------
Copy penguinlauncher.exe and penguinplug.spl to your Starcraft directory (the
one you have starcraft.exe in). Then double clic penguinlauncher.exe
It will add a penguin trayicon in the taskbar, and you will see a message
everytime you start a game. (you can also try to run starcraft.exe before and
PenguinPlug will automatically attach when you start the launcher)

Update : some users reported problem to download the .spl file, make sure you
right clilc and choose "save as" or the equivalent in your browser.
If it still doesn't work, i created a zip file that contain everything you need.


--------------------
Classic disclaimers:
--------------------
This program is a 3rd party program, that is not endorsed by Blizzard.
Be aware that by running it you may break the ELUA.
However, it is NOT a cheat program, and it doesn't give any unfair gameplay
advantage over a legitly playing opponent, I will never add any features
that could be considered "cheating".
It would be very ironic if Blizzard, after leting cheaters unpunished for
months, would punish users of tools like bwscanner or PenguinPlug.

Update: note about the "self unally the maphacker methode".
PenguinPlug does not contain any functions to unally a particular player
with himself. The unally code is completelly in the maphack on the hacker
computer, this maphack behave in 2 possible way :
- under some conditions (the particular message is not recieved),
	it act like a normal maphack and give an unfair advantage to his owner
- under an other condition (a very special message is recieved),
	it will unally the owner of the maphack with himself,
	giving him an unfair disadvantage.

My program doesnt hack starcraft to make an enemy player unally with himself.
It just make sure that the 2nd condition will happen, by sending the
message. The message doesnt affect starcraft itself, but it does affect
the maphack on the remote computer to disturb it. The maphacker is
responsible for everything that happen because of his maphack program,
no matter what conditions affect this maphack program.

------------------
Security concerns:
------------------
As long as you download the program directly from me, it has no trojans or
viruses included :) It doesn't manipulate your files, except the replays
when you save and open them, and the file penguinplug-debug.txt (but i'm
planing to add to this list a config file and a player/games database).
It doesn't affect any other program except if they are named Starcraft.exe.
It stays in memory as long as Starcraft is running, and stops when you stop
it. Unfortunately, I cant provide any "bug free warranty", it's still a beta
version, so it may possibly crash, corrupt or prevent you from loading the
replay, or have other nasty unintended behavior. But I have tested it, and
it seems to work quite well for me. If you notice some bugs, please inform me
with detailed explanations and I will do my best to fix them in a future
version.

------------
Source code:
------------
I had planed to release the source code but it would put me in a dangerous
situation in case someone reprogram it in a cheating tool. It would not
make a big difference for blizzard if someone modified it, they would
still consider me responsible. I will release it on individual requests.
If you have some positive reasons or if you have already contributed to the
3rd party fair software programming for sc, please ask for the source.
It also buy me some time in case someone would try to modify / disable /
counter the anti-hack code.

--------------
Extra credits:
--------------
Probably half of the code lines come from someone else, I don't have time to
re-invent the wheel :)
- DLL Injection and function interception tutorial By CrankHank
	http://www.codeproject.com/dll/DLL_Injection_tutorial.asp
- SC BaseHook 1.1 - by Palomino
- How To Enumerate Applications Using Win32 APIs
	http://support.microsoft.com/default.aspx?scid=kb;en-us;Q175030
- Yaron Zarfati's Linux Penguin icon
	http://mail.ort.edu.ar/penguin/

---------------
Special thanks:
---------------
All my friends on battle.net, my cousins, the [ZO] team
(http://ste.gnux.info/zo) the scd guys (http://starcraftdream.com),
angel.white, and all the peoples who helped to test it.

JCA, Lasgo, TravelToAiur, Entropy for making usefull and fair 3rd party program
(and Blizzard for making the game - i was about to forget this one :)

If you have some ideas / comments / questions, feel free to ask me by
email sart@host.sk, or I also spend some time in http://www.starcraftdream.com
forums.

----------
Known bugs
----------
I have been warned of the following problem and will do my best to fix them
in the next release :
- The hotkeyfr pluging doesnt work for keys 6 and 8 on azerty layout
	( keys '_' and '-'). This one is VERY annoying to fix.
- Every line theres 1 chance / 256 that the replaying of the text stops.
	it is a loading problem only and all replay saved now will
	be fully fixed in the next version
- Some minor display problem of the tray icon
- reminder : windows9x/Me is not supported, some peoples reported it doesnt
	works.

--------
Webpage:
--------
i will put up a webpage, http://ste.gnux.info/pp in the future, it
will be the safe place to download the last updated version.

History:
v0.3 -	Not done yet. RWT integrity check comming for almost sure.
	Same for the following bugfixs, it's almost ready to go out :
	RWT stopping to display randomly in some replays fixed in v0.3
	Unshifted hotkey not working for key 6+8 on azerty fixed in v0.3
	I'm just starting the command system, not sure to finish 
	Windows9x problem realy harder to fix, wait more.
	
	(ETA: 06/12/2004 but dont blame me if it take an additional
	week or more)

v0.2 - 28/11/2004
	first anti-hack code
	tray icon
	laucher can now run sc if not already loaded
	added untested code to try to make it work with win9x series

v0.1 - 20/11/2004 first "usable version", RWT + hotkeyfr

-superpenguin
