***************************************************************
* SmartSteam v1.4.1 - Fix                                     *
* by syahmixp                                                 *
***************************************************************

Description:
 SmartSteam will not patch steam.dll like the
 traditional patcher, instead it patch the memory and allow you to
 update the steam client to the latest version.

 SmartSteam will show almost all games/tools available on steam
 and it can be used to host cracked server, so cracked client can join
 your server. See features for more detail.

NOTE:
 This patch will not allow you to download games, but it will only allow
 you to launch fully updated games, and some outdated games.

 However, some games can be downloaded such as game that is available
 as demo version (eg. PopCap Games which use exact files as full version and
 allow you to play full version games), free tools, dedicated server and some
 shared/common files (eg. maps file).

 Unfortunately, some games cannot be launched at all, while some other will
 use other extra check that prevent you to play the game.

Features:
 - Show all games and tools that is available on steam
 - Can be used to host cracked server
 - Subscribe/unsubscribe apps/subscription and test app filter
 - Stats/Achievements is saved
 - CEG Patcher included
 - Launch outdated games
 - Can use lobby features in some games (eg. l4d, l4d2)
 - DirectPatch, patch any files using memory patch
 - InjectDll, load any dlls to the launched apps
 - Disable minidumps creation by enabling it in configuration file
 - Disable patch for certain games
 - 'Failed to contact key server' removed and automatically add CDKey to registry
 - Multiwinia & Doom3 will start as full version, patched by DirectPatch
 - Plugins
 - Run SmartSteam as service, so steam will automatically cracked when it launched and you can use steam shortcut without launching SmartSteam first.

Requirements:
 - Steam installed.
 - A modern Windows-NT based operating system (XP and above). Both x86 and x64 are supported.
 - Microsoft(R) Visual C++ 2008 Runtime (x86), can be found here:
	http://www.microsoft.com/downloads/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf

How to use:
 - Download and Install Steam. (http://store.steampowered.com/about/)
 - Extract all files in the archive into Steam folder
	- e.g. Extract to "C:\Program Files\Steam\" folder
	- e.g. Extract to "G:\Steam\" folder
 - Run SmartSteam.exe

 NOTE:
 - To change settings, open SmartSteam.ini configuration file
 - Valid command lines for SmartSteam Launcher:
	-s	Start SmartSteam as service
	-i	Install SmartSteam launcher to auto start with windows as service
	-u	Remove AutoStart from windows and quit SmartSteam service
	-q	Quit SmartSteam service
 - ForceLaunchApp sometimes need user to launch the games for second time

************************************************************

Change Log:
 Version 1.4.1 - Fix (October 26, 2010)
	- Fix path that prevent games to run

 Version 1.4.1 (October 16, 2010)
	- Ability to launch SmartSteam in other directory
	- Add DLC Status patch
	- Add options to disable steam error reporter
	- Add support for command line in SmartSteamLauncher
	- Disabled x64launcher.exe from being patched
	- Disabled Minidump creation by default
	- Fix plugin search function

 Version 1.4.0 (August 12, 2010)
	- Plugins support
	- Options to disable plugins
	- Removed unused code

 Version 1.3.9 (July 30, 2010)
	- Add [NoSaveStats] section in configuration file
	- Add more checks to avoid potential crash
	- Fix debug code present in release build
	- Fix GameServer crash when creating a server
	- Fix and improvement in CEGPatcher

 Version 1.3.8 (July 26, 2010)
	- Add log when launching apps failed
	- Error 51 when launching some games fixed
	- Error 15 when launching games ignored by using ForceLaunchApp
	- Fix crash with multiple CDKey entry
	- Fix small bugs in ForceLaunchApp
	- Fix command line case changed when launching apps
	- Fix CreateProcess command line changed when CEG is enabled
	- Improve steam.dll patching process
	- Change in SteamGameServer to always accept user if exception occured
	- Change hooking to prevent hooking redistributable binaries

 Version 1.3.7 (July 23, 2010)
	- Fix CEG Patcher calculating wrong offset
	- Fix CEG Patcher calculating code alignment (Still buggy)
	- Fix User Stats interface hook size
	- Fix SteamGameServer functions

 Version 1.3.6 (May 29, 2010)
	- Fix and Updated stats/achievements to version 7
	- Fix steam id = 0
	- Removed 'PatchLimitedAccount' in configuration file

 Version 1.3.5 (May 25, 2010)
	- Fix crash when checking for filename
	- Fix crash when launching some games
	- Updated user stats/achievements interface
	- Removed runtime from binary to minimize file size

 Version 1.3.4 (May 12, 2010)
	- Fix SmartSteam cannot start in windows xp

 Version 1.3.3 (May 12, 2010)
	- Renamed to SmartSteam
	- Fix steam restart
	- Add SmartSteam Launcher service
		- Auto start with windows
		- Automatically crack steam without opening SmartSteam
		- Can use steam shortcut
	- DirectPatch can accept any patch length now
	- Cleaned up SmartSteam.txt

 Version 1.3.2 (May 9, 2010)
	- Fix 'The specified procedure could not be found' in Windows XP

 Version 1.3.1 (May 7, 2010)
	- Fix CEG patcher doesn't patch any files
	- Fix free weekend subscription didn't subscribed

 Version 1.3.0 (May 2, 2010)
	- Fix crash on exit
	- Fix thread termination
	- Removed Master Server patch

 Version 1.2.10 (May 1, 2010)
	- Updated SteamClient.dll hook
	- Some fix in subscription
	- [SmartSteam.ini] Changed subscription to Steam Master Server

 Version 1.2.9 (February 4, 2010)
	- Fixed counter not increased in MasterServers
	- Fixed unmodified command line arguments is used when launching games
	- All Left 4 Dead games now started with +sv_allow_lobby_connect_only 0
	- Fixed crash in Stats/Achievements

 Version 1.2.8 (January 27, 2010)
	- Fix MasterServers by generating MasterServers.vdf file
	- Fix crash on immediate exit
	- Prevent rundll32.exe from getting hooked

 Version 1.2.7 (January 21, 2010)
	- Fixed crash when starting games
	- Fixed crash on exit
	- Fixed missing Steam app id

 Version 1.2.6 (January 3, 2010)
	- Fix finding steam path
	- Fix Create process
	- Some changes in CEGPatcher

 Version 1.2.5 (January 1, 2010)
	- Fix CEG Patcher crash
	- Fix and improve SteamAppId check
	- Add CDKey in registry

 Version 1.2.4 (December 26, 2009)
	- Add Lobby Patch (You can now use lobby feature)

 Version 1.2.3 (December 24, 2009)
	- Add CEGPatcher
	- Add Patch Limited Account suggested by Steam006 (Disabled by default)
	- Improve ForceLaunchApp
	- Improve Steam Callback

 Version 1.2.2 (December 18, 2009)
	- Fix environment variables in ForceLaunchApp

 Version 1.2.1 (December 18, 2009)
	- Fix MasterServer lists legit server

 Version 1.2.0 (December 18, 2009)
	- Rewrite the patcher engine
	- Add support to launch outdated apps (ForceLaunch; NCF Games only)

 Version 1.1.16 (December 15, 2009)
	- Add option to show only installed apps (InstalledOnly)
	- Add option to disable patch (NoPatch)
	- Add ability to change subscription by name
	- Fix steam now can restart correctly
	- Fix and improve InjectDll
	- Fix subscription search
	- Fix ValveTestApp filter
	- Fix some games cannot start or start as demo
	- Improve all patch
	- [CEG] Some CEG patch

 Version 1.1.15 (December 9, 2009)
	- Add clean up when steam close
	- Add save user item when changed/equipped
	- Fix cannot get app id for some game for saving stats and achievements
	- Fix some crash and improve function hooking
	- Fix keyserver callback
	- Change detect time of steamclient
	- Note: User Items is still not finished

 Version 1.1.14 (December 3, 2009)
	- Improved steam patch and DirectPatch
	- Add Items (TF2 Items) support, but you cannot use it now as its still under development.
	- Achivements and stats now saved (Support multiple user)
	- Fixed and improved validation and SteamID. Now you should get your steam id back. :-)
	- Some minor fix

 Version 1.1.13 (November 23, 2009)
	- Add CDKey entry in configuration file
	- Fix crash when starting game requires cd-key
	- Fix finding steam path overflow
	- Fix logging in steam callback
	- Fix Inject DLL read commented line
	- Fix CEG Protected game cannot start (eg. Left 4 Dead 2)

 Version 1.1.12 (October 21, 2009)
	- Improve DirectPatch - DirectPatch will no longer wait until steamclient.dll loaded/timeout
	- [DirectPatch] Fix Doom 3 ask for CD-Key

 Version 1.1.11 (October 17, 2009)
	- Revert back validation to version 1.1.5

 Version 1.1.10 (October 13, 2009)
	- Fix cs:s close itself after joining/creating a server caused by hook improvement in v1.1.8

 Version 1.1.9 (October 13, 2009)
	- Fix subscription 0 not subscribed (Sorry - Now Dedicated server, Codename Gordon will available again)

 Version 1.1.8 (October 13, 2009)
	- Add support to inject external dll
	- Improved class hooking to avoid possible crash

 Version 1.1.7 (October 12, 2009)
	- Add traditional FilterApps (Default filter method now)
	- Add support to subscribe/unsubscribe using AppSubscription

 Version 1.1.6 (October 11, 2009)
	- Fix server generate same steam id for all clients
	- Fix missing callback when user join a server

 Version 1.1.5 (October 10, 2009)
	-* DirectPatch improvement & Possible crash fix *
	- Add DirectPatch wildcat support to search for original bytes offset
	- Fix DirectPatch cannot patch same library (again)
	- Fix DirectPatch crash when offset is out of range
	- Fix DirectPatch crash when DirectPatch entry is not in correct format
	- Changed DirectPatch retry to 30 retries
	- [Direct Patch] You can now enable non-class C to join LAN server (This feature is disabled by default, to enable them open SmartSteam.ini and change them)

 Version 1.1.4 (October 10, 2009)
	- LoadLibrary Impovement
	- Improved DirectPatch
	- Fix steam cannot start sometime
	- Fix DirectPatch loop forever
	- Fix DirectPatch cannot patch same library multiple times
	- Removed LoadLibrary Debug Output. It was meant for development purpose only, not for checking error.
	- Decrease DirectPatch retry to 10 retry/s
	- Change Stage2 patch pause time from 1 second to 10ms

 Version 1.1.3 (October 9, 2009)
	- [Direct Patch] Fix Multiwinia start as Demo User
	- Fix Direct Patch possible buffer overflow

 Version 1.1.2 (October 9, 2009)
	- Add Direct Patch (Advanced Settings) - Directly patch any files loaded using SmartSteam.ini
		- DirectPatch is a new feature. Its just like patching a file but instead it will patch the memory and leave the file untouched, unmodified.

 Version 1.1.1 (October 9, 2009)
	- Sponsor URL Removed
	- MasterServer finished:
		- You can add multiple master server in PacSteam.ini
		- Your server will be added to server list if it is supported by master server
		- Note: You may need to delete MasterServer.vdf to update master server list

 Version 1.1.0 (October 8, 2009)
	- This is a complete rewrite of the PacSteam Memory Patch
	- Add option to manually subscribe/unsubscribe subscription
	- Fix most crash in the old version as it is complete rewrite
	- Fix Steam ID assigned differently on different games
	- Fix launcher: Launcher cannot run without runtime (This application has failed to start because the application configuration is incorrect)
	- Fix launcher: Make the fresh installation of PacSteam will go legit
	- Finished validation (Thanks Steam006)
	- Removed self assign steam ID, now PSM will generate it for you (Thanks Steam006)

 Version 0.5 (October 4, 2009)
	- Add Launcher with new icon
	- Change Steam Subscription for better TestApp Filter
	- Steam will not ask for password when removing games/changing user
	- Removed Enumerate Subscription Hook
	- Next to do is to add achivement

 Version 0.4 (October 4, 2009)
	- Add Generate steam ID
	- Add FilterTestApps settings
	- Add ForceOffline settings
	- Add DisableMinidumps settings
	- Add PatchValidation settings
	- Add Ability to assign Steam ID yourself (if PacSteam cannot assign it for you)
	- Fix Steam Validation Rejected; You can create and join server
	- Fix Valve cannot contact cd key
	- Fix some games verification
	- Change Sponsor URL to Local file
	- Removed unnecessary hook
	- Next to do is to add achivement

 Version 0.3 (September 25, 2009)
	- Fix Steam Validation Rejected
	- Fix server/game crash when server restart
	- Next to do is to finish Validation & assign unique Steam ID

 Version 0.2 (September 17, 2009)
	- Change new sponsor url
	- Master Server patch
	- Add server browser in Left 4 Dead
	- Fix "Valve Test App" Filter
	- Fix Left 4 Dead lobby "Connection with session has been lost"
	- Fix Killing Floor crash
	- Next to do is to fix Steam Validation Rejected

 Version 0.1 - First Release (May 23, 2009)
	- Will not modify any files
	- Filter all "Valve Test App"

ToDo & Idea List:
 - Can run outdated games (GCF)
 - "SMARTSTEAM - <account>" when you are running the cracked patch (william1234)
 - Can be used as non-steam loader
 - CEG Memory patch
 - Your idea is welcomed

************************************************************

Thanks & Credits:
 - All and everyone
 - All people inside PacSteam project
 - All people outside this project that indirectly help me
 - And you :D

Special Thanks:
 - PaCmAn & Draconis47 for help me a lot of testing
 - Steam006 for his help, idea and code
