Page 18 of 18

Re: cbEnchanted - uudelleenkirjoitettu runtime

Posted: Mon Feb 25, 2013 2:56 pm
by Latexi95
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

Posted: Tue Feb 26, 2013 12:06 pm
by KillBurn
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 

Re: cbEnchanted - uudelleenkirjoitettu runtime

Posted: Thu Feb 28, 2013 2:07 am
by esa94
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 
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.

Re: cbEnchanted - uudelleenkirjoitettu runtime

Posted: Fri Mar 01, 2013 10:11 pm
by naputtelija
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

Versio 0.4.1 julkaistu!

Posted: Sun Mar 24, 2013 8:36 pm
by Latexi95
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:
  1. release kansiossa on julkaisuversiot, joissa on vähemmän tarkastuksia (= toivottavasti hieman nopeampi), mutta kaatumisesta ei välttämättä tule selkeää virheimoitusta.
  2. debug kansiossa on debug-versiot, joissa on taulukoiden ylikirjoitus ja -luku tarkistus(toimii oikein vain yksi ulotteisilla taulukoilla) ja kaikki cbEnchantedin ilmoitukset tulostuvat komentoriville.
cbEnchanted.exe tiedostot ovat testausversioita joille voi antaa parametrinä tai pudottaa päälle CBCompilerilla käännetyn ohjelman.
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.
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.
Muutokset edelliseen versioon: —— Projektin lähdekoodit GitHubissa ——

Re: Versio 0.4.1 julkaistu!

Posted: Sun Mar 24, 2013 8:58 pm
by esa94
Et sitte puskenu tägiä tästä julkasusta?

Re: cbEnchanted - uudelleenkirjoitettu runtime

Posted: Sun Mar 24, 2013 9:40 pm
by KillBurn
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.

Re: cbEnchanted - uudelleenkirjoitettu runtime

Posted: Mon Mar 25, 2013 4:27 pm
by skinkken
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.
Joo, tuo grafiikkabugi on myös Cavernsissa, ja siinäkin käytetään mirrorobjectia, samalla myös animointia. (Edellisellä sivulla niitä joitakin bugeja.)

Tätä versiota en ole vielä kokeillut.

Re: cbEnchanted - uudelleenkirjoitettu runtime

Posted: Tue Mar 26, 2013 11:59 am
by Konstaduck
KillBurn wrote:Hienoa kun kehitystä tulee, mutta tämä versio ei suostu toimimaan. Kun yritän käynnistää Coolbasicikin ohjelma kaatuu heti.
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.

Re: cbEnchanted - uudelleenkirjoitettu runtime

Posted: Tue Mar 26, 2013 2:30 pm
by Latexi95
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.
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

Posted: Mon Apr 08, 2013 12:56 am
by Awaclus
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

Posted: Fri Jun 14, 2013 12:33 pm
by axu
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

Posted: Fri Jun 21, 2013 11:57 pm
by Awaclus
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

Posted: Sat Jun 22, 2013 12:33 am
by PTapioK
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

Posted: Sat Jun 22, 2013 1:23 am
by Awaclus
Se ei vaikuttaisikaan johtuvan tiedoston koosta, vaan jostain muusta syystä ohjelma aina jäätyy. Esimerkiksi nyt seuraavalla koodilla:

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
tulee seuraavanlainen tiedosto:

Code: Select all

Iskuhetki 1
Iskuhetki 2
Iskuhetki 3
Iskuhetki 4
Iskuhetki 5
Iskuhetki 6
Iskuhetki 7
*snip*
Iskuhetki 3140
Iskuhetki 3141
Isk
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.

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


Re: cbEnchanted - uudelleenkirjoitettu runtime

Posted: Sat Jun 22, 2013 2:37 am
by naputtelija
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.

Re: cbEnchanted - uudelleenkirjoitettu runtime

Posted: Sat Jun 22, 2013 12:41 pm
by PTapioK
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

Posted: Sat Jul 20, 2013 6:02 pm
by anon5868
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. :ugeek:

Re: cbEnchanted - uudelleenkirjoitettu runtime

Posted: Thu Jan 02, 2014 8:32 pm
by Tuxi
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:

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
Tulostus on minulla esimerkiksi seuraava:

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