QUOTE(friedgold @ Sep 14 2006, 10:27 AM)

I've discovered that the path of the current XBE can be read from XeImageFileName. I think the best thing to do would be to change OpenXDK so the path from XeImageFileName is used to resolve relative paths.
This approach seems to work well so I've commited the necessary changes to CVS. You should now always be able to use relative paths to access files in the same directory.
The way paths are handled in OpenXDK could probably do with a few more changes. At the moment it's inconsistent. Paths beginning "d:" will repect where D is mapped to by the Xbox kernel but the partitions for other paths are hardcoded will not respect the Xbox kernel's mappings. There is currently no easy way to access files on the DVD drive if the XBE is running from the HDD.
I think it would be better if the necessary symbolic links were setup automatically by OpenXDK and all paths respected these links. This way people could continue to use the paths as they have been doing, with the option of remapping drives using the IoDeleteSymbolicLink() IoCreateSymbolicLink() if they wanted to. I also think it would be best if D was initially mapped to the DVD drive regardless of where the XBE is started from. The mapping of D to the current directory seems to be hack used get XBEs which expected to run from a DVD to run from the HDD. This isn't necessary for OpenXDK apps as we can resolve relative paths more reliably using XeImageFileName.
If using D for the current directory is too entrenched then we should decide upon a new drive letter for the DVD drive (H?) so XBEs run from the HDD can access files on the DVD drive. What do other people think?