1 /*
2  * Portions of this file are copyright Rebirth contributors and licensed as
3  * described in COPYING.txt.
4  * Portions of this file are copyright Parallax Software and licensed
5  * according to the Parallax license below.
6  * See COPYING.txt for license details.
7 
8 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
9 SOFTWARE CORPORATION ("PARALLAX").  PARALLAX, IN DISTRIBUTING THE CODE TO
10 END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
11 ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
12 IN USING, DISPLAYING,  AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
13 SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
14 FREE PURPOSES.  IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
15 CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES.  THE END-USER UNDERSTANDS
16 AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
17 COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION.  ALL RIGHTS RESERVED.
18 */
19 
20 /*
21  *
22  * Created from version 1.6 of main\wall.h
23  *
24  */
25 
26 #pragma once
27 
28 #include <cstdint>
29 #include "fwd-segment.h"
30 
31 #ifdef __cplusplus
32 #include "fwd-wall.h"
33 
34 // Restores all the walls to original status
35 extern int wall_restore_all();
36 
37 // Adds a removable wall (medwall.c)
38 extern int wall_add_removable();
39 
40 // Adds a door (medwall.c)
41 extern int wall_add_door();
42 
43 // Adds an illusory wall (medwall.c)
44 extern int wall_add_illusion();
45 
46 // Removes a removable wall (medwall.c)
47 extern int wall_remove_blastable();
48 
49 // Adds a wall. (visually)
50 extern int wall_add_to_curside();
51 #ifdef dsx
52 int wall_add_to_markedside(fvcvertptr &vcvertptr, wall_array &Walls, int8_t type);
53 #endif
54 
55 // Removes a wall. (visually)
56 extern int wall_remove();
57 
58 // Removes a specific side.
59 #if defined(DXX_BUILD_DESCENT_I) || defined(DXX_BUILD_DESCENT_II)
60 int wall_remove_side(vmsegptridx_t seg, short side);
61 #endif
62 
63 extern int bind_wall_to_control_center();
64 
65 extern void close_wall_window();
66 
67 extern void do_wall_window();
68 
69 extern int wall_link_doors();
70 extern int wall_unlink_door();
71 extern void copy_group_walls(int old_group, int new_group);
72 void check_wall_validity(void);
73 
74 #endif
75