cbMedia, tiedostojen sisällyttäminen ohjelmaan
-
- Tech Developer
- Posts: 545
- Joined: Sun Aug 26, 2007 2:43 pm
- Location: Liminka
cbMedia, tiedostojen sisällyttäminen ohjelmaan
Joku mietiskeli irkissä, mikä olisi paras tapa sisällyttää kuvia, musiikkia yms. ohjelmaan mukaan.
Väsäsin pikaisesti ohjelman, joka sisällyttää tiedostoja cb-exeihin sekä funktiot tiedostojen purkamista varten.
Kaiken tyyppisiä tiedostoja on mahdollista purkaa ja lisäherkkuna ohjelma voi ladata 24bit raa'an bmp kuvan suoraan muistiin datasta.
Muut kuvat ja media tulee ensin purkaa ja sitten ladata.
Jos joku jaksaa tehdä lisää funktioita median lataamiseksi suoraan muistiin, voi lähettää niitä minulle niin liitän pakettiin.
cbMediaTest.cb on esimerkki käytöstä ja mukana on myös siitä valmiiksi käännetty exe.
cbMediaPacker taas pakkaa mediat exeen mukaan.
config.iniä muokkaamalla voi säädellä mihin tiedostoon cbMediaPacker pakkaa minkä kansion sisällön.
Pidemmittä puheitta:
http://killedwhale.kapsi.fi/foo/cbMedia.zip
Bugiehdotuksia sekä parannusraportteja voi laittaa tässä tai privaan
Väsäsin pikaisesti ohjelman, joka sisällyttää tiedostoja cb-exeihin sekä funktiot tiedostojen purkamista varten.
Kaiken tyyppisiä tiedostoja on mahdollista purkaa ja lisäherkkuna ohjelma voi ladata 24bit raa'an bmp kuvan suoraan muistiin datasta.
Muut kuvat ja media tulee ensin purkaa ja sitten ladata.
Jos joku jaksaa tehdä lisää funktioita median lataamiseksi suoraan muistiin, voi lähettää niitä minulle niin liitän pakettiin.
cbMediaTest.cb on esimerkki käytöstä ja mukana on myös siitä valmiiksi käännetty exe.
cbMediaPacker taas pakkaa mediat exeen mukaan.
config.iniä muokkaamalla voi säädellä mihin tiedostoon cbMediaPacker pakkaa minkä kansion sisällön.
Pidemmittä puheitta:
http://killedwhale.kapsi.fi/foo/cbMedia.zip
Bugiehdotuksia sekä parannusraportteja voi laittaa tässä tai privaan
Last edited by KilledWhale on Sat Aug 21, 2010 10:35 am, edited 2 times in total.
CoolBasic henkilökuntaa
Kehittäjä
cbFUN Kello
cbSDL
Whale.dy.fi
<@cce> miltäs tuntuu olla suomen paras
Kehittäjä
cbFUN Kello
cbSDL
Whale.dy.fi
<@cce> miltäs tuntuu olla suomen paras
Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan
Kerrankin jotain hyödyllistä siinä mielessä, ettei tarvitse pelätä, etä joku tulisi urkkimaan tai muokkailemaan toisten medioita. Kiitos! GJ!
Solar Eclipse
We're in a simulation, and God is trying to debug us.
-
- Advanced Member
- Posts: 349
- Joined: Mon Aug 27, 2007 9:00 pm
- Location: Lapinjärvi, Finland
- Contact:
Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan
Huomasin että ohjelma ei ota huomioon pakkauskansiossa olevia kansioita tai niiden sisältöä. Tuo ei sinänsä välttämättä ole paha juttu, mutta on hyvä tietää. Tiedostojen purku valittuun polkuun olisi kaivattava ominaisuus ja esimerkiksi asennusohjelman teossa se olisi todella hyödyllinen.
Otto Martikainen a.k.a. MetalRain, otto90x, kAATOSade.
Runoblogi, vuodatusta ja sekoiluja.
Runoblogi, vuodatusta ja sekoiluja.
Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan
Ei toimi??
Testi ohjelma ei toimi mikä vikana? Tulee Memory...
Testi ohjelma ei toimi mikä vikana? Tulee Memory...
-
- Tech Developer
- Posts: 545
- Joined: Sun Aug 26, 2007 2:43 pm
- Location: Liminka
Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan
Muistithan ajaa mediaPackerin ennen sitä?Jee wrote:Ei toimi??
Testi ohjelma ei toimi mikä vikana? Tulee Memory...
CoolBasic henkilökuntaa
Kehittäjä
cbFUN Kello
cbSDL
Whale.dy.fi
<@cce> miltäs tuntuu olla suomen paras
Kehittäjä
cbFUN Kello
cbSDL
Whale.dy.fi
<@cce> miltäs tuntuu olla suomen paras
Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan
Minulla ilmoittaa, ettei exessä ole mediaa vaikka ajoin packerin ennen testiä. Toivottavasti en ole ymmärtänyt mitään väärin...KilledWhale wrote:Muistithan ajaa mediaPackerin ennen sitä?Jee wrote:Ei toimi??
Testi ohjelma ei toimi mikä vikana? Tulee Memory...
EDIT:
Ahaa ^^
Last edited by Substance on Wed Oct 28, 2009 8:35 pm, edited 1 time in total.
-
- Tech Developer
- Posts: 545
- Joined: Sun Aug 26, 2007 2:43 pm
- Location: Liminka
Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan
Packer antaa ulos out.exe nimisen tiedoston, mutta ei muokkaa alkuperäistäLittleGreen wrote:Minulla ilmoittaa, ettei exessä ole mediaa vaikka ajoin packerin ennen testiä. Toivottavasti en ole ymmärtänyt mitään väärin...KilledWhale wrote:Muistithan ajaa mediaPackerin ennen sitä?Jee wrote:Ei toimi??
Testi ohjelma ei toimi mikä vikana? Tulee Memory...
CoolBasic henkilökuntaa
Kehittäjä
cbFUN Kello
cbSDL
Whale.dy.fi
<@cce> miltäs tuntuu olla suomen paras
Kehittäjä
cbFUN Kello
cbSDL
Whale.dy.fi
<@cce> miltäs tuntuu olla suomen paras
Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan
Siis hä? out.exesessä on siis ne kuvat eikä siinä testi ohjelmassa?KilledWhale wrote:Packer antaa ulos out.exe nimisen tiedoston, mutta ei muokkaa alkuperäistäLittleGreen wrote:Minulla ilmoittaa, ettei exessä ole mediaa vaikka ajoin packerin ennen testiä. Toivottavasti en ole ymmärtänyt mitään väärin...KilledWhale wrote: Muistithan ajaa mediaPackerin ennen sitä?
Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan
Eli out.exe on siis mitä ilmeisimmin kopio testi-ohjelmasta, johon on vain lisätty mediat sisäänVieras wrote:Siis hä? out.exesessä on siis ne kuvat eikä siinä testi ohjelmassa?
CoolBasic henkilökuntaa
Kehittäjä
Kehittäjä
Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan
Hep, teinpäs tämän avulla pienen intron. Tein itse koodin, musan ja grafiikat.
intro.zip ~620kb
intro.zip ~620kb
Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan
Jee!!!CCE wrote:Hep, teinpäs tämän avulla pienen intron. Tein itse koodin, musan ja grafiikat.
intro.zip ~620kb
Musa oli aivan mahtava!
Kirjasto on todella hyvä, paitsi tietenkin musan voi pölliä (alt-tab ja kopioi...) ja pöllinkin.
ja musaa pidin soimassa kun kirjoitin tämän viestin
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
Projekti jota teen ehkä joskus vielä: viewtopic.php?f=11&t=2636 <-- Tämä rivi päivitetty 14.1.2013
- Misthema
- Advanced Member
- Posts: 312
- Joined: Mon Aug 27, 2007 8:32 pm
- Location: Turku, Finland
- Contact:
Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan
Hehe, kyllä sen musankin saa niin ettei sitä saa kopioitua. =)
Sen jälkeen kun ohjelma on purkanut ja ladannut tiedostot muistiin, deletoi puratut tiedostot (ellei sitten käytä PlaySound:ia, joka lukee tiedostoa "striiminä" kovalevyltä). Tai sitten purkaa tiedoston jonnekin mistä sitä ei kukaan löytäisi tai tajuaisi etsiä.
Sen jälkeen kun ohjelma on purkanut ja ladannut tiedostot muistiin, deletoi puratut tiedostot (ellei sitten käytä PlaySound:ia, joka lukee tiedostoa "striiminä" kovalevyltä). Tai sitten purkaa tiedoston jonnekin mistä sitä ei kukaan löytäisi tai tajuaisi etsiä.
Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan
Mutta kuka tahansa voi kuitenkin cbMedian funktioita käyttämällä purkaa mistä tahansa cbMedialla "pakatusta" exestä mediat. Kryptaus on siis ainut vaihtoehto.Misthema wrote:Hehe, kyllä sen musankin saa niin ettei sitä saa kopioitua. =)
Sen jälkeen kun ohjelma on purkanut ja ladannut tiedostot muistiin, deletoi puratut tiedostot (ellei sitten käytä PlaySound:ia, joka lukee tiedostoa "striiminä" kovalevyltä). Tai sitten purkaa tiedoston jonnekin mistä sitä ei kukaan löytäisi tai tajuaisi etsiä.
Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan
KilledWhalehan voi luultavasti lisätä salasanasuojuken mukaan pakettiin... Luulisin ainakin sillä jos tiedostot menee, niin miksei salasanakin sinne sekaan.
Dead men tell no tales. Also, Python rocks!
Codegolf: 99 bottles of beer (oneliner) - Water map partition
Codegolf: 99 bottles of beer (oneliner) - Water map partition
Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan
Tuota... Itse sain tuon ohitettua pienellä säädöllä. Laitan koodia perään jos halutaan.otto90x wrote:Huomasin että ohjelma ei ota huomioon pakkauskansiossa olevia kansioita tai niiden sisältöä. Tuo ei sinänsä välttämättä ole paha juttu, mutta on hyvä tietää. Tiedostojen purku valittuun polkuun olisi kaivattava ominaisuus ja esimerkiksi asennusohjelman teossa se olisi todella hyödyllinen.
EDIT: Sain koodin (ehkä) mukavampaan muotonn ja kehtaan nyt laittaa sen tähän. Tiedän, että systeemi ei ole paras ja se ei ota huomioon kansioiden alakansioita.
Code: Select all
// CBMedia //
Function cbMedia_ExtractAll()
n$ = GetEXEName()
f = OpenToRead(n)
SeekFile f, FileSize(n) - 4
SeekFile f, FileSize(n) - ReadInt(f) - 8
p = ReadInt(f)
If (p = 0)
MakeError "No media in exe!"
Else
SeekFile f, p
EndIf
v = ReadInt(f)
For i = 1 To v
name$ = ReadString(f)
offset = ReadInt(f)
size = ReadInt(f)
toff = FileOffset(f)
SeekFile f, offset
o = OpenToWrite(name)
For a = 1 To size / 4
WriteInt o, ReadInt(f)
Next a
For a = 1 To size Mod 4
WriteByte o, ReadInt(f)
Next a
CloseFile o
SeekFile f, toff
Next i
CloseFile f
Return i
EndFunction
Function cbMedia_Extract(file$)
n$ = GetEXEName()
f = OpenToRead(n)
SeekFile f, FileSize(n) - 4
SeekFile f, FileSize(n) - ReadInt(f) - 8
p = ReadInt(f)
If (p = 0)
MakeError "No media in exe!"
Else
SeekFile f, p
EndIf
v = ReadInt(f)
For i = 1 To v
name$ = ReadString(f)
offset = ReadInt(f)
size = ReadInt(f)
If (Lower(name) = Lower(file))
Exit
EndIf
Next i
SeekFile f, offset
o = OpenToWrite(file)
For i = 1 To size / 4
WriteInt o, ReadInt(f)
Next i
For i = 1 To size Mod 4
WriteByte o, ReadByte(f)
Next i
CloseFile o
CloseFile f
EndFunction
Function cbMedia_GetCount()
n$ = GetEXEName()
f = OpenToRead(n)
SeekFile f, FileSize(n) - 4
SeekFile f, FileSize(n) - ReadInt(f) - 8
p = ReadInt(f)
If (p = 0)
MakeError "No media in exe!"
Else
SeekFile f, p
EndIf
v = ReadInt(f)
CloseFile f
Return v
EndFunction
// CBMedia //
// Extract.txt:ssä on purettavan kansion nimi.
cbMedia_Extract("Extract.txt")
f=OpenToRead("Extract.txt")
patch$=ReadLine(f)
CloseFile f
DeleteFile "Extract.txt"
MakeDir patch
ChDir patch
// Puretaan tiedostot kansioon.
cbMedia_ExtractAll()
DeleteFile "Extract.txt"
// Aloitetaan haku.
StartSearch
Repeat
file$=FindFile()
If file="" Then Exit
If CountWords(file,"_")=2 //Katsotaan, onko tekstissä alaviivaa.
newp$=GetWord(file,1,"_")
file$=Replace(file,newp+"_","")
If IsDirectory(newp)=0 Then MakeDir newp // Jos on, tehdään uusi kansio ensimmäisen sanan perusteella
CopyFile newp+"_"+file, newp+"/"+file // ja kopioidaan se luotuun kansioon.
DeleteFile newp+"_"+file
EndIf
AddText file
DrawScreen
Forever
EndSearch
AddText "Ready!"
DrawScreen
WaitKey
- Attachments
-
- Extract.rar
- (730.83 KiB) Downloaded 453 times
Last edited by Jani on Tue Dec 15, 2009 5:43 pm, edited 1 time in total.
Dead men tell no tales. Also, Python rocks!
Codegolf: 99 bottles of beer (oneliner) - Water map partition
Codegolf: 99 bottles of beer (oneliner) - Water map partition
Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan
Toimiiko tämä Objecteissa. Jos toimii tämä idean on hyvä ja toimiva
Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan
Voit aina ladata cuvat cuviksi ja sen jälkeen MakeObjectilla tehdä objectit ja lopuksi maalata objectit cuvilla. Eli toimii.
Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan
tein asennus ohjelman joka tekee minne haluat kansion väri purkaa sinne tiedoston väri.exe tekee väri kansioon kansion media ja purkaa sinne median lataa tästä linkistä
käytin pakkaamiseen ultimate packeria se on tekemäni versio cbmediapackerista
HUOM!musiikki päälle ja musiikki pois nappuloista ei käy mitään
käytin pakkaamiseen ultimate packeria se on tekemäni versio cbmediapackerista
HUOM!musiikki päälle ja musiikki pois nappuloista ei käy mitään
-
- Tech Developer
- Posts: 545
- Joined: Sun Aug 26, 2007 2:43 pm
- Location: Liminka
Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan
Wanha latauslinkki meni wanhaksi jouluservun kuolemisen myötä joten tässä uudempaa linkkiä.
http://killedwhale.kapsi.fi/foo/cbMedia.zip
http://killedwhale.kapsi.fi/foo/cbMedia.zip
CoolBasic henkilökuntaa
Kehittäjä
cbFUN Kello
cbSDL
Whale.dy.fi
<@cce> miltäs tuntuu olla suomen paras
Kehittäjä
cbFUN Kello
cbSDL
Whale.dy.fi
<@cce> miltäs tuntuu olla suomen paras