C++ -kysymykset

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

Re: C++ -kysymykset

Post by Dimple » Fri Jul 08, 2011 5:57 pm

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. :)

User avatar
naputtelija
Devoted Member
Posts: 718
Joined: Wed Nov 03, 2010 8:56 pm
Location: Joku piste pohjoisessa.

Re: C++ -kysymykset

Post by naputtelija » Fri Jul 08, 2011 7:57 pm

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...

User avatar
MaGetzUb
Guru
Posts: 1715
Joined: Sun Sep 09, 2007 12:35 pm
Location: Alavus

Re: C++ -kysymykset

Post by MaGetzUb » Fri Jul 08, 2011 8:08 pm

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 6:43 pm

Re: C++ -kysymykset

Post by Dimple » Fri Jul 08, 2011 8:23 pm

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?

User avatar
MaGetzUb
Guru
Posts: 1715
Joined: Sun Sep 09, 2007 12:35 pm
Location: Alavus

Re: C++ -kysymykset

Post by MaGetzUb » Fri Jul 08, 2011 8:27 pm

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.

User avatar
naputtelija
Devoted Member
Posts: 718
Joined: Wed Nov 03, 2010 8:56 pm
Location: Joku piste pohjoisessa.

Re: C++ -kysymykset

Post by naputtelija » Fri Jul 08, 2011 8:44 pm

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...

User avatar
MaGetzUb
Guru
Posts: 1715
Joined: Sun Sep 09, 2007 12:35 pm
Location: Alavus

Re: C++ -kysymykset

Post by MaGetzUb » Fri Jul 08, 2011 9:36 pm

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 6:43 pm

Re: C++ -kysymykset

Post by Dimple » Sat Jul 09, 2011 12:10 pm

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.

User avatar
Latexi95
Guru
Posts: 1164
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: C++ -kysymykset

Post by Latexi95 » Sat Jul 09, 2011 7:26 pm

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 6:43 pm

Re: C++ -kysymykset

Post by Dimple » Sat Jul 09, 2011 8:44 pm

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.

User avatar
Latexi95
Guru
Posts: 1164
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: C++ -kysymykset

Post by Latexi95 » Sun Jul 10, 2011 10:35 am

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 6:43 pm

Re: C++ -kysymykset

Post by Dimple » Sun Jul 10, 2011 1:13 pm

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 7:41 pm

C++ -kysymykset

Post by Execute » Sun Jul 10, 2011 10:06 pm

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!

User avatar
Feuer
Devoted Member
Posts: 520
Joined: Tue Jun 16, 2009 11:13 am
Contact:

Re: C++ -kysymykset

Post by Feuer » Sun Jul 10, 2011 10:24 pm

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 7:41 pm

C++ -kysymykset

Post by Execute » Sun Jul 10, 2011 10:29 pm

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!

User avatar
Feuer
Devoted Member
Posts: 520
Joined: Tue Jun 16, 2009 11:13 am
Contact:

Re: C++ -kysymykset

Post by Feuer » Sun Jul 10, 2011 10:43 pm

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

User avatar
MaGetzUb
Guru
Posts: 1715
Joined: Sun Sep 09, 2007 12:35 pm
Location: Alavus

Re: C++ -kysymykset

Post by MaGetzUb » Sat Jul 16, 2011 11:33 am

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.

User avatar
Feuer
Devoted Member
Posts: 520
Joined: Tue Jun 16, 2009 11:13 am
Contact:

Re: C++ -kysymykset

Post by Feuer » Sat Jul 16, 2011 11:41 am

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

User avatar
MaGetzUb
Guru
Posts: 1715
Joined: Sun Sep 09, 2007 12:35 pm
Location: Alavus

Re: C++ -kysymykset

Post by MaGetzUb » Sat Jul 16, 2011 12:37 pm

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.

User avatar
Feuer
Devoted Member
Posts: 520
Joined: Tue Jun 16, 2009 11:13 am
Contact:

Re: C++ -kysymykset

Post by Feuer » Sat Jul 16, 2011 1:35 pm

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