Quantcast

Jump to content

» «
Photo

[WIP|BETA]2x Object Draw Distance

288 replies to this topic
methodunderg
  • methodunderg

    Gramps

  • Members
  • Joined: 23 May 2008
  • None

#61

Posted 20 April 2013 - 09:32 AM

Sorry team, but after further testing; I think we have the wrong memory addresses ..

It does reduce the flickering, but doesn't make it obsolete..

Either we have hit a limit, or we are looking under the wrong rock .. As Fastman92 said; the only limitation is knowledge.

MeatSafeMurderer
  • MeatSafeMurderer

    Jack of all trades, master of absolutely **** all...

  • Members
  • Joined: 29 Mar 2012
  • None

#62

Posted 20 April 2013 - 10:08 AM

QUOTE (vans123 @ Saturday, Apr 20 2013, 02:08)
You are asking for impossible things in RENDERWARE, GTA san andreas has lods for something and is becouse HD models cant rendered after 199m distance, 200 means lod will appear
if you find a way to make the game render anything around you at 199m in HD model, and after that to render LOD adresses from their respective IDE file, you will fix the disappearing bug

this way the script needs to refresh the players position constantly to determine where the player is and from that location to measure 199m around it and render HD models, everything else as a lod and so on
i believe SA has no tree lods, so you will get flickering on those and other objects without LODs, like trashcans and containers

The limitation is not from renderware, for starters bully used renderware and had far improved object, lod and overall drawdistance...the limitation was manually put in place by rockstar. Also seeing as I have actually spent time modifying the IDE files, I can tell you the original limit is 299, not 199, we have bypassed that limit, and the issue is actually due to the number of onscreen objects, that means theres a limit there, limits can be adjusted...
How do I know it's due to number of onscreen objects?
Well I did a test without adjusting the LOD Distance limit, it results in improved draw distance from traffic lights still, but it flickers...
Please don't comment on a topic on which your knowledge is limited...
Enough said...

aStiffSausage
  • aStiffSausage

    Formerly Oksu

  • Members
  • Joined: 30 Sep 2010
  • Finland

#63

Posted 20 April 2013 - 10:14 AM

@MeatSafeMurdered

Oh, you are so wrong. You have heard of "updating software"? Exactly. That's why Bully has way better optimisation and performance compared to San Andreas. Now I'm not sure if this a fact or not, but if I remember correctly, San Andreas was using first version of RenderWare which supported dynamic shadows. Well, shadows indeed are pretty damn laggy compared to the quality of them, but on newer versions there's no such problem.

methodunderg
  • methodunderg

    Gramps

  • Members
  • Joined: 23 May 2008
  • None

#64

Posted 20 April 2013 - 10:15 AM

So once again .. is there a value in SALA/SALA2 that we have looked passed, that could/should be used .. ?

I agree with oksa8 and the updating software .. Who said that Bully and GTA:SA were made on the same version of RW?
Its like saying XP SP1, SP2 and SP3 all had the same performance and features ..

MeatSafeMurderer
  • MeatSafeMurderer

    Jack of all trades, master of absolutely **** all...

  • Members
  • Joined: 29 Mar 2012
  • None

#65

Posted 20 April 2013 - 10:17 AM Edited by MeatSafeMurderer, 20 April 2013 - 10:26 AM.

The short answer no...
@oksa8 GTA SA used Renderware 3, considering that Renderware 4 was never finished I doubt Bully would've used anything but Renderware 3.
Renderware was discontinued due to those very same performance issues.

methodunderg
  • methodunderg

    Gramps

  • Members
  • Joined: 23 May 2008
  • None

#66

Posted 20 April 2013 - 10:34 AM

There are still multiple versions of RW out there .. I read a thread the other day about people talking about 3.2 and 3.7 .. I'm sure there were versions in between ..

MeatSafeMurderer
  • MeatSafeMurderer

    Jack of all trades, master of absolutely **** all...

  • Members
  • Joined: 29 Mar 2012
  • None

#67

Posted 20 April 2013 - 10:44 AM

Well maybe, but the differences would be minimal, in the same way that MTA 1.2 and MTA 1.25 are pretty alike, but MTA 1.3 saw much, much larger changes to the code (aswell as a large drop in performance, GRRR)

aStiffSausage
  • aStiffSausage

    Formerly Oksu

  • Members
  • Joined: 30 Sep 2010
  • Finland

#68

Posted 20 April 2013 - 10:55 AM

Well that largely depends on the developer. Some think even minor bug fixing is enough to raise their work from v2.1 to 3.0, and some might make huge optimisation and add new features and only rise it from v2.1 to v2.2.

But do you see how much change over from III to San Andreas? Yes. All using v3.* of RenderWare. Why? R* never saw reason to update the engine to whole new level as even if it allowed loads of LOD's, the optimisation of that time would have required really powerful computer.

But let's rest the case, there's no point discussing who has made the limit or why, more discussion on how they made it or how we can crack the limit.

MeatSafeMurderer
  • MeatSafeMurderer

    Jack of all trades, master of absolutely **** all...

  • Members
  • Joined: 29 Mar 2012
  • None

#69

Posted 20 April 2013 - 11:53 AM Edited by MeatSafeMurderer, 20 April 2013 - 12:20 PM.

It just occurred to me, it's possible that those bytes are protected, so they repatch themselves again, that would mean that any changes we make to them would do nothing!
I looked at the memory at the addresses 0x05B8E55 and 0x05B8E56 using cheatengine, and the original values are E0, 2E...after patching those bytes they change to 30, 75, I get the distinct impression that they do nada

aStiffSausage
  • aStiffSausage

    Formerly Oksu

  • Members
  • Joined: 30 Sep 2010
  • Finland

#70

Posted 20 April 2013 - 12:22 PM

Those two addresses actually keep their values at what they make them, I extended the script so you can read those memory addresses and display on screen to be sure.

CODE
{$CLEO .cs}

//-------------MAIN---------------

:CCC_1
0A8C: write_memory 0x05B8E55 size 2 value 30000 virtual_protect 1
0A8C: write_memory 0x05B8EB0 size 2 value 30000 virtual_protect 1


:CCC_2
wait 0 ms
if and
0AB0:  key_pressed 8
0256:   player $PLAYER_CHAR defined
else_jump @CCC_2
03F0: enable_text_draw 1
0342: set_text_draw_centered 1
0A8D: 0@ = read_memory 0x05B8E55 size 2 virtual_protect 1
0A8D: 1@ = read_memory 0x05B8EB0 size 2 virtual_protect 1
0342: set_text_draw_centered 1
045B: draw_text_2numbers 320.0 390.0 GXT 'TIME' numbers 0@ 1@  // ~1~:~1~
jump @CCC_2

MeatSafeMurderer
  • MeatSafeMurderer

    Jack of all trades, master of absolutely **** all...

  • Members
  • Joined: 29 Mar 2012
  • None

#71

Posted 20 April 2013 - 12:39 PM Edited by MeatSafeMurderer, 20 April 2013 - 12:59 PM.

Yes, but using a US exe their default value isn't 12000, I have done a search for all 2 bytes at 12000, and am one by one patching them to be 30000, slightly haphazard, but eventually I should see some change
Thats of course assuming the value we are looking for is 12000

aStiffSausage
  • aStiffSausage

    Formerly Oksu

  • Members
  • Joined: 30 Sep 2010
  • Finland

#72

Posted 20 April 2013 - 12:58 PM

At least for me it shows that default value is 12000 for both.

Though, I'm not a coding expert, especially when it comes to memory addresses, so... Yeah.

MeatSafeMurderer
  • MeatSafeMurderer

    Jack of all trades, master of absolutely **** all...

  • Members
  • Joined: 29 Mar 2012
  • None

#73

Posted 20 April 2013 - 01:07 PM Edited by MeatSafeMurderer, 20 April 2013 - 01:24 PM.

I found the addresses and quite a few near them, I'm patching them one by one again, but I found 3 very near to 05B8E55 with values of 12000 that are protected:
4002B7
4002DF
400307

Ηeath
  • Ηeath

    Just Do It.

  • Members
  • Joined: 08 Feb 2011

#74

Posted 20 April 2013 - 01:26 PM Edited by JF-Mir2, 20 April 2013 - 01:56 PM.

I found something out. Increasing the FOV seems to 'reduce' flickering. While decreasing it seems to 'trigger' the flickering much much more.

ThirteenAG
  • ThirteenAG

    Li'l G Loc

  • Members
  • Joined: 29 Dec 2008

#75

Posted 20 April 2013 - 01:37 PM

QUOTE (MeatSafeMurderer @ Saturday, Apr 20 2013, 14:08)
The limitation is not from renderware, for starters bully used renderware and had far improved object, lod and overall drawdistance...

That's probably because Bully was built on Gamebryo...

Anyway, does flickering happens in MTA? Maybe they fixed it, but not with the code mentioned before.

MeatSafeMurderer
  • MeatSafeMurderer

    Jack of all trades, master of absolutely **** all...

  • Members
  • Joined: 29 Mar 2012
  • None

#76

Posted 20 April 2013 - 01:39 PM

Not on ps2 it wasn't...

aStiffSausage
  • aStiffSausage

    Formerly Oksu

  • Members
  • Joined: 30 Sep 2010
  • Finland

#77

Posted 20 April 2013 - 01:48 PM Edited by oksa8, 20 April 2013 - 01:51 PM.

Well, anyone else mind testing once again? At least for me, I won't notice any flickering when doing quick tests so it's better so others will also confirm.

This time, including three new memory addresses patched to 30000 found by MeatSafeMurderer, code here:
CODE
{$CLEO .cs}

//-------------MAIN---------------
0000:

:CCC_1
0A8C: write_memory 0x05B8E55 size 2 value 30000 virtual_protect 1
0A8C: write_memory 0x05B8EB0 size 2 value 30000 virtual_protect 1
0A8C: write_memory 0x04002DF size 2 value 30000 virtual_protect 1
0A8C: write_memory 0x0400307 size 2 value 30000 virtual_protect 1
0A8C: write_memory 0x04002B7 size 2 value 30000 virtual_protect 1
0ADF: add_dynamic_GXT_entry "VALUE85" text "~1~"

:CCC_2
wait 0 ms
if and
0AB0:  key_pressed 8
0256:   player $PLAYER_CHAR defined
else_jump @CCC_2
03F0: enable_text_draw 1
0A8D: 0@ = read_memory 0x05B8E55 size 2 virtual_protect 1
0A8D: 1@ = read_memory 0x05B8EB0 size 2 virtual_protect 1
0A8D: 2@ = read_memory 0x04002Df size 2 virtual_protect 1
0A8D: 3@ = read_memory 0x0400307 size 2 virtual_protect 1
0A8D: 4@ = read_memory 0x04002B7 size 2 virtual_protect 1
045A: draw_text_1number 20.0 15.0 GXT 'VALUE85' number 0@  // ALL RACES WON!~n~~w~$~1~
045A: draw_text_1number 20.0 30.0 GXT 'VALUE85' number 1@  // ALL RACES WON!~n~~w~$~1~
045A: draw_text_1number 20.0 45.0 GXT 'VALUE85' number 2@  // ALL RACES WON!~n~~w~$~1~
045A: draw_text_1number 20.0 60.0 GXT 'VALUE85' number 3@  // ALL RACES WON!~n~~w~$~1~
045A: draw_text_1number 20.0 75.0 GXT 'VALUE85' number 4@  // ALL RACES WON!~n~~w~$~1~
jump @CCC_2

Link to download.
Also by pressing Backspace you can display all five patched values to see if they have stayed as they should be, just in case. smile.gif

@ThirteenAG
It in fact is made on RenderWare for PlayStation, other platforms use Gamebryo. That may be due to the fact that PS2 version was the "original" one, and Scholarship Edition was made for other platforms.

elMarcoPL
  • elMarcoPL

    Tronco

  • Members
  • Joined: 14 Mar 2011

#78

Posted 20 April 2013 - 02:23 PM

Wow! Huge thanks for that script, mate. I tested it on IVRW (my older IV to SA conversion), which previously was really crashy due to unknown limits. Now they seem to be solved!

Could you explain what have you improved with those adresses?

MeatSafeMurderer
  • MeatSafeMurderer

    Jack of all trades, master of absolutely **** all...

  • Members
  • Joined: 29 Mar 2012
  • None

#79

Posted 20 April 2013 - 02:29 PM

No go, strangely cheat device was unable to patch them, but buildings are still flickering like a dying light

aStiffSausage
  • aStiffSausage

    Formerly Oksu

  • Members
  • Joined: 30 Sep 2010
  • Finland

#80

Posted 20 April 2013 - 02:46 PM

@xXaerooff2Xx

Good to know it works! To be honest, I'm not exactly sure about it, but I hope this post enlightens you. smile.gif

@MeatSafeMurderer

Strange. Have you tried to script if it works for you? It might be somehow connected to the fact that it requires virtual_protect to be on when making the script, where as Cheat Engine can't bypass the protection.

MeatSafeMurderer
  • MeatSafeMurderer

    Jack of all trades, master of absolutely **** all...

  • Members
  • Joined: 29 Mar 2012
  • None

#81

Posted 20 April 2013 - 02:51 PM Edited by MeatSafeMurderer, 20 April 2013 - 02:55 PM.

I have tried the script and added 2 more protected values, but still nothing confused.gif
34652200
62264937

Silent
  • Silent

    Moderating Cookie Monster

  • Members
  • Joined: 01 Feb 2010
  • Poland

#82

Posted 20 April 2013 - 03:20 PM

Both addresses are being used on game init time, so patching them via CLEO most likely won't help.

The other 3 addresses you've found are inside the executable header, they have nothing to do with streaming.

MeatSafeMurderer
  • MeatSafeMurderer

    Jack of all trades, master of absolutely **** all...

  • Members
  • Joined: 29 Mar 2012
  • None

#83

Posted 20 April 2013 - 03:28 PM Edited by MeatSafeMurderer, 20 April 2013 - 03:33 PM.

Do you mean these
0x05B8E55
0x05B8EB0

ThirteenAG
  • ThirteenAG

    Li'l G Loc

  • Members
  • Joined: 29 Dec 2008

#84

Posted 20 April 2013 - 03:33 PM

Silent is absolutely right, try the asi, people: http://www.sendspace.com/file/lxhnom

Silent
  • Silent

    Moderating Cookie Monster

  • Members
  • Joined: 01 Feb 2010
  • Poland

#85

Posted 20 April 2013 - 03:33 PM Edited by SilentPL, 20 April 2013 - 03:41 PM.

I guess so. Gonna play around with them.
For now, making the list have only 1000 entries causes the game to crash tounge.gif

Edit:
18000 + VCS PC = not even a single flicker (although we never had any tounge.gif).

MeatSafeMurderer
  • MeatSafeMurderer

    Jack of all trades, master of absolutely **** all...

  • Members
  • Joined: 29 Mar 2012
  • None

#86

Posted 20 April 2013 - 03:44 PM

That there ASI fixes all flickering with a 2x timecyc biggrin.gif

aStiffSausage
  • aStiffSausage

    Formerly Oksu

  • Members
  • Joined: 30 Sep 2010
  • Finland

#87

Posted 20 April 2013 - 03:47 PM

So, what does the test.asi do that the script doesn't? Does it patch same addresses as the script? Or does it do something else also? And if I used the script and it still showed correct values when reading the address, why it didn't work properly? I'm just a bit curious.

Though it indeed seems to work better, now in-game I can look down without having the gray-ground bug with huge lag. tounge2.gif

Oh, and if there's no bugs found with the test.asi, I think you should release it as a separate mod. More people would get information of it. smile.gif

MeatSafeMurderer
  • MeatSafeMurderer

    Jack of all trades, master of absolutely **** all...

  • Members
  • Joined: 29 Mar 2012
  • None

#88

Posted 20 April 2013 - 03:51 PM

Well from what Silent said, the game sets the object limit based upon that value at runtime, this means that by the time cleo starts patching bytes it's too late, the only thing I'm wondering is why does this happen with the object limit, but not lod draw distance, btw just tested, THE TREES DON'T FLICKER, THE MOD IS SAVED!!!!
To all those who said it was impossible, I say...just because I couldn't do it tounge.gif
The internet is over, gg people

ThirteenAG
  • ThirteenAG

    Li'l G Loc

  • Members
  • Joined: 29 Dec 2008

#89

Posted 20 April 2013 - 03:52 PM

QUOTE (oksa8 @ Saturday, Apr 20 2013, 19:47)
So, what does the test.asi do that the script doesn't? Does it patch same addresses as the script? Or does it do something else also? And if I used the script and it still showed correct values when reading the address, why it didn't work properly? I'm just a bit curious.

Though it indeed seems to work better, now in-game I can look down without having the gray-ground bug with huge lag. tounge2.gif

Oh, and if there's no bugs found with the test.asi, I think you should release it as a separate mod. More people would get information of it. smile.gif

It patches the same addresses, only before they will be used by the game. Nothing more. Anyone could release it as a mod, i'm too lazy/busy smile.gif

MeatSafeMurderer
  • MeatSafeMurderer

    Jack of all trades, master of absolutely **** all...

  • Members
  • Joined: 29 Mar 2012
  • None

#90

Posted 20 April 2013 - 03:56 PM

I'm thinking it should be 2x and 4x object draw distance tounge.gif
Thank you SilentPL and ThirteenAG biggrin.gif




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users