Page 10 of 18

Re: cbEnchanted - uudelleenkirjoitettu runtime

Posted: Sat Jun 16, 2012 1:51 pm
by valscion
Kaikille niille tiedoksi jotka luulevat omien vanhojen projektien toimivan heti oikein cbEnchantedilla: Turha toivo. Parhaaseen lopputulokseen pääsee kun koodaa alusta asti cbE:llä. Näin myös löydetään nopeammin cbE:n mahdollisia bugeja. Emme välttämättä jaksa käydä läpi teidän lähdekoodejanne, varsinkin jos ne on kirjoitettu sotkuisesti.

Re: cbEnchanted - uudelleenkirjoitettu runtime

Posted: Sat Jun 16, 2012 5:31 pm
by Untitled.bmp
Bug spotted!

SoundPlaying ei vaikuta toimivan oikein ^^ Tai siinä on jotain häikkää tämä rivi nimittäin kaataa ohjelman:

Code: Select all

If SoundPlaying(musiikki)=False Then musiikki=PlaySound("media/chopper.ogg")
Kaatumine tapahtuu siis, kun tuon rivin ehto on tosi.. En ainakaan tuossa bugilistassa löytänyt tuota bugia, vaikka melkein luulisi jollekin jo tulleen moisen. No päätinpä ilmottaa kuitenkin tästä :)

Re: cbEnchanted - uudelleenkirjoitettu runtime

Posted: Sat Jun 16, 2012 9:47 pm
by esa94
Untitled.bmp wrote:Kaatumine tapahtuu siis, kun tuon rivin ehto on tosi..
Eli se ollee PlaySound-bugi.

Re: cbEnchanted - uudelleenkirjoitettu runtime

Posted: Sun Jun 17, 2012 11:00 am
by valscion
Untitled.bmp wrote:Bug spotted!

SoundPlaying ei vaikuta toimivan oikein ^^ Tai siinä on jotain häikkää tämä rivi nimittäin kaataa ohjelman:

Code: Select all

If SoundPlaying(musiikki)=False Then musiikki=PlaySound("media/chopper.ogg")
Kaatumine tapahtuu siis, kun tuon rivin ehto on tosi.. En ainakaan tuossa bugilistassa löytänyt tuota bugia, vaikka melkein luulisi jollekin jo tulleen moisen. No päätinpä ilmottaa kuitenkin tästä :)
Eihän PlaySound toimi noin. Jos haluat sen toimivan kuin funktio (eli käytät sulkeita kun kutsut sitä) niin sinun tulee antaa sille LoadSoundilta saamasi kokonaislukumuuttuja, äänen ID. Silloin PlaySound palauttaa haluamasi kanavamuuttujan jota voit käyttää mm. SoundPlaying-funktion kanssa.

Re: cbEnchanted - uudelleenkirjoitettu runtime

Posted: Sun Jun 17, 2012 2:16 pm
by Tuxi
VesQ wrote:
Untitled.bmp wrote:Bug spotted!
SoundPlaying ei vaikuta toimivan oikein ^^ Tai siinä on jotain häikkää tämä rivi nimittäin kaataa ohjelman:

Code: Select all

If SoundPlaying(musiikki)=False Then musiikki=PlaySound("media/chopper.ogg")
Kaatumine tapahtuu siis, kun tuon rivin ehto on tosi.. En ainakaan tuossa bugilistassa löytänyt tuota bugia, vaikka melkein luulisi jollekin jo tulleen moisen. Nopäätinpä ilmottaa kuitenkin tästä :)
Eihän PlaySound toimi noin. Jos haluat sen toimivan kuin funktio (eli käytät sulkeita kun kutsut sitä) niin sinun tulee antaa sille LoadSoundilta saamasi kokonaislukumuuttuja, äänen ID. Silloin PlaySound palauttaa haluamasi kanavamuuttujan jota voit käyttää mm. SoundPlaying-funktion kanssa.
Eikö PlaySoundin pitäisi toimia myös tuolla tavalla?
Minulla ainakin toimii tämä koodi täydellisesti sekä cbE 0.3.0 että originaalikääntäjällä:

Code: Select all

Repeat
    If SoundPlaying(musiikki)=False Then musiikki=PlaySound("menu.ogg")
    DrawScreen    
Forever
Konstaduck wrote:Miksi ohjelma jää satunnaisesti käyntiin, satunnaisesti sammuu, kun ajan testiohjelman

Code: Select all

setwindow "testiohjelma"
Kun ohjelma jää käyntiin, sitä ei voi sammuttaa ESCistä taikka raksista. Prosessin sulkeminen on ainut ratkaisu. Ei tätä ongelmaa ollut ei-cbE:n aikana...
Minulla ilmenee tätä ongelmaa pidemmilläkin koodeilla. Helpoin tapa sulkea ohjelma jumittumisen jälkeen oli painaa Ctrl+C konsolissa, mutta nykyisessä versiossa konsoli on oletuksana piiloitettu, joten ohjelman joutuu sulkemaan prosessien kautta.

Re: cbEnchanted - uudelleenkirjoitettu runtime

Posted: Wed Jun 20, 2012 12:38 am
by axu
On tässä tullut nyt koodattua uutta pelinalkua cbe:llä, tarkoitus oli alunperin julkaista viime lauantaina (16.6), mutta viikonloppu meni hieman hitaasti ohjelmoinnin kannalta... Nyt on reissuunlähtö edessä, joten siitä projektista ei kannata odottaa kuulevansa mitään viikkoon. Yritin saada demon julkaisukuntoon täksi päiväksi, mutta muutamat bugit kartan kanssa aiheuttavat jatkuvasti takaiskuja (saatan tehdä oman karttamoottorin tälle pelille, olisi muutama idea :D). Pääosin tekniikka pelaa niin kuin odottaisi ja itse asiassa vielä mielenkiintoisemmin, mutta huonoa en julkaise. Sen sijaan jätän teidät arvelemaan mitä täältä on tulossa.
Teaser.png
:D
Teaser.png (201.89 KiB) Viewed 5555 times
EDIT:

Niin ja kuten kuvasta voinee päätellä kraafikon paikka on auki. Suht futuristista ympäristöä (sijoittuu avaruusasemalle), melko korkearesoluutioista (tilet+ukko 64x64). Lähetä YV jos kiinnostaa (pääsen lukemaan viimeistään maanantaina).


Re: cbEnchanted - uudelleenkirjoitettu runtime

Posted: Wed Jun 20, 2012 9:31 am
by Wingman
axu wrote:...Sen sijaan jätän teidät arvelemaan mitä täältä on tulossa.
Jos arvelen oikein, niin hyvännäköistä työtä ja hieno idea, toivottavasti saat toimimaan hyvin ja kartoista tulee mielenkiintoisia. Onnea projektille, taas yksi jota ei millään haluaisi nähdä jäätyvän.

Re: cbEnchanted - uudelleenkirjoitettu runtime

Posted: Wed Jun 20, 2012 1:10 pm
by Konstaduck
En oikein tiedä, onko tämä bugi, tai johtuuko tämä vain omasta koneestani, mutta kuitenkin:
cbE bug.PNG
Eli isot ÄÄt ei näy Äinä, ja pieni ä muuttuu öön näköiseksi. Lyhyesti: Ääkköset ei toimi...

Re: cbEnchanted - uudelleenkirjoitettu runtime

Posted: Wed Jun 20, 2012 1:14 pm
by Sami The Great
char tietotyyppi C++:ssa on yksi tavu, ja se kertoo ASCII arvon, jossa ei ole ääkkösiä. Oliskin hyvä, että merkkijonoissa käytettäisiin UTF-8 standardia.
Edit: Muistaakseni wchar (wide character) sisältää ääkköset.

EDIT2: Juu tosiaan, kuten latexi sanoikin jo, niin ainakin windows XP:n oletus console-fontti sisältää vain ASCII-merkit.

Re: cbEnchanted - uudelleenkirjoitettu runtime

Posted: Wed Jun 20, 2012 1:24 pm
by Latexi95
Tuo Windowsin ongelma on komentorivillä ääkkösten kanssa ei esiinny kaikilla. Se joillakin se on korjautunut vain vaihtamalla komentorivin fonttia.
EDIT:

Minulla näkyy samanlaisena kun komentorivin asetuksista on valittuna "Rasterifontit", kun vaihdan sen joksikin muuksi niin ääkköset toimii oikein


Re: cbEnchanted - uudelleenkirjoitettu runtime

Posted: Wed Jun 20, 2012 3:34 pm
by Konstaduck
Mitenkäs tuolla XP:llä pääsee komentorivin asetuksiin..? :D

Re: cbEnchanted - uudelleenkirjoitettu runtime

Posted: Thu Jun 21, 2012 3:14 pm
by MaGetzUb
Konstaduck wrote:Mitenkäs tuolla XP:llä pääsee komentorivin asetuksiin..? :D
Klikkaa hiiren oikealla näppäimellä otsikkopalkkia, ja sitten pitäisi tulla popup menu esiin.

Re: cbEnchanted - uudelleenkirjoitettu runtime

Posted: Thu Jun 21, 2012 5:37 pm
by Konstaduck
No siellähän ne asetukukset piili :)

Kiitoksia.

Re: cbEnchanted - uudelleenkirjoitettu runtime

Posted: Sat Jun 23, 2012 12:31 pm
by naputtelija
Itselläni ei uusin toimi. Käytössä siis compiler/debug versio cbE:stä. Aina kun yritän ajaa, tulee vain virhe:

Code: Select all

ERROR: Can't center the window - could not get the monitor info.
EDIT:

nyt näyttää siltä että vain perustilalla toimii, mutta jos yritän kutsua screeniä niin kaatuu. miksi?


Re: cbEnchanted - uudelleenkirjoitettu runtime

Posted: Sun Jun 24, 2012 6:48 pm
by Awaclus
Tämä ehkä saattaisi kuulua myös Tyhmät kysymykset -ketjuun, mutta kysyn silti täällä kun Enchantediin nimenomaan liittyy.

Onko mitään fiksua tapaa toteuttaa kameran kääntymistä hiiren liikkeen mukaan? Toistaiseksi olen toteuttanut muutaman cbFUNin funkkarin kanssa siten, että ukkoa käännetään kursoria kohti, jonka jälkeen kursori siirretään tiettyyn paikkaan ruudulla joka on aina vähän matkaa ukon edessä, jonka jälkeen kameran kulmaksi asetetaan ukon kulma -90 (jotta ukko katsoo ylöspäin). Tästä kuitenkin saattaa koitua joitain ongelmia; voiko tämän tehdä ilman kursorin sijainnin piluttelemista koodin avulla?

Re: cbEnchanted - uudelleenkirjoitettu runtime

Posted: Tue Jun 26, 2012 1:37 am
by MaGetzUb
Chaosworm wrote:Tämä ehkä saattaisi kuulua myös Tyhmät kysymykset -ketjuun, mutta kysyn silti täällä kun Enchantediin nimenomaan liittyy.

Onko mitään fiksua tapaa toteuttaa kameran kääntymistä hiiren liikkeen mukaan? Toistaiseksi olen toteuttanut muutaman cbFUNin funkkarin kanssa siten, että ukkoa käännetään kursoria kohti, jonka jälkeen kursori siirretään tiettyyn paikkaan ruudulla joka on aina vähän matkaa ukon edessä, jonka jälkeen kameran kulmaksi asetetaan ukon kulma -90 (jotta ukko katsoo ylöspäin). Tästä kuitenkin saattaa koitua joitain ongelmia; voiko tämän tehdä ilman kursorin sijainnin piluttelemista koodin avulla?
Tämä ei toimi nyt vielä nykyisessä cbe:sä, mutta seuraavassa julkaisussa tämä tulee toimimaan:

Code: Select all

angle = angle + MouseMoveX()
PositionMouse ScreenWidth()/2, ScreenHeight()/2
RotateObject ukko, angle+90
RotateCamera 0, angle
CloneCameraPosition ukko
MoveCamera 100

Re: cbEnchanted - uudelleenkirjoitettu runtime

Posted: Tue Jun 26, 2012 11:00 am
by axu
MaGetzUb wrote:Tämä ei toimi nyt vielä nykyisessä cbe:sä, mutta seuraavassa julkaisussa tämä tulee toimimaan:
Tuossa oli pari virhettä. Tässä toimiva esimerkki (mousemove-ominaisuus kierretään kutsumalla sitä ylimääräisen kerran):

Code: Select all

Map = LoadMap("Media/cdm2.til", "Media/tileset.bmp")
Guy = LoadObject("Media/soldier.bmp")
Repeat
	angle = angle - MouseMoveX()
	PositionMouse ScreenWidth()/2, ScreenHeight()/2
	a = MouseMoveX()
	RotateObject Guy, angle+90
	RotateCamera 90, angle
	CloneCameraPosition Guy
	MoveCamera 100
	DrawScreen
Forever

Re: cbEnchanted - uudelleenkirjoitettu runtime

Posted: Tue Jun 26, 2012 2:42 pm
by valscion
naputtelija wrote:Itselläni ei uusin toimi. Käytössä siis compiler/debug versio cbE:stä. Aina kun yritän ajaa, tulee vain virhe:

Code: Select all

ERROR: Can't center the window - could not get the monitor info.
EDIT:

nyt näyttää siltä että vain perustilalla toimii, mutta jos yritän kutsua screeniä niin kaatuu. miksi?

Uusin versio yrittää keskittää ikkunan keskelle ruutua ja käyttää kyseistä toiminnallisuutta varten al_get_monitor_info() funktiota. Kyseinen funktio epäonnistuu jostain syystä koneellasi ja siitä johtuu tuo virhe. Ei cbE:n kuitenkaan tulisi kaatua kyseisessä kohtaa, tuo on vain ilmoitus joka ei vaikuta muuhun toiminnallisuuteen. Tältä näyttää kyseisen osan C++ koodi, josta pitäisi käydä ilmi se ettei em. virhe kaada ohjelmaa.

Code: Select all

if (state != 0) {
    // Center the window to the first display, if not fullscreen
    ALLEGRO_MONITOR_INFO displayInfo;
    if (!al_get_monitor_info(0, &displayInfo)) {
        // Couln't get display info, just output error to cerr and continue as usual.
        cerr << "ERROR: Can't center the window - could not get monitor info." << endl;
    }
    else {
        int topleftX = ((displayInfo.x2 - displayInfo.x1) - al_get_display_width(window)) / 2;
        int topleftY = ((displayInfo.y2 - displayInfo.y1) - al_get_display_height(window)) / 2;
        al_set_window_position(window, topleftX, topleftY);
    }
}

Re: cbEnchanted - uudelleenkirjoitettu runtime

Posted: Tue Jun 26, 2012 3:17 pm
by MaGetzUb
axu wrote:
MaGetzUb wrote:Tämä ei toimi nyt vielä nykyisessä cbe:sä, mutta seuraavassa julkaisussa tämä tulee toimimaan:
Tuossa oli pari virhettä. Tässä toimiva esimerkki (mousemove-ominaisuus kierretään kutsumalla sitä ylimääräisen kerran):
Ei siinä mitään virhettä ollut, se vain toimii nykyisen cb:n mukaisesti, mutta se ei toimi nykyisellä julkaistulla cbe versiolla. Tuo sinun omasi toimii nykyisellä cbe versiolla, mutta se ei tulevalla cbe versiolla ole oikeaoppinen.

Tässä on siis cb:n PositionMouse esimerkki:

Code: Select all

'NOTE! You can hide the mouse pointer with 
'ShowMouse OFF 

cursor= LoadImage("Media\cow.bmp")

x=200
y=150

Repeat

    x=x+MouseMoveX()
    y=y+MouseMoveY() 

    PositionMouse 200,150
    
    DrawImage cursor,x,y
    
    DrawScreen

Until EscapeKey()

Re: cbEnchanted - uudelleenkirjoitettu runtime

Posted: Tue Jun 26, 2012 3:35 pm
by axu
MaGetzUb wrote:Ei siinä mitään virhettä ollut, se vain toimii nykyisen cb:n mukaisesti, mutta se ei toimi nykyisellä julkaistulla cbe versiolla. Tuo sinun omasi toimii nykyisellä cbe versiolla, mutta se ei tulevalla cbe versiolla ole oikeaoppinen.
En viitannut niinkään MouseMoven käyttöön vaan siihen, että sinun versiossa ukko katsoo ylös, mutta kamera on sijoitettu ukosta oikealle päin ja kameran pyöritys toimii kuin ukko katsoisi alaspäin (vasemmalle liikuttaminen pyörittää ruutua vastapäivään). Ja kyllä tuo minun koodin pitäisi toimia tulevallakin versiolla, ellei sitten kameran liikuttelua ole menty muuttamaan.