2 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
3 SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO
4 END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
5 ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
6 IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
7 SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
8 FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
9 CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS
10 AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
11 COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
14 * $Source: /cvs/cvsroot/d2x/main/editor/kcurve.c,v $
17 * $Date: 2004-12-19 13:54:27 $
19 * Functions for curve stuff.
21 * $Log: not supported by cvs2svn $
22 * Revision 1.1.1.1 1999/06/14 22:03:20 donut
23 * Import of d1x 1.37 source.
25 * Revision 2.0 1995/02/27 11:35:29 john
26 * Version 2.0! No anonymous unions, Watcom 10.0, with no need
29 * Revision 1.17 1994/08/25 21:56:43 mike
32 * Revision 1.16 1994/05/14 17:17:54 matt
33 * Got rid of externs in source (non-header) files
35 * Revision 1.15 1994/01/28 10:52:24 mike
36 * Bind set_average_light_on_curside to DeleteCurve
38 * Revision 1.14 1994/01/25 17:34:47 mike
39 * Stupidly bound fix_bogus_uvs_all to delete curve.
41 * Revision 1.13 1993/12/06 19:34:15 yuan
42 * Fixed autosave so that undo restores Cursegp
45 * Revision 1.12 1993/12/02 12:39:28 matt
46 * Removed extra includes
48 * Revision 1.11 1993/11/12 13:08:38 yuan
49 * Fixed warning for concave segment so it appears after any
50 * "less important" diagnostic messages.
52 * Revision 1.10 1993/11/11 17:03:25 yuan
53 * Fixed undo-status display
55 * Revision 1.9 1993/11/11 15:55:11 yuan
56 * Added undo messages.
58 * Revision 1.8 1993/11/08 19:13:30 yuan
59 * Added Undo command (not working yet)
61 * Revision 1.7 1993/11/05 17:32:51 john
65 * Revision 1.6 1993/10/29 19:12:41 yuan
66 * Added diagnostic messages
68 * Revision 1.5 1993/10/29 16:26:30 yuan
69 * Added diagnostic messages for curve generation
71 * Revision 1.4 1993/10/22 19:47:30 yuan
72 * Can't build curve if Marked Seg has a segment attached.
74 * Revision 1.3 1993/10/19 20:54:50 matt
75 * Changed/cleaned up window updates
77 * Revision 1.2 1993/10/14 13:52:17 mike
78 * Add return value to AssignTexture
80 * Revision 1.1 1993/10/13 18:53:11 john
87 static char rcsid[] = "$Id: kcurve.c,v 1.1 2004-12-19 13:54:27 btb Exp $";
96 static fix r1scale, r4scale;
107 if ( (Markedsegp != 0) && !IS_CHILD(Markedsegp->children[Markedside])) {
108 r1scale = r4scale = F1_0*20;
109 autosave_mine( mine_filename );
110 diagnostic_message("Curve Generated.");
111 Update_flags |= UF_WORLD_CHANGED;
112 curve = generate_curve(r1scale, r4scale);
115 strcpy(undo_status[Autosave_count], "Curve Generation UNDONE.\n");
117 if (curve == 0) diagnostic_message("Cannot generate curve -- check Current segment.");
119 else diagnostic_message("Cannot generate curve -- check Marked segment.");
120 warn_if_concave_segments();
128 Update_flags |= UF_WORLD_CHANGED;
131 generate_curve(r1scale, r4scale);
132 diagnostic_message("R4 vector decreased.");
134 warn_if_concave_segments();
142 Update_flags |= UF_WORLD_CHANGED;
145 generate_curve(r1scale, r4scale);
146 diagnostic_message("R4 vector increased.");
148 warn_if_concave_segments();
156 Update_flags |= UF_WORLD_CHANGED;
159 generate_curve(r1scale, r4scale);
160 diagnostic_message("R1 vector decreased.");
162 warn_if_concave_segments();
170 Update_flags |= UF_WORLD_CHANGED;
173 generate_curve(r1scale, r4scale);
174 diagnostic_message("R1 vector increased.");
176 warn_if_concave_segments();
183 // fix_bogus_uvs_all();
184 set_average_light_on_curside();
187 Update_flags |= UF_WORLD_CHANGED;
191 diagnostic_message("Curve Deleted.");
192 warn_if_concave_segments();
199 if (curve) curve = 0;
200 //autosave_mine( mine_filename );
201 //strcpy(undo_status[Autosave_count], "Curve Generation UNDONE.\n");