cbEnchanted - uudelleenkirjoitettu runtime

Jaa meneillään olevat projektisi tai valmiit pelit muun yhteisön kanssa täällä.
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 »

Versio 0.3.2 julkaistu ja lähdekoodit julkaistu!

Lataa alta itsellesi sopivin paketti: cbEnchantedin Windows-versio vaatii, että Microsoft Visual C++ 2010 Redistributable Package (x86) on asennettuna koneella.
Windows-paketti sisältää kaksi eri 32-bittistä julkaisuversiota cbEnchantedista:
  1. testable kansiossa on exet, joiden avulla voit testata jo käännettyjä CB-exe tiedostoja. Käytä komentoriviä ja kutsu kyseistä exeä niin että ensimmäisenä parametrina on testattavan ohjelman exen tiedostopolku TAI tiputa testattava exe cbEnchantedin exe-tiedostoon. Tiedostopolussa ei saa olla välilyöntejä.
  2. compiler kansiossa on muokatut versiot CBCompiler.exe-tiedostosta, 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: Tämän julkaisun tunnetut bugit —— Projektin lähdekoodit GitHubissa ——
Last edited by valscion on Thu Aug 02, 2012 10:24 pm, edited 3 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
KillBurn
Advanced Member
Posts: 339
Joined: Wed Aug 29, 2007 5:02 pm

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by KillBurn »

Milloinkas tilekartat saatte valmiiksi? Esim nykyisellään tilekarttojen kanssa Positionobject ja cloneobjectposition eivät suostu asettamaan objektia kohdeobjektin kohdalle, vaan heittää sen parisataa pikseliä liian alas tai sivulle.
Sumu Games: Sam, Ur eye!
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 »

KillBurn wrote:Milloinkas tilekartat saatte valmiiksi? Esim nykyisellään tilekarttojen kanssa Positionobject ja cloneobjectposition eivät suostu asettamaan objektia kohdeobjektin kohdalle, vaan heittää sen parisataa pikseliä liian alas tai sivulle.
Tilekartat ovat valmiina. Emme me kaikkia bugeja voi tietää. Kiitos vain raportistasi, saataisiin bugi nopsammin korjattua jos sinulla sattuisi olemaan testikoodia jolla ongelma kävisi ilmi.

Muutenkin, kaikki ominaisuudet joita ei ole merkitty unimplemented-tagilla GitHubissa, ovat toteutettu. Jos bugeja löytyy niin niistä olisi tosiaan mukava kertoa eikä vain olettaa että me jotenkin maagisesti tietäisimme jo kaikki. :evil:
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
KillBurn
Advanced Member
Posts: 339
Joined: Wed Aug 29, 2007 5:02 pm

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by KillBurn »

Tutkin tuota tilekartta hommaa hieman ja selvisi, että bugi ilmaantuu jos objekti törmäisi heti tullessaan.

Code: Select all

FrameLimit 60
SCREEN 1024,768
Type enemys
    Field obj
EndType

map=LoadMap("media\cdm2.til","media\tileset.bmp")

man=LoadObject("media\guy.bmp")
door=LoadObject("media\car.bmp")

PositionObject door,-290,200' ei toimi
PositionObject door,-220,200' toimii

hp=300

Repeat


luo+1
If luo>100
        newenemy.enemys= New(enemys)
        newenemy\obj=CloneObject(man)
        SetupCollision newenemy\obj,map,1,4,2
        CloneObjectPosition newenemy\obj,door
        luo=0
EndIf 

DrawGame

DrawScreen

Forever 
Sumu Games: Sam, Ur eye!
User avatar
Konstaduck
Advanced Member
Posts: 267
Joined: Sat Dec 17, 2011 3:09 pm
Location: Nurmijärvi, Finland
Contact:

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Konstaduck »

Mitä mahtaa tarkoittaa konsolin info

Code: Select all

Stack resized to 200
Konstaduck.net
<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...
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Latexi95 »

Konstaduck wrote:Mitä mahtaa tarkoittaa konsolin info

Code: Select all

Stack resized to 200
Se on vain ilmoitus siitä, että pinoa johon funktioiden parametrit ja laskutoimitusten jäsenet tyrkätään suurennetaan, että arvot mahtuvat. Ei ole syytä huolestua ellei noita ilmoituksia tule kovin suurien lukujen kanssa.
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 »

KillBurn wrote:Tutkin tuota tilekartta hommaa hieman ja selvisi, että bugi ilmaantuu jos objekti törmäisi heti tullessaan.

Code: Select all

...koodia...
Hmm joo tosiaan. Ongelma johtuu siitä ettei objektilla ole edellisiä turvallisia koordinaatteja vaan se törmää heti kun se luodaan. Tällöin objektin y-koordinaatti nollaantuu. Pitäisi varmaan keksiä jokin tapa handlata HIT-kerroksessa olevien objektien siirtely.

EDIT: Tässä aiheesta bugiraportti.
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
Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Awaclus »

Latexi95 wrote:
Konstaduck wrote:Mitä mahtaa tarkoittaa konsolin info

Code: Select all

Stack resized to 200
Se on vain ilmoitus siitä, että pinoa johon funktioiden parametrit ja laskutoimitusten jäsenet tyrkätään suurennetaan, että arvot mahtuvat. Ei ole syytä huolestua ellei noita ilmoituksia tule kovin suurien lukujen kanssa.
Kuinkahan suuri luku on kovin suuri tässä tapauksessa? 1 000? 1 000 000?
User avatar
Timblex
Advanced Member
Posts: 252
Joined: Sun Apr 11, 2010 10:37 am
Location: Kouvola

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Timblex »

Mitenköhän, cbe:n customfunctions sanoo, että kamerakomentoja voi käyttää pelimaailman zoomaamiseen ja pyörittämiseen jollain extra parametrilla mutta koitin lisätä komentojen 3. parametriksi 1 mutta ei toiminut.
Entinen timpe99...
Demokisa 2013 demo valmis, Check it out!
User avatar
axu
Devoted Member
Posts: 854
Joined: Tue Sep 18, 2007 6:50 pm

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by axu »

timpe99 wrote:Mitenköhän, cbe:n customfunctions sanoo, että kamerakomentoja voi käyttää pelimaailman zoomaamiseen ja pyörittämiseen jollain extra parametrilla mutta koitin lisätä komentojen 3. parametriksi 1 mutta ei toiminut.
Esim. PositionCamera 0, 0, 2 zoomaa kuvan kaksinkertaiseksi ja TurnCamera 0, 1 kääntää kameraa yhden asteen. Satuitkohan lisäämään tuolle PositionCameralle kolmanneksi parametriksi 1 (sillä sehän tekee zoomaustasosta normaalin).
Jos tämä viesti on kirjoitettu alle 5 min. sitten, päivitä sivu. Se on saattanut jo muuttua :roll:
Image
User avatar
Timblex
Advanced Member
Posts: 252
Joined: Sun Apr 11, 2010 10:37 am
Location: Kouvola

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Timblex »

Ahaa tajusin kiitos paljon :D
Entinen timpe99...
Demokisa 2013 demo valmis, Check it out!
User avatar
Konstaduck
Advanced Member
Posts: 267
Joined: Sat Dec 17, 2011 3:09 pm
Location: Nurmijärvi, Finland
Contact:

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Konstaduck »

Huomasin tänään erikoisen bugin cbE:ssä. Kehittämisen Debug - versio lagaa, ESCillä sammuttaminen ei toimi ollenkaan ja jumittaa ohjelman, samoin raksista kun painaa, ei vaikutusta. No nyt aloin kehittämään niitä julkaisuversiolla, joka toimii vallan mainiosti.

Onko tuo toteuttamattomat ominaisuudet hieman vanha? Minulla ainakin toimii ImagesCollide....

Milloin tulisi GFXModeExists? Taitaa olla aika hankala toteuttaa, kun sitä ei ole saatu valmiiksi :o
Konstaduck.net
<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
valscion
Moderator
Moderator
Posts: 1599
Joined: Thu Dec 06, 2007 7:46 pm
Location: Espoo
Contact:

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by valscion »

Konstaduck wrote:Huomasin tänään erikoisen bugin cbE:ssä. Kehittämisen Debug - versio lagaa, ESCillä sammuttaminen ei toimi ollenkaan ja jumittaa ohjelman, samoin raksista kun painaa, ei vaikutusta. No nyt aloin kehittämään niitä julkaisuversiolla, joka toimii vallan mainiosti.

Onko tuo toteuttamattomat ominaisuudet hieman vanha? Minulla ainakin toimii ImagesCollide....

Milloin tulisi GFXModeExists? Taitaa olla aika hankala toteuttaa, kun sitä ei ole saatu valmiiksi :o
Aika jännä ettei debug-versio sammu. Tietenkin debug-versio on rutkasti hitaampi, ei siinä nyt mitään ihmeellistä ole.

ImagesCollide toimii vain suorakulmiomuotoisena. Et saa sillä pikselintarkkaa tarkistusta, joten se on toteuttamaton ominaisuus. GitHubissa olevat issuet ovat ajan tasalla.

GFXModeExists() tulee jossain vaiheessa. Allegron puolella kun ei ole suoraa tarkistusta sille, että tukeeko näytönohjain tiettyä tilaa, vaan kaikki mahdolliset tilat pitäisi ensin ottaa talteen ja GFXModeExists() kutsumisen kohdalla tarkistaa, löytyisikö kyseistä tilaa muistista. Sen lisäksi että siinä on jonkin verran enemmän tekemistä, en myöskään koe sitä niin kriittiseksi ominaisuudeksi että sen puuttuminen haittaisi kovasti. Tietenkin se tullaan tekemään, mutta ei sillä ole kovinkaan suurta prioriteettia.
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
Konstaduck
Advanced Member
Posts: 267
Joined: Sat Dec 17, 2011 3:09 pm
Location: Nurmijärvi, Finland
Contact:

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Konstaduck »

VesQ wrote: Aika jännä ettei debug-versio sammu. Tietenkin debug-versio on rutkasti hitaampi, ei siinä nyt mitään ihmeellistä ole.
Millä tavalla se nyt raskaampi on?
Konstaduck.net
<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...
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 »

Konstaduck wrote:Millä tavalla se nyt raskaampi on?
Yleisesti ottaen debug-versiot ovat aina isompia ja raskaampia kuin lopulliset release-versiot, koska ne sisältävät paljon ylimääräisiä tarkisteluja, joiden avulla ohjelman suorituksesta ja saaduista tuloksista voidaan pitää kirjaa. Ylimääräiset tarkistelut vievät luonnollisesti ylimääräistä aikaa, joissain tilanteissa kovinkin paljon. Tästä on yleensä kuitenkin huomattavaa hyötyä - mahdolliset virhetilanteet voidaan havaita ja korjata huomattavasti helpommin jolloin releaseen ei jää ikäviä mutta vaikeasti havaittavia vikoja.

VesQ, allegron sijaan kannattaisi kysyä asiaa suoraan ikkunajärjestelmältä, yhden funktion kääntäminen eri alustoille tuskin vie valtavasti aikaa :)
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Latexi95 »

Konstaduck wrote: Millä tavalla se nyt raskaampi on?
Se on käännetty debug tilassa jolloin monia kääntäjän optimointeja on pois käytöstä ja sekä cbE:n koodissa on joitain tarkistuksia jotka ovat vain käytössä debug tilassa (assertionit).
Seuraavassa julkaisussa olisi muuten tulossa debug käännöksiin mukaan ylikirjoituksen tarkistus eli virheilmoitus kun koitettaan kirjoittaa ohi taulukosta tai muistipalasta.
User avatar
Combatti
Active Member
Posts: 101
Joined: Fri Jun 29, 2012 6:23 pm
Location: Kuhmo

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Combatti »

Nyt pälkähti mieleen kysymys: Toimiiko compileri käynnistyessään samalla tavalla, kuin vanha compileri, eli etsitään CoolBasicBeta10.x_CompilerV2(Meniköhän oikein) ja sitten muunnetaan se? Toivon, ettei olisi, sillä juuri tuo ominaisuus vanhassa compilerissa ärsytti, kun ei voinut mitään ei-editorilla kirjoitettua ohjelmaa ajaa ilman tuon typerän nimen kirjoittamista.
~Yhteiskuntaan kyllästynyt koodari.
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Latexi95 »

Combatti wrote:Nyt pälkähti mieleen kysymys: Toimiiko compileri käynnistyessään samalla tavalla, kuin vanha compileri, eli etsitään CoolBasicBeta10.x_CompilerV2(Meniköhän oikein) ja sitten muunnetaan se? Toivon, ettei olisi, sillä juuri tuo ominaisuus vanhassa compilerissa ärsytti, kun ei voinut mitään ei-editorilla kirjoitettua ohjelmaa ajaa ilman tuon typerän nimen kirjoittamista.
En nyt taas tajua mitä ihmettä selität, mutta cbE:n kääntäjä on CB:n kääntäjä josta on vaihdettu CB:n vakio runtime cbE:ksi. Eli varsinainen kääntäjä on pysynyt täsmälleen samana.
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 »

koodaaja wrote:VesQ, allegron sijaan kannattaisi kysyä asiaa suoraan ikkunajärjestelmältä, yhden funktion kääntäminen eri alustoille tuskin vie valtavasti aikaa :)
Tokihan näin on. Tiedän kuitenkin että millä tavalla tuon GFXModeExists() funktion voisi toteuttaa Allegron avulla niin se olisi varmaan helpompi reitti. En vain itse ainakaan vielä ole vaivautunut sitä toteuttamaan :|
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
Combatti
Active Member
Posts: 101
Joined: Fri Jun 29, 2012 6:23 pm
Location: Kuhmo

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Combatti »

Latexi95 wrote:
Combatti wrote:Nyt pälkähti mieleen kysymys: Toimiiko compileri käynnistyessään samalla tavalla, kuin vanha compileri, eli etsitään CoolBasicBeta10.x_CompilerV2(Meniköhän oikein) ja sitten muunnetaan se? Toivon, ettei olisi, sillä juuri tuo ominaisuus vanhassa compilerissa ärsytti, kun ei voinut mitään ei-editorilla kirjoitettua ohjelmaa ajaa ilman tuon typerän nimen kirjoittamista.
En nyt taas tajua mitä ihmettä selität, mutta cbE:n kääntäjä on CB:n kääntäjä josta on vaihdettu CB:n vakio runtime cbE:ksi. Eli varsinainen kääntäjä on pysynyt täsmälleen samana.
Taisin kirjoittaa, ennenkuin luin topicin nimen KUNNOLLA :oops: Kun katselin viestejä, niin käsitykseni oli, että KOKO compileri oli laitettu uusiksi, mutta ei :D Olisi kyllä mukava lisä, jos poistettaisin compilerista tuo ominaisuus, että ei tarvitse nimetä ajettavaa tiedostoa tietyllä tavalla, että se ajautuisi.
~Yhteiskuntaan kyllästynyt koodari.
Post Reply