- Implemented new-style frill drawing using masking (untested)

- Re-implemented walkway drawing in the same way
- Tried to fix an STL error
- A few other thing, maybe?

git-svn-id: http://openexile.googlecode.com/svn/trunk@60 4ebdad44-0ea0-11de-aab3-ff745001d230
This commit is contained in:
2009-05-18 11:16:46 +00:00
parent 88ff8a0886
commit bf1487114a
69 changed files with 751 additions and 545 deletions

View File

@@ -6,6 +6,12 @@
*
*/
#include <string>
#include <vector>
#include <map>
#include <sstream>
using namespace std;
#include "classes.h"
#include "oldstructs.h"
#include "mathutil.h"
@@ -238,6 +244,11 @@ bool cCurTown::is_rubble(char x, char y) const{
return fields[x][y] & 8388608L;
}
//bool cCurTown::is_trim(char x, char y, char t){
// unsigned char bit = 1 << t;
// return trim[x][y] & bit;
//}
bool cCurTown::set_explored(char x, char y, bool b){
if(x > record->max_dim() || y > record->max_dim()) return false;
if(b) fields[x][y] |= 1L;
@@ -608,6 +619,35 @@ bool cCurTown::set_rubble(char x, char y, bool b){
return true;
}
//bool cCurTown::set_trim(char x, char y, char t, bool b){
// unsigned char bit = 1 << t;
// if(b){
// switch(t){
// case 0:
// set_trim(x,y,1,false);
// break;
// case 1:
// if(!is_trim(x,y,3)) break;
// set_trim(x,y,3,false);
// set_trim(x,y,5,false);
// break;
// case 2:
// set_trim(x,y,1,false);
// set_trim(x,y,3,false);
// break;
// case 3:
// if(!is_trim(x,y,1)) break;
// set_trim(x,y,3,false);
// set_trim(x,y,5,false);
// break;
// case 6:
// set_trim(x,y,5,false);
// break;
// }
// trim[x][y] |= bit;
// }else trim[x][y] &= ~bit;
//}
unsigned char cCurTown::explored(char x,char y) const{
if(x > record->max_dim() || y > record->max_dim()) return 0;
return fields[x][y] & 0x000000FF;