no message
This commit is contained in:
		@@ -490,6 +490,69 @@ static void onConsoleLoadDemoCommandConfirmed(Console* console, const char* para
 | 
			
		||||
	SDL_free(data);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void onCartLoaded(Console* console, const char* name)
 | 
			
		||||
{
 | 
			
		||||
	strcpy(console->romName, name);
 | 
			
		||||
 | 
			
		||||
	studioRomLoaded();
 | 
			
		||||
 | 
			
		||||
	printBack(console, "\ncart ");
 | 
			
		||||
	printFront(console, console->romName);
 | 
			
		||||
	printBack(console, " loaded!\nuse ");
 | 
			
		||||
	printFront(console, "RUN");
 | 
			
		||||
	printBack(console, " command to run it\n");
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#if defined(TIC80_PRO)
 | 
			
		||||
 | 
			
		||||
static void loadProjectCode(Console* console, const void* data, s32 size)
 | 
			
		||||
{
 | 
			
		||||
	tic_mem* tic = console->tic;
 | 
			
		||||
 | 
			
		||||
	SDL_memcpy(tic->cart.code.data, data, SDL_min(size, sizeof(tic_code)));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void loadProject(Console* console, const char* name)
 | 
			
		||||
{
 | 
			
		||||
	tic_mem* tic = console->tic;
 | 
			
		||||
 | 
			
		||||
	SDL_memset(&tic->cart, 0, sizeof(tic_cartridge));
 | 
			
		||||
 | 
			
		||||
	static struct{const char* name; void(*func)(Console* console, const void* data, s32 size);} ProjectFiles[] = 
 | 
			
		||||
	{
 | 
			
		||||
		{"code.lua", loadProjectCode},
 | 
			
		||||
		{"sprites.gif", NULL},
 | 
			
		||||
		{"tiles.gif", NULL},
 | 
			
		||||
		{"palette.dat", NULL},
 | 
			
		||||
		{"map.dat", NULL},
 | 
			
		||||
		{"waves.dat", NULL},
 | 
			
		||||
		{"sfx.dat", NULL},
 | 
			
		||||
		{"music.dat", NULL},
 | 
			
		||||
		{"cover.gif", NULL},
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
	for(s32 i = 0; i < COUNT_OF(ProjectFiles); i++)
 | 
			
		||||
	{
 | 
			
		||||
		char path[FILENAME_MAX];
 | 
			
		||||
		sprintf(path, "%s/%s", name, ProjectFiles[i].name);
 | 
			
		||||
 | 
			
		||||
		s32 size = 0;
 | 
			
		||||
		void* data = fsLoadFile(console->fs, path, &size);
 | 
			
		||||
 | 
			
		||||
		if(data)
 | 
			
		||||
		{
 | 
			
		||||
			ProjectFiles[i].func(console, data, size);
 | 
			
		||||
			SDL_free(data);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	onCartLoaded(console, name);
 | 
			
		||||
 | 
			
		||||
	commandDone(console);
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
static void onConsoleLoadCommandConfirmed(Console* console, const char* param)
 | 
			
		||||
{
 | 
			
		||||
	if(onConsoleLoadSectionCommand(console, param)) return;
 | 
			
		||||
@@ -499,6 +562,14 @@ static void onConsoleLoadCommandConfirmed(Console* console, const char* param)
 | 
			
		||||
		s32 size = 0;
 | 
			
		||||
		const char* name = getRomName(param);
 | 
			
		||||
 | 
			
		||||
#if defined(TIC80_PRO)
 | 
			
		||||
		if(fsIsDir(console->fs, name))
 | 
			
		||||
		{
 | 
			
		||||
			loadProject(console, name);
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
		void* data = strcmp(name, CONFIG_TIC_PATH) == 0
 | 
			
		||||
			? fsLoadRootFile(console->fs, name, &size)
 | 
			
		||||
			: fsLoadFile(console->fs, name, &size);
 | 
			
		||||
@@ -507,21 +578,16 @@ static void onConsoleLoadCommandConfirmed(Console* console, const char* param)
 | 
			
		||||
		{
 | 
			
		||||
			console->showGameMenu = fsIsInPublicDir(console->fs);
 | 
			
		||||
 | 
			
		||||
			strcpy(console->romName, name);
 | 
			
		||||
 | 
			
		||||
			loadRom(console->tic, data, size, true);
 | 
			
		||||
 | 
			
		||||
			studioRomLoaded();
 | 
			
		||||
 | 
			
		||||
			printBack(console, "\ncart ");
 | 
			
		||||
			printFront(console, console->romName);
 | 
			
		||||
			printBack(console, " loaded!\nuse ");
 | 
			
		||||
			printFront(console, "RUN");
 | 
			
		||||
			printBack(console, " command to run it\n");
 | 
			
		||||
			onCartLoaded(console, name);
 | 
			
		||||
 | 
			
		||||
			SDL_free(data);
 | 
			
		||||
		}
 | 
			
		||||
		else printBack(console, "\ncart loading error");
 | 
			
		||||
		else		
 | 
			
		||||
		{
 | 
			
		||||
			printBack(console, "\ncart loading error");
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	else printBack(console, "\ncart name is missing");
 | 
			
		||||
 | 
			
		||||
@@ -676,13 +742,20 @@ typedef struct
 | 
			
		||||
 | 
			
		||||
static bool printFilename(const char* name, const char* info, s32 id, void* data, bool dir)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
	PrintFileNameData* printData = data;
 | 
			
		||||
	Console* console = printData->console;
 | 
			
		||||
 | 
			
		||||
	printLine(console);
 | 
			
		||||
 | 
			
		||||
#if defined(TIC80_PRO)
 | 
			
		||||
	if(dir && SDL_strstr(name, CartExt) == (name + SDL_strlen(name) - SDL_strlen(CartExt)))
 | 
			
		||||
		dir = false;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	if(dir)
 | 
			
		||||
	{
 | 
			
		||||
 | 
			
		||||
		printBack(console, "[");
 | 
			
		||||
		printBack(console, name);
 | 
			
		||||
		printBack(console, "]");
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user