pouët.net

Paakkuli 2.14 by ISO

                     ,-------------------------------.
                     |         Paakkuli 2.14         |
                     |          -dokumentit          |
                     `-------------------------------'



              Kerrataan yleiset asiat
              -----------------------


Paakkuli on ISOn ohjelmointikieli, lahja niille ISOn jäsenille, jotka
haluaisivat tehdä omia demoja mutteivät osaa tahi jaksa millään vaikealla
kielellä. Paakkuli on helppo ja nopea kieli, sillä se keskittyy demon
teossa tärkeisiin asioihin eikä jumita merkityksettömissä.

Idea on se, että teet lähdekooditiedoston, yleensä normaalilla teksti
editorilla. Sitten talletat sen esimerkiksi nimellä 'SORSA.PKL'. muistat
nimen ja komennat: 'PAAKUTA.EXE SORSA.PKL'. Tämä Paakuta on kääntäjä,
joka tekee lähdekoodistasi konekielisen ajettavat EXE-tiedoston.

Kun sitten sijoitat demosi tarvitsemat musiikki- ja kuvatiedostot samaan
hakemistoon EXE-tiedoston kanssa, on demosi valmis. Muita Paakkulin
tiedostoja demosi ei sitten enää tarvitsekaan, ei edes lähdekooditiedostoa.
Poikkeus on kuitenkin PLUG-IN-tiedostot.

Kääntäjä ei valita lähdekoodissa olevista virheistä. Tämän takia ole siis
todella tarkka, että teet lähdekoodisi virheettömäksi. Demo toimii väärin
pienimmistäkin virheistä. Vielä todennäköisempää on että demo jumittaa
koneen kokonaan.

Paakkuli. Jos on kysyttävää/sanottavaa, E-Mailini on: paavi@gnwmail.com



              Uutta, lukekaa tämä!
              --------------------


Uutta Paakkulin versiossa 2.14: BMP-tuki. Käytä kuvanlatuskomentoja aivan
normaalisti, kuvadata-tiedostojen kanssa tai ilman, sillä valmis EXE osaa
itse tarkistaa, onko kyseessä PCX- vai BMP-tiedosto. Huomautus: Kuten PCXät,
saa BMPtkin olla vain formaatissa 320x200x256(color).

Uutta Paakkulin versiossa 2.14: Uusia lopputekstikomentoja. Nämä on
esitelty tiedostossa 'UUSTEKST.NFO'.

Versio 2.0:
Kieli ei tarvitse enää aloitustagia. Merkit '#' ja '$' eivät ole enää
varattuja, joten niitä voi käyttää. Poikkeus on lopputeksti: Tämän
lopetustagina on merkki '$' mutta tässäkin tapauksessa merkin voi
muuttaa haluamakseen. Ainoa varattu merkki on enää ASC 0, josta ei
tarvitse kantaa huolta, sillä sitä ei normaalioloissa edes pysty
käyttämään. Uutta on myös se, että lähdekooditiedosto saa nyt olla
jopa 40000 tavun kokoinen. Uutta sekin, että kuvat ladataan nyt aluksi
muistiin, josta ne on omin käsin kopioitava ruudulle. Tähän löytyy
uudet komennot.

Kieli ei ole yhteensopiva Paakkuli 1.0:n kanssa. Tästä lähtien kuitenkin
pyrimme pitämään tulevat versiot yhteensopivina tämän version kanssa.
Kieli on uusittu siten, että komennot ovat 4 merkkiä pitkiä, ja komentojen
jälkeen tulee välilyönti ennen parametrejä. Parametrittömiin komentoihin
ei anneta välilyöntiä. Käytä kaikessa pieniä kirjaimia! Tiedostossa
'KOMENNOT.NFO' on lyhyt yhteenveto kielen komennoista, mutta komennot
esitellään perusteellisemmin myöhemmin tässä dokumentissa.

Voit käyttää kahdenlaisia lisuketiedostoja: S3M musiikeissa ja PCX
kuvissa (Tulevissa versioissa IPF). S3M huom: Musan voi tehdä vaikkapa
Impulse Trackerilläkin, ja savettaa S3M:ksi, mutta se täytyy vielä
ladata Scream Trackerillä ja savettaa vaikkapa heti päälle, jotta
se toimisi Paakkulissa. PCX huom: Kuvan tulee olla 256 värinen, color
formaatissa (grey format ei kelpaa, mutta color-formaatin kuvat voivat
olla harmaasävyisiä joten ei haittaa), eli 8 bittisiä. Resoluutiona
320x200, eli MCGA.

Kuvadata-tiedostot. Keino vähentää demon tarvitsemia tiedostoja
yhdistämällä kuvatiedostoja yhdeksi ja samaksi data-tiedostoksi.
Paakkulissa on nyt uusia komentoja, joilla näitä voi sitten lukea ja
käyttää. Kuvat luetaan siinä järjestyksessä, kun ne ovat kuvadata-
tiedostoon laitettu. Helpoin tapa tehdä kuvadata-tiedostoja on mukana
tuleva TEEDATA-ohjelma. Esimerkki: 'TEEDATA.EXE KUVA1.PCX KUVA2.PCX
KUVA3.BMP KUVADATA.DAT'. Tämä esimerkkimme kopioi kolme ensimmäistä
kuvatiedostoa peräkkäin neljänteen tiedostoon.

Jokaiselle riville vain yksi komento, tyhjiä välirivejä ei saa jättää.
Vain lopetuskomennon jälkeen saa olla mitä tahansa paskaa, esimerkiksi
huomautuksia. Komentojen jälkeen ei saa olla yhtään välilyönti-merkkiä,
vaan normaali rivinvaihto täytyy seurata heti (return: ASC 13, ASC 10).
Jos tuottaa ongelmia, niin mukana on esimerkki-koodi (tiedosto nimeltä
'EXAMPLE.PKL'). Tähdellä (*) merkityt komennot ovat helppoja: Käytä
näitä, jos Paakkuli on sinulle muuten liian vaikea kieli. Helpoimpia
komentoja esitellään esimerkki-koodissa 'EASIES.PKL'.

Esimerkit ovat mukana tulevassa ZIP-paketissa 'ABOUT.ZIP'.

FADE-efektit eivät vielä välttämättä toimi täysin saumattomasti. Olkoon
ne siis nyt betatestauksessa, kertokaa mulle jos ne ei toimi tai silleen.
Ite en jaksa testata. Ne oli muutenki vittumaisinta tehä tähän Paakkuliin,
ja varsinki ku pitäis miettiä sellasia asioita ku "fade from whitessa siis
pitäs olla paletti JUURI PAL2-muuttujassa eikä 1:sessä ja miten se onnistuu
jos sitte feidaaki mustaan jne." EI TOLLASIA JAKSA AJATELLA. Pää muutenkin
ihan täysi!

Tulossa seuraaviin versioihin: Tuki IPF-kuvaformaatille, paljon lisää        |
efektejä, Paakkuli-kielen kirjoittamiselle suunniteltu virheistä             |
ilmoittava editori, tekstitysmahdollisuus sekä MCGA- että tekstitilalle,     |
paremmat ruudunkaappausrutiinit, tuki BIN-tekstimodeformaatille, ym. ym,     |
Tulossa myös 100% toimiva DEBUG -ohjelma Paakkulille!                        |

Viime lisäys: 'PAK_TEK.NFO' -tiedostoon on lisätty yksityiskohtainen tieto
ja vastaus apuun, jos tekstiedikastasi johtuen demot ei toimi. Aika turha
mutta "tapasimpa erään edikan joka oli paska" -Jokainen/ISO.



              Paakkuli-kielen komennot
              ------------------------


uses    Lisää plug-in-moduuleja Paakkuliin. Parametriksi plug-in-moduulin
        tiedostonnimi. Nämä käskyt täytyy sijoittaa ensimmäisiksi lähde-
        koodiin. Moduulit ovat normaalisti '.PIG' -päätteisiä.
mode *  Vaihtaa näyttötilaa. Parametriksi joko 0 tai 1: 0 on tekstitila
        80x25 merkkiä, 1 on MCGA-grafiikkatila 320x200 merkkiä 256 värillä.
open    Avaa kuvadata-tiedoston. Parametriksi tiedoston nimi.
shut    Sulkee parhaillaan auki olevan kuvadata-tiedoston. Sulje aina,
        käytön jälkeen, ennen uuden avaamista tai demon loppumista. Ei
        parametrejä.
next    Lataa seuraavan PCX- tai BMP-kuvan auki olevasta kuvadata-
        tiedostosta muistiin. Ei parametrejä.
show    Lataa yksittäisen PCX- tai BMP-kuvan (ei kuvadata-tiedostossa
        olevan kuvan) muistiin. Parametriksi kuvatiedoston nimi.
flip    Kopioi kuvan muistista ruudulle. Ei parametrejä.
pale    Asettaa muistissa olevan kuvan paletin. Ei parametrejä.
easy *  Yksinkertaisin kuvanlatauskomento: Parametriksi vain kuvatiedoston
        nimi. Ikäänkuin yhdistetty SHOW, FLIP ja PALE.
fafb    Liu'uttaa paletin mustasta muistissa olevan kuvan palettiin.
        Parametriksi liu'utuksen nopeus (00-99), 00 on nopein ja 99 hitain.
fatb    Liu'uttaa paletin muistissa olevan kuvan paletista mustaan.
        Parametriksi liu'utuksen nopeus (00-99), 00 on nopein ja 99 hitain.
fafw    Liu'uttaa paletin valkoisesta muistissa olevan kuvan palettiin.
        Parametriksi liu'utuksen nopeus (00-99), 00 on nopein ja 99 hitain.
fatw    Liu'uttaa paletin muistissa olevan kuvan paletista valkoiseen.
        Parametriksi liu'utuksen nopeus (00-99), 00 on nopein ja 99 hitain.
dark *  Pyyhkii ruudun mustaksi ja asettaa paletin värit mustiksi. Ei
        parametrejä.
lamp    Pyyhkii ruudun valkoiseksi ja asettaa paletin värit valkoisiksi. Ei
        parametrejä. Huom: Sama kuin entinen 'lght'-komento!
play *  Aloittaa S3M-musiikin soiton. Parametriksi musiikkitiedoston nimi.
        Huom: Sama kuin entinen 'ps3m'-komento!
stop *  Lopettaa parhaillaan soivan S3M-musiikin soiton. Ei parametrejä.
wait *  Odotus musiikin mukaan. Odottaa, kunnes musiikki saavuttaa tietyn
        kohdan. Parametriksi annetaan tämä kohta. Kohta muodostuu musiikin
        POSITION:sta ja ROW:sta; tiedät mitä nämä ovat jos olet saanut
        musiikin väsättyä. Positionin numero väliltä (00-99) ja Rowin
        numero väliltä (00-63). Näitä ei enää eroteta pilkulla kuten
        Paakkuli 1.0:ssa.
waef    Kuten äsken, mutta tekee samalla efektiä kun odottaa musiikin
        tiettyä kohtaa. Parametri muodostetaan näin: Musiikin kohta aivan
        kuten äskeisessä komennossa, sen jälkeen pilkku ja sitten efektin
        numero (00-99) ja efektin parametri (00-99). Efektit esitellään
        myöhemmin tässä dokumentissa ja yleisesti tiedostossa 'KOMENNOT.DOC'.
        Tämän komennon muoto kannattaa tarkistaa tiedostosta 'EXAMPLE.PKL',
        jotta käytät tätä varmasti oikein. Käytä tämän efektin kanssa
        kuvanlatausta mieluiten siten, että uusi paletti ladataan aina
        efektinkäytön jälkeen, jos efekti on palettiamuuttava.
time    Odotus ajan mukaan. Parametriksi aika millisekunteina väliltä
        0000-9999. Tähän aikaan demo lisää yhden millisekuntin, joten
        oikea aika on väliltä 0001-10000. Muista, että 1000 millisekuntia
        on yksi sekunti.
boot    Boottaa koneen. Kyseessä on lämmin boottaus. Ei parametrejä.
nop!    Hyppää seuraavaan komentoon. Ei parametrejä.
end! *  Lopeta koodisi tähän tai seuraavaan komentoon. Ei parametrejä.
ent!    Kuten äsken, mutta lopputekstien myötä. Katso tiedostosta
        'UUSTEKST.NFO' yksityiskohdat ja parametrit.



              Paakkuli-kielen efektit
              -----------------------


  00    VÄLKKYMINEN. Kaikki värit välkkyvät valkoisella. Arvoksi nopeus:
        xx0+10 (10->1000), eli 00 on nopein ja 99 on hitain.
  01    VÄLKKYMINEN. Kaikki värit paitsi 0-väri (paletin ensimmäinen väri)
        välkkyvät valkoisella. arvoksi nopeus: xx0+10 (10->1000),
        eli 00 on nopein ja 99 on hitain.
  02    VÄLKKYMINEN. Kaikki värit välkkyvät 255-värillä (paletin
        viimeisellä värillä). arvoksi nopeus: xx0+10 (10->1000), eli 00 on
        nopein ja 99 on hitain.
  03    VÄLKKYMINEN. Kaikki värit paitsi 0-väri (paletin ensimmäinen väri)
        välkkyvät 255-värillä (paletin viimeisellä värillä). arvoksi nopeus:
        xx0+10 (10->1000), eli 00 on nopein ja 99 on hitain.
  04    PALETIN SCROLLAUS. Arvoksi nopeus: xx0+10 (10->1000), eli 00 on
        nopein ja 99 on hitain.
  05    PALETIN SCROLLAUS, mutta ei scrollaa 0-väriä (paletin ensimmäinen
        väri). Arvoksi nopeus: xx0+10 (10->1000), eli 00 on nopein ja 99
        on hitain.