cbEnchanted - uudelleenkirjoitettu runtime
-
- Advanced Member
- Posts: 364
- Joined: Wed Dec 03, 2008 3:48 pm
- Location: Turku
Re: cbEnchanted - uudelleenkirjoitettu runtime
Koska cbE:ssä on noita custom-funktioita, ajattelin tehdä epävirallisen manuaalin aiheesta, se tosin on englanniksi koska en muistanut HTML-kielen merkkejä jotka vastaa åäö-merkkejä, edittaan paketin sitten tähän viestiin, kun se on valmis (nimittäin kirjoitan koko paskan käsin >.< )
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.
I know not what I know, but I do know that it's not beautiful.
Re: cbEnchanted - uudelleenkirjoitettu runtime
Ei niitä tarvitse erikseen koodata HTML:n symbooleiksi, kunhan tiedosto tallennetaan oikealla charsetillä (mieluiten utf-8).skorpioni-cb wrote:HTML-kielen merkkejä jotka vastaa åäö-merkkejä
-
- Advanced Member
- Posts: 485
- Joined: Tue Aug 28, 2007 3:53 pm
- Location: Suomi, Finland
- Contact:
Re: cbEnchanted - uudelleenkirjoitettu runtime
Lisäksi ne on helppo muistaa &<kirjain>uml; niinkuin ä uml tulee sanasta umlaut.
Re: cbEnchanted - uudelleenkirjoitettu runtime
Versio 0.3.1 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:
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:
- 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ä.
- 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.
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: Kuvien/objektien piirto bugaa puolikkailla koordinateilla - ei ole kokonaan korjattu, katso issue #119
- Bugfix: Kartta piirretään origoon sen sijainnista huolimatta - tämä bugi on ollut olemassa vain versiosta 0.3.0 lähtien.
- Bugfix: cbE kaatuu kun objektin elinaika päättyy (ObjectLife)
- Bugfix: Int() ja Float() eivät muuta merkkijonoa oikein numeroksi, jos siinä on edessä välilyöntejä.
- Bugfix: PositionMousen käyttö rikkoo seuraavan MouseMoveX/Y kutsun
- Parannus: Kirjoittelin uudelleen kaikki kommentit customfunctions.cb tiedostosta, nyt sen pitäisi olla dokumentoitu kunnolla ja siitä pitäisi saada hyvin selvää
- Katso seuraavan julkaisun korjatut bugit ja sen tunnetut bugit.
Last edited by valscion on Sun Jul 08, 2012 11:58 pm, edited 2 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
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
-
- Advanced Member
- Posts: 364
- Joined: Wed Dec 03, 2008 3:48 pm
- Location: Turku
Re: cbEnchanted - uudelleenkirjoitettu runtime
Ihan kiva muuten, mutku miks cbeSToWX ja kaikilla muilla STo ja WTo-funktioilla otetaan parametreiksi x ja y
EDIT:
[/edit]BTW. Minun manuaali tähän 0.3.1-versioon on valmis, lataa se
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.
I know not what I know, but I do know that it's not beautiful.
Re: cbEnchanted - uudelleenkirjoitettu runtime
Kun kameraa on käännetty, niin molempia koordinaatteja uuden koordinaatin laskemiseen.skorpioni-cb wrote:Ihan kiva muuten, mutku miks cbeSToWX ja kaikilla muilla STo ja WTo-funktioilla otetaan parametreiksi x ja y
-
- Advanced Member
- Posts: 364
- Joined: Wed Dec 03, 2008 3:48 pm
- Location: Turku
Re: cbEnchanted - uudelleenkirjoitettu runtime
Aha, ei sieltä koodista saanut selvää, katsotkos muuten onko toi mun manuaali sopivan ymmärrettävää englantia, ja onko se selkeäLatexi95 wrote:Kun kameraa on käännetty, niin molempia koordinaatteja uuden koordinaatin laskemiseen.skorpioni-cb wrote:Ihan kiva muuten, mutku miks cbeSToWX ja kaikilla muilla STo ja WTo-funktioilla otetaan parametreiksi x ja y
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.
I know not what I know, but I do know that it's not beautiful.
Re: cbEnchanted - uudelleenkirjoitettu runtime
Kiitos uudesta versiosta!
Miksi cbeDrawTintedScaledRotatedImageBoxin nimi vaihdettiin cbeDrawTintedScaledRotatedImageRegioniksi? Yhtenäistämistä Allegron komennon kanssa? Olisi nyt edes hieman yksinkertaisemmaksi muutettu, tuota en ole kertaakaan käsin jaksanut kirjoittaa saatika sitten muistaa koko komennon nimeä Mielestäni jopa cbeDrawImage olisi riittävä. Tai sitten pitäisi saada intellisense cb-editoriin.
@skorpioni: en nyt oikein voi kehua tuota englantia. Lähtien Un-väliviiva-Officialista isolla O:lla lähes joka lauseessa on jotain parantamisen varaa. Muutenkin ohjeet olivat melko sisällöttömiä, kannattaa käyttää niitä uusimmassa versiossa olevia selityksiä suoraan customfunctions.cb:stä. Tai kirjoittaa ihan suosiolla suomeksi, kun suht kattavat selitykset englanniksi löytyvät jo sieltä kooditiedostosta.
Miksi cbeDrawTintedScaledRotatedImageBoxin nimi vaihdettiin cbeDrawTintedScaledRotatedImageRegioniksi? Yhtenäistämistä Allegron komennon kanssa? Olisi nyt edes hieman yksinkertaisemmaksi muutettu, tuota en ole kertaakaan käsin jaksanut kirjoittaa saatika sitten muistaa koko komennon nimeä Mielestäni jopa cbeDrawImage olisi riittävä. Tai sitten pitäisi saada intellisense cb-editoriin.
@skorpioni: en nyt oikein voi kehua tuota englantia. Lähtien Un-väliviiva-Officialista isolla O:lla lähes joka lauseessa on jotain parantamisen varaa. Muutenkin ohjeet olivat melko sisällöttömiä, kannattaa käyttää niitä uusimmassa versiossa olevia selityksiä suoraan customfunctions.cb:stä. Tai kirjoittaa ihan suosiolla suomeksi, kun suht kattavat selitykset englanniksi löytyvät jo sieltä kooditiedostosta.
EDIT:
Mietin muuten, voisiko cbe:hen jotenkin saada tuen jollekin skriptikielelle, esim. Lualle? En tiedä miten käytännössä toimisi, mutta ei tarvisi joka projektille miettiä skriptaustapaa erikseen/kovakoodata jokainen tapahtuma.
Re: cbEnchanted - uudelleenkirjoitettu runtime
Suomen ä tosin ei ole a-umlaut vaikka se niin kirjoitetaankin ^_^tuhoojabotti wrote:Lisäksi ne on helppo muistaa &<kirjain>uml; niinkuin ä uml tulee sanasta umlaut.
-
- Tech Developer
- Posts: 545
- Joined: Sun Aug 26, 2007 2:43 pm
- Location: Liminka
Re: cbEnchanted - uudelleenkirjoitettu runtime
Jos jaksaa säätää vitusti niin miksipä ei.axu wrote:Mietin muuten, voisiko cbe:hen jotenkin saada tuen jollekin skriptikielelle, esim. Lualle? En tiedä miten käytännössä toimisi, mutta ei tarvisi joka projektille miettiä skriptaustapaa erikseen/kovakoodata jokainen tapahtuma.
Käytännössä luan bindit pitäisi parsia jotenki hienostuneesti samaan tapaan kuin kustomoidut funktiot on toteutettu. Normaalien cbfunkkareidenki bindaus vois onnistua, mutta tämä vaatisi toisenlaista kikkailua.
Joka tapauksessa operaatio on perseestä ja kukaan tuskin jaksaa sitä alkaa tekemään. Jos kuitenkin haluat itse härvätä kyseisen systeemin toimintaan ja kysyntää löytyy niin tervetuloa vain mukaan tiimiin säätämään.
Loppujen lopuksi helpompi ja hieman elegantimpi toteutustapa olisi toteuttaa CBE:hen funktiopointterit, jolloin komentoja voisi esim. taulukoida ja sitten kutsua tietynlaisten tapahtumien sattuessa. Homma olisi vielä kohtalaisen helppo toteuttaa lisäämällä vain esikäsittelyä ja toteuttamalla jonkinlaiset bind() ja call() funktiot, joilla voisi säilöä funktio-osoittimen muuttujaan ja tämän jälkeen kutsua funktiota muuttujan perusteella jotenkin tähän tyyliin (perstuntumalta kirjoitettuna):
Code: Select all
Function Bind()
group = CBE_FUNCTIONAL
funcId = 1
EndFunction
Function Call(id As Integer)
group = CBE_FUNCTIONAL
funcId = 2
EndFunction
Function A()
Print "A"
EndFunction
Function B()
Print "B"
EndFunction
Function C()
Print "C"
EndFunction
Dim funcs(3) As Integer
// Bindin kutsuminen tekisi sen että seuraava funktiokutsu jäisi välistä ja funktion osoitin sijoitettaisiin muuttujaan
funcs(0) = Bind()
A()
funcs(1) = Bind()
B()
funcs(2) = Bind()
C()
// Käy läpi kolme funktiota ja kutsuu ne
For i = 0 To 2
Call(funcs(i))
Next i
CoolBasic henkilökuntaa
Kehittäjä
cbFUN Kello
cbSDL
Whale.dy.fi
<@cce> miltäs tuntuu olla suomen paras
Kehittäjä
cbFUN Kello
cbSDL
Whale.dy.fi
<@cce> miltäs tuntuu olla suomen paras
-
- Advanced Member
- Posts: 364
- Joined: Wed Dec 03, 2008 3:48 pm
- Location: Turku
Re: cbEnchanted - uudelleenkirjoitettu runtime
Lua-tulkki, bitch please, me tarvitaan asm-tulkki, jotta saadaan tehtyä saatanan nopeita laskutoimituksia. Ja jos ei aika riitä manuaalin kanssa, voin tietenkin tulla sinne säätämään, jos tarvitseeKilledWhale wrote:Textiä...
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.
I know not what I know, but I do know that it's not beautiful.
-
- Moderator
- Posts: 227
- Joined: Wed Aug 29, 2007 3:55 pm
Re: cbEnchanted - uudelleenkirjoitettu runtime
Lua-tulkki nyt vaan sattuu olemaan pikkasen nopeampi ja hyödyllisempi kuin asm-tulkki. Toivon ettei asm-tulkkia mainita enää täällä.
LLVM-mahdollisuus kiehtoo itseäni eniten tuon suuntaisista jutuista ja piirtopuskurointi sitten graffan puolelta, kun kerta parannuksista oli puhe. Lua kyllä toisi cb:n taas uudelle tasolle pelikielenä, että se ei kuulosta lainkaan pahalta.
LLVM-mahdollisuus kiehtoo itseäni eniten tuon suuntaisista jutuista ja piirtopuskurointi sitten graffan puolelta, kun kerta parannuksista oli puhe. Lua kyllä toisi cb:n taas uudelle tasolle pelikielenä, että se ei kuulosta lainkaan pahalta.
Re: cbEnchanted - uudelleenkirjoitettu runtime
Ehkäpä jotenkin näin?KilledWhale wrote:Käytännössä luan bindit pitäisi parsia jotenki hienostuneesti samaan tapaan kuin kustomoidut funktiot on toteutettu. Normaalien cbfunkkareidenki bindaus vois onnistua, mutta tämä vaatisi toisenlaista kikkailua.
Code: Select all
Function Bind()
group = CBE_FUNCTIONAL
funcId = 1
name$ = "A"
A()
name$ = "B"
B()
name$ = "C"
C()
EndFunction
Function Call(id As Integer)
group = CBE_FUNCTIONAL
funcId = 2
EndFunction
Function A()
Print "A"
EndFunction
Function B()
Print "B"
EndFunction
Function C()
Print "C"
EndFunction
Call("A")
Call("B")
Call("C")
Sitä en kyllä lähde kieltämään, etteikö systeemi vaatisi todennäköisesti järjetöntä säätämistä, mutta siinä vaiheessa kun porukka pystyy purkamaan kääntäjän tuottaman tavukoodin ja kirjoittamaan runtimen uusiksi, vieläpä alkuperäistä nopeammaksi, niin on hankala löytää ehdotuksille rajoja
- Konstaduck
- Advanced Member
- Posts: 267
- Joined: Sat Dec 17, 2011 3:09 pm
- Location: Nurmijärvi, Finland
- Contact:
Re: cbEnchanted - uudelleenkirjoitettu runtime
Memory Acces Violation ei hävinnyt minnekkään cbE:n tultua.
Jos ei laita tuota errors offia, tuottaa cbE virheikkunnan selityksineen. Mutta jos taas tuo errors off on päällä, tuleepi Memory Acces Violation. Ilmiselvä bugi siis. Huh, onpas koketusnäytöllä ärsyttävää kirjoittaa...
Code: Select all
Errors off
obj =Loadimage("Tätäkuvaaeioleolemassa.png")
Re: cbEnchanted - uudelleenkirjoitettu runtime
Ei se mikään bugi ole vaan ihan tarkoituksellinen. Se myös seuraa Errors komennon manuaalin selitystä.
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
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
-
- Advanced Member
- Posts: 364
- Joined: Wed Dec 03, 2008 3:48 pm
- Location: Turku
Re: cbEnchanted - uudelleenkirjoitettu runtime
Tottakai nyt CoolBasicissa täytyy MAV ollaVesQ wrote:Ei se mikään bugi ole vaan ihan tarkoituksellinen. Se myös seuraa Errors komennon manuaalin selitystä.
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.
I know not what I know, but I do know that it's not beautiful.
- Konstaduck
- Advanced Member
- Posts: 267
- Joined: Sat Dec 17, 2011 3:09 pm
- Location: Nurmijärvi, Finland
- Contact:
Re: cbEnchanted - uudelleenkirjoitettu runtime
Eikö siis ole minkäänlaista tapaa olla välittämättä, jos objektia ei voida ladata?
-
- Advanced Member
- Posts: 364
- Joined: Wed Dec 03, 2008 3:48 pm
- Location: Turku
Re: cbEnchanted - uudelleenkirjoitettu runtime
On, antamalla oikean tiedostopolunKonstaduck wrote:Eikö siis ole minkäänlaista tapaa olla välittämättä, jos objektia ei voida ladata?
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.
I know not what I know, but I do know that it's not beautiful.
- Konstaduck
- Advanced Member
- Posts: 267
- Joined: Sat Dec 17, 2011 3:09 pm
- Location: Nurmijärvi, Finland
- Contact:
Re: cbEnchanted - uudelleenkirjoitettu runtime
Ei, vaan sillein, että annetaan väärä tiedostopolku, mutta ei vaan välitetä, onnistuiko lataaminen. Onko sellaista?
Re: cbEnchanted - uudelleenkirjoitettu runtime
Tarkista onko tiedosto olemassa ennen sen lataamista. Eipä siinä juuri sen enempää voi tehdä. Tuo Errors tosiaan pystyy kytkemään vain tarkennetut virheilmoitukset pois (etteivät ne hämmennä loppukäyttäjää, ohjelmoijallehan tarkat virheilmoitukset ovat vain hyödyksi). Minkäänlaista virheenkäsittelyä cb:ssä ei ole. Cbe tosin tarjoaa useissa virhetilanteissa mahdollisuuden jatkaa ohjelman suoritusta, joten voit koodissasi ottaa sen huomioon (tarkistat objektin latauksen jälkeen onnistuiko se).Konstaduck wrote:Eikö siis ole minkäänlaista tapaa olla välittämättä, jos objektia ei voida ladata?