Macros

oslib.h

RGB(r,v,b)
RGB12(r,v,b)
RGB15(r,v,b)
RGB16(r,v,b)

Cria uma cor com as especificações em vermelho, verde e azul. O alfa retornado é ajustado automaticamente a 1, dependendo do pixelformat, isto significa 15 para 4444 (RGB12), 1 para 5551 (RGB15), 0 para 5650 (RGB16) e 255 para 8888 (RGB)

RGBA(r,v,b)
RGBA12(r,v,b)
RGBA15(r,v,b)

Cria uma cor com as específicações em vermelhos, verdes e azuis. Os valores do alfa definem o nível da transparência da cor. Isto pode ser usado para qualquer coisa, isto é se você quiser desenhar um texto semi-transparente por exemplo, você pode usar a oslSetTextColor (RGBA (255.0.0.128)). Assim, cada pixel da imagem ou cada cor da palette podem ter seu próprio nível da transparência. Um valor nulo do alfa significa a transparência completa e o máximo do valor é completamente opaco.

oslImageRotMoveX(img,x)
oslImageRotMoveY(img,y)

Define as coordenadas de uma imagem em uma maneira com um ângulo de 0 no canto esquerdo superior da imagem em x e y especificado.

oslGetImageLine(img,y)
oslGetImagePixelAdr(img,x,y)

Retorna um ponteiro para os dados da imagem, começando especificamente pela linha ou pixel Veja Capítulo Sobre Imagens para mais informações.

oslGetUncachedPtr(adr)

Retorna um ponteiro fora do cache. Use para desviar o cache da CPU.

oslDrawImageXY(img,px,py)

Desenha uma imagem a partir das coordenadas x e y.

oslDrawImageSimpleXY(img,px,py)

Identico, mas em vez desse, chama a oslDrawImageSimple.

oslAbs(x)

Retorna o valor absoluto do valor passado.

oslSetImageTileSize(img,x0,y0,largeur,hauteur)

Define a parte da imagem que será desenhada ao chamar a função oslDrawImage. Por exemplo, se sua imagem tiver de fato 16x16 "sprites" (pequenas imagens) cada uma colocada ao lado da outra, você pode desenhar a terceira (que está na posição 32,0) como isto:

oslSetImageTileSize(img, 32,0, 16,16);
oslDrawImage(img);

oslSetImageTile(img,x0,y0,x1,y1)

Idêntico, porém você especifica a coordenada do retângulo.

oslResetImageTile(img)

Use esta função para fazer com que a imagem tenha seu tamanho normal.

oslMirrorImageH(img)
oslMirrorImageV(img)

Espelha uma imagem horizontalmente (H) ou verticalmente (V). Você pode desenhar utilizando a oslDrawImage.
Nota: Para usuários avançados, a imagem não é realmente espelhada, mas sim suas coordenadas são alteradas, sendo assim não é tão rápido.

oslCorrectImageHalfBorder(img)

Corrige o problema de uma imagem esticada quando aparece uma borda, utilizando o filtro bilinear permitido. Use somente neste caso, senão sua imagem ficará deformada!

oslResetImageHalfBorder(img)

Cancela a correção da borda.

oslGetDrawBuffer()

Retorna o drawbuffer ativo (da imagem que estamos desenhando).

oslPrintf(format...)

Printf padrão. Veja o capítulo sobre text console para mais informações.

oslCls()

Limpa a tela (com a cor preta) e coloca o cursor no canto esquerdo superior para utilizar o oslPrintf.

oslMoveTo(x,y)

Move o cursor para a posição especificada. O proximo oslPrintf será feito nesta nova posição
Nota: A posição é definida pelo caracter, e não por pixel,que significa se você utiliza oslMoveTo(100,100), você estará provavelmente fora da tela, a menos que as configurações utilizadas por você permita colocar mais de 100 caracteres horizontalmente e verticalmente na tela

oslPrintf_xy(x,y, str, format...)

Desenha um texto na posição especificada.Desta vez a coordenada é especificada por pixel.

oslAssert(cond)

Utilizada apenas para debug. Assegura que uma circunstância seja verdadeira antes de continuar com o programa. Porém irá mostrar na tela um dialogo indicando a condição, arquivo, e o número da linha onde ocorreu o erro

oslDebug(format...)

Mostra a mensagem com o equivalente printf. Muito útil para debugar o código. Exemplo: oslDebug("str = %s", str);

oslMake3Buttons(b1,a1,b2,a2,b3,a3)

Veja Aqui

oslWarning(format...)
oslFatalError(format...)

Mostra vários erros de mensagens, baseado na oslMessageBox.

oslSetMaxFrameskip(val)
oslSetVSync(val)
oslSetFrameskip(val)

Seta o parametro de sincronização,usado pela função oslSyncFrame. Veja a descrição da oslSyncFrameEx para mais informações sobre estes parametros.

oslSetKeyAutorepeat(keys,init,interval)
oslSetKeyAutorepeatMask(mask)
oslSetKeyAutorepeatInit(value)
oslSetKeyAutorepeatInterval(value)

Seta os parametros globais para utilizar com oslReadKeys. É o mesmo que ajustar diretamente o parametro do osl_keys.Muito útil se você utilizar exclusivamente a osl_keys e oslReadKeys.


audio.h

oslSetSoundEndCallback(s, fct)

Define uma função a ser executada após o término do som. Neste momento você pode restartar o som em loop, por exemplo, ou iniciar outro. Esta função retorna um inteiro (int) e recebe 2 parametros: int oslAudioEndCallback(OSL_SOUND *s, int no_voie); A função retorna 1 se houver outro som a ser tocado ou 0 se estiver liberando este canal de som (deixando-o livre para outro canal). Aqui está um exemplo de som em loop:

int replay(OSL_SOUND *s, int voice)		{
	oslPlaySound(s, voice);
	return 1;
}
[...]
music = oslLoadSoundFile("test.bgm", OSL_FMT_STREAM);
oslSetSoundEndCallback(music, replay);