diff --git a/!TheEsc/!MapEdit,ff8 b/!TheEsc/!MapEdit,ff8 index c5381e5..a6ee6dd 100644 Binary files a/!TheEsc/!MapEdit,ff8 and b/!TheEsc/!MapEdit,ff8 differ diff --git a/!TheEsc/!RunImage,ff8 b/!TheEsc/!RunImage,ff8 index 75af584..012733f 100644 Binary files a/!TheEsc/!RunImage,ff8 and b/!TheEsc/!RunImage,ff8 differ diff --git a/!TheEsc/c/MapEdit b/!TheEsc/c/MapEdit index 141b61f..c6a5d85 100644 --- a/!TheEsc/c/MapEdit +++ b/!TheEsc/c/MapEdit @@ -184,7 +184,7 @@ void game2_setup() memset(map[1],0xFF,100); memset(map[2],0xFF,100); - game2_loadmap("mission2"); + game2_loadmap("m2_map"); game2_loadsmarttiles("m2_smart"); game2_fillmap(TilePlayer.mapoffset.X,TilePlayer.mapoffset.Y); } @@ -305,7 +305,7 @@ void game2_tick_input() // S if(input_readkey(81)) { - game2_savemap("mission2"); + game2_savemap("m2_map"); game2_savesmarttiles("m2_smart"); } diff --git a/!TheEsc/c/Mission2 b/!TheEsc/c/Mission2 index dd54b92..d7dfa14 100644 --- a/!TheEsc/c/Mission2 +++ b/!TheEsc/c/Mission2 @@ -63,6 +63,36 @@ void game2_savesmarttiles(char* filename) } +void game2_loadsmarttiles(char* filename) +{ + int length; + + // Attempt to get file info + inreg.r[0] = 5; + inreg.r[1] = (int) filename; + _kernel_swi(OS_File,&inreg,&outreg); + + // Length will be in R4 if it exists + length = outreg.r[4]; + + if(length > sizeof(SmartTiles)) + { + screen_nobuffer(); + while (1) + printf("Smarttiles exceeds %d bytes (%d bytes) object type is %d\n",sizeof(SmartTiles),length,outreg.r[0]); + //exit(0); + } + + // Attempt to get file info + inreg.r[0] = 16; + inreg.r[1] = (int) filename; + inreg.r[2] = (int) SmartTiles; + inreg.r[3] = 0; + + _kernel_swi(OS_File,&inreg,&outreg); + +} + void game2_loadmap(char* filename) { int length,i; @@ -92,38 +122,6 @@ void game2_loadmap(char* filename) for(i = 0; i < SMARTTILES; i++) SmartTiles[i].Tile = -1; - - SmartTiles[0].Tile = 1206; - SmartTiles[0].ActionTarget = 1206; - SmartTiles[0].Action = 0; - SmartTiles[0].ActionValue = 16; - - SmartTiles[1].Tile = 1207; - SmartTiles[1].ActionTarget = 1206; - SmartTiles[1].Action = 0; - SmartTiles[1].ActionValue = 16; - - SmartTiles[2].Tile = 1107; - SmartTiles[2].ActionTarget = 1206; - SmartTiles[2].Action = 0; - SmartTiles[2].ActionValue = 17; - - SmartTiles[3].Tile = 1208; - SmartTiles[3].ActionTarget = 1206; - SmartTiles[3].Action = 0; - SmartTiles[3].ActionValue = 17; - - SmartTiles[4].Tile = 1307; - SmartTiles[4].ActionTarget = 1206; - SmartTiles[4].Action = 0; - SmartTiles[4].ActionValue = 17; - - - SmartTiles[5].Tile = 1205; - SmartTiles[5].ActionTarget = 1206; - SmartTiles[5].Action = 0; - SmartTiles[5].ActionValue = 17; - game2_savesmarttiles("m2_smart"); } void game2_death() @@ -214,7 +212,8 @@ void game2_setup() memset(map[1],0xFF,100); memset(map[2],0xFF,100); - game2_loadmap("mission2"); + game2_loadmap("m2_map"); + game2_loadsmarttiles("m2_smart"); game2_fillmap(TilePlayer.mapoffset.X,TilePlayer.mapoffset.Y); } diff --git a/!TheEsc/mission2,ffd b/!TheEsc/m2_map,ffd similarity index 100% rename from !TheEsc/mission2,ffd rename to !TheEsc/m2_map,ffd