Bug: DataBuffer not working correct?

Monkey Forums/Monkey Programming/Bug: DataBuffer not working correct?

Midimaster(Posted 2013) [#1]
I perhaps found a bug!
I try to load binary datas on a html5 target. But the returned DataBuffer is NULL when I do not add the whole path:

Strict
Import mojo
Import brl.databuffer

Class Game Extends App

	Method OnCreate%()
		SetUpdateRate 60
		LoadArray
		Return 0
	End	


	Method LoadArray:Void()
		Local Bank:DataBuffer , t$
		Print LoadString("any.txt")	 
		
		'Bank=New DataBuffer(2*800*8)	
		'Bank=DataBuffer.Load("monkey://data/" + "unicode.bin")	
		Bank=DataBuffer.Load("unicode.bin")	
		If Bank=Null
			Print "Not loaded!"
		Endif 	 
	End Method


	Method OnUpdate%()
		Return 0
	End	

	Method OnRender%()
		Return 0
	End	

End


Function Main%()
	New Game
	Return 0
End



What Do I do wrong?

Version is Monkey 75d, the *.data folder is correct, because the "any.txt" is loaded correct. The filename is written correct to...
The "*.bin" files are already registered in the default "config.money":

#MOJO_AUTO_SUSPEND_ENABLED=True

#OPENGL_GLES20_ENABLED=False

#TEXT_FILES="*.txt|*.xml|*.json"
#IMAGE_FILES="*.png|*.jpg"
#SOUND_FILES="*.wav|*.ogg|*.mp3|*.m4a"
#MUSIC_FILES="*.wav|*.ogg|*.mp3|*.m4a"
#BINARY_FILES="*.bin|*.dat"



When I use a complete path it works!!!

Bank=DataBuffer.Load("monkey://data/unicode.bin")



AdamRedwoods(Posted 2013) [#2]
probably:

in LoadString
Function LoadString$( path$ )
	Return _game.LoadString( FixDataPath(path) )
End

but DataBuffer does not add the FixDataPath(path) function.
I forget if this was done by design.


marksibly(Posted 2013) [#3]
From 'resource paths' docs...


Also, note that Mojo module load commands will automatically insert a "monkey://data/" prefix before any path that does not already incude a prefix. For example, LoadImage( "myimage.png" ) is the same as LoadImage( "monkey://data/myimage.png" ).



This is kind of a 'backwards compatibility' kludge for Mojo - the cleanest solution would probably have been to require ALL file paths to be absolute, with perhaps a './' prefix for 'current dir' (on targets that even support it).