Yeah, it really shouldn't require absolute paths. It it does, that's definitely a bug. I will try to reproduce the problem. I know we had a bug like that at one point, though I thought we had already fixed that. The test suite actually has a test like that which it assembles fine.
However, I have another idea. The test suite always sets an include path when assembling stuff. Maybe it only magically works because of that and doesn't actually work when no include path is set? (I mean it's supposed to be like that for the test suite because of how it works, but it should at least work when trying to assemble any of the tests directly).
Can you you show me what command line you're using to assemble your file? And what is the working directory you're using (or in other words: from where are you launching Asar?). Those could also affect how Asar does stuff.
EDIT:
Apparently the problem is that Asar's path builder doesn't work correctly when passing a relative file to the executable. For example: when your working directory is C:/my_game/asm and you have a file C:/my_game/asm/patch.asm and pass patch.asm to asar.exe, it actually tries to open "asm/patch.asm" instead of "patch.asm" for some reason. When you change your working directory to C:/my_game/ and pass asm/patch.asm to asar.exe, it actually tries to open asm/asm/patch.exe etc. This means that for now, you can work around the problem by passing the full path to the patch to asar.exe (which means you don't have to use a full path in the patch itself). So in this case, you would pass "C:/my_game/asm/patch.asm" to asar.exe.
Feel free to visit my website/blog - it's updated rarely, but it looks pretty cool!
However, I have another idea. The test suite always sets an include path when assembling stuff. Maybe it only magically works because of that and doesn't actually work when no include path is set? (I mean it's supposed to be like that for the test suite because of how it works, but it should at least work when trying to assemble any of the tests directly).
Can you you show me what command line you're using to assemble your file? And what is the working directory you're using (or in other words: from where are you launching Asar?). Those could also affect how Asar does stuff.
EDIT:
Apparently the problem is that Asar's path builder doesn't work correctly when passing a relative file to the executable. For example: when your working directory is C:/my_game/asm and you have a file C:/my_game/asm/patch.asm and pass patch.asm to asar.exe, it actually tries to open "asm/patch.asm" instead of "patch.asm" for some reason. When you change your working directory to C:/my_game/ and pass asm/patch.asm to asar.exe, it actually tries to open asm/asm/patch.exe etc. This means that for now, you can work around the problem by passing the full path to the patch to asar.exe (which means you don't have to use a full path in the patch itself). So in this case, you would pass "C:/my_game/asm/patch.asm" to asar.exe.
Feel free to visit my website/blog - it's updated rarely, but it looks pretty cool!