PenguinPlug Readme
The online and most often updated version of this document is here: http://ste.gnux.info/pp/readme.phpVeteran PenguinPlug users ? you can just read the changelog at the end
New PenguinPlug users ? read everything :)
Introduction
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.
Version 0.2.9 and higher have an integrity check that ensure that the text cant be modified easly modified. If you see the message "Integrity ok" it means it has been saved with this feature.
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.unshift hotkey is off by default: type "\unshift on" to activate it and to save it in the config file automatically.
Anti-Crash / Freeze / Replay bugs
Some bugs in starcraft allow the kids that use hack programs to crash your starcraft remotely. PenguinPlug protect against 6 different ways to crash your starcraft, caused by hacks or bugs. I'm just giving the name, dont ask me for details.- Invalid character in message
- Invalid characters in save game name
- Invalid hover command
- Repair + dropship race condition
- Sprite crash (partial fix: you will still disconnect, but not crash, i will maybe find a better way latter.)
- Replay corruption when to many actions at the same time: allow the fix allow you to save the replays, it will warn you durring the game if someone corrupts it. in this case you will need penguinplug to watch the corrupted replay or it will crash / disconnect / act strangely after the time the corruption happened. Of course if the replay is not corrupted, you should still be able to watch it without PenguinPlug. I'm not the only one who made a similar patch, but i did mine alone.
Note: It's an Anti-crash hack. It wont prevent any "drop" hack, that mean that it wont prevent anyone to disconnect or to be disconnected. It will just ensure that your starcraft cant be crashed.
Automatic Replay Saver
For every game you play, the replay will be saved automatically in the subdirectory "maps\replays\autoreplay" of starcraft. The name will be the number of the game (4 digits) + the 6 first characters of every player name, separated by underscores "_", limited to 31 to keep the file openable by sc. You can still save it at an other place by clicking the save button normalyNow you dont need to remeber to save the replay, but dont forget to clean the directory before you reach the replay 9999 :) This feature come from Lasgo, he wrote the code for 1.11b, the source code was public, i just converted it to 1.12b and integrated to penguinplug.
Others
Download visibility: Allow you to see the download progress even at 0% or 100%. This patch come from Ashur, i only rewrote it to grey out the 100% values.Hide rally animation : if you are annoyed by it and you like too much the old < 1.12 behavior, theres an option in PenguinPlug to disable it.
command line editing & history : you can move back and forward in the line of the in-game text, and you can scroll up / down through the replay with text.
Anticheat
With the new patch 1.12, i have removed remote anti-cheat functions of PenguinPlug, they are impossible to make.Requirements
- Windows XP/NT/2000. With version 0.3 or higher it will probably work with 95, 98 and ME but i test it less often on those systems.
- Broodwar 1.12b or Vanilla SC 1.12b. If blizzad update it, it will not work until i change MANY references in the PengiunPlug code, no need to ask every 5 minutes when it will be done
Directions
Extract PenguinPlug-...zip in your starcraft directory (the directory that contain starcraft.exe). 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 first and then run PenguinLauncher for WinNT/XP)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.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, the files penguinplug-debug.txt and penguinplug.iniIt 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. With 1.12 just released and full of bugs again, i dont want to disclose something that can help the evil side to create a crash-hack.I might release it on individual requests. But you must have some positive reasons and you must have already contributed positively in the SC communauty. About 70 lines of the code (about bwac) comes from Lasgo personnaly, so i will never give those as i dont have the permission.
Extra credits
Probably half of the code lines come from someone else, I don't have time to re-invent the wheel :)- Asuhr gave me the hide rally points, some of the internal checks, and the download visibility offsets, big thanx
- Lasgo shared some code with me from bwac, and i also used his public replay saver code, big thanx too
- 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 programs. Ilintar and Pat for wgt/tlt and pgt. (and Blizzard for making the game - i was about to forget this one :) did i forgot anyone else ?
If you have some ideas / comments / questions, feel free to ask me by email (ste@ste.gnux.info), or I also spend some time in http://www.starcraftdream.com forums.
Known bugs
I dont have any infos yet on bugs of this new release, but it doesnt mean they are none :)Webpage:
The webpage http://ste.gnux.info/pp is the only one i control myself. So it's the only safe and most updated page to download PenguinPlug. (note: http://poinsart.gnux.info/pp is the same address and is valid too)Command Line Reference
Those commands have to by typed durring the game. Most of the value you can change with them are saved automaticaly so no need to type them every game.To type them press enter and use the "\" character and then the name of your command. for example "\help" will give you a list of those commands.
help
Show this help message about PenguinPlugrwtplay (on/off)
Show the game text durring the replay if available (Replay With Text) PenguinPlug will still load the text at the start of the game bt it will not display it until you turn it on.rwtrecord (on/off)
Save the replay with recorded message (Replay With Text) The replay will be saved like if PenguinPlug was not used, and there will be absolutely no text data in it, even if you only choose this at the last 10 seconds of the gameunshift (on/off) (default=off)
On azerty keyboard (french layout) it allow you to type hotkeys without pressing shift everytime. The default seting is off, so make sure you type "\unshfit on" if you want to enable it.bwchart
Open bwchart with the replay you are currently watching You must be in a replay to use this. BWChart must be installed and associated with the .rep files.If it doesnt work you can check this this: in bwchart, clic the "Option" button at the top of the screen and put a mark in the checkbox "File association between .rep extension and bwchart. BWChart is the great tool of JCA, he publish it on http://www.bwchart.com
webpage
Open PenguinPlug webpage with your default webbrowser: http://ste.gnux.info/pprwtexport
Save all the comments with times in a .txt file. Then it will open the notepad (or the program associated with .txt files) and load it. The filename and the path is exactly the same as the .rep file, you will get a file ending with ".rep.txt" You must be in a replay with text to use this command.autoreplay (on/off)
Activate or desactivate the "auto replay save".bwac (on/off) (default=off)
If you know what bwac is, you can turn it on, theres some comments about it in the other part if this readmehiderally (on/off) (default=off)
If you dont want the "rally animation" to be showed every time you select a building that has a rally point, you can disable it, it will do as if you were in the patch 1.11b for this.History
v0.3.94 - 05/05/2005
like usual, a test version, many new features :- anticrash for "save game" crash
- anticrash for "repair + dropship" crash
- anticrash for the "sprite" crash (just a quick workaround, you will still be disconnected but your SC doesnt crash and you can save the replay)
- replay anti-corruption (not fully tested)
- Auto-replay saver: it automaticaly save all the replays of the game you have played, if you regret every game to have a fast apm in the "end game" screen where you clic too fast the exit button, you are going to like this :) All the code is from Lasgo, i just converted it to patch 1.12b
- editing the command line (left + right arrow move in the text)
- command line history (up or down arrow to change the line)
- download visibility: Ashur provided me the code to show the download % even at 0 or 100. I rewrote it to grey out the completed download at 100%. I know some cheat programs have it, but maybe now they are not alone.
- hide rally animation: an other patch from Ashur, it allow you to disable or enable the rally animation, if you like better the old behavior, see command list for an help about it).
- suspicious action detection: very useless code to try to imitate the behavior of "bwac"... If you dont know what it is, you shouldnt use it. It needs to be extremely carefull when using it, it's only there for people that were very used to the old Lasgo bwac, and that have a good knowledge about how the replay works, how the actions are managed, it's disabled by default... A big part of the code is from Lasgo.
- fixed a PenguinPlug bug that could crash the game after saving a replay with text if the text was empty, thanx to humm nobody ? ;) who reported this problem with enough specific detail for me to identify the case where it could do this crash.
v0.3.9 - 19/02/2005
Test version for the 1.12b SC patch- offsets converted to be 1.12 compatible (and reconverted for 1.12b :( )
- anticheat removed (no more usefull)
- allow commands to be typed even in single player mode (with the older versions, they only worked in multiplayer)
- new "\rwtexport" command, to save the replay comments to a .txt file
- added protection against the "hover incomplete" crash
- minor bugfix: unshifted hotkey not working on belgian keyboards (thanx rage-xg- for the bug repport)
- minor bugfix: "\rwtplay off" not working (thanx angel.white for repporting)
v0.3 - 08/12/2004
- The loader is no longer a commandline program, it means it wont show the dos box. So dont jump "it's not working, theres no dos box", it probably worked, check the penguin icon.
- new command: "\bwchart" open bwchart with the replay you are currently watching.
- new command: "\webpage", it will open penguinplug webpage
v0.2.9
- Windows 98 beta support. I removed all usages of NT only functions in the pluggin, so it should now work for 95/98, maybe ME (happy xmass win9x users). It's still a test version for those 0S. You have to run the launcher before SC if you are using one of those.
- New experimental command line system for configuration.
type "\help" for a list of PP commands
type "\command" to run this command or view the value
type "\command (something)" to change a value
For example :
Unshifted hotkey is now turrned on by default, type "\unshift on" to turn it on".
Most config variables are saved in PenguinPlug.ini in the sc folder, so you dont have to retype them everytime. The command line system havent been 100% tested and can bug/crash... I suggest you avoid to experiment new commands if you are in an important game, and please repport any crash with detailed info of how to reproduct it. - RWT integrity check: for replay that have been saved with PP v0.2.9 and higher, it will check if the text have been altered. - Integrity OK means the text is probably accurate - Integrity failed means the text have been altered or corrupted - no integrity data means it have been saved with an older version of PP or removed (then the text could have been changed) It's not totaly 100% a proof of autenticity but it surly prevent kids to edit the text by remplacing the chars with the notepad :) You can open the new version of the RWT with the old PP and the opposit (even if you are zerg - a small joke for Blizzard ;) It will just not show the integrity messages.
- "Text stop playing" fixed: there was a random 0.5% of chance at any line that the rest wasnt displayed. All old replay benefit of this bugfix. Thanx the_jem for the repport. Increasing text display lenght, i will make an option about it latter.
- Unshifted hotkeys: works for keys 6 and 8 now, thanx shiv for for repporting the bug.
- Changed the anti-cheat message to make it appear invisible.
However it will clear the screen of all displayed messages
for everyone and still beep.
You can now change the time of the auto-check with "/autocheck 8" for example, will check 8 minutes after the game start. Additionally, you can do the check at anytime with "/checknow" Please dont abuse it, if he is hacking, then just 1 time will work. however, if he need to pause the game to alt+tab & start his hack just after the check message, you can have a 2nd chance to get him :) - Fixed a bug where the text was saved in the incorrect replay if one replay was selected to be overwritten, and then cancel was pressed. Thanx killerpenguin for repporting.
- Fixed some tray icon display logic, it might solve some display bugs. Bug repported by Kobayashi, tell me if it works.
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 + hotkeyfrsuperpenguin
ste@ste.gnux.info