Kuten projektin nimikin kertoo kyseessä on SDL-wrapperi CoolBasicille. Tällä hetkellä cbSDL sisältää peruskomennot 2d grafiikkaan, mutta mahdollisesti tulevaisuudessa 3d-tuki voidaan saada mukaan OpenGL tuen avulla. Vaikka dll-kutsut syövätkin suuren osan SDL:n nopeudesta ero CoolBasicin valmiisiin komentoihin on kuitenkin huomattava (vai hoitaako cb 512 * 512 kuvan pyörityksen reaaliajassa?). Alunperin projekti käytti Marcoderin dll komentoja, mutta ylimääräisten funktiokutsujen välttämiseksi ja lisätehon saamiseksi jätin sen pois alkuvaiheissa. Mainittakoon vielä varalta niille jotka eivät tiedä, että SDL on nopea ja yksinkertainen kirjasto grafiikan piirtoon.
Projektin dll on mahdollista kääntää oman mielen mukaan, jolloin voi saada ylimääräiset tarkistukset pois virheistä jne. jolloin huonommilla koneilla nopeutta säästyy taas vähän. Myös piirtokomennot tai kuvakomennot voi jättää halutessaan pois.
KilledWhale wrote:Koska suunnitellun demoprojektin toteutus venyy julkaisen projektin cb puolen jo nyt.
Paketti sisältää cbSDL.dll ja muut tarvittavat dll:t
cbSDL.cb on varsinainen projekti joka pitää includettaa ja SDL_testi on esimerkkiohjelma joka on ladattavissa ensimmäisestä viestistä.
dll on kaikilla ominaisuuksillä käännetty (input, gfx ja image) ja sisältää myös virheilmoitukset (hieman hitaampi kuin ilman virheitä mutta saa kelvata)
Lataa:
http://up.servut.us/dl/11143.ikg8
Tällä hetkellä projektissa on valmiina seuraavat komennot:
Code: Select all
// Lasku (molemmat hoidetaan cb puolella ilman dll ja on tehty vain helpottamaan elämää
SDL_FPS()
SDL_MamRGBA()
// Yleinen
SDL_Init()
SDL_Quit()
// Piirto
SDL_Circle()
SDL_Box()
SDL_Triangle()
SDL_Line()
SDL_Ellipse()
// Ikkuna
SDL_Screen()
SDL_SetWindow()
SDL_DrawScreen()
// Kuvat
SDL_LoadImage()
SDL_DrawImage()
SDL_DeleteImage()
SDL_RotateImage()
SDL_ImageWidth() (toimii myös näytölle)
SDL_ImageHeight() (toimii myös näytölle)
SDL_Lock()
SDL_Unlock()
SDL_GetPixel()
SDL_SetPixel()
SDL_AlphaImage()
SDL_MaskImage()
SDL_DrawImageBox()
// Syötteet
SDL_KeyDown()
SDL_MouseX()
SDL_MouseY()
SDL_MouseDown()
SDLTTF_Init()
SDLTTF_LoadFont()
SDLTTF_Text()
// Eventit
SDL_PollEvent()
Changelog:
Code: Select all
//////////////////////////////////////////////////////////////////
v.0.20
- SDL_DrawImageBox()
- SDLTTF_Init()
- SDLTTF_LoadFont()
- SDLTTF_Text()
- SDL_PollEvent
v.0.10
-Dll mahdollista kääntää debug -ominaisuuksilla tai ilman (ilman luonnollisesti hieman nopeampi)
-Dll mahdollista kääntää ilman piirtokomentoja
-Dll mahdollista kääntää ilman kuvakomentoja
-Suurin osa komennoista sisältää nyt virheilmoitukset debugatessa
-Ensimmäinen demo julkaistu
////////////////////////////
v.0.02
-Lisätty SDL_Line()
-Lisätty SDL_Ellipse()
-Lisätty SDL_AlphaImage()
-Lisätty SDL_MaskImage()
-Lisätty SDL_MouseX()
-Lisätty SDL_MouseY()
-Lisätty SDL_MouseDown()
////////////////////////////
v.0.01
-Changelog aloitettu
http://killedwhale.jouluserver.com/cbSD ... se%202.zip
C++ lähdekoodit:
http://killedwhale.jouluserver.com/cbSDL%20-%20c++.zip
Lisäksi tarvitset ainakin:
SDL
SDL_gfx
SDL_image (vaatii toimiakseen tiff, zlib, libpng ja libjpeg)
SDL_ttf
Jos haluat jättää joitain toimintoja pois dll:stä avaa cbSDL.h ja muuta haluamasi seuraavista:
#define IMAGE 1 // Kuvat
#define GFX 1 // Piirtokomennot
#define DEBUG 1 // Virheentarkistukset mukana tai ei (ilman hieman nopeampaa)
#define INPUT 1 // Syötteet
#define EVENT 1 // SDL_Eventit
#define TTF 1 // Fontit ja tekstin piirto