Code archives/File Utilities/Blitz Resource Compiler Example

This code has been declared by its author to be Public Domain code.

Download source code

Blitz Resource Compiler Example by superqix2002
Updated with a both a graphic and a sound file in a resource, and to BASE64
; ******************************************
; * Blltz Resource Compiler Example v0.3
; ******************************************
; * BASE64 encode a file into BB source to
; * add to a Blitz project for retrival
; * 
; * Perfect for including small graphics or
; * sounds in your Blitz EXE file
; ******************************************
; * Released under the LPGL 8/30/2002 by
; * Michael Wilson wilson(at)no2games.com
; ******************************************

Graphics 640,480

cursor = LoadImage(LoadResource("mouse.png"))
click = LoadSound(LoadResource("beep.wav"))
FreeResources()

MaskImage cursor,255,0,255
SetBuffer BackBuffer()

While Not KeyHit(1)
	Cls
	DrawImage cursor, MouseX(),MouseY()
	If MouseHit(1) Then PlaySound click
	Flip
Wend

; ******************************************
; * Code below this point is automatically
; * generated by the Blltz Resource Compiler
; ******************************************

Type TempResourceFile
  Field FileName$
End Type

Function FreeResources()
  For TempFiles.TempResourceFile = Each TempResourceFile 
  DeleteFile TempFiles\FileName$ 
  Delete TempFiles 
  Next 
End Function 

Function LoadResource$(Resource$)
  Select Upper$(Resource$)
    Case "BEEP.WAV" Restore beep_wav
    Case "MOUSE.PNG" Restore mouse_png
  End Select
  EncodeTable$ = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz{}"
  TempFile$ = Str Int Rnd(11111,99999)
  TempFile$ = SystemProperty ("tempdir")+"~bb"+TempFile$+".tmp"
  OutFile = WriteFile(TempFile$)
   Repeat
     Read Output$
     If Output$ = "!EOF" Then Exit
     ByteCount% = Len(Output$)
     For i = 1 To ByteCount% Step 4
       Word% = ((Instr(EncodeTable$,Mid$(Output$,i,1)) - 1) And 63) Shl 18
       Word = Word + (((Instr(EncodeTable$,Mid$(Output$,i+1,1)) - 1) And 63) Shl 12)
       Word = Word + (((Instr(EncodeTable$,Mid$(Output$,i+2,1)) - 1) And 63) Shl 6)
       Word = Word + ((Instr(EncodeTable$,Mid$(Output$,i+3,1)) - 1) And 63)
       Byte% = Word Shr 16 And 255
       Byte2% = Word Shr 8 And 255
       Byte3% = Word And 255
       WriteByte OutFile, Byte
       WriteByte OutFile, Byte2
       WriteByte OutFile, Byte3
     Next
   Forever
  CloseFile OutFile
  TempFiles.TempResourceFile = New TempResourceFile
  TempFiles\FileName$ = TempFile$
  Return TempFile$
End Function


.beep_wav
Data "Kab6Hdu2001NGLP5Pcrq810000010040T2S007Gd000100W0P65qOLe20024Yuc0TNU3Zv5wNc6MtRzi5Yk0wDHt"
Data "7ZoHyhbM4r{zvOae8OVbhbaJNxpoZZ4na}2kIn5ioUY38J2MxwH74MtKu7KPGQBobpaLUThISHP9h}UMEnbyujTi"
Data "5KkkzPGp6O7aoMSHKRhwaJCWXk}2PXLPlFgMCIEJzRLP4sdIyuCcDfxwgKSHSjNaUXayglkSGnDrtULt6KEf{vmy"
Data "5dtWt7KLHhJxapSSWEZNR1DFj}UCAo2Bxybd3bV4yuGeAu}tmLeEOidmX2Cfb}UoLX5dp}A392wM{AzC3ctIwtyS"
Data "DwRwd3uRUkJSPn5IklU9A2IEyhzS3L}CxNmWD9V}kbGDPipdW20ha}UvMWvUokTy83EP{gn747BOr6qJGw}xbpOP"
Data "XksvL0jVnU{68IYPzQTB2MVLv7aODg7xf4CDTztKSH51jFgJDnQ6xxrV3bh4yeSiA9Vrh4uERzZTV1iqgVYSH1Lw"
Data "vz1j4qQo{fSv6uVjn6eHJC7tZ34ea}YwLmvaqEL}7ZUg{fv35NpgpMOMMSVjXoWedlUgJnDovDnr6pwlzw515N}d"
Data "oMeMJyNjYp0cbk{nKXPgrDXy93oqwvT18OFbmcGUNCNVXp4xfkIVIobzrRzcA5gws8uyDvJNgLemRyI}SZTMgi{M"
Data "Ja6BoQndF6grmO16L9h5d5T3VRgkSJzQei6HLak3kQPfIM{fiNzCLvczbbf6UhorUKHPdyIPMJzykQzrH5oYkOjK"
Data "Hd{tgNH9OPwraLzEVAodVLPYawcCPbnzefzzNcI7gfHqP7UHbe5jSOEFXtToVOc9VtbyWm00"
Data "!EOF"

.mouse_png
Data "YL1EHmqA6We0000DIKX4KW0002a0000W20C0002uiQ4C0003051CL4K0003}}}}}0Fy410W20WG10G830mKA2X07"
Data "1miC31820WCC314G41O820iB2myH4HSC31092Gm61WW30mGK51eA2WqO61yL5HiE3X871maP6I0I4XSF3nCR6o8N"
Data "5nqS72CO61uC30y820e410KT7IGP6HyL5HeH4HKQ6Y0M5XiR6o4I4XO92GiS728N5nmE3X4O61qJ4nST7ICU7YGP"
Data "6HuK51WF3n851GOQ6XyL5HaM5XeB2mqH4HGO61mI4XKC30uJ4nOD3GyM5XaF3n4nCJPPMLnrTNTSN5q61WK71mOA"
Data "2WaM5XKR6nfXOM36niN{}lxz}Vtx{}lv{Vdu{FZpy}FoylBlx{}ewEZavEJZu{FUtjxTtTtNrzVMrjRLrTNKrDJJ"
Data "qzFGqD3Fpy}DpStCpCpBoyl7nyV5nSN2miAvkRcukBYtjxUoihAmiB2lhw{khgwjhQsfgQcXeQ6WeA2QcfgMbfQL"
Data "bPMGa92DZOsBYuk6XeQ1WO5zVNruU7XqT7HpStDnSN5hQsjdPsTaP6HXOM5WO61QMbfPMLbOM5XIKb99IKb8I4X7"
Data "HqT5HKL3GqD2Ga8sDZOpCpCmC30lBoyjBIqiB2mgAYed9oSZ8oCX8I4S71mP6HaN5nSJ4nCH4H4G410D3GqC30mB"
Data "2mi92Ga820W71mS30mC20W810G420W820W820W820W820W820W820W820Z820W820W8000820W820W820W820W82"
Data "0W820W8o0W82CY020W820W8000820W820W820W820W820W820W8eCW8aE0K20W820W8000820W820W820W820W82"
Data "0W820W8ZBJ8m2g820W820W8000820W820W820W820W820XO20W9A6J80esa20YG20W8000820W820W820W820W82"
Data "A4G20W9n012aRG4292a20W8000820W820W820W8F0W8234Op0W81Tm1f0G4aAG020W8000820W820W820W8hAW82"
Data "2tGK90810Nu10G4r09e20WBjOFTF00002N18MNC000iJ000B4m1tdQoE00023Kb4GLHud8NJLriJGHG6u6{E1YkY"
Data "WaeKJJGJiqcC8RDgH5GG6s9NB14LkmR4Ni6ElHViqMWKuMSwkqj2TcSXvsBdvdrcptTc1Wt9{3oX2ofPC6f1GkCb"
Data "BUBu}LxY{Qi4Bo5ZoVvp7Kz{0Tv4PDGcm5VW8sDjtHy0JxL}b8r1l1ut6MExpZxR19JNqKWTWqHau4UA6TL{{ojG"
Data "MRF4tOA8Hz7BhDfx{SqWC6qXkNGi9Udb0wTOlixqPe5aAAXOGueWNkyeKBR}Xao7XZ3fFgSaNeDBhAXakdvW{chR"
Data "UPYIV6LVzZ1R7UfvrupaChzJYiNePeuwdv4JNYaSalGPFzjihlF580BLGUNlv8lXGL6VdI{1G4YpvH{InEVyEr6G"
Data "zsJsjTmUlI19BtkrlJ2dMrbKDiQukvH3lM2oL5f{3Z{LKweJRd{Ncqxvr6fcpdMPaTu2Ysfr9RkvA{uQv1go9urr"
Data "vzNFG5pJtUIiNBiK3yUD}txGkYyz6NWQIIYIz35R6TlTLwMFxTjdHJjmlmNUi50aQVNRMAffjfYBvwr3OpZsg1bh"
Data "L2acR6GT2NCEZ}CJEv91L2YI8j6ZLoR9bLVXZWMFVyDINTsJg6BzXibcoo5SDs1w2y9SJMIITPgrJiL5nhh{5g0Y"
Data "8pFpFNjRJgV}34D53gUB1JRd9jQwdf6JQl0iBxea8qlv4FpkDyI5sXxoVrPxOkYwvHCJ000004b5JaIkGc22"
Data "!EOF"

Comments

None.

Code Archives Forum