HelpFinding World,View,Proj

Posts 1–13 of 13 · Page 1 of 1
Finding World,View,Proj
Hi , i have already found the drawprim pointer but now i have trouble finding World,View,Proj .I have no idea how it looks like becos this is my first time reversing it .Any hints or tips would be helpful.
Thanks alot

p.s i forgot to add that i would like to avoid sigs(if u plan on giving one) cos im not working on CA but wolfteam which is dead in this forum while CA is more active and they are of same engine anyways.
Well, why not use the one in d3d9.dll, you can messagebox the addies out, look @ reclass in your own app and then make sigscans which will work for every d3d9 game
Thanks for the reply.You have helped me the other time too
Sorry but i dont quite get what your saying for looking the one in d3d9 ? i thought we have to find the one in drawprim . Also i dont exactly know how it looks like and im not experience in this field so i cant quite figure out via reclass
Code:
D3DVIEWPORT9 viewPort = {0};
D3DXMATRIX projection, view, world;
pDevice->GetTransform(D3DTS_VIEW, &view);
pDevice->GetTransform(D3DTS_PROJECTION, &projection);
pDevice->GetTransform(D3DTS_WORLD, &world);
pDevice->GetViewport(&viewPort);
Getting them directly from the device is easier
Thanks . i didnt really dive into d3d so this might have seemed like a stupid question to you .But i have a question , then why do people still need to use the game ones if they can get it directly from the device?

Your really kind and helpful.Do you have skype?if you dont mind then pls drop me a pm with your skype .
Sry for double post but when i tried to edit,the message area was completely white&blank,and i couldnt click on it to type my message...

Got it somewhat working, no crashes whatsoever , but any idea why it seems to aim at random location ?
Logged the values of enemy and 2d result to check and the 2d result is just too weird.
Code:
Actual Enemy X : -2184.459961
Actual Enemy Y : -284.912109
Actual Enemy Z : 124.087891
2D Coordinate X : -536870912
2D Coordinate Y : -1610612736
-------------------------------------------------------------------
Loop Started
-------------------------------------------------------------------
Actual Enemy X : -2250.446777
Actual Enemy Y : -195.270508
Actual Enemy Z : 124.087891
2D Coordinate X : 536870912
2D Coordinate Y : 0
-------------------------------------------------------------------
Loop Started
-------------------------------------------------------------------
Actual Enemy X : -2316.903809
Actual Enemy Y : -105.044922
Actual Enemy Z : 124.087891
2D Coordinate X : -2147483648
2D Coordinate Y : -1073741824
-------------------------------------------------------------------
Loop Started
-------------------------------------------------------------------
Actual Enemy X : -2362.828125
Actual Enemy Y : 37.885254
Actual Enemy Z : 124.087891
2D Coordinate X : 0
2D Coordinate Y : 1610612736
-------------------------------------------------------------------
Loop Started
-------------------------------------------------------------------
Actual Enemy X : -2291.825684
Actual Enemy Y : 18.759766
Actual Enemy Z : 124.087891
2D Coordinate X : -1073741824
2D Coordinate Y : 1610612736
-------------------------------------------------------------------
Loop Started
-------------------------------------------------------------------
Actual Enemy X : -2185.870605
Actual Enemy Y : 23.869629
Actual Enemy Z : 124.087891
2D Coordinate X : 0
2D Coordinate Y : 0
My Code : (w2s taken from a online CA base and modified that i cant rmb who it was)

Code:
bool W2S(D3DXVECTOR3 Pos, D3DXVECTOR3* Screen)
{
    D3DVIEWPORT9 pViewport;
    pDevice->GetViewport(&pViewport);
    D3DXMATRIX projection, view, world;
    pDevice->GetTransform(D3DTS_VIEW, &view);
    pDevice->GetTransform(D3DTS_PROJECTION, &projection);
    pDevice->GetTransform(D3DTS_WORLD, &world);
    D3DXVec3Project( Screen, &Pos, &pViewport, &projection, &view, &world);
    if(Screen->x < 0.0f || Screen->y < 0.0f|| Screen->x > pViewport.Width || Screen->y > pViewport.Height )
	return false;
return ( Screen->z < 1.0f );
}
How i assigned my values & called it
Code:
D3DXVECTOR3 Output,TargetPos;
TargetPos.x = List[Index]->X;
TargetPos.y = List[Index]->Y;
TargetPos.z = List[Index]->Z;
W2S(TargetPos,&Output);
You should really call pDevice as a local and not as a global pointer.
Add something like
Code:
bool W2S(LPDIRECT3DDEVICE9 pDevice, D3DXVECTOR3 Pos, D3DXVECTOR3* Screen)
And call it from present or something. I dont really know if this works from present because the data could be unset, would work better in DIP or EndScene, but Im not sure. Lets test it on my selfmade game now, will awnser you then
EDIT: Worked on present and in all other directx functions for me
wolfteam is not the same engine as ca..... who ever told you that is a moron.
Quote Originally Posted by supercarz1991 View Post
wolfteam is not the same engine as ca..... who ever told you that is a moron.
LithTech Jupiter Korea, DTX, .NEO Format, .DAT
My sigscans for CA also worked on this game, I simply bypassed the awesome anticheat and you could easily c&p most of the classes.
Its LithTech for sure
Quote Originally Posted by Ch40zz-C0d3r View Post
My sigscans for CA also worked on this game, I simply bypassed the awesome anticheat and you could easily c&p most of the classes.
Its LithTech for sure
definitely an old and very outdated version. NEO file type isn't Jupiter. NEO is Lithtech 1.0 therefore, it's not the same engine.
Quote Originally Posted by supercarz1991 View Post
definitely an old and very outdated version. NEO file type isn't Jupiter. NEO is Lithtech 1.0 therefore, it's not the same engine.
@supercarz1991 it is LithTech engine, about this game, have a crappy anticheat, you just need a Kernel 32 .bin Process Injetor and you will be fine whit hackers, he just have some protection in ZwMemory.

if you go in game folder, you can see .dll's like these: ltmsg.dll, server.dll, SndDrv.dll, so i think this is really LithTech, and in Wikipedia, this game is classified at Unknowed LithTech Version.
Quote Originally Posted by XarutoUsoCrack View Post
@supercarz1991 it is LithTech engine, about this game, have a crappy anticheat, you just need a Kernel 32 .bin Process Injetor and you will be fine whit hackers, he just have some protection in ZwMemory.

if you go in game folder, you can see .dll's like these: ltmsg.dll, server.dll, SndDrv.dll, so i think this is really LithTech, and in Wikipedia, this game is classified at Unknowed LithTech Version.
It's lithtech 1.0. All lithtech engines use those Dll names. the only differences between the engines is the fact they update the code and all the things that'd let you up the graphic quality and get it running with the new standards at the time.

it's not unknown, it's 1.0. There's a major major difference between jupiter and 1.0. yes it may be lithtech, no it's not the same version of the engine, therefore it's not the same game engine
Yea its a very old version. im using NOLF as my reference source.
Posts 1–13 of 13 · Page 1 of 1
This thread is closed for replies.

Similar Threads

Tags for this Thread

None

Talk with us