MW3 MP FoV Changer by AgentRev
------------------------------

______________________________________________________________
"How come the zoomed-in (aim-down-sight) FoV won't go higher?"

It's because the FoV value I found is only for the default unzoomed view. It will only affect the zoomed-in FoV if it is lower than it. I'm not very sure if a "global" FoV value exists, but right now if I wanted to change zoomed-in FoV values, I would have to find the FoV value for every combination of weapon and optical attachment, which is definitely not worth the trouble.


______________________________________________________________________________________
"How come the program doesn't need to be updated each time the game receives a patch?"

Because unlike lazy coders out there, I included a memory pattern research system which is able to locate the new FoV value when it changes. When the new offset is found, it is saved in the program's settings file.


_________________________________________________________
"Can this FoV changer cause a ban from Valve Anti-Cheat?"

The method used to change the FoV itself is not flaggable, however if Valve decides that it's considered cheating, I do believe they are able to identify if the EXE itself is running and ban people on this basis. That is however very unlikely, since there have been already a good bunch of cheap FoV changers publicly released on hacksites since Day 1, but to my knowledge there haven't been any bans reported so far.

Also, this program is made in good faith just like the popular "Widescreen Fixer", and its purpose isn't to give an unfair advantage over other players, so I don't think it's really gonna cause a problem at all. 

But, since we can't know for sure, I still included a checkup system in the program that will warn you if I have received multiple reports of VAC bans, and will let you either close the program or continue using it at your owns risks.

If you think you might have been banned due to the use of the FoV changer, please notify me as soon as possible at agentrevo@gmail.com.

______________________________________________________________________________________
"How come the program doesn't need to be updated each time the game receives a patch?"

Because unlike some lazy coders out there (you know who you are), I included a memory pattern research system which is able to locate the new FoV offset when it changes. When the new offset is found, it is kept in the config file where other settings are also saved.


___________________________________________________________________________________________________________________
"I receive strange errors about missing DLL files or .NET Framework or whatever when I try to use the FoV changer?"

Send me an email at agentrevo@gmail.com, and be sure to include screenshot(s) so I can identify the problem. If you are on Windows XP, I would suggest you to make sure you have the .NET Framework 2.0 installed. For Vista and 7, .NET 2.0 is already integrated into Windows. http://www.microsoft.com/download/en/details.aspx?id=19


_________________________________________________________
"Omgwtfbbq, liek, can u make this for xbox/ps3?! pls!!1!"

No.


_____________________________
"So how does this shit work?"

The UI and keyhooks are made in C#, and everything memory-related is made in C++. At first I wanted to make it all in C# (because it's easier), but it turns out that C# is very slow when it comes to interacting with memory. So I went ahead and coded the memory functions and offset research system in C++, which are compiled into a DLL that is incorporated as a resource in the main C# app. At runtime, the DLL is extracted to a temp folder, and loaded in the app via kernel32's LoadLibrary. I would've merged them, however all my different attempts to do so have failed. I wanted to only have a single final EXE, because having a separate DLL for such a simple program is unconvenient (user's view) and extremely noobish (coder's perspective).

I compiled everything for .NET 2.0, since additions made to later .NET versions were unneeded, and also because it reduces compatibity issues due to not having the latest framework installed.



If you find a bug or got a feature request, drop me an email at agentrevo@gmail.com.
