cbEnchanted - uudelleenkirjoitettu runtime
Re: cbEnchanted - uudelleenkirjoitettu runtime
cbE:n paintobjektia ei näköjään ole toteutettu mitenkään loistavasti. Hitaus johtuu kuvan kopioinnista joka maalauksen yhteydessä. Olisi fiksumpaa jotenkin vai linkata kuva objektille. Tuo vaatinee hieman korjausta.
Re: cbEnchanted - uudelleenkirjoitettu runtime
Mistheman konstilla peli rullaa nyt sulavasti, mutta epäilen toista bugia. Objectsoverlap tuntuu rekisteröivän vain jos objektien keskikohdat törmää. Esimerkiksi jos ammun vihollista päähän, ammus menee läpi.
Code: Select all
If ObjectsOverlap(ibullet\obj,izombie\obj) And izombie\hp>0
izombie\hp-ibullet\dmg
ibullet\hp=0
izombie\sway=2+(ibullet\dmg*izombie\face)/2
endif
Sumu Games: Sam, Ur eye!
Re: cbEnchanted - uudelleenkirjoitettu runtime
ObjectsOverlapissa ei ole ainakaan pikselintarkkaa törmäystä vielä toteutettu, käsittääkseni - saattaa liittyä vajaaseen toteutukseen. Törmäilyissä muutenkin tuntuu olevan jotain hämminkiä joskus.KillBurn wrote:Mistheman konstilla peli rullaa nyt sulavasti, mutta epäilen toista bugia. Objectsoverlap tuntuu rekisteröivän vain jos objektien keskikohdat törmää. Esimerkiksi jos ammun vihollista päähän, ammus menee läpi.
Code: Select all
If ObjectsOverlap(ibullet\obj,izombie\obj) And izombie\hp>0 izombie\hp-ibullet\dmg ibullet\hp=0 izombie\sway=2+(ibullet\dmg*izombie\face)/2 endif
-
- Devoted Member
- Posts: 718
- Joined: Wed Nov 03, 2010 7:56 pm
- Location: Joku piste pohjoisessa.
Re: cbEnchanted - uudelleenkirjoitettu runtime
Mistä johtuu, että laittaessani moodin windowediksi ikkuna ilmestyy vain alapalkkiin, mutta sitä klikatessa se ei tule esiin? Tulee myös virhe:
Cannot center the window - could not get monitor info
Cannot center the window - could not get monitor info
<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...
<Ize> Vois keksiä jonkin nasahtavan sanonnan..
<Ize> Siitä tulis upea legenda ja kaikki vaihtaisivat allekirjoituksensa siihen.
<Ize> Ehkä ei kuitenkaa...
Versio 0.4.1 julkaistu!
Versio 0.4.1 julkaistu!
Pitkästä aikaa julkaisemme uutta versiota. Vähän pääsi projekti jäähtymään toisten projektien ja muiden kiireiden takia. Lähinnä pieniä korjauksia tällä kertaa, mutta jos tälläisen rennon avauksen jälkeen pääsemme takaisin tasaiseen julkaisutahtiin.
Lataa alta itsellesi sopivin paketti: cbEnchantedin Windows-versio vaatii, että Microsoft Visual C++ 2010 Redistributable Package (x86) on asennettuna koneella.
Windows-paketti sisältää tavallisen ja debug-version cbEnchantedista sekä kääntäjänä että pelkkänä testausversiona:
CBCompiler.exe tiedostot ovat muokattuja versioita Coolbasicin omasta vastaavasta ohjelmasta, joissa on korvattu wanhan CB:n runtimet cbEnchantedilla. Kun vaihdat tämän CoolBasicin asennuskansiosta löytyvän IDE\CBCompiler.exe tiedoston paikalle, saat heti käännettyä cbEnchanted-ohjelmia.
Lukekaa cbEnchantedin GitHub-wikiä, josta löytyy yleistä tietoa projektista. Katsokaa etenkin sivu Erikoisuuksia ja eroavaisuuksia. Wikiin on tarkennettu ongelmaa kuvien piirtojen kanssa ja kerrottu miten niiltä selvitään. Alla kuitenkin lainaus teille laiskoille, jotka ette jaksa wikiä lukaista.
Pitkästä aikaa julkaisemme uutta versiota. Vähän pääsi projekti jäähtymään toisten projektien ja muiden kiireiden takia. Lähinnä pieniä korjauksia tällä kertaa, mutta jos tälläisen rennon avauksen jälkeen pääsemme takaisin tasaiseen julkaisutahtiin.
Lataa alta itsellesi sopivin paketti: cbEnchantedin Windows-versio vaatii, että Microsoft Visual C++ 2010 Redistributable Package (x86) on asennettuna koneella.
Windows-paketti sisältää tavallisen ja debug-version cbEnchantedista sekä kääntäjänä että pelkkänä testausversiona:
- release kansiossa on julkaisuversiot, joissa on vähemmän tarkastuksia (= toivottavasti hieman nopeampi), mutta kaatumisesta ei välttämättä tule selkeää virheimoitusta.
- debug kansiossa on debug-versiot, joissa on taulukoiden ylikirjoitus ja -luku tarkistus(toimii oikein vain yksi ulotteisilla taulukoilla) ja kaikki cbEnchantedin ilmoitukset tulostuvat komentoriville.
CBCompiler.exe tiedostot ovat muokattuja versioita Coolbasicin omasta vastaavasta ohjelmasta, joissa on korvattu wanhan CB:n runtimet cbEnchantedilla. Kun vaihdat tämän CoolBasicin asennuskansiosta löytyvän IDE\CBCompiler.exe tiedoston paikalle, saat heti käännettyä cbEnchanted-ohjelmia.
Lukekaa cbEnchantedin GitHub-wikiä, josta löytyy yleistä tietoa projektista. Katsokaa etenkin sivu Erikoisuuksia ja eroavaisuuksia. Wikiin on tarkennettu ongelmaa kuvien piirtojen kanssa ja kerrottu miten niiltä selvitään. Alla kuitenkin lainaus teille laiskoille, jotka ette jaksa wikiä lukaista.
Muutokset edelliseen versioon:HUOM! Objektien piirto sekä kuvien maailmankoordinaatteihin piirto luultavasti bugaavat, kun piirtokoordinaatit ovat kahden pikselin välissä. Ongelmalta välttyy kun tekee alunperin kuvia, joissa on vähintään yhden pikselin täysin läpinäkyvä reunus. Aiheesta on tehty bugiraportti #119 mutta sitä on todella hankala korjata. Siksi suosittelemme, että teet kaikki maailmankoordinaattehin piirrettäväksi tarkoitetut kuvasi sellaisiksi että niissä on vähintään yhden pikselin täysin läpinäkyvä reunus välttyäksesi tältä bugilta. Animoidussa kuvissa lisäät tietenkin yhden pikselin reunuksen jokaiseen kuvasarjan osaan. Törmäykset voit sitten asettaa ObjectRange komennolla takaisin pikselintarkaksi laittamalla törmäysalueen leveyden ja korkeuden kahta pikseliä pienemmäksi kuin mitä ObjectSizeX() ja ObjectSizeY() palauttavat.
- Bugfix: Muistivuoto Selectiä käytettäessä
- Bugfix: Viivat piirtyivät pikselin sivuun kun Smooth2D ei ollut päällä
- Muutos: cbEnchanted käyttää nyt Allegrosta versiota 5.0.9 (aikaisemmin oli käytössä 5.0.7)
- Muutos: Windowsilla debug-versiot on nyt myöskin käännetty release c-runtimellä jolloin kaikkien pitäisi pystyä suorittamaan niitä ilman ongelmia puuttuvista dllistä.
- Lisäys: Viestilaatikko: cbeMessageBox
Tämän julkaisun tunnetut bugit
Re: Versio 0.4.1 julkaistu!
Et sitte puskenu tägiä tästä julkasusta?
Re: cbEnchanted - uudelleenkirjoitettu runtime
Hienoa kun kehitystä tulee, mutta tämä versio ei suostu toimimaan. Kun yritän käynnistää Coolbasicikin ohjelma kaatuu heti.
Nykyisellä versiolla olen myös törmännyt outoon grafiikka bugiin objektien alphakanavien kanssa, ne täyttyy erinäisistä objektien paloista. Bugi voi liittyä mirrorobjectin käyttöön.
Nykyisellä versiolla olen myös törmännyt outoon grafiikka bugiin objektien alphakanavien kanssa, ne täyttyy erinäisistä objektien paloista. Bugi voi liittyä mirrorobjectin käyttöön.
Sumu Games: Sam, Ur eye!
Re: cbEnchanted - uudelleenkirjoitettu runtime
Joo, tuo grafiikkabugi on myös Cavernsissa, ja siinäkin käytetään mirrorobjectia, samalla myös animointia. (Edellisellä sivulla niitä joitakin bugeja.)KillBurn wrote:Hienoa kun kehitystä tulee, mutta tämä versio ei suostu toimimaan. Kun yritän käynnistää Coolbasicikin ohjelma kaatuu heti.
Nykyisellä versiolla olen myös törmännyt outoon grafiikka bugiin objektien alphakanavien kanssa, ne täyttyy erinäisistä objektien paloista. Bugi voi liittyä mirrorobjectin käyttöön.
Tätä versiota en ole vielä kokeillut.
Valmiit pelit: House of Horrors , Battle Zone , Über Ball , Itdoti , Space Chaos , Bloxxplosives ☺
Projekti jota teen ehkä joskus vielä: viewtopic.php?f=11&t=2636 <-- Tämä rivi päivitetty 14.1.2013
Projekti jota teen ehkä joskus vielä: viewtopic.php?f=11&t=2636 <-- Tämä rivi päivitetty 14.1.2013
- Konstaduck
- Advanced Member
- Posts: 267
- Joined: Sat Dec 17, 2011 3:09 pm
- Location: Nurmijärvi, Finland
- Contact:
Re: cbEnchanted - uudelleenkirjoitettu runtime
Minulla sama ongelma, paitsi että kun käynnistää, Wintoosa heittää errorin että "Ohjelma cbCompiler.exe on jouduttu sulkemaan", tai jotain vastaavaa. Sen jälkeen painan virheilmoituksen pois. No sitten tulee kyllä editori esille, mutta kun kirjoitan koodia, suntaksivärjäys ei toimi ja jos yritän suorittaa koodin, ei tapahdu mitään.KillBurn wrote:Hienoa kun kehitystä tulee, mutta tämä versio ei suostu toimimaan. Kun yritän käynnistää Coolbasicikin ohjelma kaatuu heti.
Re: cbEnchanted - uudelleenkirjoitettu runtime
Hetkinen... Mitäs hemmettiä. Tuo CBCompiler versio ei nyt kyllä ole oikein. Pahoittelen. Kusin nyt kyllä sen kanssa x(
Unohdin laittaa sen CBCompilerin siihen eteen ja laitoin vaan pelkän runtimen. Odottakaas hetkinen niin päivitän tuon.
Unohdin laittaa sen CBCompilerin siihen eteen ja laitoin vaan pelkän runtimen. Odottakaas hetkinen niin päivitän tuon.
EDIT:
Pahoittelen vielä kerran kämmiäni. Nyt on paketti korjattu. Tuossa versiossa pitäisi nyt debug version taulukoiden yliluvun/kirjoituksen tarkistus toimia oikein myös moniulotteisilla taulukoilla.
Re: cbEnchanted - uudelleenkirjoitettu runtime
MouseMoveZ() ei toimi kunnolla. Välillä se palauttaa rullan liikkeen ylöspäin oikein, välillä ei, ja alaspäin ei tunnu palauttavan ollenkaan.
Re: cbEnchanted - uudelleenkirjoitettu runtime
Tuli mieleen tässä kun viime demokilpailun aikaan oli puhetta kokoruututilassa ohjelman hidastumisesta, että voisiko ikkuna ilman rajoja olla ratkaisu ongelmaan? Eli siis ALLEGRO_FULLSCREEN_WINDOW, jos oikein ymmärsin.
Re: cbEnchanted - uudelleenkirjoitettu runtime
Ohjelmani simuloi RuneQuest-taistelua ja tallentaa siitä logia tekstitiedostoon, ohjelma jäätyy kun login tiedostokoko on 30kt paikkeilla ja tiedoston avaaminen paljastaa, että jäätyminen ilmeisesti tapahtuu kesken WriteLinen, koska viimeinen rivi jää yleensä kesken. Voiko OpenToWritellä avatun tiedoston sulkematta jättäminen pitemmän päälle aiheuttaa ohjelman jäätymistä, vai onko 30kt vain liian iso tiedosto pidettäväksi muistissa cbEnchantedille (koneessa muistia 6Gt, että siitä ei kyllä pitäisi olla kiinni)?
Re: cbEnchanted - uudelleenkirjoitettu runtime
Aika outoa. Itse en pikaisten testien perusteella törmännyt vastaavaan jäätymiseen vaikka kirjoitin reilusti yli megatavun verran rivejä WriteLinellä. Onko mahollista, että vika olisi jossain muualla? Voitko lähettää jonkin esimerkkikoodin, jossa ongelma ilmenee?
Re: cbEnchanted - uudelleenkirjoitettu runtime
Se ei vaikuttaisikaan johtuvan tiedoston koosta, vaan jostain muusta syystä ohjelma aina jäätyy. Esimerkiksi nyt seuraavalla koodilla:
tulee seuraavanlainen tiedosto:
Joo, onhan se miljardin rivin kirjoittaminen aika hidasta, mutta 3000 riviä kirjoittaa kuitenkin silmänräpäyksessä ja tämän kanssa saa odottaa vaikka kuinka kauan, eikä se saa enempää kuin tuon muutaman tuhatta riviä kirjoitettua.
Code: Select all
Type joukko1
Field paa
Field vatsa
Field rinta
Field okasi
Field vkasi
Field ojalka
Field vjalka
Field kesto
Field ase1
Field ase2
Field ase3
Field ase4
EndType
Type joukko2
Field paa
Field vatsa
Field rinta
Field okasi
Field vkasi
Field ojalka
Field vjalka
Field kesto
Field ase1
Field ase2
Field ase3
Field ase4
EndType
For i = 1 To 10000
ujoukko1.joukko1 = New (joukko1)
Next i
For i = 1 To 10000
ujoukko2.joukko2 = New (joukko2)
Next i
logi = OpenToWrite ("asd.txt")
For iskuhetki = 1 To 100000
WriteLine logi, "Iskuhetki "+iskuhetki
For ijoukko1.joukko1 = Each joukko1
If (ih11 = iskuhetki And pp11 > 0) And (ijoukko1\ase1 = 0 Or ((ijoukko1\ase1 = 0 Or ijoukko1\ase1 = 2) And tyyppi11 = 3)) Then
EndIf
Next ijoukko1
Next iskuhetki
Code: Select all
Iskuhetki 1
Iskuhetki 2
Iskuhetki 3
Iskuhetki 4
Iskuhetki 5
Iskuhetki 6
Iskuhetki 7
*snip*
Iskuhetki 3140
Iskuhetki 3141
Isk
EDIT:
Itseasiassa jäätyminen ei edes liity millään tavalla WriteLineen tai tiedostoihin, koska se jäätyy ilman niitäkin. Se vain syystä X jäätyy useimmiten siten, että WriteLineltä jää rivi kesken.
EDIT:
Ongelma ei johdu myöskään cbEnchantedista, tulee myös tavallisella CB:llä.
Last edited by Awaclus on Sat Jun 22, 2013 3:03 am, edited 1 time in total.
-
- Devoted Member
- Posts: 718
- Joined: Wed Nov 03, 2010 7:56 pm
- Location: Joku piste pohjoisessa.
Re: cbEnchanted - uudelleenkirjoitettu runtime
Liittyisiköhän jotenkin bugiin, joka pätkii merkkijonoja Text-komennon kanssa? Itselläni mandelbrotin esimerkissä luki jotain "complete in 7.108 se" vaikka piti lukea "secs" lopussa.
<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...
<Ize> Vois keksiä jonkin nasahtavan sanonnan..
<Ize> Siitä tulis upea legenda ja kaikki vaihtaisivat allekirjoituksensa siihen.
<Ize> Ehkä ei kuitenkaa...
Re: cbEnchanted - uudelleenkirjoitettu runtime
Awaclus wrote:Se ei vaikuttaisikaan johtuvan tiedoston koosta, vaan jostain muusta syystä ohjelma aina jäätyy. Esimerkiksi nyt seuraavalla koodilla:
...
Itsellä sekä cbE että CB kirjoitti kaikki rivit. Tosin aika hitaasti, mutta kuitenkin alkuperäinen CB oli nopeampi. Luulen, että jokin ongelma siinä on, mutta varmaan konekohtaista jäätyykö se vai ei.
Re: cbEnchanted - uudelleenkirjoitettu runtime
Pystynks mä ohjelmoimaa coolbasiccia linuxissa tän avulla? Jos pystyn ni miten se toimis? Käytän Geanya ja käännän tällä? Jätkät on pro. 

Re: cbEnchanted - uudelleenkirjoitettu runtime
Löysin bugin muistipalojen koon muuttamisessa. Jos muistipalan koon kasvattaa ResizeMemBlock:lla tarpeeksi suureksi (taitaa olla yli 256 tavua) sen sisältö katoaa. Seuraava koodi ilmentää ongelmaa:
Tulostus on minulla esimerkiksi seuraava:
Code: Select all
SCREEN 1024, 768
mem = MakeMEMBlock(4)
For i = 0 To 100
PokeInt mem, i * 4, Rand(0, 65535)
ResizeMEMBlock mem, MEMBlockSize(mem) + 4
If i Mod 5 = 0 Then AddText i + ": " + PeekInt(mem, 0)
Next i
DrawScreen
WaitKey
Code: Select all
0: 1243
5: 1243
10: 1243
15: 1243
20: 1243
25: 1243
30: 1243
35: 1243
40: 1243
45: 1243
50: 1243
55: 1243
60: 1243
65: 0
70: 0
75: 0
80: 0
85: 0
90: 0
95: 0
100: 0
Projektit:
Jotain pientä (Ehkä vähän suurempaakin)
-Tuxi- (myös Tuxi4321)
Jotain pientä (Ehkä vähän suurempaakin)
-Tuxi- (myös Tuxi4321)