C++ -kysymykset

Muu yhteisön välinen keskustelu.
Dimple
Active Member
Posts: 103
Joined: Wed Nov 17, 2010 5:43 pm

Re: C++ -kysymykset

Post by Dimple »

SFML 2:n kääntäminen: http://www.sfml-dev.org/tutorials/2.0/c ... -cmake.php

1.6:n kääntämisen ohjeet on täällä ihan alhaalla: http://www.sfml-dev.org/tutorials/1.6/start-vc.php. Suosittelen kuitenkin käyttämään kakkosta.

Itse tein muuten ohjelmoinnin harjoitustyön kyseisellä kirjastolla, ja en voi kuin suositella. Mutta käyttäkää hyvät ihmiset sitä kakkosta. :)
naputtelija
Devoted Member
Posts: 718
Joined: Wed Nov 03, 2010 7:56 pm
Location: Joku piste pohjoisessa.

Re: C++ -kysymykset

Post by naputtelija »

Dimple wrote:SFML 2:n kääntäminen: http://www.sfml-dev.org/tutorials/2.0/c ... -cmake.php

1.6:n kääntämisen ohjeet on täällä ihan alhaalla: http://www.sfml-dev.org/tutorials/1.6/start-vc.php. Suosittelen kuitenkin käyttämään kakkosta.

Itse tein muuten ohjelmoinnin harjoitustyön kyseisellä kirjastolla, ja en voi kuin suositella. Mutta käyttäkää hyvät ihmiset sitä kakkosta. :)
Kyllä käänsin tuon kakkosen cmaken avulla, juuri niin kuin neuvottiin. valitsin, että teen nMake makefilet juuri niin kuin ohjeessa sanottiin että niin pitää tehdä c++ kohdalla. sitten komensin visual studio command promptilla että nmake c:\users\naputtelija\desktop\builds\makefile eli juuri siellä missä cmaken tekemät makefilet on. Ja sitten heittää erroria, että CMakeFiles\Makefile2 not found, vaikka siellähän se möllöttää! Ja kyllä, kokeilin ajaa järjestelmänvalvojana, eipä onnistunut.
<Ize> Pitäs tehä allekirjotus..
<Ize> Vois keksiä jonkin nasahtavan sanonnan..
<Ize> Siitä tulis upea legenda ja kaikki vaihtaisivat allekirjoituksensa siihen.
<Ize> Ehkä ei kuitenkaa...
MaGetzUb
Guru
Posts: 1715
Joined: Sun Sep 09, 2007 12:35 pm
Location: Alavus

Re: C++ -kysymykset

Post by MaGetzUb »

Kannattaisi käyttää Code::Blocksia.. :) Mut joo kun lähdet koodaamaan SFML:ä niin kannattaa kutsua koodin alussa että: using namespace sf;
Minulla on taas ongelma SDL:n kanssa se että rotozoomattuihin kuviin en saa millään asetettua maskiväriä. :/
Solar Eclipse
Meneillä olevat Projektit:
We're in a simulation, and God is trying to debug us.
Dimple
Active Member
Posts: 103
Joined: Wed Nov 17, 2010 5:43 pm

Re: C++ -kysymykset

Post by Dimple »

naputtelija wrote:
Dimple wrote:SFML 2:n kääntäminen: http://www.sfml-dev.org/tutorials/2.0/c ... -cmake.php

1.6:n kääntämisen ohjeet on täällä ihan alhaalla: http://www.sfml-dev.org/tutorials/1.6/start-vc.php. Suosittelen kuitenkin käyttämään kakkosta.

Itse tein muuten ohjelmoinnin harjoitustyön kyseisellä kirjastolla, ja en voi kuin suositella. Mutta käyttäkää hyvät ihmiset sitä kakkosta. :)
Kyllä käänsin tuon kakkosen cmaken avulla, juuri niin kuin neuvottiin. valitsin, että teen nMake makefilet juuri niin kuin ohjeessa sanottiin että niin pitää tehdä c++ kohdalla. sitten komensin visual studio command promptilla että nmake c:\users\naputtelija\desktop\builds\makefile eli juuri siellä missä cmaken tekemät makefilet on. Ja sitten heittää erroria, että CMakeFiles\Makefile2 not found, vaikka siellähän se möllöttää! Ja kyllä, kokeilin ajaa järjestelmänvalvojana, eipä onnistunut.
Muistaakseni itse tein CMakella Visual Studio projektin, jonka sitten käänsin. En osaa näin suoralta kädeltä sanoa, mikä tuossa menisi mönkään.
MaGetzUb wrote:Kannattaisi käyttää Code::Blocksia.. :) Mut joo kun lähdet koodaamaan SFML:ä niin kannattaa kutsua koodin alussa että: using namespace sf;
Minulla on taas ongelma SDL:n kanssa se että rotozoomattuihin kuviin en saa millään asetettua maskiväriä. :/
Tukeeko se alpha-kanavaa?
MaGetzUb
Guru
Posts: 1715
Joined: Sun Sep 09, 2007 12:35 pm
Location: Alavus

Re: C++ -kysymykset

Post by MaGetzUb »

Dimple wrote:
naputtelija wrote:
Dimple wrote:SFML 2:n kääntäminen: http://www.sfml-dev.org/tutorials/2.0/c ... -cmake.php

1.6:n kääntämisen ohjeet on täällä ihan alhaalla: http://www.sfml-dev.org/tutorials/1.6/start-vc.php. Suosittelen kuitenkin käyttämään kakkosta.

Itse tein muuten ohjelmoinnin harjoitustyön kyseisellä kirjastolla, ja en voi kuin suositella. Mutta käyttäkää hyvät ihmiset sitä kakkosta. :)
Kyllä käänsin tuon kakkosen cmaken avulla, juuri niin kuin neuvottiin. valitsin, että teen nMake makefilet juuri niin kuin ohjeessa sanottiin että niin pitää tehdä c++ kohdalla. sitten komensin visual studio command promptilla että nmake c:\users\naputtelija\desktop\builds\makefile eli juuri siellä missä cmaken tekemät makefilet on. Ja sitten heittää erroria, että CMakeFiles\Makefile2 not found, vaikka siellähän se möllöttää! Ja kyllä, kokeilin ajaa järjestelmänvalvojana, eipä onnistunut.
Muistaakseni itse tein CMakella Visual Studio projektin, jonka sitten käänsin. En osaa näin suoralta kädeltä sanoa, mikä tuossa menisi mönkään.
MaGetzUb wrote:Kannattaisi käyttää Code::Blocksia.. :) Mut joo kun lähdet koodaamaan SFML:ä niin kannattaa kutsua koodin alussa että: using namespace sf;
Minulla on taas ongelma SDL:n kanssa se että rotozoomattuihin kuviin en saa millään asetettua maskiväriä. :/
Tukeeko se alpha-kanavaa?
Mitä lueskelin rotozoomerin dokumentaatiota, niin rotozoomeri pitäisi automaagisesti konvertata ulos tuleva käännetty kuva 32bittiseksi.
Solar Eclipse
Meneillä olevat Projektit:
We're in a simulation, and God is trying to debug us.
naputtelija
Devoted Member
Posts: 718
Joined: Wed Nov 03, 2010 7:56 pm
Location: Joku piste pohjoisessa.

Re: C++ -kysymykset

Post by naputtelija »

Nonii nyt on saatu hommat hoidettua tuon sfml 1.6:en suhteen. vielä on se, että ohjelman käynnistyessä se valittaa, että sfml-system.dll puuttuu koneesta, vaikka kyllähän se siellä on, vieläpä visual c++:an lib-kansiossa.
EDIT:

Ei nyt toimii, piti vaan siirtää nuo dll:t sysWOW64-kansioon.

<Ize> Pitäs tehä allekirjotus..
<Ize> Vois keksiä jonkin nasahtavan sanonnan..
<Ize> Siitä tulis upea legenda ja kaikki vaihtaisivat allekirjoituksensa siihen.
<Ize> Ehkä ei kuitenkaa...
MaGetzUb
Guru
Posts: 1715
Joined: Sun Sep 09, 2007 12:35 pm
Location: Alavus

Re: C++ -kysymykset

Post by MaGetzUb »

naputtelija wrote:Nonii nyt on saatu hommat hoidettua tuon sfml 1.6:en suhteen. vielä on se, että ohjelman käynnistyessä se valittaa, että sfml-system.dll puuttuu koneesta, vaikka kyllähän se siellä on, vieläpä visual c++:an lib-kansiossa.
EDIT:

Ei nyt toimii, piti vaan siirtää nuo dll:t sysWOW64-kansioon.

Dll tiedostot kannattaa laitaa projektin kansioon. :)
Solar Eclipse
Meneillä olevat Projektit:
We're in a simulation, and God is trying to debug us.
Dimple
Active Member
Posts: 103
Joined: Wed Nov 17, 2010 5:43 pm

Re: C++ -kysymykset

Post by Dimple »

MaGetzUb wrote:
naputtelija wrote:Nonii nyt on saatu hommat hoidettua tuon sfml 1.6:en suhteen. vielä on se, että ohjelman käynnistyessä se valittaa, että sfml-system.dll puuttuu koneesta, vaikka kyllähän se siellä on, vieläpä visual c++:an lib-kansiossa.
EDIT:

Ei nyt toimii, piti vaan siirtää nuo dll:t sysWOW64-kansioon.

Dll tiedostot kannattaa laitaa projektin kansioon. :)
Juurikin näin. Jos ohjelma kääntyy, niin silloin linkkeri kyllä löytää vaaditut kirjastot.

Kannattaa muuten linkittää staattisesti, jos käyttää SFML 1.6:sta. Siinä versiossa on sellainen bugi, että dynaamisesti linkitetty ohjelma kaatuu jos sitä yrittää käyttää koneella, jossa on ATIn näytönohjain.
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: C++ -kysymykset

Post by Latexi95 »

Yritän kokeilla Ogre3d:tä QtCreatorilla, mutta ei millään tunnu toimivan. Aina "new Ogre::Root" kaataa. Mitään "Ogre::Exceptionia" se ei ehdi heittää. Koodi on suoraan tästä esimerkistä: http://www.ogre3d.org/tikiwiki/QtOgre
Kun koitan kääntää jonkun Ogre esimerkin Visual Studiolla, niin toimii ihan hyvin. Myös jos koitan kääntää saman koodin mikä toimi Visual Studiossa Qt:llä, se kaatuu vastaavasti. Kaikki DLL:llät pitäisi olla paikallaan. Kaikki config tiedostotkin ovat oikeassa kansiossa, ja veikkaan että Ogre osaa ilmoittaa niiden puuttumisesta vähän viisaammin kuin kaatumalla oudosti.
Dimple
Active Member
Posts: 103
Joined: Wed Nov 17, 2010 5:43 pm

Re: C++ -kysymykset

Post by Dimple »

Mitä kääntäjää käytät QT Creatorissa? Sen saa konfiguroitua käyttämään Visual C++ kääntäjää. Ogrea en itse ole ikinä käyttänyt, joten en osaa sanoa mistä tuo voisi johtua.
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: C++ -kysymykset

Post by Latexi95 »

Dimple wrote:Mitä kääntäjää käytät QT Creatorissa? Sen saa konfiguroitua käyttämään Visual C++ kääntäjää. Ogrea en itse ole ikinä käyttänyt, joten en osaa sanoa mistä tuo voisi johtua.
Ai niin... Unohdin mainita, että käytän vs2010 kääntäjää myös qt:n kanssa. (käänsin qt itse lähdekoodista, että saisin tuen 2010:lle.)
Taidain kohta koittaa kääntää mingw:llä, viimeksi kyllä tuli jotain aivan ihmeellisiä virheitä kääntäessä, mutta ehkä minulla oli joku pielessä.
Dimple
Active Member
Posts: 103
Joined: Wed Nov 17, 2010 5:43 pm

Re: C++ -kysymykset

Post by Dimple »

Niin siis käytät jo vs2010:n kääntäjää Qt Creatorissa? Sitten eron on pakko olla projektin asetuksissa. Eihän IDE:llä pitäisi olla mitään merkitystä, jos käytät molemmissa samaa kääntäjää.
User avatar
Execute
Active Member
Posts: 110
Joined: Fri Feb 11, 2011 6:41 pm

C++ -kysymykset

Post by Execute »

Olenpa laiska, en jaksa kahlata tutoriaaleja netistä. Jos joku nyt voisi vastata näihin pariin kysymykseen:

1: Miten saadaan ohjelma tarkistamaan, mitä näppäintä painettiin? (Ylipäätään mitään näppäintä)

2: Miten tehdään ikuinen looppi?

3: Miten ladataan ohjelmaan mediaa?

Olen googlettanut, mutta sopivaa tutoriaalia ei ole löytynyt. Kaikki ovat olleet hieman... Vaikeaselkoisia. Vastauksia olisi kiva saada pikaisesti, niin pääsisi testailemaan muutakin kuin tekstin tulostusta ;) .
SpaceCraft on kokopitkä peli! Nyt ladattavissa! Tsekkaa!
Feuer
Devoted Member
Posts: 520
Joined: Tue Jun 16, 2009 11:13 am
Contact:

Re: C++ -kysymykset

Post by Feuer »

Kysymyksiin 1 ja 3 löytyy Ohjelmointiputkan SDL-tuto, tuon selkeämpää suomenkielistä tutoa aiheesta en usko olevan. SMFL:ää väittävät helpommaksi, mutta en ole siihen tutustunut, enkä etsinyt tutoja :P

2.

Code: Select all

while(true)
{
  //hello world!!!
}
Asus P8P67 LE/Intel Core i5 2500K/ GTX560/ 8GT RAM/750GT HDDt + 120GT SSD + 13" Macbook Pro
Blogi - Peräpohjola - MERPG
User avatar
Execute
Active Member
Posts: 110
Joined: Fri Feb 11, 2011 6:41 pm

C++ -kysymykset

Post by Execute »

Kiitos vastauksestasi, Feuer. Tutoista on vain (joskus) raskasta kaivaa tiettyjä koodinpätkiä.

Pitääkös minun asetaa tuo oppaassa mainittava kirjasto, vai löytyykö moinen Microsoft visual C++ 2010 express:istä?
SpaceCraft on kokopitkä peli! Nyt ladattavissa! Tsekkaa!
Feuer
Devoted Member
Posts: 520
Joined: Tue Jun 16, 2009 11:13 am
Contact:

Re: C++ -kysymykset

Post by Feuer »

Täytyy asentaa. VC++n mukana ei tule muuta kuin standardikirjasto ja jotain MS:n omia kirjastoja. Ohje on tässä, ja VC++6:n ohjeet ovat muuten yhteensopivia 2010:n kanssa, mutta kansiot asetetaan Tools - valikon sijasta projektin ominaisuuksien kautta.
Asus P8P67 LE/Intel Core i5 2500K/ GTX560/ 8GT RAM/750GT HDDt + 120GT SSD + 13" Macbook Pro
Blogi - Peräpohjola - MERPG
MaGetzUb
Guru
Posts: 1715
Joined: Sun Sep 09, 2007 12:35 pm
Location: Alavus

Re: C++ -kysymykset

Post by MaGetzUb »

Mitenkä SDL:ä voi luoda tyhjän RGBA pinnan, joka olisi siis ihan tyhjä (ei mitään väriä) pelkkä läpinäkyvä pinta. Sitten tähän rajapintaan pitäisi saada toisesta alphakanavan omaavasta rajapinnasta palasen, eli tuossa alhaalla olevasta kuvasta yksi frame.
Image
Saan vain mustat reunat noille räjähdyksille, vaikka niiden pitäisi olla läpinäkyviä..
Tällä hetkellä myös rotozoom jotenkin sekoittaa alfakanavan.. Tai sitten sen tekee SDL_DisplayFormat() kuten alla olevasta kuvasta näkyy:
Image

Tajuaako kukaan ongelmaani?
Eli minun pitäisi saada piirrettyä yksi palanen tuota räjädys animaatiota alfakanavan kanssa. Tämähän onnistuu suoraan SDL_Blit surfacella & SDL_Rectillä, muttakun aina yhtä framea pitäisi myös pystyä pyörittämään...

Ja jotenkin tuo SDL_DisplayFormat poistaa tuosta surfacesta alfakanavan ja muuttaa sen mustaksi.. :/

Vielä funktio millä piirrän framekuvan:

Code: Select all

void Surface::drawf(SDL_Surface *buffer, int x, int y, int frame, double angle, int transp, double scale, int smooth){
    SDL_Surface *drws; //Actual image which will be drawn

    /*
    if(frame > 0){
        frame = (frame % maxframes)
    }else{
        frame = maxframes-(int(abs(frame)) % maxframes)
    }
    */
    int rowx;
    rowx = int(float(srfc->w) / float(framew));
    SDL_Rect dframe;
    dframe.x = int(fmod(float(frame), float(rowx)))*framew;
    dframe.y = int(float(frame) / float(rowx))*frameh;
    dframe.w = framew;
    dframe.h = frameh;

    SDL_Rect into;
    into.x = 0;
    into.y = 0;

    SDL_Rect fill;
    fill.x = 0;
    fill.y = 0;
    fill.w = framew;
    fill.h = frameh;



    drws = SDL_CreateRGBSurface(SDL_HWSURFACE, framew, frameh, 32, 0, 0, 0, 0);


    SDL_BlitSurface(srfc, &dframe, drws, &into);
    drws = rotozoomSurface(drws, angle, scale, smooth);

    drws = SDL_DisplayFormat(drws);
    if(masking==true){SDL_SetColorKey(drws, SDL_SRCCOLORKEY, SDL_MapRGBA(drws->format, maskr,maskg, maskb, maska));}
    SDL_SetAlpha(drws, SDL_SRCALPHA, transp);

    SDL_Rect dpos;

    if(centering <= 0){
        dpos.x = x;
        dpos.y = y;
    }else{
        dpos.x = x-drws->w/2;
        dpos.y = y-drws->h/2;
    }

    SDL_BlitSurface(drws, NULL, buffer, &dpos);
    SDL_FreeSurface(drws);
}
Solar Eclipse
Meneillä olevat Projektit:
We're in a simulation, and God is trying to debug us.
Feuer
Devoted Member
Posts: 520
Joined: Tue Jun 16, 2009 11:13 am
Contact:

Re: C++ -kysymykset

Post by Feuer »

SDL_CreateRGBSurface() luo oikeilla lipuilla myös alfaa tukevia pintoja
Asus P8P67 LE/Intel Core i5 2500K/ GTX560/ 8GT RAM/750GT HDDt + 120GT SSD + 13" Macbook Pro
Blogi - Peräpohjola - MERPG
MaGetzUb
Guru
Posts: 1715
Joined: Sun Sep 09, 2007 12:35 pm
Location: Alavus

Re: C++ -kysymykset

Post by MaGetzUb »

Feuer wrote:SDL_CreateRGBSurface() luo oikeilla lipuilla myös alfaa tukevia pintoja
Mikähän tämä lippu mahtaa olla? SDL_SRCALPHA?
Solar Eclipse
Meneillä olevat Projektit:
We're in a simulation, and God is trying to debug us.
Feuer
Devoted Member
Posts: 520
Joined: Tue Jun 16, 2009 11:13 am
Contact:

Re: C++ -kysymykset

Post by Feuer »

Juuri sitä muistelen käyttäneeni.
Asus P8P67 LE/Intel Core i5 2500K/ GTX560/ 8GT RAM/750GT HDDt + 120GT SSD + 13" Macbook Pro
Blogi - Peräpohjola - MERPG
Post Reply