cbEnchanted - uudelleenkirjoitettu runtime

Jaa meneillään olevat projektisi tai valmiit pelit muun yhteisön kanssa täällä.
Post Reply
koodaaja
Moderator
Moderator
Posts: 1583
Joined: Mon Aug 27, 2007 11:24 pm
Location: Otaniemi - Mikkeli -pendelöinti

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by koodaaja »

Voit myös kokeilla myös tehdä fps-riippumattomuuden ns. oikein, eli pelkästään vakiokokoisia askelia mutta vaihteleva määrä framessa:

Code: Select all

FrameLimit n // kokeile vaikka 100 ja 5, huomaat eron

x# = 200
t = Timer()
Repeat
    While t<Timer()
        xv# = xv - x*.0001
        If x<0 Then xv = -xv
        x = x + xv
        t = t + 10
    Wend
    CenterText 200, 250-x,"Minä pompin samaa tahtia joka FPS:llä!"
    DrawScreen
Forever
Joskin sikäli kuin kone ei jaksa pyörittää ohjelmaa tarpeeksi nopeasti, koko homma alkaa jökkiä. Asiaa auttaa grafiikan interpolointi edellisen ja nykyisen framen välillä sekä joku pakenemisehto simulaatiolooppiin. Tämä on silti lähes aina parempi ratkaisu kuin liian isoista tai pienistä delta-arvoista huolehtiminen.
User avatar
axu
Devoted Member
Posts: 854
Joined: Tue Sep 18, 2007 6:50 pm

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by axu »

koodaaja wrote:Voit myös kokeilla myös tehdä fps-riippumattomuuden ns. oikein, eli pelkästään vakiokokoisia askelia mutta vaihteleva määrä framessa:

Joskin sikäli kuin kone ei jaksa pyörittää ohjelmaa tarpeeksi nopeasti, koko homma alkaa jökkiä. Asiaa auttaa grafiikan interpolointi edellisen ja nykyisen framen välillä sekä joku pakenemisehto simulaatiolooppiin. Tämä on silti lähes aina parempi ratkaisu kuin liian isoista tai pienistä delta-arvoista huolehtiminen.
Hyvä kun toit asian esille, en muistanutkaan moista tapaa, ehkä sen takia koska originaalin CB:n kanssa tämä "oikea" tapa vaan ei yleensä toimi, koska pelimoottorin pyörittäminen tyypillisesti vie yhtä paljon aikaa kuin grafiikan piirto.

CbE:n kanssahan tuo on ihanteellinen tapa. Yksinkertaistaa koodia eikä eroa FPS-riippuvaan systeemiin ole juurikaan (helposti lähestyttävä). Lisäksi etuna on myös tapahtumien toistettavuus tarkasti (en nyt muista oikeaa termiä), eli mahdollistaa mm. replayn tekemisen tallentamalla pelkät näppäinpainallukset.
Jos tämä viesti on kirjoitettu alle 5 min. sitten, päivitä sivu. Se on saattanut jo muuttua :roll:
Image
User avatar
valscion
Moderator
Moderator
Posts: 1599
Joined: Thu Dec 06, 2007 7:46 pm
Location: Espoo
Contact:

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by valscion »

axu wrote:Lisää bugeja: animoidut objektit eivät tunnu toimivan, jos animaatio on jaettu usealle riville. Ensimmäisen rivin framet näkyvät oikein, mutta seuraaville riveille Y-sijainti heittää (esim. ukon pää on kuvan alareunassa ja ylemmän rivin jalat näkyvät sen päällä). Animoidut kuvat sekä yksiriviset animaatiot toimivat normaalisti.
Voisitkos muuten heittää testikoodia testimedian kanssa? En nimittäin täysin ymmärtänyt bugiraporttiasi. Tietääkseni CB:ssä ei voi ladata animoituja objekteja sellaisesta kuvatiedostosta, jossa eri framet olisivat eri riveillä.
cbEnchanted, uudelleenkirjoitettu runtime. Uusin versio: 0.4.1 — Nyt myös sorsat GitHubissa!
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
User avatar
axu
Devoted Member
Posts: 854
Joined: Tue Sep 18, 2007 6:50 pm

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by axu »

VesQ wrote:Voisitkos muuten heittää testikoodia testimedian kanssa? En nimittäin täysin ymmärtänyt bugiraporttiasi. Tietääkseni CB:ssä ei voi ladata animoituja objekteja sellaisesta kuvatiedostosta, jossa eri framet olisivat eri riveillä.
Kyllä CB tukee monirivisiä animaatioita. Tosin ei siitä näytä olevan "virallista" mainintaa. Bugi ei näytä olevan sittenkään niin yksinkertainen kuin luulin. Ongelma näyttääkin tulevan, jos kuvan korkeus ei ole kahden potenssi. Muutin kuvan korkeuden sopivaksi, niin puolet animaatiosta näkyi oikein. Loppuosa oli suurimmaksi osaksi tyhjää. Seuraava koodi lataa molemmat animaatiot ja näyttää ne yhtä aikaa. Vasemmalla kuvalla on animaation lopussa ylimääräinen rivi, joka aiheuttaa väärän ensimmäisen bugin. Oikealla näkyy jälkimmäinen bugi.

Code: Select all

FrameLimit 60
Player1 = LoadAnimObject("Dude.png", 16, 16, 0, 32)
Player2 = LoadAnimObject("Dude2.png", 16, 16, 0, 32)
PositionObject Player1, -50, 0
PositionObject Player2, 50, 0
Repeat
	PlayObject Player1, 0, 31, 0.05
	PlayObject Player2, 0, 31, 0.05
	DrawScreen
Forever
Vaikuttaa siltä, että jonkinkokoiset animaatiot toimivat ihan hyvin (kokeilin neljän framen animaatiota jaettuna kahdelle riville), mutta ainakin nämä bugasivat.
Animaatiot.rar
Animaatiot.
(3.66 KiB) Downloaded 484 times
EDIT:

Tämä on nyt hyvin pieni, mutta mahdollisesti joitakuita haittaava eriävyys originaalista cb:stä (miten tuon nyt lyhentäis, cbO?): objektien pyöritysarvoja ei oteta mitenkään huomioon. Siinä mielessähän tämä ei haittaa kun objektit kuitenkin pyöritellään reaaliajassa, mutta joissain tapauksissa halutaan rajoittaa näkyvät kulmat tiettyihin, esim. 90 tai 45 asteen välein tai kokonaan ilman pyöritystä. Esim. jos haluaa, että objektin liikkumiskulmaa voidaan hallita, mutta se ei vaikuta näytettävään grafiikkaan (vaikkapa sivulta kuvattu UFO tjsp.; myös SkiDownissa jetien liikkuminen on toteutettu yksinkertaisella PointObject+MoveObject-yhdistelmällä). Helpostihan tuon korvaa vaikkapa ObjectFloatilla ja TranslateObjectilla, mutta voisi tuon lisätä tuohon "erikoisuuksia"-listaan jos tätä ei aiota muuttaa. Voisi vaikka olla oletusarvona vapaa pyöritys ja erikseen voi käskeä pyöritysarvoksi 1.

Toinen eroavaisuus: SCREEN ei tuhoa ladattua mediaa. Tätä ei sinänsä tarvitse muuttaa, koska se on selvä rajoite (joskin voisi olla komento kuvien tuhoamiseen, ClearImages). Tämäkin kannattaa lisätä listaan, ettei tarvitse ihmetellä, jos vanha koodi luottaa SCREENin tuhoamiskykyyn.

Kaatuuko muilla, jos käskee Smooth2D:n päälle? Smooth2D kaatuu, kun kutsutaan kahdesti SCREENiä (ikkunan venyttelyä varten) kaikkialla muualla paitsi SCREENin ja objektien lataamisen välissä.

Ja sitten pieni ehdotus, miten olis käsin kirjoitettavat blendausmoodit, eli voisi itse kirjoittaa, mitä tehdään lähde- ja kohdepikseleitten kanssa. En tiedä tukeeko Allegro milläänlailla moista, mutta olisi hyötyä mitä erikoisimpien efektejen koodailuun (ja tietty siihen kaikenkattavaan piirto/kuvankäsittelyohjelmaan jota olen suunnitellut viimeiset 5 vuotta :D ).

Lattiaobjektit eivät toimi alkuunkaan (en lähde erittelemään kaikkia ongelmia). Lattiaobjekteja maalatessa cbE vaatii, että kuvan eteen tulee se miinusmerkki, vaikka cbO:ssa sitä ei saa käyttää. MoveCamera toimii myös väärin. Nämä kaikki viat löytyvät manuaalin MakeObjectFloorin esimerkistä.

Jos tämä viesti on kirjoitettu alle 5 min. sitten, päivitä sivu. Se on saattanut jo muuttua :roll:
Image
User avatar
valscion
Moderator
Moderator
Posts: 1599
Joined: Thu Dec 06, 2007 7:46 pm
Location: Espoo
Contact:

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by valscion »

Uusi versio julkaistu
Versiotunnus: abc6d

Lataa alta itsellesi sopivin paketti: Paketeista unohtui pois README.txt -tiedosto. Katsottavissa tämän linkin takaa.
cbEnchantedin Windows-versio vaatii, että Microsoft Visual C++ 2010 Redistributable Package (x86) on asennettuna koneella.

Muutokset edelliseen versioon:
  • ConvertToType ja ConvertToInteger toimivat kaikilla alustoilla. Toteutus on muutettu osoittimien kanssa kikkailusta suoraan taulukkomaiseen käsittelyyn, jossa konvertoidut tyyppi-instanssit saavat ID:n ykkösestä eteenpäin.
  • getRGB toimii oikein ja palauttaa myös alphakanavan väriarvon, kun sille annetaan parametriksi 4.
  • Smooth2D pakottaa multisamplauksen (anti-aliasing) päälle. Jos käyttäjän näyttökortti ei tue multisamplausta, ohjelman tulisi kaatua.
  • Tiedostojärjestelmäfunktiot ja -komennot käyttävät nyt Allegron ominaisuuksia, eivätkä Boostin vastaavia. Näin meidän ei tarvitse enää linkittää boostin käännettyjä kirjastoja exeen.
  • Tiedostojärjestelmäfunktiot ja -komennot kertovat nyt virheet paremmin
Tämän julkaisun tunnetut bugit
Last edited by valscion on Sun Jun 03, 2012 2:46 pm, edited 6 times in total.
cbEnchanted, uudelleenkirjoitettu runtime. Uusin versio: 0.4.1 — Nyt myös sorsat GitHubissa!
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
User avatar
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by esa94 »

VesQ wrote:
  • Tiedostojärjestelmäfunktiot ja -komennot käyttävät nyt Allegron ominaisuuksia, eivätkä Boostin vastaavia. Näin meidän ei tarvitse enää linkittää boostin käännettyjä kirjastoja exeen.
Eihän sitä tarvitse muutenkaan tehdä kuin Windowsilla jos ei kovin pahasti asioita ryssi.
User avatar
axu
Devoted Member
Posts: 854
Joined: Tue Sep 18, 2007 6:50 pm

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by axu »

BoxOverLap näyttäisi toimivan niin, että suorakulmioille annetaan laatikon ylävasemman koordinaatin sijasta keskipiste.

Sitten toivelistalle: mahdollisuus piilottaa joko komentorivi tai peliruutu. Tietenkin myös Input sekä GetKey (tai Waitkey) toimimaan konsolissa (joskin ensin voisivat toimia tuossa peli-ikkunassa). :)
Ja sellainen ehdotus, että voisi noihin julkaisuviesteihin lisätä linkin niihin tekemätöntä ja ehdotuksia listoihin githubissa. Sen etsiminen parin sivun takaa käy kokoajan hankalammaksi :D
Jos tämä viesti on kirjoitettu alle 5 min. sitten, päivitä sivu. Se on saattanut jo muuttua :roll:
Image
User avatar
valscion
Moderator
Moderator
Posts: 1599
Joined: Thu Dec 06, 2007 7:46 pm
Location: Espoo
Contact:

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by valscion »

Kirjoittelinpa vähän tarkemmin GitHubiin suomeksi näistä tarpeellisista tiedoista, kts. toteuttamattomat ominaisuudet sekä erikoisuuksia ja eroavaisuuksia. Pidän/pidämme kirjaa tästä lähtien bugiraporteista GitHubin bugitrackerin avulla, mutta bugiraportteja on edelleen suotavaa kirjoittaa tänne foorumeille, sillä kaikki eivät välttämättä eksy GitHubin ihmeelliseen maailmaan. Linkitän tulevien julkaisujen yhteydessä jokaiseen GitHubissa olevaan bugiraporttiin.
axu wrote:Tämä on nyt hyvin pieni, mutta mahdollisesti joitakuita haittaava eriävyys originaalista cb:stä (miten tuon nyt lyhentäis, cbO?): objektien pyöritysarvoja ei oteta mitenkään huomioon. Siinä mielessähän tämä ei haittaa kun objektit kuitenkin pyöritellään reaaliajassa, mutta joissain tapauksissa halutaan rajoittaa näkyvät kulmat tiettyihin, esim. 90 tai 45 asteen välein tai kokonaan ilman pyöritystä. Esim. jos haluaa, että objektin liikkumiskulmaa voidaan hallita, mutta se ei vaikuta näytettävään grafiikkaan (vaikkapa sivulta kuvattu UFO tjsp.; myös SkiDownissa jetien liikkuminen on toteutettu yksinkertaisella PointObject+MoveObject-yhdistelmällä). Helpostihan tuon korvaa vaikkapa ObjectFloatilla ja TranslateObjectilla, mutta voisi tuon lisätä tuohon "erikoisuuksia"-listaan jos tätä ei aiota muuttaa. Voisi vaikka olla oletusarvona vapaa pyöritys ja erikseen voi käskeä pyöritysarvoksi 1.
Löytyy edellä mainitulta wikisivulta. Pistetään tuo pyöritysarvon käsin määrittely mietinnän alle.
axu wrote:Toinen eroavaisuus: SCREEN ei tuhoa ladattua mediaa. Tätä ei sinänsä tarvitse muuttaa, koska se on selvä rajoite (joskin voisi olla komento kuvien tuhoamiseen, ClearImages). Tämäkin kannattaa lisätä listaan, ettei tarvitse ihmetellä, jos vanha koodi luottaa SCREENin tuhoamiskykyyn.
Löytyy myöskin nyt edellä mainitulta wikisivulta.
axu wrote:Kaatuuko muilla, jos käskee Smooth2D:n päälle? Smooth2D kaatuu, kun kutsutaan kahdesti SCREENiä (ikkunan venyttelyä varten) kaikkialla muualla paitsi SCREENin ja objektien lataamisen välissä.
Bugiraportti tehty. Kiitos ilmoituksesta.
axu wrote:Ja sitten pieni ehdotus, miten olis käsin kirjoitettavat blendausmoodit, eli voisi itse kirjoittaa, mitä tehdään lähde- ja kohdepikseleitten kanssa. En tiedä tukeeko Allegro milläänlailla moista, mutta olisi hyötyä mitä erikoisimpien efektejen koodailuun (ja tietty siihen kaikenkattavaan piirto/kuvankäsittelyohjelmaan jota olen suunnitellut viimeiset 5 vuotta :D ).
En tiedä mitä tarkoitat käsin kirjoitettavilla blendausmoodeilla. Allegro tukee bitmappien piirtoa tietyllä värillä sävytettynä ja sellainen funktio on jo tulossa.
axu wrote:Lattiaobjektit eivät toimi alkuunkaan (en lähde erittelemään kaikkia ongelmia). Lattiaobjekteja maalatessa cbE vaatii, että kuvan eteen tulee se miinusmerkki, vaikka cbO:ssa sitä ei saa käyttää.
Jep, tämä on tiedetty mutta tainnut vähän unohtua. Tein bugiraportin.
axu wrote:MoveCamera toimii myös väärin.
Jep, tämäkin on vanha ongelma joka kerkesi jo unohtua. Eipäs unohdu enää.
EDIT:

HUOM! Blendausmoodit eivät toimi primitiivien piirtojen kanssa, vaan pelkästään kuvan piirroissa. Tein erikoisfunktiosta pyynnön GitHubiin, jossa käytettäisiin al_put_blended_pixel-funktiota. Eli päästäisiin tekemään PutPixeliä blendausmoodit päällä.

axu wrote:BoxOverLap näyttäisi toimivan niin, että suorakulmioille annetaan laatikon ylävasemman koordinaatin sijasta keskipiste.
Tämäkin on nyt laitettu GitHubin puolelle myös.
esa94 wrote:Eihän sitä tarvitse muutenkaan tehdä kuin Windowsilla jos ei kovin pahasti asioita ryssi.
Jepjep ei me nyt niin idiootteja olla että Linuxin puolella linkitettäis staattisesti. Veikkaanpa että suuri osa cbE:n käyttäjistä käyttää kuitenkin Windows-versiota.[/edit]
Last edited by valscion on Wed May 30, 2012 12:48 pm, edited 1 time in total.
cbEnchanted, uudelleenkirjoitettu runtime. Uusin versio: 0.4.1 — Nyt myös sorsat GitHubissa!
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
User avatar
axu
Devoted Member
Posts: 854
Joined: Tue Sep 18, 2007 6:50 pm

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by axu »

VesQ wrote:En tiedä mitä tarkoitat käsin kirjoitettavilla blendausmoodeilla. Allegro tukee bitmappien piirtoa tietyllä värillä sävytettynä ja sellainen funktio on jo tulossa.
Kiitos näistä. Pistänpä vastaisuudessa bugit tuonne bugitrackeriin. Tarkoitin omilla blendausmoodeilla periaatteessa omaa funktiota, joka ottaa vastaan lähdepikselin ja kohdepikselin värin ja palauttaa halutun tuloksen. Esimerkiksi, jos haluan vaikkapa aina kirkkaamman pikselin piirtyvän (kuvankäsittelyohjelmissa tätä blendausmoodia kutsutaan yleensä nimellä lighten) kirjoittaisin funktion (en vielä keksinyt, miten tuo lopullinen väri tulisi palauttaa, mutta idea varmaan tulee selville):

Code: Select all

Function Blend_Lighten(sr, sg, sb, dr, dg, db)
    dr = Max(sr, dr)
    dg = Max(sg, dg)
    db = Max(sb, db)
End Function

cbeSetCustomBlendMode(Blend_Lighten)
Tämä nyt on tosiaan melko tarpeeton funktio normaalikäytössä ja suhteellisen helppo kirjoittaa itse oma funktio erilailla blendatun pikselin piirtämiseen, mutta kunhan heittelen ideoita :)
Jos tämä viesti on kirjoitettu alle 5 min. sitten, päivitä sivu. Se on saattanut jo muuttua :roll:
Image
User avatar
valscion
Moderator
Moderator
Posts: 1599
Joined: Thu Dec 06, 2007 7:46 pm
Location: Espoo
Contact:

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by valscion »

axu wrote:Tarkoitin omilla blendausmoodeilla periaatteessa omaa funktiota, joka ottaa vastaan lähdepikselin ja kohdepikselin värin ja palauttaa halutun tuloksen. Esimerkiksi, jos haluan vaikkapa aina kirkkaamman pikselin piirtyvän (kuvankäsittelyohjelmissa tätä blendausmoodia kutsutaan yleensä nimellä lighten) kirjoittaisin funktion (en vielä keksinyt, miten tuo lopullinen väri tulisi palauttaa, mutta idea varmaan tulee selville):

Code: Select all

Function Blend_Lighten(sr, sg, sb, dr, dg, db)
    dr = Max(sr, dr)
    dg = Max(sg, dg)
    db = Max(sb, db)
End Function

cbeSetCustomBlendMode(Blend_Lighten)
Tämä nyt on tosiaan melko tarpeeton funktio normaalikäytössä ja suhteellisen helppo kirjoittaa itse oma funktio erilailla blendatun pikselin piirtämiseen, mutta kunhan heittelen ideoita :)
Juups, eli periaatteessa tarkoittaisit sellaista funktiota, jota kutsuttaisiin sisäisesti jokaisen pikselin kohdalla. Tuo toimisi, jos CB:ssä voisi funktioita antaa parametrina, mutta eipä onnistu.
cbEnchanted, uudelleenkirjoitettu runtime. Uusin versio: 0.4.1 — Nyt myös sorsat GitHubissa!
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
Pate5
Artist
Artist
Posts: 551
Joined: Tue Aug 28, 2007 4:53 pm
Location: Vantaa

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Pate5 »

Uusimmassa versiossa on bugi StartSearchin ja FindFilen kanssa. CbE:n edellisellä versiolla ajettu muokkaamaton koodi toimii eri tavalla tässä versiossa, ei löydä osaa tiedostoista.
CoolBasic henkilökuntaa
Graafikko
PTapioK
Newcomer
Posts: 18
Joined: Fri Aug 31, 2007 5:58 pm
Location: Nurmijärvi

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by PTapioK »

Pate5 wrote:Uusimmassa versiossa on bugi StartSearchin ja FindFilen kanssa. CbE:n edellisellä versiolla ajettu muokkaamaton koodi toimii eri tavalla tässä versiossa, ei löydä osaa tiedostoista.
Itselläni tuo toimii täysin samalla tavalla kuin CB:ssä(ainoa poikkeavuus on ääkkösten toimiminen) ja edellisellä versiolla. Joten olisiko testikoodia tai muuten tarkempaa tietoa, että mitä tiedostoja ei löydä.
Pate5
Artist
Artist
Posts: 551
Joined: Tue Aug 28, 2007 4:53 pm
Location: Vantaa

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Pate5 »

Tässä osa kirjoittamaani spritecombineria:

Code: Select all

Dim sprite(1000)
Smooth2D ON
Include "cbe.cb"

ChDir "C:\tmp"

StartSearch
Repeat
    
    file$=FindFile()
    If Right(Lower(file$),4)=".png" Then
        i=i+1
        sprite(i)=LoadImage("C:\tmp/"+file$)
        Print file$+" loaded"
    EndIf
    If file$="" Then Exit

Forever
EndSearch

Print "Loaded "+i+" images"
waitkey
Eli koodi etsii C:\Tmp -kansiosta kaikki .png -päätteiset kuvat ja lataa ne. Tuo koodipätkä löytää normaalilla CB:llä käännettynä kaikki kansiossa olevat 36 kuvaa, CbE:llä käännettynä jättää kaksi aakkosjärjestyksessä ensimmäistä kuvaa pois ja ilmoittaa ladattujen tiedostojen määräksi 34.
CoolBasic henkilökuntaa
Graafikko
PTapioK
Newcomer
Posts: 18
Joined: Fri Aug 31, 2007 5:58 pm
Location: Nurmijärvi

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by PTapioK »

Löysin bugin FindFilestä, jonka suhteellisten tiedostopolkujen etsimisessä oli vikaa. Bugi on nyt kuitenkin korjattu. Kiitos bugiraportista.
User avatar
KillBurn
Advanced Member
Posts: 339
Joined: Wed Aug 29, 2007 5:02 pm

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by KillBurn »

Oikein hienolta vaikuttaa. Nopeutta tuntuisi olevan moninverroin lisää ja viimein voi käyttää kuvissa niitä alpha-kanavia :D Mitenkäs äänikomennot? Virhettä tuntuuvat heittävän. Olikos missään mainintaa, että uusi CBCompiler heitetään IDE-kansioon.
EDIT:

Ohjelma yksinkertaisesti kaatuu, jos ääntä loopataan funktiona. Mp3 tiedostomuotoa ei varmaan tueta enää?

Last edited by KillBurn on Thu May 31, 2012 5:43 pm, edited 1 time in total.
Sumu Games: Sam, Ur eye!
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Latexi95 »

KillBurn wrote:Oikein hienolta vaikuttaa. Nopeutta tuntuisi olevan moninverroin lisää ja viimein voi käyttää kuvissa niitä alpha-kanavia :D Mitenkäs äänikomennot? Virhettä tuntuuvat heittävän. Olikos missään mainintaa, että uusi CBCompiler heitetään IDE-kansioon.
Äänikomentojen pitäisi toimia joskin niissä (niin kuin kaikessa muussakin) saattaa esiintyä bugeja. Minkälaista virhettä se heittää? Kai käytit vain tuettuja tiedostomuotoja? .wav, .flac, .ogg, .it, .mod, .s3m, .xm
CBCompilerin korvaamisesta mainitaan kyllä VesQ:n ensimmäisessä julkaisuviestissä.
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by skorpioni-cb »

Bugi bongattu, en voi laittaa ikkunaa kokoruutuun, tässä sorsat, jos oon vaikka vaan koodannut väärin, ei tartte valittaa mediasta, koska screen bugaa ensin:

Code: Select all

//Tehdään vihollisia
Type ENEMY
	Field obj //Objecti 
	Field hp //Elämäpisteet
EndType

//Plasma-ammukset, samaa tyyppiä käyttää vihut että pelaaja
Type AMMO
	Field obj //Objecti
	Field omistaja //Sinä tai vihu
EndType
FrameLimit 100

SCREEN 840,620,16,0 //sets screen so can scale
Smooth2D ON //sets drawing to go smooth
//Load stuff
back = LoadImage("Media\sunspirit.jpg")
player = LoadObject("Media\Player.png")
plasma = LoadObject("Media\plasma.png")
ShowObject plasma,OFF //Makes plasma to invisible, so you cant really use it
sparkle = LoadImage("Media\sparkle.png")
sparkleEmit = MakeEmitter(sparkle,10)//Laitetaan partikkeleita sinkoamaan aluksen perseestä kymmenesosasekunnissa
PositionObject player,-315,0 //Laittaa aluksen uuteen paokkaan
hp#=255
Repeat //Aloittaa pääloopin
	//Tarkistetaan oletko kuollut
	If hp=<0 Then
		Goto umad
	EndIf
	//Liikkuminen
	If UpKey()	Then MoveObject player,0,-5
	If DownKey() Then MoveObject player,0,5
	//Tausta
	DrawImage back,0,0
	CloneObjectPosition sparkleEmit,player
	MoveObject sparkleEmit,-34
	Color cbWhite
	ParticleMovement sparkleEmit,-5,0
	ParticleEmission sparkleEmit,5,5,Rand(0,90)
	Text 0,0,"FPS: "+FPS()
	Color 255-hp,255,0
	Box 50,0,hp/10,10
	hp=hp-1
	DrawScreen
Forever 

umad:
Cls
Color cbWhite
Repeat
	Text 0,0,"U MAD BRO?"
	ScreenGamma 255,0,0
	DrawScreen 
Forever
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.

I know not what I know, but I do know that it's not beautiful.
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Latexi95 »

skorpioni-cb wrote:Bugi bongattu, en voi laittaa ikkunaa kokoruutuun, tässä sorsat, jos oon vaikka vaan koodannut väärin, ei tartte valittaa mediasta, koska screen bugaa ensin:

Code: Select all

//Tehdään vihollisia
Type ENEMY
	Field obj //Objecti 
	Field hp //Elämäpisteet
EndType

//Plasma-ammukset, samaa tyyppiä käyttää vihut että pelaaja
Type AMMO
	Field obj //Objecti
	Field omistaja //Sinä tai vihu
EndType
FrameLimit 100

SCREEN 840,620,16,0 //sets screen so can scale
Smooth2D ON //sets drawing to go smooth
//Load stuff
back = LoadImage("Media\sunspirit.jpg")
player = LoadObject("Media\Player.png")
plasma = LoadObject("Media\plasma.png")
ShowObject plasma,OFF //Makes plasma to invisible, so you cant really use it
sparkle = LoadImage("Media\sparkle.png")
sparkleEmit = MakeEmitter(sparkle,10)//Laitetaan partikkeleita sinkoamaan aluksen perseestä kymmenesosasekunnissa
PositionObject player,-315,0 //Laittaa aluksen uuteen paokkaan
hp#=255
Repeat //Aloittaa pääloopin
	//Tarkistetaan oletko kuollut
	If hp=<0 Then
		Goto umad
	EndIf
	//Liikkuminen
	If UpKey()	Then MoveObject player,0,-5
	If DownKey() Then MoveObject player,0,5
	//Tausta
	DrawImage back,0,0
	CloneObjectPosition sparkleEmit,player
	MoveObject sparkleEmit,-34
	Color cbWhite
	ParticleMovement sparkleEmit,-5,0
	ParticleEmission sparkleEmit,5,5,Rand(0,90)
	Text 0,0,"FPS: "+FPS()
	Color 255-hp,255,0
	Box 50,0,hp/10,10
	hp=hp-1
	DrawScreen
Forever 

umad:
Cls
Color cbWhite
Repeat
	Text 0,0,"U MAD BRO?"
	ScreenGamma 255,0,0
	DrawScreen 
Forever
Aika harvinainen tuollainen 840x620 resoluutio. Oletko varma, että tuo resuluutio on tuettu fullscreenissä? Toimiiko se cb:llä? Miksi värisyvyys on 16? Sitä ei kyllä tosin edes huomioida cbE:llä, mutta kuitenkin... ;)
Minulla tuo kyllä ikkunan luonti onnistuu jos vain vaihdan resoluution 800x600:aan.
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by skorpioni-cb »

Latexi95 wrote:
skorpioni-cb wrote:Bugi bongattu, en voi laittaa ikkunaa kokoruutuun, tässä sorsat, jos oon vaikka vaan koodannut väärin, ei tartte valittaa mediasta, koska screen bugaa ensin:

Code: Select all

//Tehdään vihollisia
Type ENEMY
	Field obj //Objecti 
	Field hp //Elämäpisteet
EndType

//Plasma-ammukset, samaa tyyppiä käyttää vihut että pelaaja
Type AMMO
	Field obj //Objecti
	Field omistaja //Sinä tai vihu
EndType
FrameLimit 100

SCREEN 840,620,16,0 //sets screen so can scale
Smooth2D ON //sets drawing to go smooth
//Load stuff
back = LoadImage("Media\sunspirit.jpg")
player = LoadObject("Media\Player.png")
plasma = LoadObject("Media\plasma.png")
ShowObject plasma,OFF //Makes plasma to invisible, so you cant really use it
sparkle = LoadImage("Media\sparkle.png")
sparkleEmit = MakeEmitter(sparkle,10)//Laitetaan partikkeleita sinkoamaan aluksen perseestä kymmenesosasekunnissa
PositionObject player,-315,0 //Laittaa aluksen uuteen paokkaan
hp#=255
Repeat //Aloittaa pääloopin
	//Tarkistetaan oletko kuollut
	If hp=<0 Then
		Goto umad
	EndIf
	//Liikkuminen
	If UpKey()	Then MoveObject player,0,-5
	If DownKey() Then MoveObject player,0,5
	//Tausta
	DrawImage back,0,0
	CloneObjectPosition sparkleEmit,player
	MoveObject sparkleEmit,-34
	Color cbWhite
	ParticleMovement sparkleEmit,-5,0
	ParticleEmission sparkleEmit,5,5,Rand(0,90)
	Text 0,0,"FPS: "+FPS()
	Color 255-hp,255,0
	Box 50,0,hp/10,10
	hp=hp-1
	DrawScreen
Forever 

umad:
Cls
Color cbWhite
Repeat
	Text 0,0,"U MAD BRO?"
	ScreenGamma 255,0,0
	DrawScreen 
Forever
Aika harvinainen tuollainen 840x620 resoluutio. Oletko varma, että tuo resuluutio on tuettu fullscreenissä? Toimiiko se cb:llä? Miksi värisyvyys on 16? Sitä ei kyllä tosin edes huomioida cbE:llä, mutta kuitenkin... ;)
Minulla tuo kyllä ikkunan luonti onnistuu jos vain vaihdan resoluution 800x600:aan.
Ei toiminut, mulla tuli vain Fatal errorii
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.

I know not what I know, but I do know that it's not beautiful.
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Latexi95 »

skorpioni-cb wrote: Ei toiminut, mulla tuli vain Fatal errorii
Siis "Can't create default window."? No olisit heti sanonut. :lol:
Se johtuu siitä, että cbE ei saa luotua ensimmäistäkään ikkunaa ja se valitettavasti johtunee siitä, että koneesi näytönohjain ei tue kaikkia niitä ominaisuuksia mitä cbE vaatii toimiakseen. :(
Post Reply