Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Auto-search offsets for any main.exe

Initiate Mage
Joined
May 3, 2013
Messages
29
Reaction score
10
i have true offset for glclip in: 1.03k main.exe

Code:
float *Camera_Zoom    = (float*) 0x006001E9;
float *Camera_RotY    = (float*) 0x0088BC78;
float *Camera_RotZ    = (float*) 0x0809F150;
float *Camera_PosZ    = (float*) 0x0088ACFC;
float *Camera_ClipX   = (float*) 0x0088BB18;
float *Camera_ClipY   = (float*) 0x005AB4CD;
float *Camera_GlClip  = (float*) 0x[COLOR=#ff0000]00600479[/COLOR];

and for: 1.04d gmo main.exe:

Code:
float  *Camera_Zoom    = (float*)  0x00D27BFC; //FLOAT:  35.00000
float  *Camera_RotY    = (float*)  0x00D27B88; //FLOAT:  -48.50000
float  *Camera_RotZ    = (float*)  0x087933D8; //FLOAT:  -45.00000
double *Camera_PosZ    = (double*) 0x00D255A0;    //DOUBLE: 150.000000000
double *Camera_ClipU    = (double*) 0x00D2C898; //DOUBLE: 580.0000000000000
double *Camera_ClipL    = (double*) 0x00D2C888; //DOUBLE: 1250.00000000000
double *Camera_ClipM    = (double*) 0x00D2C830; //DOUBLE: 660.0000000000000
double *Camera_ClipX    = (double*) 0x00D2C848; //DOUBLE: 1190.00000000
float  *Camera_ClipY    = (float*)  0x00D2C894; //FLOAT:  2400.000
float  *Camera_ClipZ    = (float*)  0x00D27BC0; //FLOAT:  2300.000
double *Camera_ClipZ2    = (double*) 0x00D2C8D8; //DOUBLE: 3000.00000000000
float  *Camera_ClipT    = (float*)  0x00D2C91C; //FLOAT: -900.0000

my offsets are 100% correct (tested) in both versions.
 
Last edited:
Elite Diviner
Joined
Jan 20, 2009
Messages
420
Reaction score
77
i am working right now with the 3D Camera of 1.03.11 True offset that i share yesterday so check you offsets :) stop posting styped things :)!

Screen(04_19-20_13)-0000 - Auto-search offsets for any main.exe - RaGEZONE Forums

Main 1.03K Offsets here:

Camera_Zoom = 006001E9
Camera_RotY = 0088BC78
Camera_RotZ = 0809F150
Camera_PosZ = 0088ACFC
Camera_ClipX = 0088BB18
Camera_ClipY = 005AB4CD
Camera_GlClip = 0088BB4C
 

Attachments

You must be registered for see attachments list
Last edited:
Initiate Mage
Joined
May 3, 2013
Messages
29
Reaction score
10
i am working right now with the 3D Camera of 1.03.11 True offset that i share yesterday so check you offsets :) stop posting styped things :)!

View attachment 129410

Main 1.03K Offsets here:

Camera_Zoom = 006001E9
Camera_RotY = 0088BC78
Camera_RotZ = 0809F150
Camera_PosZ = 0088ACFC
Camera_ClipX = 0088BB18
Camera_ClipY = 005AB4CD
Camera_GlClip = 0088BB4C

using glclip: 0x00600479:

-=DarkSim=- - Auto-search offsets for any main.exe - RaGEZONE Forums


using glclip: 0x0088BB4C:

-=DarkSim=- - Auto-search offsets for any main.exe - RaGEZONE Forums
 
Experienced Elementalist
Joined
Oct 11, 2008
Messages
225
Reaction score
423
Oh, very strange.
In 1.04.04 i use 0x0D2570C and all work...

In 1.03.11 GLClip by belial change only one type (bcz value setuped by switch):
gSanBvQ - Auto-search offsets for any main.exe - RaGEZONE Forums


Everybody have own glclip :laugh:
 

Attachments

You must be registered for see attachments list
Last edited:
Initiate Mage
Joined
May 3, 2013
Messages
29
Reaction score
10
Oh, very strange.
In 1.04.04 i use 0x0D2570C and all work...

In 1.03.11 GLClip by belial change only one type (bcz value setuped by switch):
gSanBvQ - Auto-search offsets for any main.exe - RaGEZONE Forums


Everybody have own glclip :laugh:

In: 1.04.04 -> glclip: 00D2570C causes bug with character shadow to extend the value, but: 00D27BC0 -> clipz or glclip is correct without shadow's bug, but bug in Santa town map clip.

DarkSim: each map has its own cases of: switch() for the values ​​of the function: glclip, we must decompile this function for fix all.

ps: to make a fully functional 3d, we must clip map floor by rectangles.

Code:
double *Camera_ClipU    = (double*) 0x00D2C898; //DOUBLE: 580.0000000000000
double *Camera_ClipL    = (double*) 0x00D2C888; //DOUBLE: 1250.00000000000
double *Camera_ClipM    = (double*) 0x00D2C830; //DOUBLE: 660.0000000000000
 

Attachments

You must be registered for see attachments list
Last edited:
Experienced Elementalist
Joined
Nov 4, 2007
Messages
200
Reaction score
5
#define LDECRYPT (0x00420F8D) ;SetNop(LD*..,5)
#define SDECRYPT (0x004211A0) ;SetNop(SD*..,4);
#define RESW (0x004D469E+7)
#define RESH (0x004D46A8+7)
#define RESM (0x004D5837+7)

Defined RES* are for changing the resolution Link1 Link2, i've tested it years ago and works & look pretty good.
Main is .
 
Experienced Elementalist
Joined
Oct 11, 2008
Messages
225
Reaction score
423
belial
- I view world preview function ~week ago but for analyze and make it work need more time

Code:
int WorldPreview(int Struct, bool Arg2)	//5DB130 (1.04.04)
{
	gObjUser.Refresh();
	// ----
	float v13	= 0.0;
	float v12	= 0.0;
	float v8	= 0.0;
	float v20	= 0.0;
	float v9	= 0.0;
	float v11	= 0.0;
	// ----
	if( pMapNumber == 6 && !strcmp(gObjUser.lpViewPlayer->Name, "webzen")
		|| !strcmp(gObjUser.lpViewPlayer->Name, "webzen2") )
	{
		v13 = (double)pGetSomeSize() / 640.0;
		v12 = 8500.0;
		v8	= (float)8500.0 * 0.05000000074505806;
		v20 = (float)8500.0 * 0.4699999988079071;
		v9	= v13 * 3000.0;
		v11 = v13 * 540.0;
	}
	else if( pIsLorenDeep(pMapNumber) && pPlayerState == GameProcess )
	{
		v13 = (double)pGetSomeSize() / 640.0;
		if( (unsigned __int8)pCheckSomeLimit(oUserPreviewStruct + 1028)
			&& (*(float *)(oUserPreviewStruct + 1028) < 17100.0 || *(float *)(oUserPreviewStruct + 1028) > 18300.0) )
		{
			v12 = 5100.0;
			v8	= (float)5100.0 * 0.1899999976158142;
			v20 = (float)5100.0 * 0.4699999988079071;
			v9	= v13 * 2250.0;
			v11 = v13 * 540.0;
		}
		else
		{
			v12	= 3300.0;
			v8	= (float)3300.0 * 0.1899999976158142;
			v20	= (float)3300.0 * 0.4699999988079071;
			v9	= v13 * 1300.0;
			v11 = v13 * 580.0;
		}
	}
	else if( pMapNumber == 62 )	//Santa Village
	{
		v13 = (double)pGetSomeSize() / 640.0 * 1.0;
		v8	= (float)2400.0 * 0.1899999976158142;
		v20 = (float)2400.0 * 0.4699999988079071;
		v12 = 2650.0;
		v9	= v13 * 1250.0;
		v11 = v13 * 540.0;
	}
	else if( pInVulcanus() || (unsigned __int8)pInDoppel1() )
	{
		v13 = (double)pGetSomeSize() / 640.0;
		v8	= 55.0;
		v20 = 830.0;
		v12 = 3300.0;
		v9	= v13 * 1900.0;
		v11 = v13 * 600.0;
	}
	else
	{
		TDEBUG("[Else]");
		//check
		switch(*(DWORD*)0x8787D40)	//very like plaing state
		{
		case 0:
			{
				if( pPlayerState != SelectServer )
				{
					if ( pPlayerState == SwitchCharacter )
					{
						v13 = (double)pGetSomeSize() / 640.0 * 9.100000381469727 * 0.4049980044364929;
					}
					else
					{
						//int v3 = sub_4DB250();
						//if ( (unsigned __int8)sub_4E44A0(v3 + 132) )
						//	v13 = (double)pGetSomeSize() / 640.0 * 10.0 * 0.1150000020861626;
						//else
							v13 = (double)pGetSomeSize() / 640.0;
					}
				}
				// ----
				if( pPlayerState != 2 )
				{
					if( pPlayerState == 4 )
					{
						v12 = 7370.9639;
					}
					else
					{
						if ( pMapNumber == 39 )
							v12 = 2300.0;
						else
							v12 = 2400.0;
					}
				}
				if( pPlayerState == 2 )
				{
					v13 = (double)pGetSomeSize() / 640.0;
					v12 = 530400.0;
					v8 = 20400.0;
					v20 = 20400.0;
					v9 = v13 * 5000.0;
					v11 = v13 * 300.0;
				}
				else
				{
					v8 = v12 * 0.1899999976158142;
					v20 = v12 * 0.4699999988079071;
					v9 = v13 * 1190.0;
					v11 = v13 * 540.0;
				}
			}
			break;
			// --
		case 1:
			{
				v13 = (double)pGetSomeSize() / 640.0 + 0.1000000014901161;
				v12 = 2700.0;
				v8 = (float)2700.0 * 0.1899999976158142;
				v20 = (float)2700.0 * 0.4699999988079071;
				v9 = v13 * 1200.0;
				v11 = v13 * 540.0;
			}
			break;
			// --
		case 2:
			{
				v13 = (double)pGetSomeSize() / 640.0 + 0.1000000014901161;
				v12 = 3000.0;
				v8 = (float)3000.0 * 0.1899999976158142;
				v20 = (float)3000.0 * 0.4699999988079071;
				v9 = v13 * 1300.0;
				v11 = v13 * 540.0;
			}
			break;
			// --
		case 3:
			{
				v13 = (double)pGetSomeSize() / 640.0 + 0.1000000014901161;
				v12 = 3300.0;
				v8 = (float)3300.0 * 0.1899999976158142;
				v20 = (float)3300.0 * 0.4699999988079071;
				v9 = v13 * 1500.0;
				v11 = v13 * 580.0;
			}
			break;
			// --
		case 4:
		case 5:
			{
				v13 = (double)pGetSomeSize() / 640.0 + 0.1000000014901161;
				v12 = 3400.0;
				v8 = (float)3400.0 * 0.1899999976158142;
				v20 = (float)3400.0 * 0.4699999988079071;
				v9 = v13 * 1600.0;
				v11 = v13 * 660.0;
			}
			break;
		}
	}
	// ----
	if( Arg2 )
	{
		v9	*= 1.509999990463257;
		v11 *= 1.200000047683716;
	}
	// ----
	float v21 = -v9;
	float v22 = v12 - v20;
	float v23 = 0.0;
	float v24 = v9;
	float v25 = v12 - v20;
	float v26 = 0.0;
	float v27 = v11;
	float v28 = v8 - v20;
	float v29 = 0.0;
	float v30 = -v11;
	float v31 = v8 - v20;
	float v32 = 0.0;
	// ----
	float v14, v15, v16;
	if( pMapNumber == 6 && !strcmp(gObjUser.lpViewPlayer->Name, "webzen")
		|| !strcmp(gObjUser.lpViewPlayer->Name, "webzen2") )
	{
		v14 = 0.0;
		v15 = 0.0;
		v16 = -*(float*)0x87933D8;		//??????????
	}
	else if( pMapNumber == 73 )	//?
	{
		//...
	}
	else
	{
		v14 = 0.0;
		v15 = 0.0;
		v16 = 45.0;
	}
	// ----
	int v10;
	float v17, v18;
	float v19[10];
	int result = pSomeFunc2((float*)&v14, (int)&v10);
	for( int i = 0; i < 4; ++i )
	{
		pSomeFunc3(&v21 + 3 * i, &v10, (int*)&v17 + 3 * i);
		*(&v17 + 3 * i) = *(&v17 + 3 * i) + *(float *)Struct;
		*(&v18 + 3 * i) = *(&v18 + 3 * i) + *(float *)(Struct + 4);
		v19[3 * i] = v19[3 * i] + *(float *)(Struct + 8);
		result = i;
		*(float*)(0x82C64B8 + i * 4) = *(&v17 + 3 * i) * 0.009999999776482582;
		*(float*)(0x82C64A8 + i * 4) = *(&v17 + 3 * i) * 0.009999999776482582;
	}
	return result;
}

Stifi
- You test widescreen on new mains?
 
Last edited:
Experienced Elementalist
Joined
Nov 4, 2007
Messages
200
Reaction score
5
No, only in old.

btw, here is the log of main gmos2:
Code:
//Auto researcher script
//Main: 10203
#define Version                    0x7A2838 //-> 22548
#define Serial                    0x7A2840 //-> cf3p3B2E3G8fyQ7Y
#define MapNumber                *(int*)0x558B0000
#define MainState                *(int*)0x86E85550
#define UserObjectStruct        0x0
#define ObjectPreviewStruct        0x88BF0F07
#define MasterLevel                *(short*)0x0
#define MasterPoints            *(short*)0x0
#define CursorX                    *(int*)0x7E80704
#define CursorY                    *(int*)0x7E80700
#define MaxZenWidth1            *(BYTE*)0x1
#define MaxZenWidth2            *(BYTE*)0x1
#define MaxZenWidth3            *(BYTE*)0x1
#define MaxZenWidth4            *(BYTE*)0x1
#define MaxZenWidth5            *(BYTE*)0x1 //-> If 0x0 or 0x1 = not in use
#define WinWidth                *(GLsizei*)0x7B55AC
#define WinHeight                *(GLsizei*)0x7B55B0
#define CameraZoom                *(float*)0x6B20D0
#define CameraRotY                *(float*)0x0
#define CameraRotZ                *(float*)0x7E80758
#define CameraPosZ                *(float*)0x2F98300
#define CameraClipX                *(float*)0x0 //-> if Season 6+ == *(double*)
#define CameraClipY                *(float*)0xFFFFFFD6
#define CameraClipGL            *(float*)0xFFFFFEF8
some of them are wrong...

ps; can you try do add the 'color chat' ..?
 
Last edited:
Experienced Elementalist
Joined
Oct 11, 2008
Messages
225
Reaction score
423
Stifi
- Read please 1st post
And of course it not for all-all mains, but i try to make it for S3.2 -> S6.3.
For now S1 / S2 / S3.0 not supported
 
Custom Title Activated
Member
Joined
Apr 6, 2007
Messages
1,806
Reaction score
483
I will be testing this.
One of the most useful releases in a long time....and as usual it comes from darksim...kinda love ya dude. Lol.

Enviado desde mi GT-I9300 usando Tapatalk 2
 
Initiate Mage
Joined
May 3, 2013
Messages
29
Reaction score
10
DarkSim here some offsets for: 1.04.28 -> ex season 8 main.exe unpacked by mauka in this thread: http://forum.ragezone.com/f508/fixing-main-exe-season-8-a-915727/

Code:
//3d camera offsets
float  *Camera_Zoom    = (float*)  0x0101FC00;//ready!
float  *Camera_RotY    = (float*)  0x0101BB10;//ready!
float  *Camera_RotZ    = (float*)  0x08B2FB9C;//normal rotation z axis
float  *Camera_RotZ2    = (float*)  0x08B2FB78;//inverse rotation z axis
double *Camera_PosZ    = (double*) 0x01019A58;//ready!
double *Camera_ClipX    = (double*) 0x01020CB8;//ready!
float  *Camera_ClipY    = (float*)  0x0101BAC8;//ready!
float  *Camera_ClipZ    = (float*)  0x011A8DB4;//ready! -> general case not tested
float  *Camera_GlClip1    = (float*)  0x0101BB38;//santa village case
float  *Camera_GlClip2  = (float*)  0x01019BCC;//a general case.. mean.. i don't know ^^
float  *Camera_GlClip3  = (float*)  0x0101BB44;//a place of exile map case sure.
float  *Camera_GlClip4  = (float*)  0x0101BB34;//i don't know..
float  *Camera_GlClip5  = (float*)  0x0101BB30;//some ex700 map.. maybe
float  *Camera_GlClip6  = (float*)  0x0101BB40;//castle siege map case i think.
float  *Camera_GlClip7  = (float*)  0x0101BB3C;//unknown
float  *Camera_GlClip8  = (float*)  0x0101BB48;//3000.0f -> max value allow by main.exe, i think


map offset: 0x011A7320


screen h,w offsets: 0x01017DF0 / 0x01017DE8
 
Joined
Oct 14, 2008
Messages
85
Reaction score
100
belial
- I view world preview function ~week ago but for analyze and make it work need more time


Code:
int WorldPreview(int Struct, bool Arg2)	//5DB130 (1.04.04)
{
	gObjUser.Refresh();
	// ----
	float v13	= 0.0;
	float v12	= 0.0;
	float v8	= 0.0;
	float v20	= 0.0;
	float v9	= 0.0;
	float v11	= 0.0;
	// ----
	if( pMapNumber == 6 && !strcmp(gObjUser.lpViewPlayer->Name, "webzen")
		|| !strcmp(gObjUser.lpViewPlayer->Name, "webzen2") )
	{
		v13 = (double)pGetSomeSize() / 640.0;
		v12 = 8500.0;
		v8	= (float)8500.0 * 0.05000000074505806;
		v20 = (float)8500.0 * 0.4699999988079071;
		v9	= v13 * 3000.0;
		v11 = v13 * 540.0;
	}
	else if( pIsLorenDeep(pMapNumber) && pPlayerState == GameProcess )
	{
		v13 = (double)pGetSomeSize() / 640.0;
		if( (unsigned __int8)pCheckSomeLimit(oUserPreviewStruct + 1028)
			&& (*(float *)(oUserPreviewStruct + 1028) < 17100.0 || *(float *)(oUserPreviewStruct + 1028) > 18300.0) )
		{
			v12 = 5100.0;
			v8	= (float)5100.0 * 0.1899999976158142;
			v20 = (float)5100.0 * 0.4699999988079071;
			v9	= v13 * 2250.0;
			v11 = v13 * 540.0;
		}
		else
		{
			v12	= 3300.0;
			v8	= (float)3300.0 * 0.1899999976158142;
			v20	= (float)3300.0 * 0.4699999988079071;
			v9	= v13 * 1300.0;
			v11 = v13 * 580.0;
		}
	}
	else if( pMapNumber == 62 )	//Santa Village
	{
		v13 = (double)pGetSomeSize() / 640.0 * 1.0;
		v8	= (float)2400.0 * 0.1899999976158142;
		v20 = (float)2400.0 * 0.4699999988079071;
		v12 = 2650.0;
		v9	= v13 * 1250.0;
		v11 = v13 * 540.0;
	}
	else if( pInVulcanus() || (unsigned __int8)pInDoppel1() )
	{
		v13 = (double)pGetSomeSize() / 640.0;
		v8	= 55.0;
		v20 = 830.0;
		v12 = 3300.0;
		v9	= v13 * 1900.0;
		v11 = v13 * 600.0;
	}
	else
	{
		TDEBUG("[Else]");
		//check
		switch(*(DWORD*)0x8787D40)	//very like plaing state
		{
		case 0:
			{
				if( pPlayerState != SelectServer )
				{
					if ( pPlayerState == SwitchCharacter )
					{
						v13 = (double)pGetSomeSize() / 640.0 * 9.100000381469727 * 0.4049980044364929;
					}
					else
					{
						//int v3 = sub_4DB250();
						//if ( (unsigned __int8)sub_4E44A0(v3 + 132) )
						//	v13 = (double)pGetSomeSize() / 640.0 * 10.0 * 0.1150000020861626;
						//else
							v13 = (double)pGetSomeSize() / 640.0;
					}
				}
				// ----
				if( pPlayerState != 2 )
				{
					if( pPlayerState == 4 )
					{
						v12 = 7370.9639;
					}
					else
					{
						if ( pMapNumber == 39 )
							v12 = 2300.0;
						else
							v12 = 2400.0;
					}
				}
				if( pPlayerState == 2 )
				{
					v13 = (double)pGetSomeSize() / 640.0;
					v12 = 530400.0;
					v8 = 20400.0;
					v20 = 20400.0;
					v9 = v13 * 5000.0;
					v11 = v13 * 300.0;
				}
				else
				{
					v8 = v12 * 0.1899999976158142;
					v20 = v12 * 0.4699999988079071;
					v9 = v13 * 1190.0;
					v11 = v13 * 540.0;
				}
			}
			break;
			// --
		case 1:
			{
				v13 = (double)pGetSomeSize() / 640.0 + 0.1000000014901161;
				v12 = 2700.0;
				v8 = (float)2700.0 * 0.1899999976158142;
				v20 = (float)2700.0 * 0.4699999988079071;
				v9 = v13 * 1200.0;
				v11 = v13 * 540.0;
			}
			break;
			// --
		case 2:
			{
				v13 = (double)pGetSomeSize() / 640.0 + 0.1000000014901161;
				v12 = 3000.0;
				v8 = (float)3000.0 * 0.1899999976158142;
				v20 = (float)3000.0 * 0.4699999988079071;
				v9 = v13 * 1300.0;
				v11 = v13 * 540.0;
			}
			break;
			// --
		case 3:
			{
				v13 = (double)pGetSomeSize() / 640.0 + 0.1000000014901161;
				v12 = 3300.0;
				v8 = (float)3300.0 * 0.1899999976158142;
				v20 = (float)3300.0 * 0.4699999988079071;
				v9 = v13 * 1500.0;
				v11 = v13 * 580.0;
			}
			break;
			// --
		case 4:
		case 5:
			{
				v13 = (double)pGetSomeSize() / 640.0 + 0.1000000014901161;
				v12 = 3400.0;
				v8 = (float)3400.0 * 0.1899999976158142;
				v20 = (float)3400.0 * 0.4699999988079071;
				v9 = v13 * 1600.0;
				v11 = v13 * 660.0;
			}
			break;
		}
	}
	// ----
	if( Arg2 )
	{
		v9	*= 1.509999990463257;
		v11 *= 1.200000047683716;
	}
	// ----
	float v21 = -v9;
	float v22 = v12 - v20;
	float v23 = 0.0;
	float v24 = v9;
	float v25 = v12 - v20;
	float v26 = 0.0;
	float v27 = v11;
	float v28 = v8 - v20;
	float v29 = 0.0;
	float v30 = -v11;
	float v31 = v8 - v20;
	float v32 = 0.0;
	// ----
	float v14, v15, v16;
	if( pMapNumber == 6 && !strcmp(gObjUser.lpViewPlayer->Name, "webzen")
		|| !strcmp(gObjUser.lpViewPlayer->Name, "webzen2") )
	{
		v14 = 0.0;
		v15 = 0.0;
		v16 = -*(float*)0x87933D8;		//??????????
	}
	else if( pMapNumber == 73 )	//?
	{
		//...
	}
	else
	{
		v14 = 0.0;
		v15 = 0.0;
		v16 = 45.0;
	}
	// ----
	int v10;
	float v17, v18;
	float v19[10];
	int result = pSomeFunc2((float*)&v14, (int)&v10);
	for( int i = 0; i < 4; ++i )
	{
		pSomeFunc3(&v21 + 3 * i, &v10, (int*)&v17 + 3 * i);
		*(&v17 + 3 * i) = *(&v17 + 3 * i) + *(float *)Struct;
		*(&v18 + 3 * i) = *(&v18 + 3 * i) + *(float *)(Struct + 4);
		v19[3 * i] = v19[3 * i] + *(float *)(Struct + 8);
		result = i;
		*(float*)(0x82C64B8 + i * 4) = *(&v17 + 3 * i) * 0.009999999776482582;
		*(float*)(0x82C64A8 + i * 4) = *(&v17 + 3 * i) * 0.009999999776482582;
	}
	return result;
}

Stifi
- You test widescreen on new mains?



Something like this :glare:
PHP:
void MUUpdateFustrum(MUFloat3 *vPosition, char bOpt)
{
	float fUIPaneRate = 0.0f;
	float fHeightA = 0.0f;
	float fHeightM = 0.0f;
	float fHeightB = 0.0f;
	float fWidthTop = 0.0f;
	float fWidthBottom = 0.0f;


	if ( g_MapNumber == MAP_INDEX_SANTANTOWN )
	{
		fUIPaneRate = (float)MUGetGameViewportReal() / 640.0f * 1.0f;
		fHeightA = 2400.0f * 0.19f;
		fHeightM = 2400.0f * 0.47f;
		fHeightB = 2650.0f;
		fWidthTop = fUIPaneRate * 1250.0f;
		fWidthBottom = fUIPaneRate * 540.0f;
	}
	else
	{
		if ( g_CameraZoomStateValueNext >= g_CameraZoomStateValueCurrent )
		{
			g_CameraZoomState2 = g_CameraZoomState;
		}


		switch ( g_CameraZoomState2 )
		{
		case 0:
			{
				if ( g_ClientState != 2 )
				{
					if ( g_ClientState == 4 )
					{
						fUIPaneRate = (float)MUGetGameViewportReal() / 640.0f * 9.1f * 0.405f;
					}
					else
					{

						if ( MUEventCamera::GetInstance()->m_kanturuInfo.IsActive() )
						{
							fUIPaneRate = (float)MUGetGameViewportReal() / 640.0f * 10.0f * 0.115f;
						}
						else
						{
							fUIPaneRate = (float)MUGetGameViewportReal() / 640.0f;
						}
					}


					if ( g_ClientState == 4 )
					{
						fHeightB = 7370.9639f;
					}
					else
					{
						if ( g_MapNumber == MAP_INDEX_KANTURU_BOSS )
						{
							fHeightB = 2300.0f;
						}
						else
						{
							fHeightB = 2400.0f;
						}
					}

					fHeightA = fHeightB * 0.19f;
					fHeightM = fHeightB * 0.47f;
					fWidthTop = fUIPaneRate * 1190.0f;
					fWidthBottom = fUIPaneRate * 540.0f;
				}
				else
				{
					fUIPaneRate = (float)MUGetGameViewportReal() / 640.0f;
					fHeightB = 530400.0f;
					fHeightA = 20400.0f;
					fHeightM = 20400.0f;
					fWidthTop = fUIPaneRate * 5000.0f;
					fWidthBottom = fUIPaneRate * 300.0f;
				}
				break;
			}
		case 1:
			{
				fUIPaneRate = (float)MUGetGameViewportReal() / 640.0f + 0.1f;
				fHeightB = 2700.0f;
				fHeightA = 2700.0f * 0.19f;
				fHeightM = 2700.0f * 0.47f;
				fWidthTop = fUIPaneRate * 1200.0f;
				fWidthBottom = fUIPaneRate * 540.0f;
				break;
			}
		case 2:
			{
				fUIPaneRate = (float)MUGetGameViewportReal() / 640.0f + 0.1f;
				fHeightB = 3000.0f;
				fHeightA = 3000.0f * 0.19f;
				fHeightM = 3000.0f * 0.47f;
				fWidthTop = fUIPaneRate * 1300.0f;
				fWidthBottom = fUIPaneRate * 540.0f;
				break;
			}
		case 3:
			{
				fUIPaneRate = (float)MUGetGameViewportReal() / 640.0f + 0.1f;
				fHeightB = 3300.0f;
				fHeightA = 3300.0f * 0.19f;
				fHeightM = 3300.0f * 0.47f;
				fWidthTop = fUIPaneRate * 1500.0f;
				fWidthBottom = fUIPaneRate * 580.0f;
				break;
			}
		case 4:
		case 5:
			{
				fUIPaneRate = (float)MUGetGameViewportReal() / 640.0f + 0.1f;
				fHeightB = 3400.0f;
				fHeightA = 3400.0f * 0.19f;
				fHeightM = 3400.0f * 0.47f;
				fWidthTop = fUIPaneRate * 1600.0f;
				fWidthBottom = fUIPaneRate * 660.0f;
				break;
			}
		default:
			break;
		}
	}

	if ( bOpt )
	{
		fWidthTop = fWidthTop * 1.51f;
		fWidthBottom = fWidthBottom * 1.2f;
	}

	MUFloat3 vTmpPosOrign[4];
	MUFloat3 vRot;
	MUFloat3 vOutTmp[4];
	MUMatrix4x3 mtTemp;

	vTmpPosOrign[0].x = -fWidthTop;
	vTmpPosOrign[0].y = fHeightB - fHeightM;
	vTmpPosOrign[0].z = 0.0;
	vTmpPosOrign[1].x = fWidthTop;
	vTmpPosOrign[1].y = fHeightB - fHeightM;
	vTmpPosOrign[1].z = 0.0;
	vTmpPosOrign[2].x = fWidthBottom;
	vTmpPosOrign[2].y = fHeightA - fHeightM;
	vTmpPosOrign[2].z = 0.0;
	vTmpPosOrign[3].x = -fWidthBottom;
	vTmpPosOrign[3].y = fHeightA - fHeightM;
	vTmpPosOrign[3].z = 0.0;

	if ( g_MapNumber == 73 )
	{
		vRot.x = g_MUCameraRot.x * -1.0f;
		vRot.y = g_MUCameraRot.y * -1.0f;
		vRot.z = g_MUCameraRot.z * -1.0f;

		MUCameraAutoModeMng::GetInstance()->SetRotateX2( 89.5f );
		vRot.x = vRot.x + MUCameraAutoModeMng::GetInstance()->GetRotateX2();
		vRot.y = vRot.y + 0.0f;
		vRot.z = vRot.z + 0.0f;
	}
	else
	{
		vRot.x = 0.0f;
		vRot.y = 0.0f;                          // FustrumRot
		vRot.z = 45.0f;
	}

	MUMatrixCreateRotate(&vRot, &mtTemp);

	for (int i = 0; i < 4; ++i )
	{
		MUMatrixMultVecRot(&vTmpPosOrign[i], &mtTemp, &vOutTmp[i]);
		vOutTmp[i].x = vOutTmp[i].x + vPosition->m[0];
		vOutTmp[i].y = vOutTmp[i].y + vPosition->m[1];
		vOutTmp[i].z = vOutTmp[i].z + vPosition->m[2];
		g_FustrumX[i] = vOutTmp[i].x * 0.01f;
		g_FustrumY[i] = vOutTmp[i].y * 0.01f;
	}
 
Experienced Elementalist
Joined
Oct 11, 2008
Messages
225
Reaction score
423
laudaicat
- ahah, great, u finish main decompilition?
 
Elite Diviner
Joined
Jan 20, 2009
Messages
420
Reaction score
77
gyiz can someone look at the source for new monster i cant deal with 1.03K Struct ....
 
Junior Spellweaver
Joined
Feb 13, 2013
Messages
193
Reaction score
69
DarkSim Post struct new monster 1.03.11plz ?

---

DarkSim would have a function to leave the screen loader Main Main 1:03:25 1:03:11 equal?
Ex: lo_back_s5_03 & 04 files are a main s5. Would putting them in a s4?
S4 - Auto-search offsets for any main.exe - RaGEZONE Forums s5 - Auto-search offsets for any main.exe - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Last edited:
Initiate Mage
Joined
Jan 8, 2013
Messages
77
Reaction score
6
Help me !! I did all the steps but the Mu.txt wont appear ... Where is it support to appear? .... Help pls
 
Back
Top