cbMedia, tiedostojen sisällyttäminen ohjelmaan

Oletko tehnyt jotain, mistä muut voisivat hyötyä. Postita vinkit tänne.
Post Reply
User avatar
KilledWhale
Tech Developer
Tech Developer
Posts: 543
Joined: Sun Aug 26, 2007 2:43 pm
Location: Liminka

cbMedia, tiedostojen sisällyttäminen ohjelmaan

Post by KilledWhale » Sun Oct 25, 2009 6:46 pm

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
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

User avatar
MaGetzUb
Guru
Posts: 1715
Joined: Sun Sep 09, 2007 12:35 pm
Location: Alavus

Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan

Post by MaGetzUb » Sun Oct 25, 2009 6:48 pm

Kerrankin jotain hyödyllistä siinä mielessä, ettei tarvitse pelätä, etä joku tulisi urkkimaan tai muokkailemaan toisten medioita. Kiitos! :) GJ!
Solar Eclipse
Meneillä olevat Projektit:
We're in a simulation, and God is trying to debug us.

User avatar
otto90x
Advanced Member
Posts: 349
Joined: Mon Aug 27, 2007 9:00 pm
Location: Lapinjärvi, Finland
Contact:

Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan

Post by otto90x » Sun Oct 25, 2009 9:47 pm

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.

Jee

Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan

Post by Jee » Mon Oct 26, 2009 4:59 pm

Ei toimi??
Testi ohjelma ei toimi mikä vikana? Tulee Memory...

User avatar
KilledWhale
Tech Developer
Tech Developer
Posts: 543
Joined: Sun Aug 26, 2007 2:43 pm
Location: Liminka

Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan

Post by KilledWhale » Mon Oct 26, 2009 7:21 pm

Jee wrote:Ei toimi??
Testi ohjelma ei toimi mikä vikana? Tulee Memory...
Muistithan ajaa mediaPackerin ennen sitä?
CoolBasic henkilökuntaa
Kehittäjä

cbFUN Kello
cbSDL
Whale.dy.fi

<@cce> miltäs tuntuu olla suomen paras

User avatar
Substance
Active Member
Posts: 234
Joined: Fri Mar 14, 2008 6:48 pm

Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan

Post by Substance » Tue Oct 27, 2009 4:45 pm

KilledWhale wrote:
Jee wrote:Ei toimi??
Testi ohjelma ei toimi mikä vikana? Tulee Memory...
Muistithan ajaa mediaPackerin ennen sitä?
Minulla ilmoittaa, ettei exessä ole mediaa vaikka ajoin packerin ennen testiä. Toivottavasti en ole ymmärtänyt mitään väärin...
EDIT:

Ahaa ^^

Last edited by Substance on Wed Oct 28, 2009 9:35 pm, edited 1 time in total.
Substance aka LittleGreen
Red Encounter - shoot'em uppia - lataus

User avatar
KilledWhale
Tech Developer
Tech Developer
Posts: 543
Joined: Sun Aug 26, 2007 2:43 pm
Location: Liminka

Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan

Post by KilledWhale » Tue Oct 27, 2009 8:42 pm

LittleGreen wrote:
KilledWhale wrote:
Jee wrote:Ei toimi??
Testi ohjelma ei toimi mikä vikana? Tulee Memory...
Muistithan ajaa mediaPackerin ennen sitä?
Minulla ilmoittaa, ettei exessä ole mediaa vaikka ajoin packerin ennen testiä. Toivottavasti en ole ymmärtänyt mitään väärin...
Packer antaa ulos out.exe nimisen tiedoston, mutta ei muokkaa alkuperäistä
CoolBasic henkilökuntaa
Kehittäjä

cbFUN Kello
cbSDL
Whale.dy.fi

<@cce> miltäs tuntuu olla suomen paras

Guest

Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan

Post by Guest » Wed Oct 28, 2009 6:15 pm

KilledWhale wrote:
LittleGreen wrote:
KilledWhale wrote: Muistithan ajaa mediaPackerin ennen sitä?
Minulla ilmoittaa, ettei exessä ole mediaa vaikka ajoin packerin ennen testiä. Toivottavasti en ole ymmärtänyt mitään väärin...
Packer antaa ulos out.exe nimisen tiedoston, mutta ei muokkaa alkuperäistä
Siis hä? out.exesessä on siis ne kuvat eikä siinä testi ohjelmassa?

TheFish
Developer
Developer
Posts: 477
Joined: Mon Aug 27, 2007 9:28 pm
Location: Joensuu

Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan

Post by TheFish » Thu Oct 29, 2009 11:27 am

Vieras wrote:Siis hä? out.exesessä on siis ne kuvat eikä siinä testi ohjelmassa?
Eli out.exe on siis mitä ilmeisimmin kopio testi-ohjelmasta, johon on vain lisätty mediat sisään
CoolBasic henkilökuntaa
Kehittäjä

User avatar
CCE
Artist
Artist
Posts: 650
Joined: Mon Aug 27, 2007 9:53 pm

Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan

Post by CCE » Fri Oct 30, 2009 4:15 pm

Hep, teinpäs tämän avulla pienen intron. Tein itse koodin, musan ja grafiikat.
intro.zip ~620kb

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

Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan

Post by skinkken » Fri Oct 30, 2009 5:31 pm

CCE wrote:Hep, teinpäs tämän avulla pienen intron. Tein itse koodin, musan ja grafiikat.
intro.zip ~620kb
Jee!!! :D :D
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

User avatar
Misthema
Advanced Member
Posts: 312
Joined: Mon Aug 27, 2007 8:32 pm
Location: Turku, Finland
Contact:

Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan

Post by Misthema » Sun Nov 01, 2009 6:01 pm

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ä. ;)

User avatar
Valtzu
Active Member
Posts: 115
Joined: Sun Aug 26, 2007 2:40 pm
Location: Sauvo
Contact:

Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan

Post by Valtzu » Sun Nov 01, 2009 6:30 pm

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ä. ;)
Mutta kuka tahansa voi kuitenkin cbMedian funktioita käyttämällä purkaa mistä tahansa cbMedialla "pakatusta" exestä mediat. Kryptaus on siis ainut vaihtoehto.

User avatar
Jani
Devoted Member
Posts: 741
Joined: Fri Oct 31, 2008 5:53 pm

Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan

Post by Jani » Fri Nov 13, 2009 3:08 pm

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

User avatar
Jani
Devoted Member
Posts: 741
Joined: Fri Oct 31, 2008 5:53 pm

Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan

Post by Jani » Mon Dec 14, 2009 9:46 pm

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.
Tuota... Itse sain tuon ohitettua pienellä säädöllä. Laitan koodia perään jos halutaan.

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 184 times
Last edited by Jani on Tue Dec 15, 2009 6:43 pm, edited 1 time in total.
Dead men tell no tales. Also, Python rocks!
Codegolf: 99 bottles of beer (oneliner) - Water map partition

alker
Newcomer
Posts: 49
Joined: Thu Dec 18, 2008 4:32 pm

Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan

Post by alker » Tue Dec 15, 2009 1:40 pm

Toimiiko tämä Objecteissa. Jos toimii tämä idean on hyvä ja toimiva :P

User avatar
MAVmaggot
Advanced Member
Posts: 468
Joined: Fri Aug 31, 2007 10:18 pm
Location: bitspace

Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan

Post by MAVmaggot » Wed Dec 16, 2009 8:17 am

Voit aina ladata cuvat cuviksi ja sen jälkeen MakeObjectilla tehdä objectit ja lopuksi maalata objectit cuvilla. Eli toimii.

User avatar
Timblex
Advanced Member
Posts: 252
Joined: Sun Apr 11, 2010 10:37 am
Location: Kouvola

Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan

Post by Timblex » Thu Aug 05, 2010 2:42 pm

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
Entinen timpe99...
Demokisa 2013 demo valmis, Check it out!

User avatar
KilledWhale
Tech Developer
Tech Developer
Posts: 543
Joined: Sun Aug 26, 2007 2:43 pm
Location: Liminka

Re: cbMedia, tiedostojen sisällyttäminen ohjelmaan

Post by KilledWhale » Sat Aug 21, 2010 10:34 am

Wanha latauslinkki meni wanhaksi jouluservun kuolemisen myötä joten tässä uudempaa linkkiä.
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

Post Reply