Widescreen Gaming Forum

[-noun] Web community dedicated to ensuring PC games run properly on your tablet, netbook, personal computer, HDTV and multi-monitor gaming rig.
It is currently 03 Jul 2024, 07:08

All times are UTC [ DST ]




Post new topic Reply to topic  [ 1475 posts ]  Go to page Previous  1 ... 125, 126, 127, 128, 129, 130, 131 ... 148  Next
Author Message
PostPosted: 18 Aug 2012, 10:09 
Offline
Insiders
Insiders
User avatar

Joined: 14 Apr 2007, 02:13
Posts: 1514


  • Added CS:GO plugin. Thanks to HaYDeN for the memory pointers.

  • Added GRAW2 plugin. Thanks to HaYDeN for providing the memory pointers.

  • Added a plugin for Transformers: War For Cybertron. Currently it only supports automatic display detection and it uses your desktop aspect-ratio. Thanks to HaYDeN for providing the offset needed for this.




I won't mention Skydrift, Mass Effect, Singularity and Sonic Generations....

Thanks for acknowledging the share number of hours invested in some of these titles to fix them (eg. GRAW2) in a entirely obscured SVN log - wouldn't be so bad if you actually asked... or gave credit where credit was due instead of just ripping it off and passing it off as your own work.

Good day, sir.


I gave credit where it was due. I don't understand the problem.

Other than the memory offsets for the three plugins listed above, all of the code within those plugins was written by myself. The Transformers: War for Cybertron plugin does not even share any assembly code at all. It uses my own ASM method that I spent my own hours investing in and writing.

As for the plugins listed afterwards:
Skydrift - I bought the game and fixed this on my own. If you check the dates you'll see that I added this plugin before you even released yours as open source.
Mass Effect - I didn't even write this plugin. This plugin was written by helifax, again, before yours was even released as open source.
Singularity - I added support for this before yours was even open source, again. It has nothing in common with yours, and it doesn't even do as much as yours.
Sonic Generations - Again, another game I bought and added support for before you released yours as open source. Mine even fixes some things yours doesn't.

The one plugin I did port from yours, L.A. Noire, I gave full credit to, added a link to Flawless Widescreen, and made the donation link point to you.

So, again, I don't understand the problem or why you're accusing me of anything. I've given you access to the plugin source code so you're more than welcome to double-check and see that nothing was copied.

For the three games that I used the memory offsets from, I am fine with adding a comment within the plugin itself that the offsets were provided by you if that's what you would like.

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.

_________________
Widescreen Fixer - https://www.widescreenfixer.org/

Widescreen Fixer Twitter - https://twitter.com/widescreenfixer
Personal Twitter - https://twitter.com/davidrudie


Top
 Profile  
 


PostPosted: 18 Aug 2012, 16:17 
Offline
Insiders
Insiders
User avatar

Joined: 14 Feb 2010, 13:39
Posts: 761

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,

_________________
Resident Jester - Flawless Widescreen - Widescreen gaming the way it should be.
[Steam Profile]

Want to keep Flawless Widescreen alive? Donate Here


Top
 Profile  
 
PostPosted: 18 Aug 2012, 22:16 
Offline
Insiders
Insiders
User avatar

Joined: 21 May 2011, 14:18
Posts: 1232
Interesting...lot of flames here...What are we actually fighting for here?:)) Copy rights or ??? I mean if a code is branded as open source you can use it without any legal problems giving the credit to the guy that made that piece of code... Am I missing something here ?
I mean is bad enough that we are a couple of guys here that actually provide fixes for the games...fighting between us is even worst...
I said it before...it would be best if we would actually team up and create an unified software rather than 2-3 tools.... but that is just me:)

Regards,
helifax

_________________
WideScreen Fixer... Fixes your Surround problems to give a gorgeous 3D Surround Experience!
WideScreen Fixer

Only website to show TRUE 3D Vision Surround Gaming Videos(viewable by anyone) only at
3D Vision Surround Gallery

E-mail and Paypal (for people who wants it): [email protected]


Top
 Profile  
 
PostPosted: 18 Aug 2012, 23:44 
Offline
Insiders
Insiders
User avatar

Joined: 14 Apr 2007, 02:13
Posts: 1514

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};
   



The only ASM here is the call function, which is E8 and the address. The rest of the ASM is the game's own code. There's only so many ways you can call or jump to a function. If you base it on this alone, then all of our fixes will look nearly identical.

The only similar thing here is that this function is followed by some INT 3s that we can overwrite, so it's easier to just do a call and move the original back versus including it in a jump to a code-cave. And I'd hardly call that code-copying since the only thing here is the call. Claiming ownership to a call instruction is ridiculous.

The entire field-of-view code is different, which is where the work gets done to correct it.

No, I did not reverse this one myself, and when I committed the code I put in the SVN log thanking you for the memory offsets. I never once claimed that I found the memory offsets on my own, but I do claim the code that I write.


Sonic Generations

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.


It's not typical. However, I always have said that it's not something I go out of my way to not make happen, it's just that I usually either already own the game and have no need to crack it, or that I don't feel like cracking a game I already own to fix it. The reason I worked on the Fairlight version for this game is because my cousin downloaded the game for his kid to play so I had a version to work with there. Later, I was gifted the game and worked further on the Steam version.


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.


You still are basing this on the assumption that I didn't work on this at all myself. I've got 3 hours logged on fixing this game alone (according to Steam) and that's just for the Steam version.


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.

Uses the offsets:

0x54547C -> 0x40 -> + 0xC8

Widescreen fixer:
Code:

           this.offsetStep0 = 0x54547C;
           this.offsetStep1 = 0x40;
           this.offsetStep2 = 0xC8;
   



I didn't find it by searching for 1.0. I found it by finding things not related to it in memory (other camera controls), which lead me to a function that I dug through and found.

Of course the offsets will be the same, that's the address needed. That's what points to it and it will be the same for anyone else who tries to figure it out.


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;
   



Again, as I said when I commited the code, I thanked you for providing the offsets. I did not take credit for finding these offsets.

I discussed with you already that it was not my intention to not give you credit or cut you out, which is why I thanked you in the first place. It was an oversight in not including your name within the plugin settings since I usually just copy and paste those from plugin to plugin. I also told you that I will be committed updates to give you credit within the plugins that I used your offsets for.


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,


I never said otherwise. I've fixed enough games to know the process. And like you said, the offsets are typically the fix itself, so by giving you credit for that it's letting others know that you did the bulk of the work for coming up with the offset.

_________________
Widescreen Fixer - https://www.widescreenfixer.org/

Widescreen Fixer Twitter - https://twitter.com/widescreenfixer
Personal Twitter - https://twitter.com/davidrudie


Top
 Profile  
 
PostPosted: 19 Aug 2012, 01:57 
Offline
Insiders
Insiders
User avatar

Joined: 22 Aug 2007, 19:00
Posts: 647
First of all let me just say that you guys are both doing a great service to the community (dopefish, hayden).

I think that maybe things are a little overblown, if the appropriate parties can just credit the other, things would be a lot smoother. I hate to say it, but at the end of the day most of the silent community won't really remember who did the app except for maybe the name, so all that's really happening here is you guys are fighting with each other and everyone else is going to be caught in the crossfire if things escalate. The few of us who do keep track of who is releasing the fixes are extremely grateful (e.g by donating games to you) and wish the arguing would stop.

Is there any reason though why you would be releasing fixes for games the other person already fixed? It seems like a waste of effort, people will probably pick up whoever's app has the fix already. I don't really see any upside to duplicating work as it just leads to finger pointing and blame games.


Top
 Profile  
 
PostPosted: 19 Aug 2012, 10:22 
Offline

Joined: 08 Jul 2010, 16:04
Posts: 64
Location: Coventry, UK
Is there any reason though why you would be releasing fixes for games the other person already fixed? It seems like a waste of effort, people will probably pick up whoever's app has the fix already. I don't really see any upside to duplicating work as it just leads to finger pointing and blame games.


Like Helifax said, you could potentially only need to run one app for your games (personal preference I guess). Not a big issue really. I think it's more a knee-jerk response for me after buying so many games on Steam, and being forced to click play 3 ****ing times through different DRM, that I don't want multiple apps running on my system that do the same thing. Personally, I'd like to see this go even more open-sourcey, e.g. a developer forum here where you can post offsets/tips and tricks to be included anywhere (with credit given of course). I realise they're *alot* of work (the week I spent learning how to do all this was *hard*). Maybe posting offsets etc in a thread/forum would help keep track of who put the work in where. I don't know.

_________________
"Personally, I see it as a virtue - trying to make the world a slightly better place _without_ trying to impose your moral values on other people. You do whatever the h*ll rings your bell, I'm just an engineer who wants to make the best OS possible." - Linus Torvalds


Top
 Profile  
 
PostPosted: 19 Aug 2012, 17:55 
Offline
Insiders
Insiders
User avatar

Joined: 22 Aug 2007, 19:00
Posts: 647
Nobody's making anyone run 3 apps. A person can install all 3 (or however many of them there are) then launch only the one with the fix for the game he wants. It's pretty simple. If you are telling me people honestly would rather use only 1 app and wait indefinitely for that author to add in game support for their favorite game I don't believe them.

Regarding the offsets, they are already "open source" for Hayden's application and that's the crux of the whole argument here.. C:Program Files (x86)Flawless WidescreenPluginCacheFWS_PluginsModules


Top
 Profile  
 
 Post subject: helifax
PostPosted: 19 Aug 2012, 19:29 
Offline
Insiders
Insiders

Joined: 25 Apr 2010, 22:07
Posts: 130
Interesting...lot of flames here...What are we actually fighting for here?:)) Copy rights or ??? I mean if a code is branded as open source you can use it without any legal problems giving the credit to the guy that made that piece of code... Am I missing something here ?
I mean is bad enough that we are a couple of guys here that actually provide fixes for the games...fighting between us is even worst...
I said it before...it would be best if we would actually team up and create an unified software rather than 2-3 tools.... but that is just me:)

Regards,
helifax


I'm going to have to agree with Helifax here. From a community standpoint, it would be a lot easier to work with a single tool (WSGF tool? ;D )than have to check the DRs and make sure you have the right fix every time.

Not going to be pushy about it, but most of us would love you guys for merging together. And all of you can put your names on it. :P

_________________
(imagination not allowed in signature)


Top
 Profile  
 
PostPosted: 19 Aug 2012, 19:58 
Offline
Administrators
Administrators
User avatar

Joined: 02 Nov 2009, 12:14
Posts: 1031
Location: Lincoln, UK
We have tried to get just one going before, the problem is that such a thing would require the support of the current developers, and that requires that they can settle the tensions between them. We not about to start work on a official WSGF fixer and demand that all the current developers code for it, because that'll just alienate them and probably piss them off.

No, if a single tool is going to created it'll have to be done with the existing developers onboard, or something they come up with together, or an existing on that all decide is the way to go, at that point if they want the official WSGF seal of approve they can have a word with skip, but I doubt Skip will entertain the possible without all the existing developers onboard.

_________________
: ) Skid : )
My Multi-Monitor Focused YouTube Channel: http://www.youtube.com/c/SkidIncGaming
My Twitch channel which I've been known to stream on from time to time: http://www.twitch.tv/SkidInc
"Imagination is the only weapon in the war against reality."


Top
 Profile  
 
PostPosted: 20 Aug 2012, 23:38 
Offline
Founder
Founder
User avatar

Joined: 13 Oct 2003, 05:00
Posts: 7358
More than anyone, I'd really like to see us come to one community-driven solution. At this point we've got:
- The UniWS (original)
- The UniWS (Stone's update)
- Racer_S Hacks
- Squ1zzy Patches
- General Admission's Fixes
- WS Fixer
- Flawless Widescreen

The solutions system is quite fragmented. It would be great if everyone could move beyond the "solution" and to "fixes". Let's get one vehicle for implementing the fixes, and see who can race to be first on each game fix. Hell, the system could even support competing solutions for things like Skyrim. Or, better yet, we could use some sort of SVN to allow everyone to contribute. You'd have the original author, and then see the improvements added by others.

I'm also at the point where I'm going to have to stop hosting the fixes (such as those from Racer_S) here on the WSGF. The Assassin's Creed fix got falsely flagged as a virus, and it got the whole of WSGF tagged as a malware site. Not good. We got that one fixed, but more will crop up. We're setting up an alternate domain to host the files. But, I'd rather have everything integrated into one official WSGF tool.

At some point I hope that we can get past this in-fighting. We're a small enough community as it is. We don't need to be subdividing ourselves.

http://youtu.be/-eWopfEJq48


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 1475 posts ]  Go to page Previous  1 ... 125, 126, 127, 128, 129, 130, 131 ... 148  Next

All times are UTC [ DST ]


Who is online

Users browsing this forum: No registered users and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  




Powered by phpBB® Forum Software © phpBB Group