Stark
29/04/2020, 02:12 PM
Salve galera, boa tarde!
Encontrei a source de uma câmera 3D 97D e estou tentando compilar em um main.
Porém, ao compilar, dá o seguinte erro:
Gravidade Código Descrição Projeto Arquivo Linha Estado de Supressão
Erro C2382 'abs': redefinição; especificações de exceção diferentes Customs d:\mu\sources\97d files\97d files\source 97d\customs main\customs\camera.cpp 21
Gravidade Código Descrição Projeto Arquivo Linha Estado de Supressão
Erro C2264 'abs': erro na definição ou na declaração da função; função não chamada Customs d:\mu\sources\97d files\97d files\source 97d\customs main\customs\camera.cpp 108
Gravidade Código Descrição Projeto Arquivo Linha Estado de Supressão
Erro C2264 'abs': erro na definição ou na declaração da função; função não chamada Customs d:\mu\sources\97d files\97d files\source 97d\customs main\customs\camera.cpp 128
Gravidade Código Descrição Projeto Arquivo Linha Estado de Supressão
Erro C2264 'abs': erro na definição ou na declaração da função; função não chamada Customs d:\mu\sources\97d files\97d files\source 97d\customs main\customs\camera.cpp 189
Segue a source:
Camera.cpp
#include "StdAfx.h"
// InGame - Keyboard procedure
int iabs ( int var )
{
int retval;
__asm
{
MOV EAX , var
CMP EAX , 0
JGE notsign
NEG EAX
notsign:
MOV retval , EAX
}
return retval;
}
float abs ( float var )
{
float retval;
__asm
{
FLD var
FABS
FSTP retval
}
return retval;
}
int KeysProc ()
{
int F7State = GetAsyncKeyState(VK_F7);
if (F7Pressed == false)
{
if ( F7State != 0 && PushF7 == false)
{
PushF7 = true;
F7Pressed = true;
}
else if ( F7State != 0 && PushF7 == true)
{
PushF7 = false;
F7Pressed = true;
}
}
if ( F7State == 0) F7Pressed = false;
return 1;
}
// InGame - 3D Camera procedure
int CameraProc ()
{
POINT tp;
GetCursorPos( &tp );
int mx = (tp.x * 639) / *Screen_W;
int my = (tp.y * 479) / *Screen_H;
// ================================================== =================
// Lewo / Prawo
// ================================================== =================
if (PushF7 == true)
{
if (mx < 636 && mx > 2)
{
if (RotSpeed < 0) RotSpeed = RotSpeed + 0.4f;
if (RotSpeed > 0) RotSpeed = RotSpeed - 0.4f;
if (RotSpeed > 0 && RotSpeed < 0.2) RotSpeed = 0;
if (RotSpeed < 0 && RotSpeed > -0.2) RotSpeed = 0;
}
if (mx > 636)
{
RotSpeed = RotSpeed + 0.4f;
}
if (mx < 2)
{
RotSpeed = RotSpeed - 0.4f;
}
if (RotSpeed > 5) RotSpeed = 5;
if (RotSpeed < -5) RotSpeed = -5;
*Camera_RotZ += RotSpeed;
if (*Camera_RotZ < -405) *Camera_RotZ = -45;
if (*Camera_RotZ > 315) *Camera_RotZ = -45;
//if (RotSpeed < 0) DrawBox(630,0,10,432,0,100,0,fabs(RotSpeed) * 10);
//if (RotSpeed > 0) DrawBox(0,0,10,432,0,100,0,fabs(RotSpeed) * 10);
// ================================================== =================
// Góra / Dó³
// ================================================== =================
if (my > 470)
{
if (*Camera_RotY < 90)
{
*Camera_PosZ += 20;
*Camera_RotY += abs((*Camera_PosZ + 330) / 640);
if (*Camera_RotY < 60 || *Camera_RotY > 40)
{
AddX += 20;
AddY += 20;
}
else
{
AddX -= 20;
AddY -= 20;
}
}
}
if (my < 10)
{
if (*Camera_RotY > 25)
{
*Camera_PosZ -= 20;
*Camera_RotY -= abs((*Camera_PosZ + 330) / 600);
if (*Camera_RotY < 60 || *Camera_RotY > 40)
{
AddX += 20;
AddY += 20;
}
else
{
AddX -= 20;
AddY -= 20;
}
}
}
if ( GetAsyncKeyState(VK_HOME) != 0 )
{
if ( *Camera_Zoom > 0 )
{
*Camera_Zoom -= 1;
if ( AddX > 0 && AddY > 0)
{
AddX -= 100;
AddY -= 100;
}
}
}
if ( GetAsyncKeyState(VK_END) != 0 )
{
if ( *Camera_Zoom < 60 )
{
*Camera_Zoom += 1;
AddX += 100;
AddY += 100;
}
}
if ( GetAsyncKeyState(VK_F9) != 0)
{
*Camera_RotZ = -45;
*Camera_RotY = 48.5;
*Camera_PosZ = 150;
*Camera_ClipX = 1190;
*Camera_TLeft = 1500;
*Camera_TRight = 1500;
*Camera_BLeft = -1500;
*Camera_BRight = -1500;
*Camera_Zoom = 35;
AddX = 0;
AddY = 0;
}
*Camera_TLeft = 1500 + AddX;
*Camera_TRight = 1500 + AddX;
*Camera_BLeft = -1500 - AddX;
*Camera_BRight = -1500 - AddX;
*Camera_ClipX = 1190 + (abs(*Camera_PosZ - 150) * 3) + AddX + 800;
*Camera_GlClip = 3000;
}
return 1;
}
DWORD __stdcall MainProc (PVOID pVoid)
{
while(1)
{
KeysProc();
CameraProc();
Sleep( 20 );
}
return 1;
}
extern "C" _declspec(dllexport) int Init ()
{
DWORD ThreadID;
HANDLE MyThread = CreateThread( NULL , 0 , (LPTHREAD_START_ROUTINE) MainProc , 0 , 0 , &ThreadID );
if ( MyThread == NULL )
{
MessageBox( 0 , "Cannot create Thread!" , "ERROR" , MB_OK + MB_ICONERROR );
return 0;
}
return 1;
}
DWORD __stdcall main( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
return 1;
}
Camera.h
#ifdef MY9988_DLL_EXPORTS
#define EXPORT __declspec(dllexport)
char main_hook[30] = {0x44 , 0x47 , 0x45 , 0x20 , 0x73 , 0x6F , 0x62 , 0x69 , 0x65 , 0x68 , 0x20 , 0x28 , 0x73 , 0x6F , 0x62 , 0x69 , 0x65 , 0x68 , 0x40 , 0x67 , 0x6D , 0x61 , 0x69 , 0x6C , 0x2E , 0x63 , 0x6F , 0x6D , 0x29};
char author[22] = "[Only registered and activated users can see links]";
#else
#define EXPORT __declspec(dllimport)
#endif
#include <windows.h>
#define __fltused 1
#pragma comment( lib , "crtdll.lib" )
#pragma comment( lib , "libcmt.lib" )
#pragma comment( lib , "libc.lib" )
#pragma comment(lib, "libcp.lib")
#pragma comment( linker , "/entry:main" )
HANDLE MeHandle;
float AddY , AddX;
bool F7Pressed , PushF7 , F10Pressed , PushF10;
float RotSpeed = 0;
//0.97d Camera Offsets
float *Camera_Zoom = (float*) 0x51F7F1;
float *Camera_PosZ = (float*) 0x54D970;
float *Camera_RotZ = (float*) 0x88A35E0;
float *Camera_RotY = (float*) 0x54DD4C;
float *Camera_TLeft = (float*) 0x4F4468;
float *Camera_TRight = (float*) 0x4F447E;
float *Camera_BLeft = (float*) 0x4F448E;
float *Camera_BRight = (float*) 0x4F449E;
float *Camera_ClipX = (float*) 0x54DCB0;
float *Camera_GlClip = (float*) 0x51F862;
DWORD *Screen_W = (DWORD*) 0x55C4EC;
DWORD *Screen_H = (DWORD*) 0x55C4F0;
No StdAfx.h foi incluído:
#include "Camera.h";
Alguma luz?
Encontrei a source de uma câmera 3D 97D e estou tentando compilar em um main.
Porém, ao compilar, dá o seguinte erro:
Gravidade Código Descrição Projeto Arquivo Linha Estado de Supressão
Erro C2382 'abs': redefinição; especificações de exceção diferentes Customs d:\mu\sources\97d files\97d files\source 97d\customs main\customs\camera.cpp 21
Gravidade Código Descrição Projeto Arquivo Linha Estado de Supressão
Erro C2264 'abs': erro na definição ou na declaração da função; função não chamada Customs d:\mu\sources\97d files\97d files\source 97d\customs main\customs\camera.cpp 108
Gravidade Código Descrição Projeto Arquivo Linha Estado de Supressão
Erro C2264 'abs': erro na definição ou na declaração da função; função não chamada Customs d:\mu\sources\97d files\97d files\source 97d\customs main\customs\camera.cpp 128
Gravidade Código Descrição Projeto Arquivo Linha Estado de Supressão
Erro C2264 'abs': erro na definição ou na declaração da função; função não chamada Customs d:\mu\sources\97d files\97d files\source 97d\customs main\customs\camera.cpp 189
Segue a source:
Camera.cpp
#include "StdAfx.h"
// InGame - Keyboard procedure
int iabs ( int var )
{
int retval;
__asm
{
MOV EAX , var
CMP EAX , 0
JGE notsign
NEG EAX
notsign:
MOV retval , EAX
}
return retval;
}
float abs ( float var )
{
float retval;
__asm
{
FLD var
FABS
FSTP retval
}
return retval;
}
int KeysProc ()
{
int F7State = GetAsyncKeyState(VK_F7);
if (F7Pressed == false)
{
if ( F7State != 0 && PushF7 == false)
{
PushF7 = true;
F7Pressed = true;
}
else if ( F7State != 0 && PushF7 == true)
{
PushF7 = false;
F7Pressed = true;
}
}
if ( F7State == 0) F7Pressed = false;
return 1;
}
// InGame - 3D Camera procedure
int CameraProc ()
{
POINT tp;
GetCursorPos( &tp );
int mx = (tp.x * 639) / *Screen_W;
int my = (tp.y * 479) / *Screen_H;
// ================================================== =================
// Lewo / Prawo
// ================================================== =================
if (PushF7 == true)
{
if (mx < 636 && mx > 2)
{
if (RotSpeed < 0) RotSpeed = RotSpeed + 0.4f;
if (RotSpeed > 0) RotSpeed = RotSpeed - 0.4f;
if (RotSpeed > 0 && RotSpeed < 0.2) RotSpeed = 0;
if (RotSpeed < 0 && RotSpeed > -0.2) RotSpeed = 0;
}
if (mx > 636)
{
RotSpeed = RotSpeed + 0.4f;
}
if (mx < 2)
{
RotSpeed = RotSpeed - 0.4f;
}
if (RotSpeed > 5) RotSpeed = 5;
if (RotSpeed < -5) RotSpeed = -5;
*Camera_RotZ += RotSpeed;
if (*Camera_RotZ < -405) *Camera_RotZ = -45;
if (*Camera_RotZ > 315) *Camera_RotZ = -45;
//if (RotSpeed < 0) DrawBox(630,0,10,432,0,100,0,fabs(RotSpeed) * 10);
//if (RotSpeed > 0) DrawBox(0,0,10,432,0,100,0,fabs(RotSpeed) * 10);
// ================================================== =================
// Góra / Dó³
// ================================================== =================
if (my > 470)
{
if (*Camera_RotY < 90)
{
*Camera_PosZ += 20;
*Camera_RotY += abs((*Camera_PosZ + 330) / 640);
if (*Camera_RotY < 60 || *Camera_RotY > 40)
{
AddX += 20;
AddY += 20;
}
else
{
AddX -= 20;
AddY -= 20;
}
}
}
if (my < 10)
{
if (*Camera_RotY > 25)
{
*Camera_PosZ -= 20;
*Camera_RotY -= abs((*Camera_PosZ + 330) / 600);
if (*Camera_RotY < 60 || *Camera_RotY > 40)
{
AddX += 20;
AddY += 20;
}
else
{
AddX -= 20;
AddY -= 20;
}
}
}
if ( GetAsyncKeyState(VK_HOME) != 0 )
{
if ( *Camera_Zoom > 0 )
{
*Camera_Zoom -= 1;
if ( AddX > 0 && AddY > 0)
{
AddX -= 100;
AddY -= 100;
}
}
}
if ( GetAsyncKeyState(VK_END) != 0 )
{
if ( *Camera_Zoom < 60 )
{
*Camera_Zoom += 1;
AddX += 100;
AddY += 100;
}
}
if ( GetAsyncKeyState(VK_F9) != 0)
{
*Camera_RotZ = -45;
*Camera_RotY = 48.5;
*Camera_PosZ = 150;
*Camera_ClipX = 1190;
*Camera_TLeft = 1500;
*Camera_TRight = 1500;
*Camera_BLeft = -1500;
*Camera_BRight = -1500;
*Camera_Zoom = 35;
AddX = 0;
AddY = 0;
}
*Camera_TLeft = 1500 + AddX;
*Camera_TRight = 1500 + AddX;
*Camera_BLeft = -1500 - AddX;
*Camera_BRight = -1500 - AddX;
*Camera_ClipX = 1190 + (abs(*Camera_PosZ - 150) * 3) + AddX + 800;
*Camera_GlClip = 3000;
}
return 1;
}
DWORD __stdcall MainProc (PVOID pVoid)
{
while(1)
{
KeysProc();
CameraProc();
Sleep( 20 );
}
return 1;
}
extern "C" _declspec(dllexport) int Init ()
{
DWORD ThreadID;
HANDLE MyThread = CreateThread( NULL , 0 , (LPTHREAD_START_ROUTINE) MainProc , 0 , 0 , &ThreadID );
if ( MyThread == NULL )
{
MessageBox( 0 , "Cannot create Thread!" , "ERROR" , MB_OK + MB_ICONERROR );
return 0;
}
return 1;
}
DWORD __stdcall main( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
return 1;
}
Camera.h
#ifdef MY9988_DLL_EXPORTS
#define EXPORT __declspec(dllexport)
char main_hook[30] = {0x44 , 0x47 , 0x45 , 0x20 , 0x73 , 0x6F , 0x62 , 0x69 , 0x65 , 0x68 , 0x20 , 0x28 , 0x73 , 0x6F , 0x62 , 0x69 , 0x65 , 0x68 , 0x40 , 0x67 , 0x6D , 0x61 , 0x69 , 0x6C , 0x2E , 0x63 , 0x6F , 0x6D , 0x29};
char author[22] = "[Only registered and activated users can see links]";
#else
#define EXPORT __declspec(dllimport)
#endif
#include <windows.h>
#define __fltused 1
#pragma comment( lib , "crtdll.lib" )
#pragma comment( lib , "libcmt.lib" )
#pragma comment( lib , "libc.lib" )
#pragma comment(lib, "libcp.lib")
#pragma comment( linker , "/entry:main" )
HANDLE MeHandle;
float AddY , AddX;
bool F7Pressed , PushF7 , F10Pressed , PushF10;
float RotSpeed = 0;
//0.97d Camera Offsets
float *Camera_Zoom = (float*) 0x51F7F1;
float *Camera_PosZ = (float*) 0x54D970;
float *Camera_RotZ = (float*) 0x88A35E0;
float *Camera_RotY = (float*) 0x54DD4C;
float *Camera_TLeft = (float*) 0x4F4468;
float *Camera_TRight = (float*) 0x4F447E;
float *Camera_BLeft = (float*) 0x4F448E;
float *Camera_BRight = (float*) 0x4F449E;
float *Camera_ClipX = (float*) 0x54DCB0;
float *Camera_GlClip = (float*) 0x51F862;
DWORD *Screen_W = (DWORD*) 0x55C4EC;
DWORD *Screen_H = (DWORD*) 0x55C4F0;
No StdAfx.h foi incluído:
#include "Camera.h";
Alguma luz?