no message
This commit is contained in:
parent
08c3bd9e2b
commit
1c8e5b2945
14
Makefile
14
Makefile
|
@ -274,16 +274,20 @@ emscripten:
|
||||||
mingw: $(DEMO_ASSETS) $(TIC80_DLL) $(TIC_O) bin/html.o bin/res.o
|
mingw: $(DEMO_ASSETS) $(TIC80_DLL) $(TIC_O) bin/html.o bin/res.o
|
||||||
$(CC) $(TIC_O) bin/html.o bin/res.o $(TIC80_A) $(OPT) $(INCLUDES) $(MINGW_LINKER_FLAGS) -o $(MINGW_OUTPUT)
|
$(CC) $(TIC_O) bin/html.o bin/res.o $(TIC80_A) $(OPT) $(INCLUDES) $(MINGW_LINKER_FLAGS) -o $(MINGW_OUTPUT)
|
||||||
|
|
||||||
run: mingw
|
mingw-pro:
|
||||||
|
$(eval OPT += -DTIC80_PRO)
|
||||||
|
make mingw OPT="$(OPT)"
|
||||||
|
|
||||||
|
run: mingw-pro
|
||||||
$(MINGW_OUTPUT)
|
$(MINGW_OUTPUT)
|
||||||
|
|
||||||
linux64-flto:
|
linux64-lto:
|
||||||
$(CC) $(LINUX_INCLUDES) $(SOURCES) $(TIC80_SRC) $(SOURCES_EXT) $(OPT) $(INCLUDES) $(LINUX64_LIBS) $(LINUX_LINKER_FLAGS) -flto -o bin/tic
|
$(CC) $(LINUX_INCLUDES) $(SOURCES) $(TIC80_SRC) $(SOURCES_EXT) $(OPT) $(INCLUDES) $(LINUX64_LIBS) $(LINUX_LINKER_FLAGS) -flto -o bin/tic
|
||||||
|
|
||||||
linux32-flto:
|
linux32-lto:
|
||||||
$(CC) $(LINUX_INCLUDES) $(SOURCES) $(TIC80_SRC) $(SOURCES_EXT) $(OPT) $(INCLUDES) $(LINUX32_LIBS) $(LINUX_LINKER_FLAGS) -flto -o bin/tic
|
$(CC) $(LINUX_INCLUDES) $(SOURCES) $(TIC80_SRC) $(SOURCES_EXT) $(OPT) $(INCLUDES) $(LINUX32_LIBS) $(LINUX_LINKER_FLAGS) -flto -o bin/tic
|
||||||
|
|
||||||
arm-flto:
|
arm-lto:
|
||||||
$(CC) $(OPT_ARM) $(SOURCES) $(TIC80_SRC) $(OPT) $(INCLUDES) $(LINUX_ARM_LIBS) $(LINUX_LINKER_FLAGS) -flto -o bin/tic
|
$(CC) $(OPT_ARM) $(SOURCES) $(TIC80_SRC) $(OPT) $(INCLUDES) $(LINUX_ARM_LIBS) $(LINUX_LINKER_FLAGS) -flto -o bin/tic
|
||||||
|
|
||||||
linux:
|
linux:
|
||||||
|
@ -339,4 +343,4 @@ bin/assets/moondemo.tic.dat: demos/moondemo.tic
|
||||||
$(BIN2TXT) $< $@ -z
|
$(BIN2TXT) $< $@ -z
|
||||||
|
|
||||||
clean: $(TIC_O) $(TIC80_O)
|
clean: $(TIC_O) $(TIC80_O)
|
||||||
$(RM) $(TIC_O) $(TIC80_O)
|
del bin\*.o
|
||||||
|
|
|
@ -490,6 +490,69 @@ static void onConsoleLoadDemoCommandConfirmed(Console* console, const char* para
|
||||||
SDL_free(data);
|
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)
|
static void onConsoleLoadCommandConfirmed(Console* console, const char* param)
|
||||||
{
|
{
|
||||||
if(onConsoleLoadSectionCommand(console, param)) return;
|
if(onConsoleLoadSectionCommand(console, param)) return;
|
||||||
|
@ -499,6 +562,14 @@ static void onConsoleLoadCommandConfirmed(Console* console, const char* param)
|
||||||
s32 size = 0;
|
s32 size = 0;
|
||||||
const char* name = getRomName(param);
|
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
|
void* data = strcmp(name, CONFIG_TIC_PATH) == 0
|
||||||
? fsLoadRootFile(console->fs, name, &size)
|
? fsLoadRootFile(console->fs, name, &size)
|
||||||
: fsLoadFile(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);
|
console->showGameMenu = fsIsInPublicDir(console->fs);
|
||||||
|
|
||||||
strcpy(console->romName, name);
|
|
||||||
|
|
||||||
loadRom(console->tic, data, size, true);
|
loadRom(console->tic, data, size, true);
|
||||||
|
|
||||||
studioRomLoaded();
|
onCartLoaded(console, name);
|
||||||
|
|
||||||
printBack(console, "\ncart ");
|
|
||||||
printFront(console, console->romName);
|
|
||||||
printBack(console, " loaded!\nuse ");
|
|
||||||
printFront(console, "RUN");
|
|
||||||
printBack(console, " command to run it\n");
|
|
||||||
|
|
||||||
SDL_free(data);
|
SDL_free(data);
|
||||||
}
|
}
|
||||||
else printBack(console, "\ncart loading error");
|
else
|
||||||
|
{
|
||||||
|
printBack(console, "\ncart loading error");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else printBack(console, "\ncart name is missing");
|
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)
|
static bool printFilename(const char* name, const char* info, s32 id, void* data, bool dir)
|
||||||
{
|
{
|
||||||
|
|
||||||
PrintFileNameData* printData = data;
|
PrintFileNameData* printData = data;
|
||||||
Console* console = printData->console;
|
Console* console = printData->console;
|
||||||
|
|
||||||
printLine(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)
|
if(dir)
|
||||||
{
|
{
|
||||||
|
|
||||||
printBack(console, "[");
|
printBack(console, "[");
|
||||||
printBack(console, name);
|
printBack(console, name);
|
||||||
printBack(console, "]");
|
printBack(console, "]");
|
||||||
|
|
|
@ -53,7 +53,7 @@ typedef enum
|
||||||
CHUNK_TEMP3, // 8
|
CHUNK_TEMP3, // 8
|
||||||
CHUNK_SOUND, // 9
|
CHUNK_SOUND, // 9
|
||||||
CHUNK_WAVEFORM, // 10
|
CHUNK_WAVEFORM, // 10
|
||||||
CHUNK_OLDMUSIC, // 11
|
CHUNK_TEMP4, // 11
|
||||||
CHUNK_PALETTE, // 12
|
CHUNK_PALETTE, // 12
|
||||||
CHUNK_PATTERNS, // 13
|
CHUNK_PATTERNS, // 13
|
||||||
CHUNK_MUSIC, // 14
|
CHUNK_MUSIC, // 14
|
||||||
|
|
Loading…
Reference in New Issue