Siga-nos em...
Follow us on Twitter Follow us on Facebook Watch us on YouTube
Registro


HGIDC
Resultados 1 a 9 de 9

Tópico: Camera 3D

  1. #1

    Avatar de c0zy
    Data de Ingresso
    Mar 2012
    Localização
    Capanema - Paraná
    Idade
    26
    Posts
    98
    Agradecido
    1
    Peso da Avaliação
    6

    Padrão Camera 3D

    Bom, achei a source da camera 3D do sobieh e coloquei no meu main, mas quando fui compiliar, deu o seguinte erro:


    Estou utilizando o Visual Studio 2010.

    Source:

    Camera.cpp
    Código:
    #include "Camera.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
    Código:
    #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] = "http://duality.com.pl";
    #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;


    Na source, os offsets são pra 97d.
    ps. meu servidor é 97d (obviamente)
    Última edição por c0zy; 12-07-2012 às 08:01 PM.

  2. #2

    Avatar de Slate
    Data de Ingresso
    May 2012
    Localização
    Em Casa!
    Idade
    21
    Posts
    64
    Agradecido
    2
    Agradeceu
    2
    Peso da Avaliação
    6

    Padrão

    o nome do error ja diz tudo...
    esta faltando a library crtdll

  3. #3

    Avatar de c0zy
    Data de Ingresso
    Mar 2012
    Localização
    Capanema - Paraná
    Idade
    26
    Posts
    98
    Agradecido
    1
    Peso da Avaliação
    6

    Padrão

    @Slate
    Sim, mas não acho onde baixar a lib, se tiver o link...

  4. #4



    Avatar de João Neto
    Data de Ingresso
    Nov 2010
    Localização
    Barzinho de Lorencia
    Idade
    24
    Posts
    1.090
    Agradecido
    46
    Agradeceu
    26
    Peso da Avaliação
    19

    Padrão

    @liOn,

    Creio que seja isso que você procura:

    [Somente usuários registrados podem vem os links. ]

    Tem tudo certinho ai...

    Atenciosamente,
    João Neto.
    Hidden Content
    Um verdadeiro guerreiro sabe que ao perder uma batalha
    está melhorando sua arte de manejar a espada.
    Saberá lutar com mais habilidade
    na próxima vez.

  5. #5

    Avatar de c0zy
    Data de Ingresso
    Mar 2012
    Localização
    Capanema - Paraná
    Idade
    26
    Posts
    98
    Agradecido
    1
    Peso da Avaliação
    6

    Padrão

    @Joao Neto
    Deu certo, só que agora deu o mesmo, só que com a lib libc.lib, continuo não achando, já procurei.
    Caso exista um site especifico, me passe o link se puder.

  6. #6

    Avatar de Pronoob
    Data de Ingresso
    Sep 2009
    Localização
    no pc
    Posts
    194
    Agradecido
    17
    Agradeceu
    8
    Peso da Avaliação
    11

    Padrão

    [Somente usuários registrados podem vem os links. ]
    Nada a declarar.

  7. #7



    Avatar de João Neto
    Data de Ingresso
    Nov 2010
    Localização
    Barzinho de Lorencia
    Idade
    24
    Posts
    1.090
    Agradecido
    46
    Agradeceu
    26
    Peso da Avaliação
    19

    Padrão

    @liOn,

    Sinto muito mais não uso um site especifico eu pesquiso, as vezes encontro junto com DLL's ne sites de compartilhamento das mesmas outras vezes acho em sites de suporte de programação... Apenas pesquiso...

    Libc.lib Abaixo:
    [Somente usuários registrados podem vem os links. ]

    Atenciosamente,
    João Neto.

    Atenciosamente,
    João Neto.
    Hidden Content
    Um verdadeiro guerreiro sabe que ao perder uma batalha
    está melhorando sua arte de manejar a espada.
    Saberá lutar com mais habilidade
    na próxima vez.

  8. #8

    Avatar de c0zy
    Data de Ingresso
    Mar 2012
    Localização
    Capanema - Paraná
    Idade
    26
    Posts
    98
    Agradecido
    1
    Peso da Avaliação
    6

    Padrão

    Faltou mais uma dll, mas já encontrei, problema resolvido, peço que algum moderador feche o tópico.

    []'s

  9. #9


    Avatar de Lipe
    Data de Ingresso
    Jan 2012
    Localização
    Campinas
    Posts
    771
    Agradecido
    3
    Agradeceu
    3
    Peso da Avaliação
    13

    Padrão

    A pedido do autor: Tópico fechado.

 

 

Informações de Tópico

Usuários Navegando neste Tópico

Há 1 usuários navegando neste tópico. (0 registrados e 1 visitantes)

Tópicos Similares

  1. |Dúvida| Camera 3D
    Por burns no fórum Dúvidas
    Respostas: 2
    Último Post: 19-11-2015, 07:29 PM
  2. |Pedido| Main com camera 3D ou source camera 3D
    Por Ayrton Ricardo no fórum Pedidos
    Respostas: 0
    Último Post: 21-10-2012, 01:15 AM
  3. |Pedido| Camera 3d
    Por todi no fórum Pedidos
    Respostas: 3
    Último Post: 29-09-2012, 09:51 PM
  4. |Resolvido| Criar camera 3d.
    Por nightmbr no fórum Pedidos
    Respostas: 6
    Último Post: 24-05-2010, 03:27 PM

Marcadores

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •