Loadings RPG-projekt
Vill du reagera på det här meddelandet? Registrera dig för forumet med några klick eller logga in för att fortsätta.

Lite mer kodexperiment

3 posters

Gå ner

Lite mer kodexperiment Empty Lite mer kodexperiment

Inlägg  QauNuckShin sön aug 03, 2008 12:27 am

Ladda ner zip-fil här.
Linux-binär (Ubuntu, om det spelar någon roll) finns i Debug-mappen.

Obs!
Varning: extremt fula texturer. Very Happy

Koden fixar att:
* Ladda in kartor från en .map-fil (eget improviserat format. Razz)
* Rita upp bakgrund och cachea den så att alla tiles inte måste ritas om varje gång.
* Rita upp objekt på skärmen.

Texturcachen funkar så att varje objekt som ska använda en textur kallar loadSurface, varpå cachen räknar upp antalet objekt som använder texturen (och laddar in den från fil om den inte redan fanns inladdad). När objektet inte längre behöver texturen kallar den freeSurface (t.ex. i destruktorn), och cachen räknar ned antalet objekt som använder texturen. Om inga objekt använder en textur tas den bort ur cachen och pixelvektorns minne frigörs.

Den här koden är mest som jag lekt runt med, och det är mycket troligt att den läggs på skräphögen när vi bestämt oss för perspektiv och battlesystem i spelet. Speciellt main.cpp är jävligt rörig.

Just det.. Texturfilerna måste vara ARGB-format, annars kan det bli problem. Jag har kört GIMP för att rita dem. Kunde välja att spara med XRGB där också, men då blev det ingenting. Antagligen sätts X:et till 0, och texturen blir helt genomskinlig. Very Happy
QauNuckShin
QauNuckShin
Kodapa

Antal inlägg : 70
Registreringsdatum : 08-07-21
Ålder : 37
Ort : Lund

Till överst på sidan Gå ner

Lite mer kodexperiment Empty Sv: Lite mer kodexperiment

Inlägg  dark_volvagia sön aug 03, 2008 1:01 am

Hmm jag kör ju windows(typ bara för spelen, och painter) så det kan vara därför...

Error:
/Users/hercules/trunk/SDL-1.2/./src/main/win32/SDL_win32_main.c undefined reference to `SDL_main' Loading_RPG 246 C/C++ Problem

Hmm får försöka lösa det senare när jag är pigg ^^

Går det inte att använda SDL_image (både på windows och på unix) så att man kan använda semi-transparenta png filer och liknande?

Vacker grafik i övrigt Razz
dark_volvagia
dark_volvagia
Admin

Antal inlägg : 163
Registreringsdatum : 08-07-21
Ålder : 34

Till överst på sidan Gå ner

Lite mer kodexperiment Empty Sv: Lite mer kodexperiment

Inlägg  QauNuckShin sön aug 03, 2008 1:16 am

Ah, det är väl samma problem som någon hade med mitt förra exempel: jag glömmer argumenten i main-metoden. Verkar som att det inte funkar för alla att utelämna dem. Suckers. Laughing

Så, ändra
Kod:
int main()
till
Kod:
int main(int argc, const char* argv[])
Ah, titta där.. SDL_Image, alltså. Är det en del av vanliga SDL? Jag verkar inte ha funktionen, och den här sidan verkar antyda att det är ett tillägg.
QauNuckShin
QauNuckShin
Kodapa

Antal inlägg : 70
Registreringsdatum : 08-07-21
Ålder : 37
Ort : Lund

Till överst på sidan Gå ner

Lite mer kodexperiment Empty Sv: Lite mer kodexperiment

Inlägg  netcat sön aug 03, 2008 2:12 am

SDL_Image, SDL_Mixer och SDL_TTF är ju nästan måsten, och ja de är tillägg.
netcat
netcat
Möglig vaniljpudding

Antal inlägg : 12
Registreringsdatum : 08-07-24

Till överst på sidan Gå ner

Lite mer kodexperiment Empty Sv: Lite mer kodexperiment

Inlägg  dark_volvagia sön aug 03, 2008 2:23 am

Ja, SDL_image känns ju som ett måste. SDL_image* likaså. SDL_TTF däremot (fonts va?), det beror nog på vilken grafisk stil vi kör (rena sprites eller mer "tecknat"). Kör vi rena sprites bygger vi ju upp egen text i pixelgrafik (så att det passar in). Tycker jag iaf Razz

*EDIT: SDL_mixer ska det ju stå

QauNuckShin skrev:Ah, det är väl samma problem som någon hade med mitt förra exempel: jag glömmer argumenten i main-metoden.
Ah, titta där.. SDL_Image, alltså. Är det en del av vanliga SDL? Jag verkar inte ha funktionen, och den här sidan verkar antyda att det är ett tillägg.
Jo jag läste någonstans att man i SDL måste inkludera de argumenten för att det skall fungera överallt. Hm, men den biten hade jag redan gjort. Har du någon header/abstrakt main klass någonstans (hittar inget i sök, men får fortfarande samma fel)?
dark_volvagia
dark_volvagia
Admin

Antal inlägg : 163
Registreringsdatum : 08-07-21
Ålder : 34

Till överst på sidan Gå ner

Lite mer kodexperiment Empty Sv: Lite mer kodexperiment

Inlägg  netcat sön aug 03, 2008 2:31 am

dark_volvagia skrev:
QauNuckShin skrev:Ah, det är väl samma problem som någon hade med mitt förra exempel: jag glömmer argumenten i main-metoden.
Ah, titta där.. SDL_Image, alltså. Är det en del av vanliga SDL? Jag verkar inte ha funktionen, och den här sidan verkar antyda att det är ett tillägg.
Jo jag läste någonstans att man i SDL måste inkludera de argumenten för att det skall fungera överallt. Hm, men den biten hade jag redan gjort. Har du någon header/abstrakt main klass någonstans (hittar inget i sök, men får fortfarande samma fel)?

Ja, SDL_image känns ju som ett måste. SDL_image likaså. SDL_TTF däremot (fonts va?), det beror nog på vilken grafisk stil vi kör (rena sprites eller mer "tecknat"). Kör vi rena sprites bygger vi ju upp egen text i pixelgrafik (så att det passar in).

Finns gott om "pixliga" fonter dock, kika igenom "Pixel/Bitmap"-sektionen på dafont.com exempelvis. Och anledningen till att man måste ha med argc/argv i main för att det skall funka bra med SDL är för att SDL definierar en egen main-funktion på vissa plattformar (windows och mac t.ex.), som då anropar den vanliga mainfunktionen och förväntar sig de argumenten.
netcat
netcat
Möglig vaniljpudding

Antal inlägg : 12
Registreringsdatum : 08-07-24

Till överst på sidan Gå ner

Lite mer kodexperiment Empty Sv: Lite mer kodexperiment

Inlägg  dark_volvagia sön aug 03, 2008 2:47 am

Hm, efter mycket slit insåg jag varför det blev fel trots justeringar. Av någon anledning hade det inte hjälpt att trycka ctrl+s Razz

Okej, såg ut att fungera bra i vilket fall. Rörigt och lite smått jobbigt att sätta sig in i dock Razz
dark_volvagia
dark_volvagia
Admin

Antal inlägg : 163
Registreringsdatum : 08-07-21
Ålder : 34

Till överst på sidan Gå ner

Lite mer kodexperiment Empty Sv: Lite mer kodexperiment

Inlägg  dark_volvagia sön aug 03, 2008 2:50 am

netcat skrev:Finns gott om "pixliga" fonter dock, kika igenom "Pixel/Bitmap"-sektionen på dafont.com exempelvis. Och anledningen till att man måste ha med argc/argv i main för att det skall funka bra med SDL är för att SDL definierar en egen main-funktion på vissa plattformar (windows och mac t.ex.), som då anropar den vanliga mainfunktionen och förväntar sig de argumenten.
Fast de fontsen är väll inte gratis? Det är inte svårt att göra egna fonts däremot. Har gjort ett par tidigare som är fullt läsbara åtminstone Razz .

Okej, då känner man sig genast klokare kring SDL. Tackar Very Happy
dark_volvagia
dark_volvagia
Admin

Antal inlägg : 163
Registreringsdatum : 08-07-21
Ålder : 34

Till överst på sidan Gå ner

Lite mer kodexperiment Empty Sv: Lite mer kodexperiment

Inlägg  QauNuckShin sön aug 03, 2008 10:12 am

netcat skrev:SDL_Image, SDL_Mixer och SDL_TTF är ju nästan måsten, och ja de är tillägg.
Okej. Får skaffa dem då.
...Hah, de fanns i Ubuntus repository. Smile

dark_volvagia skrev:Okej, såg ut att fungera bra i vilket fall. Rörigt och lite smått jobbigt att sätta sig in i dock Razz

Ja, jag vet. Som sagt, mycket av koden (speciellt den i main.cpp) kommer att slängas på skräphögen. Det enda jag är någorlunda säker på att vi kommer ha användning för är TextureCache-klassen.
QauNuckShin
QauNuckShin
Kodapa

Antal inlägg : 70
Registreringsdatum : 08-07-21
Ålder : 37
Ort : Lund

Till överst på sidan Gå ner

Lite mer kodexperiment Empty Sv: Lite mer kodexperiment

Inlägg  netcat sön aug 03, 2008 12:36 pm

dark_volvagia skrev:
Fast de fontsen är väll inte gratis? Det är inte svårt att göra egna fonts däremot. Har gjort ett par tidigare som är fullt läsbara åtminstone Razz .

Okej, då känner man sig genast klokare kring SDL. Tackar Very Happy

Mjoo, fontarna på dafont är gratis. Sen kanske man inte "får" använda alla beroende på olika licenser eller whatever.
netcat
netcat
Möglig vaniljpudding

Antal inlägg : 12
Registreringsdatum : 08-07-24

Till överst på sidan Gå ner

Lite mer kodexperiment Empty Sv: Lite mer kodexperiment

Inlägg  QauNuckShin sön aug 03, 2008 1:56 pm

Tror nog det är bäst att bara göra egna. Så slipper man bråka med licenser och såntdär. Dessutom får man ju en lite egen stil på det hela.
QauNuckShin
QauNuckShin
Kodapa

Antal inlägg : 70
Registreringsdatum : 08-07-21
Ålder : 37
Ort : Lund

Till överst på sidan Gå ner

Lite mer kodexperiment Empty Sv: Lite mer kodexperiment

Inlägg  Sponsored content


Sponsored content


Till överst på sidan Gå ner

Till överst på sidan


 
Behörigheter i detta forum:
Du kan inte svara på inlägg i det här forumet