vapaasti käytettävät kartat.
-
- Advanced Member
- Posts: 364
- Joined: Wed Dec 03, 2008 3:48 pm
- Location: Turku
vapaasti käytettävät kartat.
Ajattelin tehdä tämän tänne.
Periaate on aika sama kuin ketjussa "Vapaasti käytettävät kuvat", mutta tänne saa laittaakin vapaasti käytettäviä tile-mappeja.
Periaate on aika sama kuin ketjussa "Vapaasti käytettävät kuvat", mutta tänne saa laittaakin vapaasti käytettäviä tile-mappeja.
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: vapaasti käytettävät kartat.
Yleensä tilekartat pitää räätälöidä peliä varten sekä tiilien koon, tilesetin, pelimekaniikan ja taustatarinan mukaan, joten en usko, että tämä ketju saa hirveästi suosiota. IMO.skorpioni-cb wrote:Ajattelin tehdä tämän tänne.
Periaate on aika sama kuin ketjussa "Vapaasti käytettävät kuvat", mutta tänne saa laittaakin vapaasti käytettäviä tile-mappeja.
-
- Forum Veteran
- Posts: 2396
- Joined: Tue Aug 28, 2007 4:20 pm
Re: vapaasti käytettävät kartat.
Kas tässä.
Code: Select all
------------------------
|# # # #
| ##### #####
| # ### #*###
| ##### #####
| ### ################ #
| ######## *## *######|#
| ####################|#
| ####################|#
| ######### #######|#
| ######### #######|#
| ######### *|######|#
| ####|------|
| XXXX
| XXXX
Re: vapaasti käytettävät kartat.
Ihan hyvähän tämä on, mutta esa94:n mainitsemat ongelmat on kyllä tosia. Mutta kaksi ensimmäistä menee sillä, että käytetään cb:n omaa tilesettiä tai laitetaan kylkiäisenä mukaan ja tilen kokoon minä olen kehittänyt funktion:
Tallentamista olenkin pohtinut kun minulla ei ole Tilesteriä eikä sen manuaalia koneella, niin en oikein pääse .til formaatin "sisälle".
Code: Select all
Function ChangeMapProperties(Map, tileset, tileW, tileH, sizeW = 0, sizeH = 0)
MapW = MapWidth()
MapH = MapHeight()
ReDim MapArray(Int(Max(MapW, sizeW)) - 1, Int(Max(MapH, sizeH)) - 1, 3)
If sizeW = 0 Then sizeW = MapW
If sizeH = 0 Then sizeH = MapH
For x = 1 To MapW
For y = 1 To MapH
For l = 0 To 3
MapArray(x-1,y-1,l)=GetMap2(l,x,y)
Next l
Next y
Next x
DeleteObject Map
Map = MakeMap(sizeW, sizeH, tileW, tileH)
PaintObject Map, tileset
For x = 1 To sizeW
For y = 1 To sizeH
For l = 0 To 3
EditMap Map, l, x, y, MapArray(x - 1, y - 1, l)
Next l
Next y
Next x
End Function
Re: vapaasti käytettävät kartat.
Til-formaatista on olemassa dokumentaatio. En muista missä, tosin. Ei kuukkelikaan.axu wrote:Ihan hyvähän tämä on, mutta esa94:n mainitsemat ongelmat on kyllä tosia. Mutta kaksi ensimmäistä menee sillä, että käytetään cb:n omaa tilesettiä tai laitetaan kylkiäisenä mukaan ja tilen kokoon minä olen kehittänyt funktion:Tallentamista olenkin pohtinut kun minulla ei ole Tilesteriä eikä sen manuaalia koneella, niin en oikein pääse .til formaatin "sisälle".Code: Select all
Function ChangeMapProperties(Map, tileset, tileW, tileH, sizeW = 0, sizeH = 0) MapW = MapWidth() MapH = MapHeight() ReDim MapArray(Int(Max(MapW, sizeW)) - 1, Int(Max(MapH, sizeH)) - 1, 3) If sizeW = 0 Then sizeW = MapW If sizeH = 0 Then sizeH = MapH For x = 1 To MapW For y = 1 To MapH For l = 0 To 3 MapArray(x-1,y-1,l)=GetMap2(l,x,y) Next l Next y Next x DeleteObject Map Map = MakeMap(sizeW, sizeH, tileW, tileH) PaintObject Map, tileset For x = 1 To sizeW For y = 1 To sizeH For l = 0 To 3 EditMap Map, l, x, y, MapArray(x - 1, y - 1, l) Next l Next y Next x End Function
Re: vapaasti käytettävät kartat.
Til formaatin dokumentaatio on kuulemma tilesterin manuaalissa, voisko joku lähettää. Muistan kyllä lukeneeni jotain kattavaa selitystä siitä, kuinka niitä luetaan/tallennetaan, mutta haussa ei ole lykästänyt :/esa94 wrote:Til-formaatista on olemassa dokumentaatio. En muista missä, tosin. Ei kuukkelikaan.axu wrote:Ihan hyvähän tämä on, mutta esa94:n mainitsemat ongelmat on kyllä tosia. Mutta kaksi ensimmäistä menee sillä, että käytetään cb:n omaa tilesettiä tai laitetaan kylkiäisenä mukaan ja tilen kokoon minä olen kehittänyt funktion:Tallentamista olenkin pohtinut kun minulla ei ole Tilesteriä eikä sen manuaalia koneella, niin en oikein pääse .til formaatin "sisälle".Code: Select all
Function ChangeMapProperties(Map, tileset, tileW, tileH, sizeW = 0, sizeH = 0) MapW = MapWidth() MapH = MapHeight() ReDim MapArray(Int(Max(MapW, sizeW)) - 1, Int(Max(MapH, sizeH)) - 1, 3) If sizeW = 0 Then sizeW = MapW If sizeH = 0 Then sizeH = MapH For x = 1 To MapW For y = 1 To MapH For l = 0 To 3 MapArray(x-1,y-1,l)=GetMap2(l,x,y) Next l Next y Next x DeleteObject Map Map = MakeMap(sizeW, sizeH, tileW, tileH) PaintObject Map, tileset For x = 1 To sizeW For y = 1 To sizeH For l = 0 To 3 EditMap Map, l, x, y, MapArray(x - 1, y - 1, l) Next l Next y Next x End Function
EDIT:
Niin, en tietenkään kyselisi missä tilesterin manuaali on, jos minulla olisi se koneella
viewtopic.php?f=10&t=1672&start=400#p31001
Tilesteriäkään kun ei voi ladata ilman että cb tulee mukana
Last edited by axu on Sat Aug 15, 2009 10:29 am, edited 1 time in total.
Re: vapaasti käytettävät kartat.
/Program Files/Tilester/Help/eng12.html
CoolBasic henkilökuntaa
Kehittäjä
CoolBasic Classic
Kehittäjä
CoolBasic Classic
Re: vapaasti käytettävät kartat.
Tässäpä tuo til-formaatin dokumentaatio: (code-tageissa, jotta viesti ei veny turhia)
Tilester/Help/fin12.html wrote:Code: Select all
Sinun tulee tietää kuinka luet tiedostosta: # tavuja (Visual Basic Byte, C/C++ Char) # 4 tavun kokonaislukuja (Visual Basic Long, C/C++ Integer) # 4 tavun liukulukuja (Visual Basic Single, C/C++ Float) Ensimmäiset 4 tavua Ovat Tilesterin tiedostoformaatin headerit. Ts. ne kertovat, että kyseessä on oikea Tilester 1.3 -tiedosto. Tavut ovat: 23, 179, 243 ja 56. Seuraavat 4 tavua Liukuluku. Tilester versio. Pitäisi olla 1.3. Seuraavat 256 tavua Sekalaista. Tähän on tarkoitus tallentaa copyright ja kommentit. Koska Tilester ei toistaiseksi tallenna sellaista tietoa, nämä ovat lähinnä turhaa tilaa. Voit käyttää sitä omiin asetuksiisi. Seuraavat 256 tavua Tilesterin omia asetuksia. Tilester 1.3 ei vielä käytä tätä tilaa. Et tee tällä tiedolla mitään. Seuraava 1 tavu Byte Maskivärin RED-komponentti. Seuraava 1 tavu Byte Maskivärin GREEN-komponentti. Seuraava 1 tavu Byte Maskivärin BLUE-komponentti. Seuraava 1 tavu Byte Tämä on aina nolla. Seuraavat 40 tavua Lisäasetuksia. Tilester 1.3 ei vielä käytä tätä tilaa. Et tee tällä tiedolla mitään. Tästä alkaa varsinainen karttadata. Jos haluat hypätä tänne suoraan, käytä SeekFile 564 (olettaen, että ensimmäinen on nolla) Seuraavat 256 tavua Kartassa käytetty tilesetti. Merkkijono, lue tavu tavulta, kunnes tulee tavu nolla. Homma jatkuu kohdasta SeekFile 820 (jos nolla on ensimmäinen). Ts. lue kaikki 256 merkkiä, mutta vain merkit ennen nollatavua kuuluvat merkkijonoon. Seuraavat 4 tavua Kokonaisluku. Montako tileä tilesettiin oli tallennettu. Seuraavat 4 tavua Kokonaisluku. Tilen leveys pikseleinä. Seuraavat 4 tavua Kokonaisluku. Tilen korkeus pikseleinä. Seuraavat 4 tavua Kokonaisluku. Kartan leveys tileinä. Seuraavat 4 tavua Kokonaisluku. Kartan korkeus tileinä. Tästä alkaa Kerrosten data... Seuraavat 4 tavua Tarkistustavut, että homma menee niin kuin pitää. Tavut 254, 45, 12 ja 166 varmistavat, että seuraavaksi alkaa kerroksen 0 data. Seuraavat LEVEYS * KORKEUS kertaa Luetaan 4 tavun kokonaisulukuja seuraavasti: For y=1 To KORKEUS For x=1 To LEVEYS Tilemap(0,x,y)=ReadInteger(file) Next Next Seuraavat 4 tavua Tarkistustavut, että homma menee niin kuin pitää. Tavut 253, 44, 11 ja 165 varmistavat, että seuraavaksi alkaa kerroksen 1 data. Seuraavat LEVEYS * KORKEUS kertaa Luetaan 4 tavun kokonaisulukuja seuraavasti: For y=1 To KORKEUS For x=1 To LEVEYS Tilemap(1,x,y)=ReadInteger(file) Next Next Seuraavat 4 tavua Tarkistustavut, että homma menee niin kuin pitää. Tavut 252, 43, 10 ja 164 varmistavat, että seuraavaksi alkaa kerroksen 2 data. Seuraavat LEVEYS * KORKEUS kertaa Luetaan 4 tavun kokonaisulukuja seuraavasti: For y=1 To KORKEUS For x=1 To LEVEYS Tilemap(2,x,y)=ReadInteger(file) Next Next Seuraavat 4 tavua Tarkistustavut, että homma menee niin kuin pitää. Tavut 251, 42, 9 ja 163 varmistavat, että seuraavaksi alkaa kerroksen 3 data. Seuraavat LEVEYS * KORKEUS kertaa Luetaan 4 tavun kokonaisulukuja seuraavasti: For y=1 To KORKEUS For x=1 To LEVEYS Tilemap(3,x,y)=ReadInteger(file) Next Next Seuraavat 4 tavua Tarkistustavut, että homma menee niin kuin pitää. Tavut 250, 41, 8 ja 162 varmistavat, että seuraavaksi alkaa animaatiodata. Seuraavat TILEJEN_LUKUMÄÄRÄ kertaa Luetaan 4 tavun kokonaisulukuja seuraavasti: For tile=1 To TILEJEN_MÄÄRÄ ANIM_PITUUS(tile)=ReadInteger(file) ANIM_HITAUS(tile)=ReadInteger(file) Next ESIMERKKIKOODI: BASIC-kieli Function OPENTILESTER13(fN$) f=ReadFile(fN) SeekFile (f,4) version#=ReadFloat(f) If version#<=0 Or version#>=2 Then MSGBOX (1,"Not valid Tilester file."):Return 0 SeekFile (f,520) mr=ReadByte(f) mg=ReadByte(f) mb=ReadByte(f) If ReadByte(f)>0 Then MSGBOX (1,"Not valid Tilester file.","File invalid."):Return 0 SeekFile (f,564) tsn$="" For i=1 To 256 temp=ReadByte(f) If temp>0 Then tsn$=tsn$+Chr(temp) Else Exit Next SeekFile (f,820) tiles=ReadInt(f) If Tiles<=0 Then MSGBOX (1,"Not valid Tilester file.","File invalid."):Return 0 TW=ReadInt(f) TH=ReadInt(f) If TW*TH<=0 Then MSGBOX (1,"Not valid Tilester file.","File invalid."):Return 0 WW=ReadInt(f) WH=ReadInt(f) If WW*WH<=0 Then MSGBOX (1,"Not valid Tilester file.","File invalid."):Return 0 If ReadByte(f)<>254 Then MSGBOX (1,"Not valid Tilester file.","File invalid."):Return 0 If ReadByte(f)<>45 Then MSGBOX (1,"Not valid Tilester file.","File invalid."):Return 0 If ReadByte(f)<>12 Then MSGBOX (1,"Not valid Tilester file.","File invalid."):Return 0 If ReadByte(f)<>166 Then MSGBOX (1,"Not valid Tilester file.","File invalid."):Return 0 For y=1 To WH For x=1 To WW Tilemap(0,x,y)=ReadInt(f) Next Next If ReadByte(f)<>253 Then MSGBOX (1,"Not valid Tilester file.","File invalid."):Return 0 If ReadByte(f)<>44 Then MSGBOX (1,"Not valid Tilester file.","File invalid."):Return 0 If ReadByte(f)<>11 Then MSGBOX (1,"Not valid Tilester file.","File invalid."):Return 0 If ReadByte(f)<>165 Then MSGBOX (1,"Not valid Tilester file.","File invalid."):Return 0 For y=1 To WH For x=1 To WW Tilemap(1,x,y)=ReadInt(f) Next Next If ReadByte(f)<>252 Then MSGBOX (1,"Not valid Tilester file.","File invalid."):Return 0 If ReadByte(f)<>43 Then MSGBOX (1,"Not valid Tilester file.","File invalid."):Return 0 If ReadByte(f)<>10 Then MSGBOX (1,"Not valid Tilester file.","File invalid."):Return 0 If ReadByte(f)<>164 Then MSGBOX (1,"Not valid Tilester file.","File invalid."):Return 0 For y=1 To WH For x=1 To WW Tilemap(2,x,y)=ReadInt(f) Next Next If ReadByte(f)<>251 Then MSGBOX (1,"Not valid Tilester file.","File invalid."):Return 0 If ReadByte(f)<>42 Then MSGBOX (1,"Not valid Tilester file.","File invalid."):Return 0 If ReadByte(f)<>9 Then MSGBOX (1,"Not valid Tilester file.","File invalid."):Return 0 If ReadByte(f)<>163 Then MSGBOX (1,"Not valid Tilester file.","File invalid."):Return 0 For y=1 To WH For x=1 To WW Tilemap(3,x,y)=ReadInt(f) Next Next If ReadByte(f)<>250 Then MSGBOX (1,"Not valid Tilester file.","File invalid."):Return 0 If ReadByte(f)<>41 Then MSGBOX (1,"Not valid Tilester file.","File invalid."):Return 0 If ReadByte(f)<>8 Then MSGBOX (1,"Not valid Tilester file.","File invalid."):Return 0 If ReadByte(f)<>162 Then MSGBOX (1,"Not valid Tilester file.","File invalid."):Return 0 If LOADTILESET(tsn$)=0 Then MSGBOX (1,"Couldn't load the tileset.") If TOTALTILES<>tiles Then MSGBOX (1,"Warning!","","Tile amount mismatch.") If TOTALTILESTOTALTILES Then Tilemap(0,x,y)=0 If Tilemap(1,x,y)>TOTALTILES Then Tilemap(1,x,y)=0 If Tilemap(2,x,y)>TOTALTILES Then Tilemap(2,x,y)=0 Next Next EndIf For i=1 To TOTALTILES Tileset(i,2)=ReadInt(f) Tileset(i,4)=ReadInt(f) MaskImage Tileset(i,0),mr,mg,mb Next CloseFile f Return True End Function
Re: vapaasti käytettävät kartat.
Kiitos, tätä juuri kaipasinkin. Ompa muuten paljon turhaa tilaa tuossa formaatissa(kommentit, asetukset ja lisäasetukset, joista ei käytetä mitään, mutta niiden koko on vakiona)
Dodiin, elikkä tässä lupailemani työkalu, jolla saa muutettua kuvan tilesettiä, tilen koon vaihtuessakin!
Käyttöliittymä on erittäin karu, mutta itse toiminnassa ei pitäisi olla mitään vikaa:
Dodiin, elikkä tässä lupailemani työkalu, jolla saa muutettua kuvan tilesettiä, tilen koon vaihtuessakin!
Käyttöliittymä on erittäin karu, mutta itse toiminnassa ei pitäisi olla mitään vikaa:
- Attachments
-
- Tilemappi työkalut.rar
- Sis. lähdekoodi + exe
- (589.29 KiB) Downloaded 256 times