cbEnchanted - uudelleenkirjoitettu runtime

Jaa meneillään olevat projektisi tai valmiit pelit muun yhteisön kanssa täällä.
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by skorpioni-cb »

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 >.< )
Minä en tiedä mitä tiedän, mutta sen tiedän ettei se ole mitään kaunista.
temu92
Web Developer
Web Developer
Posts: 1226
Joined: Mon Aug 27, 2007 9:56 pm
Location: Gamindustri
Contact:

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by temu92 »

skorpioni-cb wrote:HTML-kielen merkkejä jotka vastaa åäö-merkkejä
Ei niitä tarvitse erikseen koodata HTML:n symbooleiksi, kunhan tiedosto tallennetaan oikealla charsetillä (mieluiten utf-8).
tuhoojabotti
Advanced Member
Posts: 485
Joined: Tue Aug 28, 2007 3:53 pm
Location: Suomi, Finland
Contact:

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by tuhoojabotti »

Lisäksi ne on helppo muistaa &<kirjain>uml; niinkuin &auml; uml tulee sanasta umlaut.
Imagedev.tuhoojabotti.com — “Programmer (noun): An organism that turns caffeine into code.”
User avatar
valscion
Moderator
Moderator
Posts: 1598
Joined: Thu Dec 06, 2007 7:46 pm
Location: Espoo
Contact:

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by valscion »

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:
  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
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
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by skorpioni-cb »

Ihan kiva muuten, mutku miks cbeSToWX ja kaikilla muilla STo ja WTo-funktioilla otetaan parametreiksi x ja y
EDIT:

BTW. Minun manuaali tähän 0.3.1-versioon on valmis, lataa se

cbE-ohjeet.rar
tästä
(22.14 KiB) Downloaded 273 times
[/edit]
Minä en tiedä mitä tiedän, mutta sen tiedän ettei se ole mitään kaunista.
Latexi95
Guru
Posts: 1165
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Latexi95 »

skorpioni-cb wrote:Ihan kiva muuten, mutku miks cbeSToWX ja kaikilla muilla STo ja WTo-funktioilla otetaan parametreiksi x ja y
Kun kameraa on käännetty, niin molempia koordinaatteja uuden koordinaatin laskemiseen.
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:Ihan kiva muuten, mutku miks cbeSToWX ja kaikilla muilla STo ja WTo-funktioilla otetaan parametreiksi x ja y
Kun kameraa on käännetty, niin molempia koordinaatteja uuden koordinaatin laskemiseen.
Aha, ei sieltä koodista saanut selvää, katsotkos muuten onko toi mun manuaali sopivan ymmärrettävää englantia, ja onko se selkeä
Minä en tiedä mitä tiedän, mutta sen tiedän ettei se ole mitään kaunista.
User avatar
axu
Devoted Member
Posts: 854
Joined: Tue Sep 18, 2007 6:50 pm

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by axu »

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

Jos tämä viesti on kirjoitettu alle 5 min. sitten, päivitä sivu. Se on saattanut jo muuttua :roll:
Image
User avatar
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by esa94 »

tuhoojabotti wrote:Lisäksi ne on helppo muistaa &<kirjain>uml; niinkuin &auml; uml tulee sanasta umlaut.
Suomen ä tosin ei ole a-umlaut vaikka se niin kirjoitetaankin ^_^
KilledWhale
Tech Developer
Tech Developer
Posts: 543
Joined: Sun Aug 26, 2007 2:43 pm
Location: Liminka

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by KilledWhale »

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.
Jos jaksaa säätää vitusti niin miksipä ei.

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
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by skorpioni-cb »

KilledWhale wrote:Textiä...
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 tarvitsee :lol:
Minä en tiedä mitä tiedän, mutta sen tiedän ettei se ole mitään kaunista.
atomimalli
Moderator
Moderator
Posts: 227
Joined: Wed Aug 29, 2007 3:55 pm

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by atomimalli »

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.
User avatar
axu
Devoted Member
Posts: 854
Joined: Tue Sep 18, 2007 6:50 pm

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by axu »

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.
Ehkäpä jotenkin näin?

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")
Eli Bindissä olisi vuoronperään merkkijonon asettaminen ja funktiokutsu. Funktioita voidaan kutsua sitten näillä nimillä.

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 ;)
Jos tämä viesti on kirjoitettu alle 5 min. sitten, päivitä sivu. Se on saattanut jo muuttua :roll:
Image
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 »

Memory Acces Violation ei hävinnyt minnekkään cbE:n tultua.

Code: Select all

Errors off
obj =Loadimage("Tätäkuvaaeioleolemassa.png")
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... :)
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: 1598
Joined: Thu Dec 06, 2007 7:46 pm
Location: Espoo
Contact:

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by valscion »

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
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by skorpioni-cb »

VesQ wrote:Ei se mikään bugi ole vaan ihan tarkoituksellinen. Se myös seuraa Errors komennon manuaalin selitystä.
Tottakai nyt CoolBasicissa täytyy MAV olla :D
Minä en tiedä mitä tiedän, mutta sen tiedän ettei se ole mitään kaunista.
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 »

Eikö siis ole minkäänlaista tapaa olla välittämättä, jos objektia ei voida ladata?
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...
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by skorpioni-cb »

Konstaduck wrote:Eikö siis ole minkäänlaista tapaa olla välittämättä, jos objektia ei voida ladata?
On, antamalla oikean tiedostopolun
Minä en tiedä mitä tiedän, mutta sen tiedän ettei se ole mitään kaunista.
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 »

Ei, vaan sillein, että annetaan väärä tiedostopolku, mutta ei vaan välitetä, onnistuiko lataaminen. Onko sellaista?
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
axu
Devoted Member
Posts: 854
Joined: Tue Sep 18, 2007 6:50 pm

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by axu »

Konstaduck wrote:Eikö siis ole minkäänlaista tapaa olla välittämättä, jos objektia ei voida ladata?
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).
Jos tämä viesti on kirjoitettu alle 5 min. sitten, päivitä sivu. Se on saattanut jo muuttua :roll:
Image
Post Reply