no message

This commit is contained in:
BADIM-PC\Vadim
2017-12-10 12:55:45 +03:00
parent be7151386d
commit 8f060245df
12 changed files with 89 additions and 104 deletions

View File

@@ -357,15 +357,16 @@ static bool onConsoleLoadSectionCommand(Console* console, const char* param)
loadCart(console->tic, cart, data, size, true);
tic_mem* tic = console->tic;
// TODO: should load to the currena bank
switch(i)
{
case 0: memcpy(&tic->cart.tiles, &cart->tiles, sizeof cart->tiles + sizeof cart->sprites); break;
case 1: memcpy(&tic->cart.map, &cart->map, sizeof cart->map); break;
case 2: memcpy(&tic->cart.cover, &cart->cover, sizeof cart->cover); break;
case 3: memcpy(&tic->cart.code, &cart->code, sizeof cart->code); break;
case 4: memcpy(&tic->cart.sfx, &cart->sfx, sizeof cart->sfx); break;
case 5: memcpy(&tic->cart.music, &cart->music, sizeof cart->music); break;
case 6: memcpy(&tic->cart.palette, &cart->palette, sizeof cart->palette); break;
case 0: memcpy(&tic->cart.banks[0].tiles, &cart->banks[0].tiles, sizeof(tic_tiles)*2); break;
case 1: memcpy(&tic->cart.banks[0].map, &cart->banks[0].map, sizeof(tic_map)); break;
case 2: memcpy(&tic->cart.cover, &cart->cover, sizeof cart->cover); break;
case 3: memcpy(&tic->cart.code, &cart->code, sizeof cart->code); break;
case 4: memcpy(&tic->cart.banks[0].sfx, &cart->banks[0].sfx, sizeof(tic_sfx)); break;
case 5: memcpy(&tic->cart.banks[0].music, &cart->banks[0].music, sizeof(tic_music)); break;
case 6: memcpy(&tic->cart.palette, &cart->palette, sizeof(tic_palette)); break;
}
studioRomLoaded();
@@ -602,14 +603,15 @@ static char* saveBinarySection(char* ptr, const char* comment, const char* tag,
typedef struct {char* tag; s32 count; s32 offset; s32 size; bool flip;} BinarySection;
static const BinarySection BinarySections[] =
{
// TODO: fix banks loading here
{"PALETTE", 1, offsetof(tic_cartridge, palette.data), sizeof(tic_palette), false},
{"TILES", TIC_BANK_SPRITES, offsetof(tic_cartridge, tiles), sizeof(tic_tile), true},
{"SPRITES", TIC_BANK_SPRITES, offsetof(tic_cartridge, sprites), sizeof(tic_tile), true},
{"MAP", TIC_MAP_HEIGHT, offsetof(tic_cartridge, map), TIC_MAP_WIDTH, true},
{"WAVES", ENVELOPES_COUNT, offsetof(tic_cartridge, sfx.waveform.envelopes), sizeof(tic_waveform), true},
{"SFX", SFX_COUNT, offsetof(tic_cartridge, sfx.data), sizeof(tic_sound_effect), true},
{"PATTERNS", MUSIC_PATTERNS, offsetof(tic_cartridge, music.patterns), sizeof(tic_track_pattern), true},
{"TRACKS", MUSIC_TRACKS, offsetof(tic_cartridge, music.tracks), sizeof(tic_track), true},
{"TILES", TIC_BANK_SPRITES, offsetof(tic_cartridge, banks->tiles), sizeof(tic_tile), true},
{"SPRITES", TIC_BANK_SPRITES, offsetof(tic_cartridge, banks->sprites), sizeof(tic_tile), true},
{"MAP", TIC_MAP_HEIGHT, offsetof(tic_cartridge, banks->map), TIC_MAP_WIDTH, true},
{"WAVES", ENVELOPES_COUNT, offsetof(tic_cartridge, banks->sfx.waveform.envelopes), sizeof(tic_waveform), true},
{"SFX", SFX_COUNT, offsetof(tic_cartridge, banks->sfx.data), sizeof(tic_sound_effect), true},
{"PATTERNS", MUSIC_PATTERNS, offsetof(tic_cartridge, banks->music.patterns), sizeof(tic_track_pattern), true},
{"TRACKS", MUSIC_TRACKS, offsetof(tic_cartridge, banks->music.tracks), sizeof(tic_track), true},
};
static s32 saveProject(Console* console, void* buffer, const char* comment)
@@ -1330,7 +1332,8 @@ static void onImportSprites(const char* name, const void* buffer, size_t size, v
tic_rgb rgb = {c->r, c->g, c->b};
u8 color = tic_tool_find_closest_color(console->tic->cart.palette.colors, &rgb);
setSpritePixel(console->tic->cart.tiles.data, x, y, color);
// TODO: should be current bank
setSpritePixel(console->tic->cart.banks[0].tiles.data, x, y, color);
}
gif_close(image);
@@ -1352,8 +1355,9 @@ static void injectMap(Console* console, const void* buffer, s32 size)
{
enum {Size = sizeof(tic_map)};
SDL_memset(&console->tic->cart.map, 0, Size);
SDL_memcpy(&console->tic->cart.map, buffer, SDL_min(size, Size));
// TODO: should be current bank
SDL_memset(&console->tic->cart.banks[0].map, 0, Size);
SDL_memcpy(&console->tic->cart.banks[0].map, buffer, SDL_min(size, Size));
}
static void onImportMap(const char* name, const void* buffer, size_t size, void* data)
@@ -1453,7 +1457,7 @@ static void exportSprites(Console* console)
{
for (s32 y = 0; y < Height; y++)
for (s32 x = 0; x < Width; x++)
data[x + y * Width] = getSpritePixel(console->tic->cart.tiles.data, x, y);
data[x + y * Width] = getSpritePixel(console->tic->cart.banks[0].tiles.data, x, y);
s32 size = 0;
if((size = writeGifData(console->tic, buffer, data, Width, Height)))
@@ -1493,7 +1497,7 @@ static void exportMap(Console* console)
if(buffer)
{
SDL_memcpy(buffer, console->tic->cart.map.data, Size);
SDL_memcpy(buffer, console->tic->cart.banks[0].map.data, Size);
fsGetFileData(onMapExported, "world.map", buffer, Size, DEFAULT_CHMOD, console);
}
}
@@ -2764,7 +2768,7 @@ static bool cmdInjectSprites(Console* console, const char* param, const char* na
tic_rgb rgb = {c->r, c->g, c->b};
u8 color = tic_tool_find_closest_color(embed.file.palette.colors, &rgb);
setSpritePixel(embed.file.tiles.data, x, y, color);
setSpritePixel(embed.file.banks[0].tiles.data, x, y, color);
}
gif_close(image);