In the future, I would appreciate it if you would actually look over the source code for my plugins before you accuse me of copying anything. Nothing was ripped off.
Don't mind if I do....
Transformers: War for Cybertron
Flawless Widescreen:
Code:
local ARCodeCave = HackTool:AddCodeCave("FOVFix",12)
ARCodeCave:SetAddress(0xEBDCFD)
ARCodeCave:AddSubOffset("FOVFunctionCall",0x01)
local Data = {0xE8,0,0,0,0,0xD9,0x98,0x08,0x03,0,0,0xC3}
Widescreen Fixer:
Code:
this.offsetPoke = 0xEBDCFD;
this.pokeEnable = new byte[12] {0xE8, 0, 0, 0, 0, 0xD9, 0x98, 0x08, 0x03, 0, 0, 0xC3};
Other than calling your own FOV calculation function (which is the same for every game) it looks pretty identical to me, a far cry from "The Transformers: War for Cybertron plugin does not even share any assembly code at all"
Sonic Generations
My original post (Posted: 9 November, 2011): https://www.wsgf.org/forum/forums/gaming/youtube-links/18106/sonic-generations-pc-triple-monitors-test-and-169-gameplay#comment-233809
Your post, where apparently you fix it without any prior help or information at all (Posted: 26 January, 2012) -> https://www.wsgf.org/forum/forums/gaming/youtube-links/18106/sonic-generations-pc-triple-monitors-test-and-169-gameplay?page=3#comment-239634
Now the interesting thing here is, that your fix includes the "Fairlight Crack" version - which was the one I fixed, wonder how that came about.... It's fairly non-typical for you to add cracked version to WSF, once you have a pattern for the cracked version, applying it to steam version for example is as you know a couple of minutes work.
My example:
Code:
alloc(aspectfix,32) //allocate 32 bytes, 28+4
label(continueexec) //label resume execution
aspectfix: //new memory allocated address
mov [aspectfix-4], (float)5.33333333 //set aspect ratio
fdiv dword ptr [aspectfix-4] //divide
fstp dword ptr [esp+14] //store
jmp continueexec //resume
//"codecave"
"SonicGenerations.exe"+2F2358:
jmp aspectfix
nop
nop
continueexec:
Widescreen Fixer:
Code:
this.offsetPoke = 0x2F2358;
fld dword ptr [00000000]
fdivp st(1),st(0)
fstp dword ptr [esp+14]
jmp 00000000
Sure 4-5 bytes difference is enough to call it entirely your own work... without any acknowledgment of the person who spent 4-5 hours finding the solution.
Skydrift
Skydrift is an interesting one, because the fix was found by complete total and utter accident, not something I would consider to be reproducible, it's a float of 1.0 by default - have you ever tried to search a games memory space for the value 1.0? you'll get millions of results.... again another game with 4-5 hours in it, a favor for forum member Skid IIRC.
Now the patch I made, available 1 December, 2011
https://www.wsgf.org/forum/forums/gaming/requestdiscuss-game-solutions/18470/skydrift-need-fov-fix#comment-236481
Uses the offsets:
0x54547C -> 0x40 -> + 0xC8
Widescreen fixer:
Code:
this.offsetStep0 = 0x54547C;
this.offsetStep1 = 0x40;
this.offsetStep2 = 0xC8;
And it wrapped nicely in WSF:
https://www.wsgf.org/forum/forums/gaming/requestdiscuss-game-solutions/18470/skydrift-need-fov-fix#comment-239681
Ghost Recon Advanced Warfighter 2
This is the catalyst that pissed me off - I spent probably 15+ hours on this game as a favor and special request from forum member Thales100, failure was not a option, hence the time invested.
Flawless Widescreen:
Code:
local tPointerChain = HackTool:AddPointerChain("pHORAspectRatio")
tPointerChain:SetAddress(0x7C4024)
tPointerChain:PushOffset(0x7F4)
local tPointerChain = HackTool:AddPointerChain("pVertAspectRatio")
tPointerChain:SetAddress(0x80B264)
tPointerChain:PushOffset(0x160)
local tPointerChain = HackTool:AddPointerChain("pFOV")
tPointerChain:SetAddress(0x80B264)
tPointerChain:PushOffset(0x280)
pFOV:WriteFloat((DisplayInfo:GetAspectRatio()*0.751)+fAdditionalFOV)
Widescreen Fixer:
Code:
this.offsetHorizontalAspectRatio0 = 0x7C4024;
this.offsetHorizontalAspectRatio1 = 0x7F4;
this.offsetVerticalAspectRatio0 = 0x80B264;
this.offsetVerticalAspectRatio1 = 0x160;
this.offsetFieldOfView0 = 0x80B264;
this.offsetFieldOfView1 = 0x280;
float fov = DetectDisplays.get_AspectRatio() * this.fieldOfViewMultiplier;
You say you only grabbed the pointers or offsets or whatever, typically they are the entire fix.... they are what took xx hours of my time to find - how long did it take you after having the pointers/offsets to copy and paste? an hour? You didn't have to reverse anything,