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 »

Tjoop. Transformaatiofunktiot ovat hyvinkin keskeneräisiä ja tosiaan niitä ei tällä hetkellä voi yhdistellä. Jossain vaiheessa muutan ne toimimaan niin, että jokaiselle transformaatiolle annetaan edellinen transformaatio-ID, jolloin se yhdistetään edellisen kanssa. Eli aina aluksi pitäisi kutsua cbeTransformReset()-funktiota, jolta saisi identity-transformaation eli sen, jossa ei ole mitään transformaatioita. Sitten voisi yhdistellä eri transformaatioita haluamallaan tavalla ja lopulta pitäisi kutsua uutta funktiota, cbeUseTransform(), joka asettaisi valmiin transformaation päälle.

En tiedä vielä kuitenkaan että miten pystymme säätäämään, että miten omat transformaatiot toimivat esimerkiksi DrawToWorldin kanssa. DrawToWorld ja muutkin maailmankoordinaatteihin piirrettävät jutut käyttävät omia transformaatioitaan ja kytkevät pois päältä erikoisfunktioilla määritellyt transformaatiot.

Ehkä parempi olisi vain kokonaan poistaa nuo erikoisfunktiot transformaatioiden käsittelyyn. En oikein tiedä että onko niistä loppujen lopuksi kenellekään mitään hyötyä :|
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
Misthema
Advanced Member
Posts: 312
Joined: Mon Aug 27, 2007 8:32 pm
Location: Turku, Finland
Contact:

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Misthema »

VesQ wrote:Ehkä parempi olisi vain kokonaan poistaa nuo erikoisfunktiot transformaatioiden käsittelyyn. En oikein tiedä että onko niistä loppujen lopuksi kenellekään mitään hyötyä :|
Itselle on paljonkin. Tykkään kuitenkin enemmän kuvien kanssa temppuilla, kuin objektien, niin käyttöä löytyy. Tuolla cbeTransformScale -funktiolla saa kätevästi doublepixel efektinkin, ja voihan sen avulla "animoidakin" vaikka minkälaista räjähdystä tms., esim paineaaltoja. Eli ei missään nimessä pitäisi olla poistettavia nuo, vaan korjattavia! ;)
User avatar
Misthema
Advanced Member
Posts: 312
Joined: Mon Aug 27, 2007 8:32 pm
Location: Turku, Finland
Contact:

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Misthema »

Konstaduck wrote:Hmm, totta. Eihän screenwidth ja -height hyödytä yhtään mitään, jos ei tiedetä, tukeeko näyttä tilaa. Siksi GFXModeExists() on keksitty.
Satuinpa tekemään tämän kyseisen funktion. Pari muuta mukavaa myös mukana.

GFXModeExists toimii nyt kuten sen pitääkin.
cbeGetGfxModeCount palauttaa mahdollisten kokoruututilojen määrän.
cbeGetGfxMode( id ) palauttaa merkkijonona näytön tukeman kokoruututilan listasta (muotoa "leveys,korkeus,virkistystaajuus,värisyvyys")
cbeGetBestGfxMode( width, height ) palauttaa tälle kokoruututilalle parhaimman virkistystaajuuden ja värisyvyyden, esimerkiksi 85 ja 32.

Kuva:
Image
Ehkä näät nämä sitten seuraavassa julkaisussa.. ;)
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.4.0 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 ——
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
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Latexi95 »

Niin siis tässä julkaisussa on uutena isona ominaisuutena on DLL-kirjastojen tekeminen. Päätimme tehdä DLL-kirjastojen tekemisen paljon helpommaksi kuin CB:llä. cbE:n DLL-kirjastot käyttävät samaa tekniikkaa kuin cbE:n sisäänrakennetut custom funktiot. Elikkäs custom funktiot sisältävät kaksi osaa: CB:llä kirjoitettun header tiedoston joka sisältää määrittelyt custom funktiolle ja kertoo kääntäjälle minkälaisia funktioita on olemassa ja samalla sisältää tunnistetiedot runtimea varten ja sitten c++:lla koodattu varsinainen custom funktion koodi jota kutsutaan kun CB:n puolella kutsutaan custom funktiota.

DLL-kirjastojen tapauksessa näiden custom funktioiden c++ koodi sisällytettään dll:ään. cbE:n runtime on mahdollista kääntää kirjastoksi ja se pitää linkata mukaan DLL:ään muiden tarvittavien kirjastojen (allegro 6.0.7, boost) kanssa. DLL:n olettettaan sisältävän extern "C" __delcspec(dllexport) void cbeInitializeLibrary(CBEnchanted *cb) funktio jota kutsutaan kun dll avataan cbE:n custom funktion cbeLoadLibrary:n avulla. cbeInitializeLibraryssä dll:n pitää lisätä sisältämisensä custom funktioiden osoittimet CB:n headeria vastaavien tietojen kanssa. Kaikki custom funktiot ovat muotoa void customFunction(CBEnchanted *cb) ja ne hoitavat parametrien hakemisen pinon avulla samoin kuin palautusarvon palauttamisen (mikä on aina pakollista koska kyseessä on funktio). Varsinaisia custom funktioita ei siis tarvitse määritellä dllexportilla, koska niiden osoittimet annetaan CustomFunctionHandlerille. CBEnchanted luokan avulla päästään käsiksi lähes kaikkiin cbE:n ominaisuuksiin kuten esimerkiksi objekteihin ja kuviin. Esimerkki DLL-kirjastosta löytyy cbE:n githubin repositorystä tests/cbeDLLTest kansiosta.

Toivomme tämän paljon aiempaa DLL-kirjastojen tekoa helpomman tavan tuovan useammille mahdollisuuden laajentaa cb(E):n toiminnallisuutta. Tarkemmat ohjeet koskien kääntämistä ja muutenkin DLL-kirjastojen koodaamista ja tärkeimpien luokkien hyvin pikaiset esittelyt löytyvät täältä. Ongelmien tullessa suosittelemme ottamaan yhteyttä ircissä #cbe @ IRCNet, sieltä saa pyyttämällä tarkan selityksen cbE:n kääntämisestä ja custom funktioden koodaamisesta mikäli jotain jäi epäselväksi. :)
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 »

Sitä samaa virhettä tuli silloin ensimmäisillä versioilla, ja sitä samaa virhettä tulee nyt. Kokeillaan testiksi sammuttaa ohjelma vaihteeksi konsolin raksista. Ei kehuttava tulos :(
cbrun_sovellusvirhe.JPG
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:Sitä samaa virhettä tuli silloin ensimmäisillä versioilla, ja sitä samaa virhettä tulee nyt. Kokeillaan testiksi sammuttaa ohjelma vaihteeksi konsolin raksista. Ei kehuttava tulos :(
cbrun_sovellusvirhe.JPG
Todennäköisesti tuo johtuu (taas) VC++:n Runtimen puuttumisesta. cbE:n ensimmäinen versio taisi käyttää dynaamista linkkausta sen kanssa mutta myöhemmät käyttivät staattista jolloin runtimea ei tarvittu. Nyt taas on dll-kirjastojen takia palattu dynaamiseen linkkaukseen jolloin runtime tarvitaan niin kuin julkaisuviestissä lukeekin eli asenna tämä: http://www.microsoft.com/en-us/download ... px?id=5555
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 »

Latexi95 wrote: Todennäköisesti tuo johtuu (taas) VC++:n Runtimen puuttumisesta.
Todennäkösesti tuo ei johdu VC++:n runtimen puutttumisesta. Testasin tämänkin asian. Poistin VC++ runtimen, valitti puuttuvaa dll:ää ja kun asensin sen, pysyi ongelma samana. Tuon kyseisen VC++ runtimen asensin jo silloin ekoilla kerroilla, ja silloin ongelma hävisi.. Nyt ei tunnu häviävän.
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 »

Minullakin muuten valittaa VC++ runtimen puuttumisesta (hieman myöhässä latailen cbe:n uusinta versiota :D ):
Ohjelma ei voi käynnistyä, koska MSVCP100D.dll puuttuu tietokoneesta. Yritä korjata ongelma asentamalla ohjelma uudelleen.
Voiko tämä johtua siitä, että minulla on käytössä 64-bittinen versio ko. runtimesta? Mutta 32-bittistä ei voi ilmeisesti asentaa poistamatta 64-bittistä:
A newer version of Microsoft Visual C++ 2010 Redistributable has been detected on the machine.
EDIT:

Mutta tämä ilmenee vain debug-versiolla. Release toimii hyvin?

Jos tämä viesti on kirjoitettu alle 5 min. sitten, päivitä sivu. Se on saattanut jo muuttua :roll:
Image
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Latexi95 »

axu wrote:Minullakin muuten valittaa VC++ runtimen puuttumisesta (hieman myöhässä latailen cbe:n uusinta versiota :D ):
Ohjelma ei voi käynnistyä, koska MSVCP100D.dll puuttuu tietokoneesta. Yritä korjata ongelma asentamalla ohjelma uudelleen.
Voiko tämä johtua siitä, että minulla on käytössä 64-bittinen versio ko. runtimesta? Mutta 32-bittistä ei voi ilmeisesti asentaa poistamatta 64-bittistä:
A newer version of Microsoft Visual C++ 2010 Redistributable has been detected on the machine.
EDIT:

Mutta tämä ilmenee vain debug-versiolla. Release toimii hyvin?

Ai niin tietysti. Debug versiota ei enää oikein voi käyttää kun debug versio c-runtimesta ei tule redistributablen mukana. Pitää muuttaa kääntämisasetuksia seuraavan julkaisun yhteydessä, että julkaistava debug versio käännetään myös release version c-runtimellä.
User avatar
Misthema
Advanced Member
Posts: 312
Joined: Mon Aug 27, 2007 8:32 pm
Location: Turku, Finland
Contact:

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Misthema »

Uppouduin ajatuksiin muutamaksi tunniksi ja...
Image

Uusi:

Image
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by skorpioni-cb »

Misthema wrote:Uppouduin ajatuksiin muutamaksi tunniksi ja...
Image

Uusi:

Image
Hienot on, ei voi muuta sanoa, tai voi
Korjatkaa fulscreeniin meno, p*rkele
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.
MaGetzUb
Guru
Posts: 1715
Joined: Sun Sep 09, 2007 12:35 pm
Location: Alavus

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by MaGetzUb »

skorpioni-cb wrote:
Misthema wrote:Uppouduin ajatuksiin muutamaksi tunniksi ja...
Image

Uusi:

Image
Hienot on, ei voi muuta sanoa, tai voi
Korjatkaa fulscreeniin meno, p*rkele
Älä hätäile, kaikki kyllä korjaillaan aikanaan. Tässä on nyt kouluja sekä muita projekteja meneillään cbe tiimillä.
Tämmöistä tuli suunniteltua, inspis tuli Mistheman omasta:
Image
Vasemmalle alalle tulisi joku logon/fyysisen objektin tapainen juttu sitten.
Last edited by MaGetzUb on Fri Sep 07, 2012 7:00 pm, edited 1 time in total.
Solar Eclipse
Meneillä olevat Projektit:
We're in a simulation, and God is trying to debug us.
User avatar
Peltsi
Active Member
Posts: 121
Joined: Thu Sep 30, 2010 12:16 pm

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Peltsi »

Mikähän sattuisi olemaan vikana, kun tuntuu että CBE:llä tehdyt ohjelmat pyörivät omalla koneella niin hitaasti ettei niitä ole järkevä edes käyttää. Ainakin tuota SideX:ää olen kokeillut, koko peli pätki.

Kone:
Windows XP SP3
1Gt
Intel Centrino Mobile 1,86Ghz
Intel Mobile 915GM/GMS, 910GML Express Chipset Family

Kone on muutenkin vetelemässä viimeisiään (on ihan oikeasti hidas, ei ole esim. lainkaan outoa että selain jäätyy hetkeksi kun avaa uuden välilehden), mutta CBE:n toimiminen ei ole ollenkaan normaalia (jos vertaa esim. normi CB:llä tehtyihin ohjelmiin).

Ja joku kuitenkin valittaa että asenna uudelleen tms:
Olen hankkimassa uutta konetta, ei ole muutenkaan järkevää tätä enään pitää hengissä mitenkään (ihan ikänsä jne. puolesta) :D
User avatar
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by esa94 »

Peltsi wrote:Mikähän sattuisi olemaan vikana, kun tuntuu että CBE:llä tehdyt ohjelmat pyörivät omalla koneella niin hitaasti ettei niitä ole järkevä edes käyttää. Ainakin tuota SideX:ää olen kokeillut, koko peli pätki.

Kone:
Windows XP SP3
1Gt
Intel Centrino Mobile 1,86Ghz
Intel Mobile 915GM/GMS, 910GML Express Chipset Family

Kone on muutenkin vetelemässä viimeisiään (on ihan oikeasti hidas, ei ole esim. lainkaan outoa että selain jäätyy hetkeksi kun avaa uuden välilehden), mutta CBE:n toimiminen ei ole ollenkaan normaalia (jos vertaa esim. normi CB:llä tehtyihin ohjelmiin).

Ja joku kuitenkin valittaa että asenna uudelleen tms:
Olen hankkimassa uutta konetta, ei ole muutenkaan järkevää tätä enään pitää hengissä mitenkään (ihan ikänsä jne. puolesta) :D
Asenna näyttiksen ajurit
naputtelija
Devoted Member
Posts: 718
Joined: Wed Nov 03, 2010 7:56 pm
Location: Joku piste pohjoisessa.

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by naputtelija »

esa94 wrote:
Peltsi wrote:Mikähän sattuisi olemaan vikana, kun tuntuu että CBE:llä tehdyt ohjelmat pyörivät omalla koneella niin hitaasti ettei niitä ole järkevä edes käyttää. Ainakin tuota SideX:ää olen kokeillut, koko peli pätki.

Kone:
Windows XP SP3
1Gt
Intel Centrino Mobile 1,86Ghz
Intel Mobile 915GM/GMS, 910GML Express Chipset Family

Kone on muutenkin vetelemässä viimeisiään (on ihan oikeasti hidas, ei ole esim. lainkaan outoa että selain jäätyy hetkeksi kun avaa uuden välilehden), mutta CBE:n toimiminen ei ole ollenkaan normaalia (jos vertaa esim. normi CB:llä tehtyihin ohjelmiin).

Ja joku kuitenkin valittaa että asenna uudelleen tms:
Olen hankkimassa uutta konetta, ei ole muutenkaan järkevää tätä enään pitää hengissä mitenkään (ihan ikänsä jne. puolesta) :D
Asenna näyttiksen ajurit
Jep. Jos koneen emo tukee sp3:ta se tod. näk. Tukee myös uusia ajureita.
<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
Peltsi
Active Member
Posts: 121
Joined: Thu Sep 30, 2010 12:16 pm

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Peltsi »

naputtelija wrote:
esa94 wrote: Asenna näyttiksen ajurit
Jep. Jos koneen emo tukee sp3:ta se tod. näk. Tukee myös uusia ajureita.
Asennettu 1-2 vuotta sitten kun oli Jazz Jackrabbitin kanssa ongelmia. Ja en oikein jaksa uskoa että olisi tuolle tullut uusiakaan ajureita, senverran vanhaa rautaa jne. Mutta tarkistan huomenna (nyt siis puhelimella kirjoittelemassa)...

Edit: 5-6 vuotta sitten tulleet viimeisimmät ajurit XP:lle mitä nyt pikaisesti vilkasin. Eli game over tämän kanssa, onneksi ei kauaa tästä tarvi kärsiä :D
User avatar
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by esa94 »

naputtelija wrote:Jos koneen emo tukee sp3:ta se tod. näk. Tukee myös uusia ajureita.
En kyllä yhtään ymmärrä mitä tämä tahtoo nyt sanoa. Voisitko selittää?
naputtelija
Devoted Member
Posts: 718
Joined: Wed Nov 03, 2010 7:56 pm
Location: Joku piste pohjoisessa.

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by naputtelija »

esa94 wrote:
naputtelija wrote:Jos koneen emo tukee sp3:ta se tod. näk. Tukee myös uusia ajureita.
En kyllä yhtään ymmärrä mitä tämä tahtoo nyt sanoa. Voisitko selittää?
OK. Yleensä uusien ajureiden asentamisessa vanhoille koneille on semmoinen vika, että niitä ei tueta emolevytasolla. Sama ongelma on sp3:n asennuksessa. Kuitenkin jos sp3 asentui, voidaan olla varmoja, että emo on tarpeeksi uusi, koska sp3:n emolevyvaatimukset ovat samat kuin win XP uusimpien ajureiden.
<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...
Mikki0000
Member
Posts: 63
Joined: Tue Dec 27, 2011 11:50 pm
Location: Päijät-Häme

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Mikki0000 »

mikä tää runtime on ?
exe tiedosto swf muotoon: Lopetettu
Tervetuloa lukemaan foorumin noloimman käyttäjän viestejä!
Post Reply