cbEnchanted - uudelleenkirjoitettu runtime

Jaa meneillään olevat projektisi tai valmiit pelit muun yhteisön kanssa täällä.
User avatar
valscion
Moderator
Moderator
Posts: 1587
Joined: Thu Dec 06, 2007 8:46 pm
Location: Espoo
Contact:

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by valscion » Fri Jul 20, 2012 11:41 am

Combatti wrote:Olisi kyllä mukava lisä, jos poistettaisin compilerista tuo ominaisuus, että ei tarvitse nimetä ajettavaa tiedostoa tietyllä tavalla, että se ajautuisi.
Eipä ole mahdollista. Emme me mitenkään compileria käännetä itse saatikka tiedetä sen lähdekoodeja. Vanha runtime on CBCompiler.exe-tiedostossa aivan lopussa, joten sen vaihtaminen cbEnchantedin runtimeen on vain bittien vaihtoa. Viimeinen kokonaisluku exessä kertoo, kuinka monta tavua pitää compilerissa kelata taaksepäin että päästään runtimen alkuun - tämän avulla olemme iskeneet paikalle toisen runtimen. Vaikka toistankin itseäni, niin sanon silti tämän uudelleen: Emme voi muuttaa CBCompilerista mitään muuta kuin runtimen. Kääntäjään liittyvät muutosehdotukset eivät kuulu tähän projektiin.
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 4:09 pm
Location: Nurmijärvi, Finland
Contact:

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Konstaduck » Fri Jul 20, 2012 12:22 pm

Onhan GFXModeExists() olennainen osa koodaajaan työkalupakkia, joten miksei silläkin voisi olla hiukan suurempaa prioreettiä?
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: 1587
Joined: Thu Dec 06, 2007 8:46 pm
Location: Espoo
Contact:

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by valscion » Fri Jul 20, 2012 12:55 pm

Konstaduck wrote:Onhan GFXModeExists() olennainen osa koodaajaan työkalupakkia, joten miksei silläkin voisi olla hiukan suurempaa prioreettiä?
Ei se ole. Saat hyvin tehtyä pelin ilman sitä. GFXModeExists() on lähinnä vasta viimeistelyvaiheen hommia.
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 4:09 pm
Location: Nurmijärvi, Finland
Contact:

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Konstaduck » Fri Jul 20, 2012 5:43 pm

Muuten tuli mieleen, lukeeko se nykyinen näyttötila jossain päin rekisteriä? Jos lukee, voisi tehdä funktion NowGFXMode() - joka kertoo nykyisen näyttötilan. cbAPIllahan onnistuu rekisterin lukeminen.
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
Combatti
Active Member
Posts: 101
Joined: Fri Jun 29, 2012 6:23 pm
Location: Kuhmo

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Combatti » Sat Jul 21, 2012 7:15 pm

Konstaduck wrote:Muuten tuli mieleen, lukeeko se nykyinen näyttötila jossain päin rekisteriä? Jos lukee, voisi tehdä funktion NowGFXMode() - joka kertoo nykyisen näyttötilan. cbAPIllahan onnistuu rekisterin lukeminen.
Tuossa nyt ei olisi päätä eikä häntää. Miksi ruveta hakemaan nykyisen näyttötilan tietoja rekisteristä, kun voi saman tehdä nopeamminkin screenheight-ja -width:eillä. Värisyvyyttähän ei voi selvittää, mutta onko sillä loppujen lopuksi väliä? Korjaa, jos tulkitsin ajatuksesi väärin.
~Yhteiskuntaan kyllästynyt koodari.

User avatar
Konstaduck
Advanced Member
Posts: 267
Joined: Sat Dec 17, 2011 4:09 pm
Location: Nurmijärvi, Finland
Contact:

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Konstaduck » Sat Jul 21, 2012 7:30 pm

Combatti wrote:Tuossa nyt ei olisi päätä eikä häntää. Miksi ruveta hakemaan nykyisen näyttötilan tietoja rekisteristä, kun voi saman tehdä nopeamminkin screenheight-ja -width:eillä. Värisyvyyttähän ei voi selvittää, mutta onko sillä loppujen lopuksi väliä? Korjaa, jos tulkitsin ajatuksesi väärin.
Voi että combatti, olet oikeassa! Miksi en tule koskaan ajatelleeksi noin yksinkertaisia vastauksia..? :?
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
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by esa94 » Sat Jul 21, 2012 11:09 pm

Combatti wrote:Värisyvyyttähän ei voi selvittää, mutta onko sillä loppujen lopuksi väliä?
Huomaa kyllä kun joku on elänyt koko tietokone-elämänsä 32-bittisten värien aikakautta n_n

User avatar
Sami The Great
Advanced Member
Posts: 485
Joined: Tue Aug 28, 2007 4:15 pm
Contact:

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Sami The Great » Sun Jul 22, 2012 4:28 pm

ScreenWidth ja-Height palauttaa tietääkseni luodun ikkunan koon. Nykyisen näyttötilan saamisella varmaankin haettiin sitä, että ennen, kun ikkuna luodaan, saadaan tietoon koko, johon ikkuna asetetaan.
http://www.rockodilegames.com
CoolBasickin käyttäjä vuodesta 2004.

User avatar
Konstaduck
Advanced Member
Posts: 267
Joined: Sat Dec 17, 2011 4:09 pm
Location: Nurmijärvi, Finland
Contact:

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Konstaduck » Sun Jul 22, 2012 5:20 pm

Hmm, totta. Eihän screenwidth ja -height hyödytä yhtään mitään, jos ei tiedetä, tukeeko näyttä tilaa. Siksi GFXModeExists() on keksitty.
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
Combatti
Active Member
Posts: 101
Joined: Fri Jun 29, 2012 6:23 pm
Location: Kuhmo

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Combatti » Sun Jul 22, 2012 7:42 pm

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.
Itse laitan melko usein 800x600 koon. Suuri ja monessa monitorissa tuettu. Löysin rekisteristä arvot MaxResolution ja DefaultSettings.X-ja Yresolution. Hakusanana oli loogisestikin ajateltuna resolution. Saattavathan ne arvot tietenkin olla konekohtaisia.
~Yhteiskuntaan kyllästynyt koodari.

User avatar
Wingman
Devoted Member
Posts: 594
Joined: Tue Sep 30, 2008 4:30 pm
Location: Ruudun toisella puolella

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Wingman » Mon Jul 23, 2012 11:57 am

Combatti wrote:...Saattavathan ne arvot tietenkin olla konekohtaisia.
Eikös juuri tästä syystä ole tuo GFXModeExists()?

Mutta kuten VesQ sanoi, ei se kovin olennainen osa koodausta ole.
- - - -

User avatar
Combatti
Active Member
Posts: 101
Joined: Fri Jun 29, 2012 6:23 pm
Location: Kuhmo

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Combatti » Mon Jul 23, 2012 1:30 pm

Wingman wrote:
Combatti wrote:...Saattavathan ne arvot tietenkin olla konekohtaisia.
Eikös juuri tästä syystä ole tuo GFXModeExists()?

Mutta kuten VesQ sanoi, ei se kovin olennainen osa koodausta ole.
Hmm, käsittääkseni GFXModeExists:kin lukee tietonsa rekisteristä. Hirtä heti, jos olen väärässä.

Ja Konstaduck vain haluaa käyttää GFXModeExistsiä, vaikkei edes ole kovin olennainen komento.
~Yhteiskuntaan kyllästynyt koodari.

User avatar
valscion
Moderator
Moderator
Posts: 1587
Joined: Thu Dec 06, 2007 8:46 pm
Location: Espoo
Contact:

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by valscion » Mon Jul 23, 2012 1:44 pm

Combatti wrote:Hmm, käsittääkseni GFXModeExists:kin lukee tietonsa rekisteristä. Hirtä heti, jos olen väärässä.

Ja Konstaduck vain haluaa käyttää GFXModeExistsiä, vaikkei edes ole kovin olennainen komento.
En tiedä mistä nykyinen CB hakee tiedon GFXModeExists-funktiossa. cbE ei tietenkään vielä hae tietoa yhtään mistään, koska sitä ei ole vielä toteutettu. Sitten kun se toteutetaan, hakenee se tiedon näytönohjaimelta eikä rekisteristä.

Mutta nyt oikeasti, takaisin topikkiin. GFXModeExistsistä vänkääminen ei enää tässä vaiheessa liity cbEnchantediin. Joten jos jollakulla on vielä tästä aiheesta lisää sanottavaa, sanokoon sen offtopic-ketjussa. Kiitos ja kumarrus.
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
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by esa94 » Tue Jul 24, 2012 1:28 pm

Combatti wrote: Hmm, käsittääkseni GFXModeExists:kin lukee tietonsa rekisteristä. Hirtä heti, jos olen väärässä.

Ja Konstaduck vain haluaa käyttää GFXModeExistsiä, vaikkei edes ole kovin olennainen komento.
Miksi ylipäätään mitään laitteistoon liittyvää tietoa olisi rekisterissä

Ja onhan se.

User avatar
Konstaduck
Advanced Member
Posts: 267
Joined: Sat Dec 17, 2011 4:09 pm
Location: Nurmijärvi, Finland
Contact:

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Konstaduck » Tue Jul 24, 2012 3:51 pm

Combatti wrote:Itse laitan melko usein 800x600 koon. Suuri ja monessa monitorissa tuettu
Anteeksi törkeä offtopic, mutta pakko tähän väliin sanoa, että tuo 800 x 600 on melkoista suttua 1920 x 1080 hd monitorissa...
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...

Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Awaclus » Tue Jul 24, 2012 4:19 pm

Konstaduck wrote:
Combatti wrote:Itse laitan melko usein 800x600 koon. Suuri ja monessa monitorissa tuettu
Anteeksi törkeä offtopic, mutta pakko tähän väliin sanoa, että tuo 800 x 600 on melkoista suttua 1920 x 1080 hd monitorissa...
Riippuu monitorin koosta enemmän kuin resoluutiosta.

User avatar
Pettis
The Evil Admin
The Evil Admin
Posts: 1042
Joined: Sun Aug 26, 2007 5:08 pm
Location: Rovaniemi
Contact:

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Pettis » Tue Jul 24, 2012 4:22 pm

Attention:

Nyt loppuu se offtopic

Varoituksia on jaettu.
CB Repository .com - Sinne ne kaikki koodit menneet on!
MunVerkko - Ilmaisia foorumeita ja blogeja

User avatar
Latexi95
Guru
Posts: 1164
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by Latexi95 » Wed Jul 25, 2012 10:56 pm

Viltzun kokeiluiden tuloksena löytyi muutamia rajoituksia koskien cbE:n ääntentoistoa:
xm-tiedostoja voi toistaa vain suoraan tiedostosta eikä niitä voi ladata LoadSoundilla ja wav-tiedostoista on tuettuna vain 8/16bittiset pcm wavit. Wav tiedostot kannattaa siis pakata vaikka flaciksi tai ogg:ksi. Eli varsinkin tuo jälkimmäinen saattaa aiheuttaa "PlaySound() failed - Could not load audio stream" tai "LoadSound() failed!" virheilmoituksia mikäli tiedosto ei ole tuettu.

User avatar
skinkken
Advanced Member
Posts: 453
Joined: Sat Sep 01, 2007 4:00 pm
Location: Helsinki

Re: cbEnchanted - uudelleenkirjoitettu runtime

Post by skinkken » Thu Jul 26, 2012 4:36 pm

Idea: Resoluution puolitus, esim. 800x600 --> 400x300. Koska nykyisillä näytöillä pienimmät resoluutiot eivät toimi kokoruututilassa. Esimerkin 400x300 olisikin oikeasti 800x600 doublepikselinä, 800x600 taas toimii useimmilla näytöillä. Ohjelma toimisi samoin kuin 400x300 resoluutiossa, eikä tarvisi huolehtia mistään doublepixel efekteistä. Tokihan nykyisellään voi tehdä saman jutun copyboxilla ja kokoruudulle skaalaamalla, mutta kameran paikka, ruudulle piirrettävä teksti ja hiiren sijainti (mitä muita?) eivät toimisi yhtä helposti.
Valmiit pelit: House of Horrors , Battle Zone , Über Ball , Itdoti , Space Chaos , Bloxxplosives
Projekti jota teen ehkä joskus vielä: viewtopic.php?f=11&t=2636 <-- Tämä rivi päivitetty 14.1.2013

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 » Fri Jul 27, 2012 10:18 am

Jostain syystä kustom-funkkareissa on jotain häikäkkää häppää... Transform-funkkarit ei enää päde primitiiveihin jos on laitettu DrawToWorld päälle, ja kuvat eivät edes piirry maailman koordinaatteihin.
Myöskin transform-funkkareiden tapa vaikuttaa ruutuun on jotain aiiiivan uutta; ne vaikuttaa koko ruutuun, eivätkä vain seuraaviin piirtoihin... Olisikohan kaikkien mielestä parempi laittaa nämä funktiot vaikuttamaan vain piirtokomentoihin, kuviin ja muihin ruudulle läntättäviin, eikä koko ruutuun... Eli siis skaalauskin vaikuttaisi esim. palloon niin, ettei tämän koordinaatit mene päin seiniä, mutta silti pallosta tulee suurempi skaalauksen ansiosta. Koordinaatit siis pitäisi laskea uudelleen skaalauksen ja pyörityksen jälkeen, että kuvat sun muut pyörisivät ja skaalautuisivat paikoillaan.

JA VIELÄ: funktioiden pitäisi säätää VAIN niitä asioita joita funktio ottaa vastaan, eli jos laitan rotaatiota -> piirrän kuvan -> säädän skaalaa -> piirrän palloja, niin tässä tapauksessa rotaatio häviää palloilta, vaikka kaiken logiikan mukaan, se on säädetty johonkin muuhun kulmaan kuin nollaan, johon tämä SKAALAUS funktio sen asettaa. Meh. Meinaa jo hermot mennä =D Lopetan hyvän sään aikana.

Kiitos ja näkemiin!

Code: Select all

SCREEN  800,600

Const CBE_CUSTOM_FUNCTION_GROUP = 1

img = LoadImage("media/animcow.bmp")

a_plus = 360/18

'Tämän jos laittaa päälle,
' palloihin ei enää vaikuta
' Transform-funktiot... o_O?
'DrawToWorld ON


Repeat
    
    a#=Timer()/50.0
    scale# = 1.5+Sin(a*4)*.5
    
    cbeTransformBuild(0,0,scale,scale,0+Sin(a*5)*45)
    DrawImage img,40,40
    
    cbeTransformBuild(0,0,scale,scale,0+Sin(a*5)*45)
    
    For i=0 To 17
        x#= 200.0+Cos(a+a_plus*i)*80
        y#= 150.0-Sin(a+a_plus*i)*80
        Circle x,y,20
    Next i

    cbeTransformReset()
    Text 0,0,FPS()
    
    DrawScreen
Forever


Function cbeTransformBuild(transX#, transY#, scaleX#, scaleY#, angle#)
    group = CBE_CUSTOM_FUNCTION_GROUP
    funcId = 14
EndFunction

Function cbeTransformRotate(angle#)
    group = CBE_CUSTOM_FUNCTION_GROUP
    funcId = 15
EndFunction

Function cbeTransformScale(scaleX#, scaleY#)
    group = CBE_CUSTOM_FUNCTION_GROUP
    funcId = 16
EndFunction

Function cbeTransformTranslate(transX#, transY#)
    group = CBE_CUSTOM_FUNCTION_GROUP
    funcId = 17
EndFunction

Function cbeTransformReset()
    group = CBE_CUSTOM_FUNCTION_GROUP
    funcId = 18
EndFunction

Post Reply