@ -2180,16 +2180,6 @@ void ObjSetMicro(Point position, int pn)
}
}
void objects_set_door_piece ( Point position )
{
int pn = dPiece [ position . x ] [ position . y ] - 1 ;
uint16_t * piece = & pLevelPieces [ 10 * pn + 8 ] ;
dpiece_defs_map_2 [ position . x ] [ position . y ] . mt [ 0 ] = SDL_SwapLE16 ( piece [ 0 ] ) ;
dpiece_defs_map_2 [ position . x ] [ position . y ] . mt [ 1 ] = SDL_SwapLE16 ( piece [ 1 ] ) ;
}
void ObjSetMini ( Point position , int v )
{
MegaTile mega = pMegaTiles [ v - 1 ] ;
@ -2274,6 +2264,16 @@ void ObjL2Special(int x1, int y1, int x2, int y2)
}
}
void objects_set_door_piece ( Point position )
{
int pn = dPiece [ position . x ] [ position . y ] - 1 ;
uint16_t * piece = & pLevelPieces [ 10 * pn + 8 ] ;
dpiece_defs_map_2 [ position . x ] [ position . y ] . mt [ 0 ] = SDL_SwapLE16 ( piece [ 0 ] ) ;
dpiece_defs_map_2 [ position . x ] [ position . y ] . mt [ 1 ] = SDL_SwapLE16 ( piece [ 1 ] ) ;
}
void DoorSet ( Point position , _object_id doorType )
{
int pn = dPiece [ position . x ] [ position . y ] ;
@ -5150,45 +5150,6 @@ void SyncBreakObj(int pnum, int oi)
BreakBarrel ( pnum , oi , 0 , true , false ) ;
}
void SyncL1Doors ( ObjectStruct & door )
{
if ( door . _oVar4 = = 0 ) {
door . _oMissFlag = false ;
return ;
}
door . _oMissFlag = true ;
door . _oSelFlag = 2 ;
Direction doorSetDirection { Direction : : DIR_OMNI } ;
if ( currlevel < 17 ) {
if ( door . _otype = = _object_id : : OBJ_L1LDOOR ) {
ObjSetMicro ( door . position , door . _oVar1 = = 214 ? 408 : 393 ) ;
dSpecial [ door . position . x ] [ door . position . y ] = 7 ;
objects_set_door_piece ( door . position + Direction : : DIR_NW ) ;
doorSetDirection = Direction : : DIR_NE ;
} else {
ObjSetMicro ( door . position , 395 ) ;
dSpecial [ door . position . x ] [ door . position . y ] = 8 ;
objects_set_door_piece ( door . position + Direction : : DIR_NE ) ;
doorSetDirection = Direction : : DIR_NW ;
}
} else {
if ( door . _otype = = _object_id : : OBJ_L1LDOOR ) {
ObjSetMicro ( door . position , 206 ) ;
dSpecial [ door . position . x ] [ door . position . y ] = 1 ;
objects_set_door_piece ( door . position + Direction : : DIR_NW ) ;
doorSetDirection = Direction : : DIR_NE ;
} else {
ObjSetMicro ( door . position , 209 ) ;
dSpecial [ door . position . x ] [ door . position . y ] = 2 ;
objects_set_door_piece ( door . position + Direction : : DIR_NE ) ;
doorSetDirection = Direction : : DIR_NW ;
}
}
DoorSet ( door . position + doorSetDirection , door . _otype ) ;
}
void SyncCrux ( int i )
{
bool found = true ;
@ -5240,6 +5201,45 @@ void SyncPedistal(int i)
}
}
void SyncL1Doors ( ObjectStruct & door )
{
if ( door . _oVar4 = = 0 ) {
door . _oMissFlag = false ;
return ;
}
door . _oMissFlag = true ;
door . _oSelFlag = 2 ;
Direction doorSetDirection { Direction : : DIR_OMNI } ;
if ( currlevel < 17 ) {
if ( door . _otype = = _object_id : : OBJ_L1LDOOR ) {
ObjSetMicro ( door . position , door . _oVar1 = = 214 ? 408 : 393 ) ;
dSpecial [ door . position . x ] [ door . position . y ] = 7 ;
objects_set_door_piece ( door . position + Direction : : DIR_NW ) ;
doorSetDirection = Direction : : DIR_NE ;
} else {
ObjSetMicro ( door . position , 395 ) ;
dSpecial [ door . position . x ] [ door . position . y ] = 8 ;
objects_set_door_piece ( door . position + Direction : : DIR_NE ) ;
doorSetDirection = Direction : : DIR_NW ;
}
} else {
if ( door . _otype = = _object_id : : OBJ_L1LDOOR ) {
ObjSetMicro ( door . position , 206 ) ;
dSpecial [ door . position . x ] [ door . position . y ] = 1 ;
objects_set_door_piece ( door . position + Direction : : DIR_NW ) ;
doorSetDirection = Direction : : DIR_NE ;
} else {
ObjSetMicro ( door . position , 209 ) ;
dSpecial [ door . position . x ] [ door . position . y ] = 2 ;
objects_set_door_piece ( door . position + Direction : : DIR_NE ) ;
doorSetDirection = Direction : : DIR_NW ;
}
}
DoorSet ( door . position + doorSetDirection , door . _otype ) ;
}
void SyncL2Doors ( ObjectStruct & door )
{
door . _oMissFlag = door . _oVar4 ! = 0 ;