It is actually very easy to develop an room editor simular to this.
i use the following to make it possible
int floorspecs[12][9]={
{-1,-1,-1,-1,-1,-1,-1,-1,-1},
{-1,115,13,10,326,10,115,13,-1},
{-1,113,18,167,18,116,114,18,-1},
{-1,113,18,18,18,18,18,18,-1},
{-1,10,267,18,18,18,18,10,-1},
{-1,26,18,18,18,18,18,226,-1},
{-1,10,112,18,18,18,18,10,-1},
{-1,115,114,18,18,18,18,116,-1},
{-1,113,18,18,18,18,18,18,-1},
{-1,113,18,18,18,18,18,18,-1},
{-1,113,18,10,126,10,112,18,-1},
{-1,-1,-1,-1,-1,-1,-1,-1,-1}
};
then load some images
exp.
g_iSaveroom=agk::CreateSprite(agk::LoadImage("saveblockimg.jpg"));
agk::SetSpriteAnimation(g_iSaveroom,50,50,4);
agk::PlaySprite(g_iSaveroom,4,1,1,4);
agk::SetSpritePosition(g_iSaveroom,0,0);
ect.
then make a loop that clones the most used sprite in my case it is the floor.
know you got to test if the user selected one of the pictures or not thats not too hard.
exp 1.
if(xpos>0&&xpos<50&&ypos>0&&ypos<50)
{
menuselx=0;
}
ok you got the picture selected know it is time to select the floor.
exp 2.
if(xpos>252&&xpos<277&&ypos>0&&ypos<25)
{
selectedtylex=0;
selectedtyley=0;
}
know you have the floor peice and the sprite you selected it is time to do a case select
switch (menuselx)
{
case 0:
{
iCopy=agk::CloneSprite(g_iSaveroom);
break;
}
know comes the little tricky part you need to use the information from exp 2. to place the new sprite at the current location.
agk::SetSpriteAngle(iCopy,g_iRot);
agk::SetSpriteDepth(iCopy,1);
agk::SetSpritePosition(iCopy,252-25+selectedtylex*50,selectedtyley*50-25);
The sprite should goto the current location base upon your math. Adding one other rotation to the current sprite is not that hard all that I do it every time you click on a tile g_iRot rotates by.
g_iRot=g_iRot+90;
download the txt to see the hole program. Remember that sprites That I use are mostly 50 by 50.
Go through yourself at a wall.