What incbin does is it allows data to be stored in the executable, as is, as binary data. It doesn't matter where you put it in your sourcecode, although I'm thinking it should at least be outside of any loops/types/functions/if-endif's etc. I usually put it at the end of my code, but you could put it near the start.
It will include the file you specify, as is, without any modifications. You can also get a pointer to the file with IncBinPtr() (I think), as included, so that at runtime you could access the file from within your excutable - the included version of it. Then all you need to do is, when loading the file like you would normally, instead of giving a path of the file on disk, you put "incbin::" at the start of the path and leave the rest the same.
Yes you have to use the same path and filename for the Incbin statement and the statement that does something with the file, e.g. LoadImage. You can't use variables in the Incbin filename, but you can use variables in creating your file path from your LoadImage or whatever. It is case sensitive, and you can access the included file as many times as you like.
It will include the file you specify, as is, without any modifications. You can also get a pointer to the file with IncBinPtr() (I think), as included, so that at runtime you could access the file from within your excutable - the included version of it. Then all you need to do is, when loading the file like you would normally, instead of giving a path of the file on disk, you put "incbin::" at the start of the path and leave the rest the same.
Yes you have to use the same path and filename for the Incbin statement and the statement that does something with the file, e.g. LoadImage. You can't use variables in the Incbin filename, but you can use variables in creating your file path from your LoadImage or whatever. It is case sensitive, and you can access the included file as many times as you like.