Changeset 320
- Timestamp:
- 09/06/08 03:35:17 (3 months ago)
- Files:
-
- GtkRadiant/trunk/config.py (modified) (2 diffs)
- GtkRadiant/trunk/contrib/bkgrnd2d/plugin.cpp (modified) (1 diff)
- GtkRadiant/trunk/contrib/bobtoolz/DEPair.cpp (modified) (1 diff)
- GtkRadiant/trunk/contrib/bobtoolz/DEPair.h (modified) (2 diffs)
- GtkRadiant/trunk/contrib/bobtoolz/DEntity.cpp (modified) (9 diffs)
- GtkRadiant/trunk/contrib/bobtoolz/DEntity.h (modified) (3 diffs)
- GtkRadiant/trunk/contrib/bobtoolz/DMap.cpp (modified) (5 diffs)
- GtkRadiant/trunk/contrib/bobtoolz/DMap.h (modified) (2 diffs)
- GtkRadiant/trunk/contrib/bobtoolz/bobToolz-GTK.cpp (modified) (6 diffs)
- GtkRadiant/trunk/contrib/bobtoolz/dialogs/dialogs-gtk.cpp (modified) (1 diff)
- GtkRadiant/trunk/contrib/bobtoolz/misc.cpp (modified) (3 diffs)
- GtkRadiant/trunk/contrib/bobtoolz/misc.h (modified) (1 diff)
- GtkRadiant/trunk/contrib/gtkgensurf/dec.cpp (modified) (14 diffs)
- GtkRadiant/trunk/contrib/gtkgensurf/font.cpp (modified) (1 diff)
- GtkRadiant/trunk/contrib/gtkgensurf/gendlgs.cpp (modified) (1 diff)
- GtkRadiant/trunk/contrib/gtkgensurf/gensurf.cpp (modified) (1 diff)
- GtkRadiant/trunk/radiant/pluginmanager.cpp (modified) (31 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
GtkRadiant/trunk/config.py
r319 r320 268 268 269 269 def Setup( self ): 270 if ( platform == 'local' ):271 # special case, fetch external paks under the local install directory272 self.FetchGamePaks( self.install_directory )270 if ( platform == 'local' ): 271 # special case, fetch external paks under the local install directory 272 self.FetchGamePaks( self.install_directory ) 273 273 # NOTE: unrelated to self.setup_platforms - grab support files and binaries and install them 274 274 if ( self.platform == 'Windows' ): … … 293 293 raise Exception( 'unzip dependencies file failed' ) 294 294 os.chdir( backup_cwd ) 295 295 296 296 # copy all the dependent runtime data to the install directory 297 297 srcdir = os.path.dirname( backup_cwd ) GtkRadiant/trunk/contrib/bkgrnd2d/plugin.cpp
r289 r320 94 94 struct toolbar_button_info_s 95 95 { 96 c har *image;97 c har *text;98 c har *tip;96 const char *image; 97 const char *text; 98 const char *tip; 99 99 void (*func)(); 100 100 IToolbarButton::EType type; GtkRadiant/trunk/contrib/bobtoolz/DEPair.cpp
r185 r320 43 43 ////////////////////////////////////////////////////////////////////// 44 44 45 void DEPair::Build(c har *pKey,char *pValue)45 void DEPair::Build(const char *pKey, const char *pValue) 46 46 { 47 47 key = pKey; GtkRadiant/trunk/contrib/bobtoolz/DEPair.h
r183 r320 29 29 #endif // _MSC_VER > 1000 30 30 31 class DEPair 31 class DEPair 32 32 { 33 33 public: … … 35 35 virtual ~DEPair(); 36 36 37 void Build(c har* pKey,char* pValue);37 void Build(const char* pKey, const char* pValue); 38 38 39 39 Str key; GtkRadiant/trunk/contrib/bobtoolz/DEntity.cpp
r195 r320 136 136 ClearBrushes(); 137 137 ClearEPairs(); 138 138 139 139 bool build = false; 140 140 for(unsigned int i = 0; i < portals.node_count; i++) … … 145 145 for(unsigned int j = 0; j < portals.node[i].portal_count; j++) 146 146 { 147 for(unsigned int k = 0; k < portals.node[i].portal[j].point_count-2; k++) 147 for(unsigned int k = 0; k < portals.node[i].portal[j].point_count-2; k++) 148 148 { 149 149 vec3_t v1, v2, normal, n; … … 153 153 VectorNormalize(n, v2); 154 154 155 if(k == 0) 155 if(k == 0) 156 156 { 157 157 VectorCopy(v2, normal); … … 521 521 } 522 522 523 void DEntity::AddEPair(c har *key, char *value) {524 DEPair* newEPair; 523 void DEntity::AddEPair(const char *key, const char *value) { 524 DEPair* newEPair; 525 525 newEPair = FindEPairByKey( key ); 526 526 if(!newEPair) { … … 540 540 if(!strcmp(ep->key, "classname")) 541 541 SetClassname(ep->value); 542 else 542 else 543 543 AddEPair(ep->key, ep->value); 544 544 … … 547 547 } 548 548 549 bool DEntity::ResetTextures(const char* textureName, float fScale[2], float fShift[2], int rotation, const char* newTextureName, 549 bool DEntity::ResetTextures(const char* textureName, float fScale[2], float fShift[2], int rotation, const char* newTextureName, 550 550 int bResetTextureName, int bResetScale[2], int bResetShift[2], int bResetRotation, bool rebuild) 551 551 { … … 558 558 for(list<DBrush *>::const_iterator resetBrush=brushList.begin(); resetBrush!=brushList.end(); resetBrush++) 559 559 { 560 bool tmp = (*resetBrush)->ResetTextures(textureName, fScale, fShift, rotation, newTextureName, 560 bool tmp = (*resetBrush)->ResetTextures(textureName, fScale, fShift, rotation, newTextureName, 561 561 bResetTextureName, bResetScale, bResetShift, bResetRotation); 562 562 … … 567 567 if(rebuild) 568 568 { 569 entity_t *pE = (*resetBrush)->QER_brush->owner; 569 entity_t *pE = (*resetBrush)->QER_brush->owner; 570 570 g_FuncTable.m_pfnDeleteBrushHandle((*resetBrush)->QER_brush); 571 571 (*resetBrush)->BuildInRadiant(FALSE, NULL, pE->entityId == 0 ? NULL : pE); … … 590 590 if(rebuild) 591 591 { 592 entity_t *pE = (*resetPatch)->QER_brush->owner; 592 entity_t *pE = (*resetPatch)->QER_brush->owner; 593 593 g_FuncTable.m_pfnDeleteBrushHandle((*resetPatch)->QER_brush); 594 594 (*resetPatch)->BuildInRadiant(pE->entityId == 0 ? NULL : pE); GtkRadiant/trunk/contrib/bobtoolz/DEntity.h
r183 r320 34 34 #endif // _MSC_VER > 1000 35 35 36 class DEntity 36 class DEntity 37 37 { 38 38 public: … … 48 48 // epair functions........ 49 49 void LoadEPairList(epair_t* epl); 50 void AddEPair(c har* key,char* value);50 void AddEPair(const char* key, const char* value); 51 51 void ClearEPairs(); 52 52 DEPair* FindEPairByKey(const char* keyname); … … 74 74 bool* BuildIntersectList(); 75 75 // --------------------------------------------- 76 76 77 77 78 78 // brush operations GtkRadiant/trunk/contrib/bobtoolz/DMap.cpp
r185 r320 41 41 } 42 42 43 DEntity* DMap::AddEntity(c har *classname, int ID)43 DEntity* DMap::AddEntity(const char *classname, int ID) 44 44 { 45 45 DEntity* newEntity; … … 50 50 51 51 entityList.push_back(newEntity); 52 52 53 53 return newEntity; 54 54 } … … 132 132 { 133 133 cnt = (*fixEntity)->FixBrushes(FALSE); 134 134 135 135 if(cnt && rebuild) 136 136 RebuildEntity(*fixEntity); … … 143 143 } 144 144 145 void DMap::ResetTextures( const char* textureName, float fScale[2], float fShift[2], int rotation, const char* newTextureName, 145 void DMap::ResetTextures( const char* textureName, float fScale[2], float fShift[2], int rotation, const char* newTextureName, 146 146 int bResetTextureName, int bResetScale[2], int bResetShift[2], int bResetRotation) 147 147 { … … 149 149 { 150 150 if(!stricmp("worldspawn", (*texEntity)->m_Classname)) 151 (*texEntity)->ResetTextures(textureName, fScale, fShift, rotation, newTextureName, 151 (*texEntity)->ResetTextures(textureName, fScale, fShift, rotation, newTextureName, 152 152 bResetTextureName, bResetScale, bResetShift, bResetRotation, TRUE); 153 153 else 154 154 { 155 if((*texEntity)->ResetTextures( textureName, fScale, fShift, rotation, newTextureName, 155 if((*texEntity)->ResetTextures( textureName, fScale, fShift, rotation, newTextureName, 156 156 bResetTextureName, bResetScale, bResetShift, bResetRotation, FALSE)) 157 157 RebuildEntity(*texEntity); 158 158 } 159 } 159 } 160 160 } 161 161 GtkRadiant/trunk/contrib/bobtoolz/DMap.h
r183 r320 31 31 #endif // _MSC_VER > 1000 32 32 33 class DMap 33 class DMap 34 34 { 35 35 public: … … 44 44 45 45 DEntity* DMap::GetEntityForID(int ID); 46 DEntity* AddEntity(c har* classname = "worldspawn", int ID = -1);46 DEntity* AddEntity(const char* classname = "worldspawn", int ID = -1); 47 47 48 48 list<DEntity*> entityList; GtkRadiant/trunk/contrib/bobtoolz/bobToolz-GTK.cpp
r185 r320 37 37 38 38 // plugin name 39 c har* PLUGIN_NAME = "bobToolz";39 const char* PLUGIN_NAME = "bobToolz"; 40 40 41 41 // commands in the menu 42 static c har* PLUGIN_COMMANDS = "About...,-,Reset Textures...,PitOMatic,-,Vis Viewer,Brush Cleanup,Polygon Builder,Caulk Selection,-,Tree Planter,Drop Entity,Plot Splines,-,Merge Patches,Split patches,Turn edge";42 static const char* PLUGIN_COMMANDS = "About...,-,Reset Textures...,PitOMatic,-,Vis Viewer,Brush Cleanup,Polygon Builder,Caulk Selection,-,Tree Planter,Drop Entity,Plot Splines,-,Merge Patches,Split patches,Turn edge"; 43 43 44 44 // globals … … 109 109 GtkWidget *pixmap; 110 110 111 g_FuncTable.m_pfnLoadBitmap(filename, (void **)&gdkpixmap, (void **)&mask); 111 g_FuncTable.m_pfnLoadBitmap(filename, (void **)&gdkpixmap, (void **)&mask); 112 112 pixmap = gtk_pixmap_new (gdkpixmap, mask); 113 113 … … 116 116 117 117 return pixmap; 118 } 118 } 119 119 120 120 class CBobtoolzToolbarButton : public IToolbarButton … … 141 141 case 3: return eToggleButton; 142 142 default: return eButton; 143 } 143 } 144 144 } 145 145 virtual const char* getText() const … … 211 211 bool RequestAPI(APIDescriptor_t *pAPI); 212 212 const char* GetInfo(); 213 213 214 214 CSynapseClientBobtoolz() { } 215 215 virtual ~CSynapseClientBobtoolz() { } … … 235 235 g_pSynapseServer->IncRef(); 236 236 Set_Syn_Printf(g_pSynapseServer->Get_Syn_Printf()); 237 237 238 238 g_SynapseClient.AddAPI(TOOLBAR_MAJOR, BOBTOOLZ_MINOR, sizeof(_QERPlugToolbarTable)); 239 239 g_SynapseClient.AddAPI(PLUGIN_MAJOR, BOBTOOLZ_MINOR, sizeof(_QERPluginTable)); GtkRadiant/trunk/contrib/bobtoolz/dialogs/dialogs-gtk.cpp
r293 r320 162 162 } 163 163 164 bool ValidateTextIntRange(const char* pData, int min, int max, c har* error_title, int* value)164 bool ValidateTextIntRange(const char* pData, int min, int max, const char* error_title, int* value) 165 165 { 166 166 char error_buffer[256]; GtkRadiant/trunk/contrib/bobtoolz/misc.cpp
r303 r320 118 118 } 119 119 120 char* TranslateString (c har *buf)120 char* TranslateString (const char *buf) 121 121 { 122 122 static char buf2[32768]; … … 141 141 } 142 142 143 void Sys_ERROR (c har* text, ...)143 void Sys_ERROR (const char* text, ...) 144 144 { 145 145 va_list argptr; … … 192 192 } 193 193 194 extern c har* PLUGIN_NAME;194 extern const char* PLUGIN_NAME; 195 195 /*char* GetGameFilename(char* buffer, const char* filename) 196 196 { GtkRadiant/trunk/contrib/bobtoolz/misc.h
r303 r320 27 27 void FillDefaultTexture(_QERFaceData* faceData, vec3_t va, vec3_t vb, vec3_t vc, const char* texture); 28 28 29 void Sys_ERROR (c har* text, ...);29 void Sys_ERROR (const char* text, ...); 30 30 31 31 void BuildMiniPrt(list<Str>* exclusionList); GtkRadiant/trunk/contrib/gtkgensurf/dec.cpp
r195 r320 48 48 void CalcAngles(NODE *, int *, float *); 49 49 void EdgeOnSide(int *, int *, int *); 50 int tricall(int, NODE *, int *, TRI **, TRI **, c har *);50 int tricall(int, NODE *, int *, TRI **, TRI **, const char *); 51 51 int CheckBorders(int *,int,NODE *,int *,TRI **); 52 52 … … 196 196 // Sliver-check along borders. Since borders are often linear, the errors 197 197 // along borders will often be zero, so no new points will be added. This 198 // tends to produce long, thin brushes. For all border triangles, check 198 // tends to produce long, thin brushes. For all border triangles, check 199 199 // that minimum angle isn't less than SLIVER_ANGLE. If it is, add another 200 200 // vertex. … … 324 324 /* */ 325 325 /*****************************************************************************/ 326 int tricall(int NumNodes, NODE *Node, int *NumTris, TRI **inTri, TRI **Tri, LPSTROptions)326 int tricall(int NumNodes, NODE *Node, int *NumTris, TRI **inTri, TRI **Tri, const char *Options) 327 327 { 328 329 328 struct triangulateio in, out; 330 329 int i, N; … … 427 426 /* Make necessary initializations */ 428 427 out.pointlist = (REAL *) NULL; /* Not needed if -N switch used. */ 429 out.pointattributelist = (REAL *) NULL; /* Not needed if -N switch used or 428 out.pointattributelist = (REAL *) NULL; /* Not needed if -N switch used or 430 429 number of point attributes is zero: */ 431 430 out.pointmarkerlist = (int *) NULL; /* Not needed if -N or -B switch used. */ 432 431 out.trianglelist = (int *) NULL; /* Not needed if -E switch used. */ 433 out.triangleattributelist = (REAL *) NULL; /* Not needed if -E switch used or 434 number of triangle attributes is 432 out.triangleattributelist = (REAL *) NULL; /* Not needed if -E switch used or 433 number of triangle attributes is 435 434 zero: */ 436 435 out.trianglearealist = (REAL *) NULL; 437 436 out.neighborlist = (int *) NULL; /* Needed only if -n switch used. */ 438 out.segmentlist = (int *) NULL; /* Needed only if segments are output 437 out.segmentlist = (int *) NULL; /* Needed only if segments are output 439 438 (-p or -c) and -P not used: */ 440 out.segmentmarkerlist = (int *) NULL; /* Needed only if segments are output 439 out.segmentmarkerlist = (int *) NULL; /* Needed only if segments are output 441 440 (-p or -c) and -P and -B not used: */ 442 441 out.edgelist = (int *) NULL; /* Needed only if -e switch used. */ … … 716 715 if(UseLadder) contents += CONTENTS_LADDER; 717 716 } 718 717 719 718 OpenFuncGroup(); 720 719 for(i=0; i<NumTris; i++) … … 726 725 brush.face[0].v[0][1] = Node[Tri[i].v[0]].p[1]; 727 726 brush.face[0].v[0][2] = Node[Tri[i].v[0]].p[2]; 728 727 729 728 brush.face[0].v[1][0] = Node[Tri[i].v[2]].p[0]; 730 729 brush.face[0].v[1][1] = Node[Tri[i].v[2]].p[1]; 731 730 brush.face[0].v[1][2] = Node[Tri[i].v[2]].p[2]; 732 731 733 732 brush.face[0].v[2][0] = Node[Tri[i].v[1]].p[0]; 734 733 brush.face[0].v[2][1] = Node[Tri[i].v[1]].p[1]; … … 779 778 brush.face[1].v[0][1] = (float)backface; 780 779 brush.face[1].v[0][2] = Node[Tri[i].v[0]].p[2]; 781 780 782 781 brush.face[1].v[1][0] = Node[Tri[i].v[1]].p[0]; 783 782 brush.face[1].v[1][1] = (float)backface; 784 783 brush.face[1].v[1][2] = Node[Tri[i].v[1]].p[2]; 785 784 786 785 brush.face[1].v[2][0] = Node[Tri[i].v[2]].p[0]; 787 786 brush.face[1].v[2][1] = (float)backface; 788 787 brush.face[1].v[2][2] = Node[Tri[i].v[2]].p[2]; 789 788 790 789 // 0-1 side 791 790 brush.face[2].v[0][0] = Node[Tri[i].v[0]].p[0]; 792 791 brush.face[2].v[0][1] = Node[Tri[i].v[0]].p[1]; 793 792 brush.face[2].v[0][2] = Node[Tri[i].v[0]].p[2]; 794 793 795 794 brush.face[2].v[1][0] = Node[Tri[i].v[1]].p[0]; 796 795 brush.face[2].v[1][1] = Node[Tri[i].v[1]].p[1]; 797 796 brush.face[2].v[1][2] = Node[Tri[i].v[1]].p[2]; 798 797 799 798 brush.face[2].v[2][0] = Node[Tri[i].v[1]].p[0]; 800 799 brush.face[2].v[2][1] = (float)backface; 801 800 brush.face[2].v[2][2] = Node[Tri[i].v[1]].p[2]; 802 801 803 802 // 1-2 side 804 803 brush.face[3].v[0][0] = Node[Tri[i].v[1]].p[0]; 805 804 brush.face[3].v[0][1] = Node[Tri[i].v[1]].p[1]; 806 805 brush.face[3].v[0][2] = Node[Tri[i].v[1]].p[2]; 807 806 808 807 brush.face[3].v[1][0] = Node[Tri[i].v[2]].p[0]; 809 808 brush.face[3].v[1][1] = Node[Tri[i].v[2]].p[1]; 810 809 brush.face[3].v[1][2] = Node[Tri[i].v[2]].p[2]; 811 810 812 811 brush.face[3].v[2][0] = Node[Tri[i].v[2]].p[0]; 813 812 brush.face[3].v[2][1] = (float)backface; 814 813 brush.face[3].v[2][2] = Node[Tri[i].v[2]].p[2]; 815 814 816 815 // 2-0 side 817 816 brush.face[4].v[0][0] = Node[Tri[i].v[2]].p[0]; 818 817 brush.face[4].v[0][1] = Node[Tri[i].v[2]].p[1]; 819 818 brush.face[4].v[0][2] = Node[Tri[i].v[2]].p[2]; 820 819 821 820 brush.face[4].v[1][0] = Node[Tri[i].v[0]].p[0]; 822 821 brush.face[4].v[1][1] = Node[Tri[i].v[0]].p[1]; 823 822 brush.face[4].v[1][2] = Node[Tri[i].v[0]].p[2]; 824 823 825 824 brush.face[4].v[2][0] = Node[Tri[i].v[0]].p[0]; 826 825 brush.face[4].v[2][1] = (float)backface; … … 833 832 brush.face[1].v[0][1] = Node[Tri[i].v[0]].p[1]; 834 833 brush.face[1].v[0][2] = Node[Tri[i].v[0]].p[2]; 835 834 836 835 brush.face[1].v[1][0] = (float)backface; 837 836 brush.face[1].v[1][1] = Node[Tri[i].v[1]].p[1]; 838 837 brush.face[1].v[1][2] = Node[Tri[i].v[1]].p[2]; 839 838 840 839 brush.face[1].v[2][0] = (float)backface; 841 840 brush.face[1].v[2][1] = Node[Tri[i].v[2]].p[1]; 842 841 brush.face[1].v[2][2] = Node[Tri[i].v[2]].p[2]; 843 842 844 843 // 0-1 side 845 844 brush.face[2].v[0][0] = Node[Tri[i].v[0]].p[0]; 846 845 brush.face[2].v[0][1] = Node[Tri[i].v[0]].p[1]; 847 846 brush.face[2].v[0][2] = Node[Tri[i].v[0]].p[2]; 848 847 849 848 brush.face[2].v[1][0] = Node[Tri[i].v[1]].p[0]; 850 849 brush.face[2].v[1][1] = Node[Tri[i].v[1]].p[1]; 851 850 brush.face[2].v[1][2] = Node[Tri[i].v[1]].p[2]; 852 851 853 852 brush.face[2].v[2][0] = (float)backface; 854 853 brush.face[2].v[2][1] = Node[Tri[i].v[1]].p[1]; 855 854 brush.face[2].v[2][2] = Node[Tri[i].v[1]].p[2]; 856 855 857 856 // 1-2 side 858 857 brush.face[3].v[0][0] = Node[Tri[i].v[1]].p[0]; 859 858 brush.face[3].v[0][1] = Node[Tri[i].v[1]].p[1]; 860 859 brush.face[3].v[0][2] = Node[Tri[i].v[1]].p[2]; 861 860 862 861 brush.face[3].v[1][0] = Node[Tri[i].v[2]].p[0]; 863 862 brush.face[3].v[1][1] = Node[Tri[i].v[2]].p[1]; 864 863 brush.face[3].v[1][2] = Node[Tri[i].v[2]].p[2]; 865 864 866 865 brush.face[3].v[2][0] = (float)backface; 867 866 brush.face[3].v[2][1] = Node[Tri[i].v[2]].p[1]; 868 867 brush.face[3].v[2][2] = Node[Tri[i].v[2]].p[2]; 869 868 870 869 // 2-0 side 871 870 brush.face[4].v[0][0] = Node[Tri[i].v[2]].p[0]; 872 871 brush.face[4].v[0][1] = Node[Tri[i].v[2]].p[1]; 873 872 brush.face[4].v[0][2] = Node[Tri[i].v[2]].p[2]; 874 873 875 874 brush.face[4].v[1][0] = Node[Tri[i].v[0]].p[0]; 876 875 brush.face[4].v[1][1] = Node[Tri[i].v[0]].p[1]; 877 876 brush.face[4].v[1][2] = Node[Tri[i].v[0]].p[2]; 878 877 879 878 brush.face[4].v[2][0] = (float)backface; 880 879 brush.face[4].v[2][1] = Node[Tri[i].v[0]].p[1]; … … 886 885 brush.face[1].v[0][1] = Node[Tri[i].v[0]].p[1]; 887 886 brush.face[1].v[0][2] = (float)backface; 888 887 889 888 brush.face[1].v[1][0] = Node[Tri[i].v[1]].p[0]; 890 889 brush.face[1].v[1][1] = Node[Tri[i].v[1]].p[1]; 891 890 brush.face[1].v[1][2] = (float)backface; 892 891 893 892 brush.face[1].v[2][0] = Node[Tri[i].v[2]].p[0]; 894 893 brush.face[1].v[2][1] = Node[Tri[i].v[2]].p[1]; 895 894 brush.face[1].v[2][2] = (float)backface; 896 895 897 896 // 0-1 side 898 897 brush.face[2].v[0][0] = Node[Tri[i].v[0]].p[0]; 899 898 brush.face[2].v[0][1] = Node[Tri[i].v[0]].p[1]; 900 899 brush.face[2].v[0][2] = Node[Tri[i].v[0]].p[2]; 901 900 902 901 brush.face[2].v[1][0] = Node[Tri[i].v[1]].p[0]; 903 902 brush.face[2].v[1][1] = Node[Tri[i].v[1]].p[1]; 904 903 brush.face[2].v[1][2] = Node[Tri[i].v[1]].p[2]; 905 904 906 905 brush.face[2].v[2][0] = Node[Tri[i].v[1]].p[0]; 907 906 brush.face[2].v[2][1] = Node[Tri[i].v[1]].p[1]; 908 907 brush.face[2].v[2][2] = (float)backface; 909 908 910 909 // 1-2 side 911 910 brush.face[3].v[0][0] = Node[Tri[i].v[1]].p[0]; 912 911 brush.face[3].v[0][1] = Node[Tri[i].v[1]].p[1]; 913 912 brush.face[3].v[0][2] = Node[Tri[i].v[1]].p[2]; 914 913 915 914 brush.face[3].v[1][0] = Node[Tri[i].v[2]].p[0]; 916 915 brush.face[3].v[1][1] = Node[Tri[i].v[2]].p[1]; 917 916 brush.face[3].v[1][2] = Node[Tri[i].v[2]].p[2]; 918 917 919 918 brush.face[3].v[2][0] = Node[Tri[i].v[2]].p[0]; 920 919 brush.face[3].v[2][1] = Node[Tri[i].v[2]].p[1]; 921 920 brush.face[3].v[2][2] = (float)backface; 922 921 923 922 // 2-0 side 924 923 brush.face[4].v[0][0] = Node[Tri[i].v[2]].p[0]; 925 924 brush.face[4].v[0][1] = Node[Tri[i].v[2]].p[1]; 926 925 brush.face[4].v[0][2] = Node[Tri[i].v[2]].p[2]; 927 926 928 927 brush.face[4].v[1][0] = Node[Tri[i].v[0]].p[0]; 929 928 brush.face[4].v[1][1] = Node[Tri[i].v[0]].p[1]; 930 929 brush.face[4].v[1][2] = Node[Tri[i].v[0]].p[2]; 931 930 932 931 brush.face[4].v[2][0] = Node[Tri[i].v[0]].p[0]; 933 932 brush.face[4].v[2][1] = Node[Tri[i].v[0]].p[1]; 934 933 brush.face[4].v[2][2] = (float)backface; 935 934 } 936 935 937 936 for(j=0; j<5; j++) 938 937 { … … 1053 1052 front = MoreThan(zmax,32.); 1054 1053 } 1055 1054 1056 1055 for(i=0; i<NumTris; i++) 1057 1056 Tri[i].flag = 0; 1058 1057 1059 1058 switch(Plane) 1060 1059 { … … 1076 1075 j2 = 1; 1077 1076 } 1078 1077 1079 1078 brush.Number = 0; 1080 1079 brush.NumFaces = 6; … … 1132 1131 brush.face[0].v[0][1] = (float)front; 1133 1132 brush.face[0].v[0][2] = Node[q[2]].p[2]; 1134 1133 1135 1134 brush.face[0].v[1][0] = Node[q[1]].p[0]; 1136 1135 brush.face[0].v[1][1] = (float)front; 1137 1136 brush.face[0].v[1][2] = Node[q[1]].p[2]; 1138 1137 1139 1138 brush.face[0].v[2][0] = Node[q[0]].p[0]; 1140 1139 brush.face[0].v[2][1] = (float)front; 1141 1140 brush.face[0].v[2][2] = Node[q[0]].p[2]; 1142 1141 1143 1142 // back 1144 1143 brush.face[1].v[0][0] = Node[q[0]].p[0]; 1145 1144 brush.face[1].v[0][1] = (float)backface; 1146 1145 brush.face[1].v[0][2] = Node[q[0]].p[2]; 1147 1146 1148 1147 brush.face[1].v[1][0] = Node[q[1]].p[0]; 1149 1148 brush.face[1].v[1][1] = (float)backface; 1150 1149 brush.face[1].v[1][2] = Node[q[1]].p[2]; 1151 1150 1152 1151 brush.face[1].v[2][0] = Node[q[2]].p[0]; 1153 1152 brush.face[1].v[2][1] = (float)backface; 1154 1153 brush.face[1].v[2][2] = Node[q[2]].p[2]; 1155 1154 1156 1155 for(k0=0; k0<brush.NumFaces-2; k0++) 1157 1156 { 1158 1157 k =k0+2; 1159 1158 k1=(k0+1) % (brush.NumFaces-2); 1160 1159 1161 1160 brush.face[k].v[0][0] = Node[q[k0]].p[0]; 1162 1161 brush.face[k].v[0][1] = (float)front; 1163 1162 brush.face[k].v[0][2] = Node[q[k0]].p[2]; 1164 1163 1165 1164 brush.face[k].v[1][0] = Node[q[k1]].p[0]; 1166 1165 brush.face[k].v[1][1] = (float)front; 1167 1166 brush.face[k].v[1][2] = Node[q[k1]].p[2]; 1168 1167 1169 1168 brush.face[k].v[2][0] = Node[q[k1]].p[0]; 1170 1169 brush.face[k].v[2][1] = (float)backface; … … 1178 1177 brush.face[0].v[0][1] = Node[q[2]].p[1]; 1179 1178 brush.face[0].v[0][2] = Node[q[2]].p[2]; 1180 1179 1181 1180 brush.face[0].v[1][0] = (float)front; 1182 1181 brush.face[0].v[1][1] = Node[q[1]].p[1]; 1183 1182 brush.face[0].v[1][2] = Node[q[1]].p[2]; 1184 1183 1185 1184 brush.face[0].v[2][0] = (float)front; 1186 1185 brush.face[0].v[2][1] = Node[q[0]].p[1]; 1187 1186 brush.face[0].v[2][2] = Node[q[0]].p[2]; 1188 1187 1189 1188 // back 1190 1189 brush.face[1].v[0][0] = (float)backface; 1191 1190 brush.face[1].v[0][1] = Node[q[0]].p[1]; 1192 1191 brush.face[1].v[0][2] = Node[q[0]].p[2]; 1193 1192 1194 1193 brush.face[1].v[1][0] = (float)backface; 1195 1194 brush.face[1].v[1][1] = Node[q[1]].p[1]; 1196 1195 brush.face[1].v[1][2] = Node[q[1]].p[2]; 1197 1196 1198 1197 brush.face[1].v[2][0] = (float)backface; 1199 1198 brush.face[1].v[2][1] = Node[q[2]].p[1]; 1200 1199 brush.face[1].v[2][2] = Node[q[2]].p[2]; 1201 1200 1202 1201 for(k0=0; k0<brush.NumFaces-2; k0++) 1203 1202 { 1204 1203 k =k0+2; 1205 1204 k1=(k0+1) % (brush.NumFaces-2); 1206 1205 1207 1206 brush.face[k].v[0][0] = (float)front; 1208 1207 brush.face[k].v[0][1] = Node[q[k0]].p[1]; 1209 1208 brush.face[k].v[0][2] = Node[q[k0]].p[2]; 1210 1209 1211 1210 brush.face[k].v[1][0] = (float)front; 1212 1211 brush.face[k].v[1][1] = Node[q[k1]].p[1]; 1213 1212 &nb
