Renders on PSP identically.
This commit is contained in:
40
src/duskpsp/asset/assetpsp.c
Normal file
40
src/duskpsp/asset/assetpsp.c
Normal file
@@ -0,0 +1,40 @@
|
||||
/**
|
||||
* Copyright (c) 2026 Dominic Masters
|
||||
*
|
||||
* This software is released under the MIT License.
|
||||
* https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
#include "asset/asset.h"
|
||||
#include "engine/engine.h"
|
||||
#include "assert/assert.h"
|
||||
#include "util/string.h"
|
||||
|
||||
errorret_t assetInitPSP(void) {
|
||||
assertTrue(ENGINE.argc >= 1, "PSP requires launch argument.");
|
||||
|
||||
// PSP is given either the prx OR the PBP file.
|
||||
// In the format of "ms0:/PSP/GAME/DUSK/EBOOT.PBP" or "host0:/Dusk.prx"
|
||||
// IF the file is the PBP file, we are loading directly on the PSP itself.
|
||||
// IF the file is the .prx then we are debugging and fopen will return
|
||||
// relative filepaths correctly, e.g. host0:/dusk.dsk will be on host.
|
||||
|
||||
// Originally I was going to allow host to read the .dsk directly but then
|
||||
// I'd have to maintain two file implementations.
|
||||
|
||||
const char_t *pbpPath;
|
||||
if(stringEndsWithCaseInsensitive(ENGINE.argv[0], ASSET_PSP_EXTENSION_PBP)) {
|
||||
pbpPath = ENGINE.argv[0];
|
||||
} else {
|
||||
// In Debugging this would be next to host0:/Dusk.prx
|
||||
pbpPath = "./EBOOT.PBP";
|
||||
}
|
||||
|
||||
errorChain(assetInitPBP(pbpPath));
|
||||
errorOk();
|
||||
}
|
||||
|
||||
errorret_t assetDisposePSP(void) {
|
||||
errorChain(assetDisposePBP());
|
||||
errorOk();
|
||||
}
|
||||
Reference in New Issue
Block a user