Area support in map editor. Increase max smart tiles. Smart tile editor. Removed static area names. Tile/map layout continuation.

This commit is contained in:
stevenhowes
2021-05-08 21:10:25 +01:00
parent 2c1288b910
commit 467263ce86
11 changed files with 359 additions and 105 deletions
+32 -11
View File
@@ -12,7 +12,7 @@ extern _kernel_swi_regs outreg;
#define TILESX 10
#define TILESY 10
#define SMARTTILES 100
#define SMARTTILES 200
#define AREAS 20
// map[0] is the 'master', [1] and [2] represents what is currently
@@ -117,6 +117,36 @@ void game2_loadsmarttiles(char* filename)
}
void game2_loadareanames(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(Areas))
{
screen_nobuffer();
while (1)
printf("Areas exceeds %d bytes (%d bytes) object type is %d\n",sizeof(Areas),length,outreg.r[0]);
//exit(0);
}
// Attempt to get file info
inreg.r[0] = 16;
inreg.r[1] = (int) filename;
inreg.r[2] = (int) Areas;
inreg.r[3] = 0;
_kernel_swi(OS_File,&inreg,&outreg);
}
void game2_loadmap(char* filename)
{
int length,i;
@@ -246,16 +276,7 @@ void game2_setup()
game2_loadmap("m2_map");
game2_loadsmarttiles("m2_smart");
sprintf(areaname,"null");
sprintf(Areas[0].name,"corridor");
sprintf(Areas[1].name,"shuttle bay");
sprintf(Areas[2].name,"briefing room");
sprintf(Areas[3].name,"cargo bay");
sprintf(Areas[4].name,"arboretum");
sprintf(Areas[5].name,"torpedo room 1");
sprintf(Areas[6].name,"torpedo room 2");
sprintf(Areas[7].name,"sensor control");
game2_saveareanames("m2_areas");
game2_loadareanames("m2_areas");
game2_fillmap(TilePlayer.mapoffset.X,TilePlayer.mapoffset.Y);
}