- Generalized the special queue which was formerly used only for town enter/leave specials, and made the see monster special also use it.
- Redid the draw items and draw fields code to draw just on one space rather than the entire area. - Fixed bug where special spots were not masked properly. - Removed some large chunks of commented, obsolete code. - Found and fixed bug where the instant help system caused the game to believe you had stolen items when in fact you hadn't. - Added enum for special node context (ie the context in which a special node is being run); not really used yet though. - Added support and graphic for forcecage, and graphic for stone block; mechanics not yet implemented. git-svn-id: http://openexile.googlecode.com/svn/trunk@88 4ebdad44-0ea0-11de-aab3-ff745001d230
This commit is contained in:
@@ -237,6 +237,11 @@ bool cCurTown::is_rubble(char x, char y) const{
|
||||
return fields[x][y] & 8388608L;
|
||||
}
|
||||
|
||||
bool cCurTown::is_force_cage(char x, char y) const{
|
||||
if(x > record->max_dim() || y > record->max_dim()) return false;
|
||||
return fields[x][y] & 16777216L;
|
||||
}
|
||||
|
||||
//bool cCurTown::is_trim(char x, char y, char t){
|
||||
// unsigned char bit = 1 << t;
|
||||
// return trim[x][y] & bit;
|
||||
@@ -612,6 +617,15 @@ bool cCurTown::set_rubble(char x, char y, bool b){
|
||||
return true;
|
||||
}
|
||||
|
||||
bool cCurTown::set_force_cage(char x, char y, bool b){
|
||||
// TODO: Consider whether placing a forcecage should erase anything already present, or fail due to something already present
|
||||
// TODO: Also consider checking for forcecage in some of the other placement functions.
|
||||
if(x > record->max_dim() || y > record->max_dim()) return false;
|
||||
if(b) fields[x][y] |= 16777216L;
|
||||
else fields[x][y] &= ~16777216L;
|
||||
return true;
|
||||
}
|
||||
|
||||
//bool cCurTown::set_trim(char x, char y, char t, bool b){
|
||||
// unsigned char bit = 1 << t;
|
||||
// if(b){
|
||||
|
Reference in New Issue
Block a user