Sign in to follow this  
HBPLD

Problem With Resolution

Recommended Posts

Hi i change resolution of 640x480 on 800x600 and i have bug hm.

 

look:

 

07700862064280461170.jpg

 

after vertical red line are dummy but i cant see it.

i think it is the problem on HG side but i dont know where

 

HG side i change only this:

 

in function ::

iClientMotion_Move_Handler

 

find:




sp = (short *)cp;
*sp = (short)(dX - 10);
cp += 2;

sp = (short *)cp;
*sp = (short)(dY - 7);
cp += 2;

 

 

 

 

replace




sp = (short *)cp;
*sp = (short)(dX - 12);
cp += 2;

sp = (short *)cp;
*sp = (short)(dY - 9);
cp += 2;

 

 

 

find:

 

 

iSize = iComposeMoveMapData((short)(dX - 10), (short)(dY - 7), iClientH, cDir, cp);

replace

 

 

iSize = iComposeMoveMapData((short)(dX - 12), (short)(dY - 9), iClientH, cDir, cp);

in function :

:RequestInitDataHandler

 

find::

 

 

iSize = iComposeInitMapData(m_pClientList[iClientH]->m_sX - 10, m_pClientList[iClientH]->m_sY - 7, iClientH, cp );

replace

 

 

iSize = iComposeInitMapData(m_pClientList[iClientH]->m_sX - 12, m_pClientList[iClientH]->m_sY - 9, iClientH, cp );

in function ::ChatMsgHandler

 

find::



if ( (m_pClientList[i]->m_cMapIndex == m_pClientList[iClientH]->m_cMapIndex) && (m_pClientList[i]->m_sX > m_pClientList[iClientH]->m_sX - 10) && (m_pClientList[i]->m_sX < m_pClientList[iClientH]->m_sX + 10) && (m_pClientList[i]->m_sY > m_pClientList[iClientH]->m_sY - 7) && (m_pClientList[i]->m_sY < m_pClientList[iClientH]->m_sY + 7) )

 

 

 

replace

 

 

if ( (m_pClientList[i]->m_cMapIndex == m_pClientList[iClientH]->m_cMapIndex) && (m_pClientList[i]->m_sX > m_pClientList[iClientH]->m_sX - 12) && (m_pClientList[i]->m_sX < m_pClientList[iClientH]->m_sX + 12) && (m_pClientList[i]->m_sY > m_pClientList[iClientH]->m_sY - 9) && (m_pClientList[i]->m_sY < m_pClientList[iClientH]->m_sY + 9) )

in function :

:RequestTeleportHandler

 

find:

 

 

iSize = iComposeInitMapData(m_pClientList[iClientH]->m_sX - 10, m_pClientList[iClientH]->m_sY - 7, iClientH, cp );

replace

 

 

iSize = iComposeInitMapData(m_pClientList[iClientH]->m_sX - 12, m_pClientList[iClientH]->m_sY - 9, iClientH, cp );

in function

:::iRequestPanningMapDataRequest(int

 

find::




sp = (short *)cp;
*sp = dX - 10;
cp += 2;

sp = (short *)cp;
*sp = dY - 7;
cp += 2;

 

 

 

replace



sp = (short *)cp;
*sp = dX - 12;
cp += 2;

sp = (short *)cp;
*sp = dY - 9;
cp += 2;

 

and still nothing, dont see players and npc and i dont know where i can fix this problem;/

if who can help me i would appreciate.

Thanks!

Share this post


Link to post
Share on other sites

You have to apply the same thing client-side.
Client side it also has the same 10 & 7 limits to width & height of drawing.
The things you've changed are just the server side so the server would send the info of a larger range to the client.
Now you must edit your client too to accept the larger range and also draw this larger range.

Also keep the next thing in mind:
When enlarging the screen aswell as the view-range of players, you're massively increasing the packet sizes of these data, which are packets sent VERY VERY often to the client.
Rapidly growing packets like these should be taken special care of, calculations must be fast, sending must be smooth or people will just lagg from the larger view-area they got, especially if a lot of NPC/Player activity is going on there.

If you really want to have a significant larger view-area (1024*768 or even larger) I recommand re-thinking the packet code related to this, restructure it, optimize calculations and performance of your ENTIRE game server.
Aswell as upgrading your client to use DirectX 9c instead of the current DirectX 7 would make it a great advantage.
There are some remarkable changes since DX 7 to 9c, especially the shade drawing has been much improved aswell as the DI and the merge of D3D and DS into a same equal layer (done in DX 8) will give a huge performance boost to the client.
Also changing the entire drawing system around to use advantages of DX 9c and use 32-bit color drawing instead of 5-6-5 drawing as it does now will make it easier to color things around and it'll for sure increase performance A LOT.

Besides the programatic things to keep in mind, you should also keep in mind that making a larger view-area for players, means they get to know easier as faster in a larger area if and where PvP is ongoing, it'll become harder to run off-screen when PvP'ing as everyone is having a larger view-area and someone wants to escape the current PvP action because of being overwhealmed (e.g. 1v10). It also gives the opportunity to people if they go to shop, wh, ch just to check if someone is raiding or a potentional EK is there, they can see their target location from a larger distance, if he/she encounters an enemy over there who's much stronger, running away is much easier, as the distance between the player and the enemy is already (in your example code) 12 tiles instead of 10 tiles, it gives a 2 tile-advantage.
Also the ability for mages to cast from a further distance (2 tiles in your example) gives them the advantage over warrior. They can shoot a spell from a further distance, it'll also change the calculations of spells, especially linear spells who now get a much larger damage area in width. Also the range of certain high-level npcs (HC+) is set to the screen-range (or close to) to ensure when a player gets the npc in his screen, he'll be automatically targetted and gets hit, might get stunned, might be killed (by the npc or a chasing raid...), with a larger view-area, he has an advantage of 2 tiles (in your example) to already see the dangerous npc upcomming, quickly change direction to avoid it and he'll not even be seen/hit by the dangerous npc, therefore has more survival chances.

You should be thinking about changing such things, it has a great effect on the game and its game play !

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this