Page 30 of 63

Re: Flawless Widescreen

Posted: 28 Mar 2013, 12:18
by murilladas
Hayden not connecting since 15 January, i fear the worst :?

Re: Flawless Widescreen

Posted: 28 Mar 2013, 20:34
by moorfiend13
well if arena would get off there butts im sure they could fix it
so so sad

Re: Flawless Widescreen

Posted: 29 Mar 2013, 18:52
by saelnaydar
Hello,

Is there a way to get another developer go on with skyrim Fix ? last patch broke it and we need ot badly.

Thanks for your replies.

Re: Flawless Widescreen

Posted: 30 Mar 2013, 15:00
by Maverick
As I said, Widescreen Fixer works too, but Flawless Widescreen is much better. A new, working version would really be appreciated!

Re: Flawless Widescreen

Posted: 31 Mar 2013, 17:52
by r3v3nant
come on hayden.... don't make me start chanting..

hay-ho-ho-ho-hay-ho-ho-ho... doh too late.

Re: Flawless Widescreen

Posted: 01 Apr 2013, 12:19
by HaYDeN
Please have patience guys, unfortunately I made major changes to the Flawless Widescreen engine and it requires that all game fixes be re-written (altho 80% can be copy/pasted), this will hopefully add all the functionality I will ever want or need without having to rip the entire architecture to pieces again - I've spent a probably a solid 2 days rewriting the plugins (most time consuming is revisiting some of the issues with some plugins), probably needs another day or two to complete them all.

Here's the change log for v1.0.10

- Configuration Menu
: Fixed order of the Horizontal and Vertical settings under Surround Assumption
: Fixed a bug where 3x2 for example may cause it to crash during iteration due to missing grid informtion during display building.
: Fixed Bezel Compensation Checkbox not enabling/disabling configuration based on its state.
: Start with Windows option now actually adds a entry to the registry facilitating auto startup.

- Plugin XML Definition
: Added several definitions that can be used as tokens, eg. $MNS = modules namespace, $PNS = plugins namespace. etc.
: Added FixRating for defining how complete a fix is. (0-100)

- Main Window
: Added donation button (suggested by several members of the community)

- Plugin Virtual Machine
: Now powered by LUAJit instead of LUA - this enables JIT compilation of LUA increasing its performance
: Require() can now be used, meaning scripts can be split across several files.

- HackTool Module
: Huge changes to the modularity of the various different objects used for memory manipulation, alot more object oreintated
: Added a decompiler engine, this is based on the open source project BeaEngine - this allows automatic code injection and enables alot of automatic calculations.
: Added a assembly compiler engine, this is based on the open source project FlatASM - again enabling automatic code injection, assembly strings can now be used instead of byte arrays.
: Assembly/Dissassembly interpreter and variable extractor and seemless intergration with Address/Codecave and Pointer objects created in LUA.

- Existing Plugins
: Just about all plugins have been rewritten to take advantage of the new features, all using signature scanning where possible meaning that it should work on Steam/Origin versions seamlessly.

- Plugin specific (due to revisit/re-engineering)
: Mass Effect 2 is now 100% perfectly supporting surround and eyefinity, previously the HUD and menu's were screwed.
: I Am Alive, the issue with objects popping in and out has now been resolved.
: SkyDrift, the water no longer disappears under high FOV conditions.


Several people have donated games to be fixed, but as you are aware I'm running behind, these are:
- Resident Evil 6 donated by Pelzention (actually really want to play this game, so will be targeting 100% perfection, so you might want to hold off playing it)
- Jet Set Radio donate by Lolotov


The change list probably means nothing to most people, but the auto decompiling/assembly based on raw-readable text, as well as being able to pull variables from the original code and inject them at compile time JIT styles is pretty freaking cool :)

I can do this:

Code: Select all

        local AspectFix = HackTool:AddAddress("AspectFix")
   HackTool:SignatureScan("D980????????8B??????????D9??????????C3",AspectFix,PAGE_EXECUTE_READ,0x0,Process_EXEName)

        local ASM = [[
      (codecave:jmp)AspectFix,AspectFix_cc:
         %originalcode%
         fstp dword ptr [(allocation)Variables->Aspect_In]
         fld dword ptr [(allocation)Variables->Aspect_Out]
         fst dword ptr [$$2]            $context=1   
         jmp %returnaddress%      
         %end%
                       ]]

       HackTool:CompileAssembly(asm,"AllocationName")
       Write_CodeCave("AspectFix_cc")


eg. this line - "fst dword ptr [$$2] $context=1" Pulls the 2nd Mnemonic from Line 1 of the decompiled code at the code cave injection point.

If it was "fld dword ptr [eax+84h]" the injected instruction would be come "fst dword ptr [eax+84h]"

instead of this:

Code: Select all

      local ARCodeCave = HackTool:AddCodeCave("AspectFix1",6)
      ARCodeCave:SetAddress(0x1093A7)
       ARCodeCave:AddSubOffset("JmpOut",1)
      ARCodeCave:AddSubOffset("JmpIn",2)
      local Data = {0xE9,0,0,0,0,0x90}
      for k,v in pairs(Data) do
         ARCodeCave:SetByte(k-1,v)
       end      
      
      local ARAllocation = HackTool:AllocateMemory("AspectFix1",64)
       ARAllocation:Allocate()
      ARAllocation:AddSubOffset("AddrJmpIn",0)
      ARAllocation:AddSubOffset("AddrJmpOut",0x19)   
      ARAllocation:AddSubOffset("AddrOriginalAspect",0x8)   
      ARAllocation:AddSubOffset("AddrNewAspect",0xE)      
      ARAllocation:AddSubOffset("ValueOriginalAspect",0x1D)
      ARAllocation:AddSubOffset("ValueNewAspect",0x21)      
      local Data = {0xD9,0x80,0x00,0x02,0x00,0x00,0xD9,0x1D,0x00,0x00,0x00,0x00,0xD9,0x05,0x00,0x00,0x00,0x00,0xD9,0x90,0x00,0x02,0x00,0x00,0xE9,0x00,0x00,0x00,0x00}
      for k,v in pairs(Data) do            
          ARAllocation:SetByte(k-1,v)
      end      

      ARAllocation:GetSubOffset("AddrOriginalAspect"):SetInt( ARAllocation:GetSubOffset("ValueOriginalAspect"):GetOffset() )
       ARAllocation:GetSubOffset("AddrNewAspect"):SetInt( ARAllocation:GetSubOffset("ValueNewAspect"):GetOffset() )
      ARCodeCave:GetSubOffset("JmpOut"):SetInt(  ARAllocation:GetSubOffset("AddrJmpIn"):GetOffset() - ARCodeCave:GetSubOffset("JmpOut"):GetOffset() - HackTool:GetBaseAddress() -4 )
      ARAllocation:GetSubOffset("AddrJmpOut"):SetInt( ARCodeCave:GetSubOffset("JmpIn"):GetOffset() - ARAllocation:GetSubOffset("AddrJmpOut"):GetOffset() + HackTool:GetBaseAddress()  )   

      ARAllocation:WriteData(0,ARAllocation:GetLength())
      ARCodeCave:WriteData(0,ARCodeCave:GetLength())

Re: Flawless Widescreen

Posted: 01 Apr 2013, 13:58
by helifax
Massive and awesome work!!!!

This is freaking epic!!!!

Code: Select all

local AspectFix = HackTool:AddAddress("AspectFix")
   HackTool:SignatureScan("D980????????8B??????????D9??????????C3",AspectFix,PAGE_EXECUTE_READ,0x0,Process_EXEName)

        local ASM = [[
      (codecave:jmp)AspectFix,AspectFix_cc:
         %originalcode%
         fstp dword ptr [(allocation)Variables->Aspect_In]
         fld dword ptr [(allocation)Variables->Aspect_Out]
         fst dword ptr [$$2]            $context=1   
         jmp %returnaddress%     
         %end%
                       ]]

       HackTool:CompileAssembly(asm,"AllocationName")
       Write_CodeCave("AspectFix_cc")


Not the mention all the rest! I can't say anything more except "AWESOME" again!!

Best Regards,
Helifax

Re: Flawless Widescreen

Posted: 01 Apr 2013, 14:24
by Wijkert
Really good to hear that you are working on updating the software! :twothumb: Everybody should donate what they can spare or think is right depending on how much someone uses Flawless Widescreen.

Re: Flawless Widescreen

Posted: 01 Apr 2013, 15:12
by Chivelfeyr
Nice work, Hayden. I'm glad to see that you're still hammering away at it. I look forward to seeing how it turns out. :) Good luck.

Re: Flawless Widescreen

Posted: 02 Apr 2013, 05:26
by AVictorD
Wijkert wrote:Really good to hear that you are working on updating the software! :twothumb: Everybody should donate what they can spare or think is right depending on how much someone uses Flawless Widescreen.


Could not agree more Wijkert. Hayden does an incredible job. I also did donate.

Re: Flawless Widescreen

Posted: 02 Apr 2013, 07:16
by tonycubed2
Helifax is to be thanked as well as Hayden. Without Helifax we would typically be a week or two with no surround solution.

Thank you Helifax, we appreciate you tons. :thumbup:

Re: Flawless Widescreen

Posted: 02 Apr 2013, 07:50
by tepescovir
Cheers for all the effort you have put in :rockout:

Re: Flawless Widescreen

Posted: 03 Apr 2013, 04:29
by moorfiend13
awesome!! will there be a fix for GW2?

Re: Flawless Widescreen

Posted: 03 Apr 2013, 15:11
by axelandpixel
Several people have donated games to be fixed, but as you are aware I'm running behind, these are:
- Resident Evil 6 donated by Pelzention (actually really want to play this game, so will be targeting 100% perfection, so you might want to hold off playing it)
- Jet Set Radio donate by Lolotov


This is great news, like Lolotov, I too would really like to see Jet set radio in glorious surround. I hope that you'll manage to do it at some stage Hayden. Thanks for looking into this one.

Re: Flawless Widescreen

Posted: 03 Apr 2013, 18:09
by tet5uo
Interestingly, the issue I was having with Spec-ops: The Line where Moving the mouse would cause the FPS to hit zero until the mouse stopped moving if surround was enabled.

It ended up showing itself in other games too I was noticing. Turns out it was steam somehow messing things up. I had to completely uninstall and re-install steam (kept my game folders) in order to stop the odd behavior. (either that or installing very old NV drivers.)

Re: Flawless Widescreen

Posted: 05 Apr 2013, 06:57
by r3v3nant
Sweet.. can't wait for the new release. :)

PS: I guess the chanting worked?? ;)

Re: Flawless Widescreen

Posted: 07 Apr 2013, 13:53
by tinmann
I haven't played Skyrim since the latest patch ruined my :triplewide: experience.

Re: Flawless Widescreen

Posted: 07 Apr 2013, 17:28
by Hithlain
Waiting as well for a fix for GW2 ;) I tried to email the author through the email contact a while ago, but no answer. Was working fine for me before, but now does not work anymore so I have to play GW2 single screen.

I have a triple screen setup with AMD card and latest beta drivers (I tried latest official drivers as well, does not work).

Re: Flawless Widescreen

Posted: 08 Apr 2013, 20:35
by Jdub6
Whats up guys,
First of all thank, you for all your efforts on this good sir. I stopped playing Skyrim after the associated difficulties a while back. Will this current iteration of this patch enable proper triple screen support? Thanks again.

Re: Flawless Widescreen

Posted: 15 Apr 2013, 18:44
by dookiebot
Any update on the Skyrim fix? I'll donate once I can play again.