5. COMPILAÇÃO DA CLANLIB EM WINDOWS NT

 

A ClanLib 0.7.7 utiliza objetos da Microsoft Direct X que estão disponíveis somente a partir da versão 8.0. Devido à não disponibilidade da Direct X para Windows NT em versões maiores que a 3.0, serão necessárias algumas modificações no código fonte da ClanLib para que a compilação da mesma seja bem sucedida.

Tais substituições serão necessárias nas classes clanDisplay e clanSound e seguem abaixo:

 

Tabela - Substituições em clanDisplay e clanSound para compilação em  Windows NT

clanDisplay

De

Para

LPDIRECTINPUT8

LPDIRECTINPUT2

LPDIRECTINPUTDEVICE8

LPDIRECTINPUTDEVICE2

CLSID_DirectInput8

CLSID_DirectInput

IID_IDirectInput8A

IID_IDirectInput2A

clanSound

De

Para

DI8DEVCLASS_GAMECTRL

DIDEVTYPE_JOYSTICK

LPDIRECTSOUNDCAPTURE8

LPDIRECTSOUNDCAPTURE

LPDIRECTSOUNDNOTIFY8

LPDIRECTSOUNDNOTIFY

IID_IDirectSoundNotify8

IID_IDirectSoundNotify

DirectSoundCaptureCreate8

DirectSoundCaptureCreate

Tabela 5.1: Substituições em clanDisplay e clanSound para compilação em  Windows NT

Fonte: Dados de Pesquisa

 

Será necessária também a substituição do seguinte código no arquivo input_device_directinput.cpp.

 

Tabela - Substituições em input_device_directinput.cpp

input_device_directinput.cpp

De

Para

HRESULT result =

window->get_directinput()->CreateDevice(

device_instance.guidInstance, &directinput_device,

0);

LPDIRECTINPUTDEVICE directinput_dev_aux = reinterpret_cast <LPDIRECTINPUTDEVICE> (directinput_device);

 

HRESULT result =

window->get_directinput()->CreateDevice(

device_instance.guidInstance,

&directinput_dev_aux,

0);

Tabela 5.2: Substituições em input_device_directinput.cpp

Fonte: Dados de Pesquisa

 

Após tais procedimentos, a compilação da biblioteca será possível também no Windows NT; no entanto, jogos que fazem manipulação ampla de efeitos de vídeo e som poderão ser executados de forma lenta e insatisfatória.