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-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 18 */ 19 20 #pragma once 21 22 #ifdef __cplusplus 23 #include "dsx-ns.h" 24 25 // In khelp.c 26 int DoHelp(); 27 28 // In kcurve.c 29 int InitCurve(); 30 int GenerateCurve(); 31 int DecreaseR4(); 32 int IncreaseR4(); 33 int DecreaseR1(); 34 int IncreaseR1(); 35 int DeleteCurve(); 36 int SetCurve(); 37 38 // In kmine.c 39 int SaveMine(); 40 int LoadMine(); 41 int MineMenu(); 42 int CreateNewMine(); 43 int LoadOldMine(); 44 45 int SaveSituation(); 46 int LoadSituation(); 47 48 // In kgame.c 49 int SetPlayerPosition(void); 50 int SaveGameData(); 51 int LoadGameData(); 52 int LoadMineOnly(); 53 void ResetFilename(); 54 55 // In group.c 56 int LoadGroup(); 57 int SaveGroup(); 58 int PrevGroup(); 59 int NextGroup(); 60 int CreateGroup(); 61 int SubtractFromGroup(); 62 int DeleteGroup(); 63 int MarkGroupSegment(); 64 int MoveGroup(void); 65 int CopyGroup(void); 66 int AttachSegmentNew(); 67 int UngroupSegment(); 68 int GroupSegment(); 69 int Degroup(); 70 int RotateGroup(); 71 72 // In segment.c 73 int ToggleBottom(); 74 void make_curside_bottom_side(); 75 #ifdef DXX_BUILD_DESCENT_II 76 int select_segment_by_number(); 77 int select_segment_with_powerup(); 78 #endif 79 80 // In editor.c 81 int UndoCommand(); 82 83 // In kview.c 84 int ZoomOut(); 85 int ZoomIn(); 86 int MoveAway(); 87 int MoveCloser(); 88 int ToggleChaseMode(); 89 90 // In kbuild.c 91 int CreateBridge(); 92 int FormJoint(); 93 int CreateAdjacentJoint(); 94 int CreateAdjacentJointsSegment(); 95 int CreateAdjacentJointsAll(); 96 int CreateSloppyAdjacentJoint(); 97 int CreateSloppyAdjacentJointsGroup(); 98 99 // In ksegmove.c 100 int DecreaseHeading(); 101 int IncreaseHeading(); 102 int DecreasePitch(); 103 int IncreasePitch(); 104 int DecreaseBank(); 105 int IncreaseBank(); 106 107 // In ksegsel.c 108 int SelectCurrentSegForward(); 109 int SelectCurrentSegBackward(); 110 int SelectNextSide(); 111 int SelectPrevSide(); 112 int CopySegToMarked(); 113 int SelectBottom(); 114 int SelectFront(); 115 int SelectTop(); 116 int SelectBack(); 117 int SelectLeft(); 118 int SelectRight(); 119 120 // In ksegsize.c 121 #ifdef dsx 122 namespace dsx { 123 int IncreaseSegLength(); 124 int DecreaseSegLength(); 125 int DecreaseSegWidth(); 126 int IncreaseSegWidth(); 127 int IncreaseSegHeight(); 128 int DecreaseSegHeight(); 129 int ToggleSegSizeMode(); 130 int PerturbCurside(); 131 int PerturbCursideBig(); 132 133 int IncreaseSegLengthBig(); 134 int DecreaseSegLengthBig(); 135 int DecreaseSegWidthBig(); 136 int IncreaseSegWidthBig(); 137 int IncreaseSegHeightBig(); 138 int DecreaseSegHeightBig(); 139 140 int IncreaseSegLengthDefault(); 141 int DecreaseSegLengthDefault(); 142 int IncreaseSegWidthDefault(); 143 int DecreaseSegWidthDefault(); 144 int IncreaseSegHeightDefault(); 145 int DecreaseSegHeightDefault(); 146 int do_trigger_dialog(); 147 } 148 #endif 149 150 // In ktmap.c 151 int AssignTexture(); 152 int AssignTexture2(); 153 int ClearTexture2(); 154 int PropagateTextures(); 155 int PropagateTexturesMove(); 156 int PropagateTexturesMoveUVs(); 157 int PropagateTexturesUVs(); 158 int PropagateTexturesSelected(); 159 160 //--//// In macro.c 161 //--//int MacroMenu(); 162 //--//int MacroPlayFast(); 163 //--//int MacroPlayNormal(); 164 //--//int MacroRecordAll(); 165 //--//int MacroRecordKeys(); 166 //--//int MacroSave(); 167 //--//int MacroLoad(); 168 169 // In editor.c 170 int AttachSegment(); 171 int DeleteSegment(); 172 int CallLisp(); 173 int ExitEditor(); 174 int ShowAbout(); 175 int ExchangeMarkandCurseg(); 176 #ifdef DXX_BUILD_DESCENT_II 177 int CopySegtoMarked(); 178 #endif 179 int med_keypad_goto_prev(); 180 int med_keypad_goto_next(); 181 int med_keypad_goto(); 182 int med_increase_tilings(); 183 int med_decrease_tilings(); 184 int ToggleAutosave(); 185 int MarkEnd(); 186 187 // Texture.c 188 int TexFlipX(); 189 int TexFlipY(); 190 int TexSlideUp(); 191 int TexSlideLeft(); 192 int TexSetDefault(); 193 #ifdef DXX_BUILD_DESCENT_II 194 int TexSetDefaultSelected(); 195 #endif 196 int TexSlideRight(); 197 int TexRotateLeft(); 198 int TexSlideDown(); 199 int TexRotateRight(); 200 int TexSelectActiveEdge(); 201 int TexRotate90Degrees(); 202 int TexIncreaseTiling(); 203 int TexDecreaseTiling(); 204 int TexSlideUpBig(); 205 int TexSlideLeftBig(); 206 int TexSlideRightBig(); 207 int TexRotateLeftBig(); 208 int TexSlideDownBig(); 209 int TexRotateRightBig(); 210 int TexStretchDown(); 211 int TexStretchUp(); 212 #ifdef DXX_BUILD_DESCENT_II 213 int TexChangeAll(); 214 int TexChangeAll2(); 215 #endif 216 217 // object.c 218 #ifdef dsx 219 namespace dsx { 220 int ObjectPlaceObject(); 221 int ObjectMakeCoop(); 222 int ObjectPlaceObjectTmap(); 223 int ObjectDelete(); 224 int ObjectMoveForward(); 225 int ObjectMoveLeft(); 226 int ObjectSetDefault(); 227 int ObjectMoveRight(); 228 int ObjectMoveBack(); 229 int ObjectMoveDown(); 230 int ObjectMoveUp(); 231 int ObjectMoveNearer(); 232 int ObjectMoveFurther(); 233 int ObjectSelectNextinSegment(); 234 int ObjectSelectNextType(); 235 236 template <int p, int b, int h> 237 int ObjectChangeRotation(); 238 239 #define ROTATION_UNIT (4096/4) 240 241 #define ObjectDecreaseBank ObjectChangeRotation<0, -ROTATION_UNIT, 0> 242 #define ObjectIncreaseBank ObjectChangeRotation<0, ROTATION_UNIT, 0> 243 #define ObjectDecreasePitch ObjectChangeRotation<-ROTATION_UNIT, 0, 0> 244 #define ObjectIncreasePitch ObjectChangeRotation<ROTATION_UNIT, 0, 0> 245 #define ObjectDecreaseHeading ObjectChangeRotation<0, 0, -ROTATION_UNIT> 246 #define ObjectIncreaseHeading ObjectChangeRotation<0, 0, ROTATION_UNIT> 247 248 #define ObjectDecreaseBankBig ObjectChangeRotation<0, -(ROTATION_UNIT*4), 0> 249 #define ObjectIncreaseBankBig ObjectChangeRotation<0, (ROTATION_UNIT*4), 0> 250 #define ObjectDecreasePitchBig ObjectChangeRotation<-(ROTATION_UNIT*4), 0, 0> 251 #define ObjectIncreasePitchBig ObjectChangeRotation<(ROTATION_UNIT*4), 0, 0> 252 #define ObjectDecreaseHeadingBig ObjectChangeRotation<0, 0, -(ROTATION_UNIT*4)> 253 #define ObjectIncreaseHeadingBig ObjectChangeRotation<0, 0, (ROTATION_UNIT*4)> 254 255 int ObjectResetObject(); 256 } 257 #endif 258 259 // elight.c 260 int LightSelectNextVertex(); 261 int LightSelectNextEdge(); 262 int LightCopyIntensity(); 263 int LightCopyIntensitySegment(); 264 int LightDecreaseLightVertex(); 265 int LightIncreaseLightVertex(); 266 int LightDecreaseLightSide(); 267 int LightIncreaseLightSide(); 268 int LightDecreaseLightSegment(); 269 int LightIncreaseLightSegment(); 270 int LightSetMaximum(); 271 int LightSetDefault(); 272 int LightSetDefaultAll(); 273 int LightAmbientLighting(); 274 275 // seguvs.c 276 #ifdef dsx 277 namespace dsx { 278 int fix_bogus_uvs_on_side(); 279 int fix_bogus_uvs_all(); 280 } 281 #endif 282 int set_average_light_on_curside(void); 283 int set_average_light_on_all(void); 284 int set_average_light_on_all_quick(void); 285 286 // Miscellaneous, please put in correct file if you have time 287 int GotoMainMenu(); 288 int GotoGameScreen(); 289 int DropIntoDebugger(); 290 int CreateDefaultNewSegment(); 291 int CreateDefaultNewSegmentandAttach(); 292 int ClearSelectedList(); 293 int ClearFoundList(); 294 int SetPlayerFromCurseg(); 295 int SetPlayerFromCursegAndRotate(); 296 int SetPlayerFromCursegMinusOne(); 297 int FindConcaveSegs(); 298 int do_reset_orient(); 299 int GameZoomOut(); 300 int GameZoomIn(); 301 302 // John's temp page stuff 303 int medtmp_set_page(); 304 305 // In objpage.c 306 int objpage_goto_next_object(); 307 308 // In medsel.c 309 extern int SortSelectedList(void); 310 extern int SelectNextFoundSeg(void); 311 extern int SelectPreviousFoundSeg(void); 312 313 // In wall.c 314 extern int wall_add_blastable(void); 315 extern int wall_add_closed_wall(void); 316 extern int wall_add_external_wall(void); 317 extern int wall_lock_door(void); 318 extern int wall_automate_door(void); 319 extern int wall_deautomate_door(void); 320 extern int wall_assign_door_1(void); 321 extern int wall_assign_door_2(void); 322 extern int wall_assign_door_3(void); 323 extern int wall_assign_door_4(void); 324 extern int wall_assign_door_5(void); 325 extern int wall_assign_door_6(void); 326 extern int wall_assign_door_7(void); 327 extern int wall_assign_door_8(void); 328 extern int do_wall_dialog(void); 329 extern int check_walls(void); 330 extern int delete_all_walls(void); 331 #ifdef DXX_BUILD_DESCENT_II 332 extern int delete_all_controlcen_triggers(void); 333 #endif 334 335 // In switch.c 336 //extern int trigger_add_damage(void); 337 //extern int trigger_add_blank(void); 338 //extern int trigger_add_exit(void); 339 //extern int trigger_add_repair(void); 340 //extern int trigger_control(void); 341 //extern int trigger_remove(void); 342 //extern int trigger_add_if_control_center_dead(void); 343 extern int bind_wall_to_control_trigger(void); 344 345 // In med.c 346 extern int fuelcen_create_from_curseg(); 347 extern int repaircen_create_from_curseg(); 348 extern int controlcen_create_from_curseg(); 349 extern int robotmaker_create_from_curseg(); 350 extern int fuelcen_reset_all(); 351 extern int RestoreGameState(); 352 extern int fuelcen_delete_from_curseg(); 353 #ifdef DXX_BUILD_DESCENT_II 354 extern int goal_blue_create_from_curseg(); 355 extern int goal_red_create_from_curseg(); 356 #endif 357 358 // In editor\robot.c 359 extern int do_robot_dialog(); 360 extern int do_object_dialog(); 361 362 #endif 363 364