Showing No Draw items


Site Admin
Posts: 65
Joined: Thu Sep 24, 2009 1:43 pm
Location: Was Russia,Moscow; Currently Germany,Berlin
PostPosted: Fri Dec 11, 2009 9:44 am
I discovered it a while ago, but think that can be useful.

Originally, client does not show No Draw items, i was searching way to make it show.
The ranges of these items is known:
0x1
0x2198 - 0x21A4 (9821 and A421 in hex view)
0x21BC (BC21)

And if you'll try search these values inside client, you will find it in two places:
1. Item drawing "filter"
2. Ctrl+Shift handler

In hex they are looks like:
3D A421
3D 9821
3D BC21

and
81FB A421
81FB 9821
81FB BC21

If you'll replace values with 0x00, you'll be able to see no draw items in-game.

p.s. God Client have option to toggle "Show No Draw Items".
p.s. maybe Original client have same option hidden somewhere, maybe not.
p.s. I'm making little program that will patch running client memory to switch nodraw drowing.
Attachments
NoDrawPatcher.zip
Program patches client file to show nodraw items.
(14.72 KiB) Downloaded 414 times
Last edited by Garret on Fri Dec 11, 2009 10:39 pm, edited 1 time in total.

Site Admin
Posts: 372
Joined: Wed Apr 08, 2009 6:35 am
PostPosted: Fri Dec 11, 2009 8:44 pm
Thanks Garret. I've patched my client with your patcher but I've yet to see a No Draw item.

Do you have any idea where the No Draw items exist on the map?
<Derrick> RunUO AI is kind of a functional prototype, which i have hacked into something resembling OSI behavior, but only by complitcating everything

Site Admin
Posts: 65
Joined: Thu Sep 24, 2009 1:43 pm
Location: Was Russia,Moscow; Currently Germany,Berlin
PostPosted: Fri Dec 11, 2009 10:39 pm
Good question, at static there are not a lot of them and i can't remember any.
On OSI they are everywhere as dynamic, they are triggers, area triggers, LoS blockers, event spawners and etc.

As static, there is always 1 tile in house foundation. (no draw is a multi item itself, you can pick it up and palce in backpack)

Or you can try add it as dynamic item: 2198 - 21A4, 21BC

If your client is ML, can try trammel: 583 1644

p.s. Just tried to replace 3D A4 21 , 3D 98 21 and 3D BC 21 with 3D 00 00 in running client, works perfectly =)

Site Admin
Posts: 30
Joined: Fri Jan 14, 2011 10:07 pm
Location: Sosaria
PostPosted: Tue Nov 29, 2011 7:19 am
can you release a source code to your patch?

I'm interested to see the exact mechanism of your patch

I thank thee!
Image

Site Admin
Posts: 65
Joined: Thu Sep 24, 2009 1:43 pm
Location: Was Russia,Moscow; Currently Germany,Berlin
PostPosted: Fri Dec 09, 2011 7:33 pm
Actually the pather itself is a side generated program.
It searches for 3DA421, 3D9821, 3DBC21 and 81FBA421, 81FB9821, 81FBBC21 byte sequences and replaced A421,9821,BC21 bytes with 00

Posts: 36
Joined: Thu Apr 05, 2012 2:46 am
PostPosted: Sat Apr 07, 2012 12:41 pm
Will be adding this to my patcher. I was surprised to find the byte patterns (switch statements) were all found in 4.x, 5.x, and 6.x clients, with one exception: The 81FB (CMP EBX) switches were not found in the 6.x clients but the 3D (CMP EAX) switches were.

Not sure what changed or why, but with olly I did a search for all switches and only saw one matching the signature (the CMP EAX one):
; Cases 1, 2198, 2199, 219A, 219B, 219C, 219D, 219E, 219F, 21A0, 21A1, 21A2, 21A3, 21A4, 21BC

Return to UO Client

Who is online

Users browsing this forum: No registered users and 1 guest

cron