So, regarding the title, I noticed some definitions in Map.cs. By defining Map_UseMaxRange, it will use GlobalMaxUpdateRange. Now, when you choose the screen sizes, a packet is sent that can set a max range to a netstate.

Screen sizes send the following update ranges:

Code:
            /* 640x480  - 12
             * 800x600  - 12
             * 1024x768 - 18
             * 1152x864 - 18
             * 1280x720 - 18
             */

Here is what I propose:

-NetState property gets set to a max update range when screen size is changed.
-Any update ranges will use the Map_UseMaxRange definition which is Core.GlobalMaxUpdateRange (which will be changed from 22 to 18 since update range never goes over 18).
-When looping through NetStates for packet purposes, a range check will check the netstate max range to make sure its not sending packets to those with smaller screen sizes.

-OR-
Send packets to all in range of the 18 tiles, regardless of screen size.
 
I checked OSI TC

Macro Options :

- Increase Update Range
- Decrease Update Range
- Update Range Info

Note: Has been fixed for the operation of macro commands. ( Increasing client drawing range fix. )

Game Play Window Size:

Code:
640x480 -> Adjustable -> Min Update Range: 5 , Max Update Range : 18 (Default Update Range : 15)
800x600 -> Adjustable -> Min Update Range: 5 , Max Update Range : 18 (Default Update Range : 18)
1024x768 -> Adjustable ->  Min Update Range: 5 , Max Update Range : 24 (Default Update Range : 24)
1152x864 -> Adjustable ->  Min Update Range: 5 , Max Update Range : 24 (Default Update Range : 24)
1280x720 -> Adjustable ->  Min Update Range: 5 , Max Update Range : 24 (Default Update Range : 24)

I think the game should be based on the window size limitation.
 
Last edited:
Yea, I forgot the 0x lol. But yea, it will have to be set for limitations. I think the client has a mobile limitation based on screen size. If yuh set the window to the two lower sizes, and you keep the update range at 24, no mobiles will show when you run in thier range.
 
I've noticed that the server does not send remove packets for items once they are out of range like it does for mobiles. Does the client automatically do this when movement is sent?

In any case, this will need to be implemented to properly update lower ranges.
 
Back