or possibly razor/steam is causing an issue? have you tried it with both?View attachment 7739
So 640x480 and 800x600
were the old sizes.
They added these 3 bigger ones.
When you pick one of them though it actually makes your screen a little smaller. Is there maybe something in the core that needs to be edited?
As long as you keep the client resolution to 800x600 Razor will be able to resize the screen to any resolution, if you select any other the client will scale down to 640x480My first guess is that razor or steam is not compatible with this change. Does this work on OSI using razor or steam?
If that's not it then it's probably something we have to implement.
As long as you keep the client resolution to 800x600 Razor will be able to resize the screen to any resolution, if you select any other the client will scale down to 640x480
i can make a trial acct over the weekend to test since I don't have a real acct that I have to worry about getting banned, or my IP being flagged.Does this work on OSI using razor or steam?
I'm not sure how relevant it is but using the debugger from ultima live when in the old resolutions I get this over and over normally
2017-01-20 12:54:05 [PACKET] Sent CLIENT_UPDATE_RANGE (0xc8)
2017-01-20 12:54:05 [PACKET] Received SERVER_UPDATE_RANGE (0xc8)
the 0xc8 packet seems to correlate with PacketHandlers.cs
line 125 Register(0xC8, 2, true, SetUpdateRange);
and
Packets.cs
line 617 public ChangeUpdateRange(int range) : base(0xC8, 2)
When I switch to the new screen sizes I no longer recieve the CLIENT_UPDATE_RANGE (0xc8) messages.
I don't really know anything about packets so...
*****************************
Update:
I also found in PacketHandlers.cs line 1706
state.Send(ChangeUpdateRange.Instantiate(18));
would now be 24 instead of 18
I think the rest of the issue is from Steam not recognizing the newer resolutions... but you can set the game window size to whatever you want in steam/options, and with the updated range it should work the same.
state.Send(ChangeUpdateRange.Instantiate(18));
public virtual int GetMaxUpdateRange()
{
return 18;
}
public virtual int GetUpdateRange(Mobile m)
{
return 18;
}
static Core()
{
DataDirectories = new List<string>();
GlobalMaxUpdateRange = 24;
GlobalUpdateRange = 18;
}
* UseMaxRange
*
* When defined, enables a minor update that forces Get*InRange methods to
* use Core.GlobalMaxUpdateRange, when no range is specified.
*
* By default, a constant range of 18 is used however, Core.GlobalMaxUpdateRange
* is usually greater than that with a default value of 24.
*
* This update will allow things such as Effects to be displayed to more players,
* as well as increasing the range of player sight.
*
* The benefits of this update appeal to players who choose to increase the
* dimensions of their game window beyond the client's limits.
* (This can also be beneficial for shards that mainly target the Enhanced client)
*/
//#define Map_UseMaxRange
case MessageType.Yell:
m_YellHue = hue;
range = 18;
break;
public override int GetMaxUpdateRange()
{
return 18;
}
public override int GetUpdateRange(Mobile m)
{
return 18;
}
public static bool InUpdateRange(Point3D p1, Point3D p2)
{
return (p1.m_X >= (p2.m_X - 18)) && (p1.m_X <= (p2.m_X + 18)) && (p1.m_Y >= (p2.m_Y - 18)) &&
(p1.m_Y <= (p2.m_Y + 18));
}
public static bool InUpdateRange(Point2D p1, Point2D p2)
{
return (p1.m_X >= (p2.m_X - 18)) && (p1.m_X <= (p2.m_X + 18)) && (p1.m_Y >= (p2.m_Y - 18)) &&
(p1.m_Y <= (p2.m_Y + 18));
}
public static bool InUpdateRange(IPoint2D p1, IPoint2D p2)
{
return (p1.X >= (p2.X - 18)) && (p1.X <= (p2.X + 18)) && (p1.Y >= (p2.Y - 18)) && (p1.Y <= (p2.Y + 18));
}
[CommandProperty(AccessLevel.GameMaster)]
public int InRange
{
get
{
return this.m_InRange;
}
set
{
if (value > 18)
value = 18;
this.m_InRange = value;
}
}
[CommandProperty(AccessLevel.GameMaster)]
public int OutRange
{
get
{
return this.m_OutRange;
}
set
{
if (value > 18)
value = 18;
this.m_OutRange = value;
}
}
if (range > 18)
range = 18;
if (sign == null || from.Map != sign.Map || !from.InRange(sign.GetWorldLocation(), 18))
if (sign == null || from.Map != sign.Map || !from.InRange(sign.GetWorldLocation(), 18))
if (!Enabled || pm == null || bc == null || !CheckLocation(bc) || !CheckLocation(pm) || !killer.InRange(victim, 18)
if (target == null || !target.InRange(this, 18))
- public virtual int GetMaxUpdateRange()
- {
- return 18;
- }
- public virtual int GetUpdateRange(Mobile m)
- {
- return 18;
- }
I just leave the client settings at one of the original ones and then force the window size bigger via steam.Without being able to use the clients new game window sizes I'm not really sure how to test it properly. GetUpdateRange could changed based on what resolution your using, but because steam doesn't recognize it, it doesn't work.
could you post that info?I also know the packet info from UOLive's debug window has changed on the server I have that uses it from before the newest one.
Correct! As long as you are using the latest client of real UO, you can now adjust just fine.
Does anything have to be changed for the render distance? Or just download latest if on an older repo? I notice things still have difficulty if not static staying loaded and disappearing.The UO client had another patch after the info in this thread, as far as I can tell it is all working fine. You can switch resolutions in game.
a problem i'm finding is that if i set server.item.GetUpdateRange more than 18 items won't update.
if i go more than 18 tiles away and back the item doesn't show up anymore
Yes and same issue.Did you recompile the Core after updating Item.cs?
I also have this issue though a player said they compiled the repo and the issue didnt exist. I use the repos core when compiling. Could it be the old zlibs I have to use?Yes and same issue.
We use essential cookies to make this site work, and optional cookies to enhance your experience.