Author Topic: PCS 2.0.3 & other fixups  (Read 39511 times)

0 Members and 1 Guest are viewing this topic.

Offline Kazan

  • PCS2 Wizard
  • 212
  • Soul lives in the Mountains
    • http://alliance.sourceforge.net
PCS 2.0.3 & other fixups
ok now that my semester from hell is over (CS331: Theory of Computing [hardest class in my major], CS352: Operating Systems, CS486: Network Design, Implementation & Security, Geol 102: Hist of Earth - yes the last one was easy [B,B,B,A- btw]) I should have time to work on PCS2 again.

Those of you that are complaining of Bug #69 please put everything you can about your systems into that ticket.


Download PCS 2.0.3
Code: [Select]
---------------------------------------------------
3. Changelog
---------------------------------------------------
2.0.3:
* Resolved OpenGL VBO related crash on model unload
* Fixed issue with Geometry filter on/off flag being ignored (oops)
2.0.2:
* Resolved #35 (graphics error when selecting textures with VBOs enabled)
* Added "Use OpenGL VBOs (if able)" Option and enabled Vertex Buffer rendering
* Resolved #64 "Sub-object rotation failure in PCS2.0.1 and 2d" reported by Water
* Possibly Resolved #68 [and dups] "Inverted bounding box on submodel still showing up".
* Possibly resolved #61 by adding Option to use or not use the geometry filter (default to on)
2.0.1:
* (Installer) now write Conversion Options setting COB Scaling
* BSPGEN's BSP Caching validation has been reokved - models not produced by BSPGEN had BSPGEN tags
* Resolved an issue causing INSG (Insignia) Corruption (Mantis #59)
* Resolved an issue with PCS2 not reading COB smoothing data correctly (Mantis #51)
2.0: Initial Release
« Last Edit: May 15, 2008, 06:01:46 pm by Kazan »
PCS2 2.0.3 | POF CS2 wiki page | Important PCS2 Threads | PCS2 Mantis

"The Mountains are calling, and I must go" - John Muir

 

Offline blowfish

  • 211
  • Join the cult of KILL MY ROUTER!!!!!!!!!!1
If it helps, IIRC it doesn't happen in versions prior to RC2D (I know it doesn't happen in RC2A).

 

Offline Kazan

  • PCS2 Wizard
  • 212
  • Soul lives in the Mountains
    • http://alliance.sourceforge.net
that right there is useful information :D

diff from RC2D to 2.0.1

Code: [Select]
In C:\Projects\pcs2: "C:\Program Files\TortoiseCVS\cvs.exe" -q -z6 diff -D 2008-01-31 -r
stable_2_0_fixes
CVSROOT=:ext:[email protected]:/cvsroot/alliance

? .cvsignore
? 1.pof
? apis.pof
? bomber09.pof
? capital01.pof
? cubeturreted.cob
? dante.pof
? htlzeus-fixed.pof
? htlzeus-pcs1.pof
? htlzeus.pof
? newscene.scn
? pcs-alpha-20070606a.jpg
? pcs-alpha-20070606b.jpg
? pcs-alpha-20070606c.jpg
? pcs2-rc2.zip
? pcs2-rc2a.zip
? pcs2-rc2b.zip
? pcs2-rc2c.zip
? pcs2-rc2d.zip
? pcs2.ini
? pcs2.opt
? pcs2.plg
? pcs2.vcproj.KAZAN.Administrator.user
? pcs2dlls-rc2e.zip
? pcs_pmf_ase.cpp
? raidercnctransport_af.cob
? splash src.pspimage
? test data
? textures
Index: BSPDataStructs.cpp
===================================================================
RCS file: /cvsroot/alliance/pcs2/BSPDataStructs.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -r1.4 -r1.5
9,11c9,11
<  * $Revision: 1.4 $
<  * $Date: 2008/01/10 18:28:09 $
<  * $Author: bobboau $
---
>  * $Revision: 1.5 $
>  * $Date: 2008/01/31 17:02:23 $
>  * $Author: kazan $
13a14,17
>  * Revision 1.5  2008/01/31 17:02:23  kazan
>  * Add error checking to BSP tree packing, this will slow packing somewhat, but will prevent crashes.
>  * Correct error in calculating tree size.
>  *
121a126
>    char *tbuff = buffer;
124c129
<    buffer += head.Write(buffer); //size of the header;
---
>    tbuff += head.Write(tbuff); //size of the header;
126,127c131,132
<    memcpy(buffer, &n_verts, sizeof(int));
<    buffer += sizeof(int);
---
>    memcpy(tbuff, &n_verts, sizeof(int));
>    tbuff += sizeof(int);
129,130c134,135
<    memcpy(buffer, &n_norms, sizeof(int));
<    buffer += sizeof(int);
---
>    memcpy(tbuff, &n_norms, sizeof(int));
>    tbuff += sizeof(int);
132,133c137,138
<    memcpy(buffer, &offset, sizeof(int));
<    buffer += sizeof(int);
---
>    memcpy(tbuff, &offset, sizeof(int));
>    tbuff += sizeof(int);
135,136c140,141
<    memcpy(buffer, norm_counts, n_verts);
<    buffer += n_verts;
---
>    memcpy(tbuff, norm_counts, n_verts);
>    tbuff += n_verts;
141,142c146,147
<       memcpy(buffer, &vertex_data[i].vertex, sizeof(vector3d));
<       buffer += sizeof(vector3d);
---
>       memcpy(tbuff, &vertex_data[i].vertex, sizeof(vector3d));
>       tbuff += sizeof(vector3d);
146,147c151,152
<          memcpy(buffer, vertex_data[i].norms, sizeof(vector3d) * ((int) (unsigned char)norm_counts[i]));
<          buffer += (sizeof(vector3d) * norm_counts[i]);
---
>          memcpy(tbuff, vertex_data[i].norms, sizeof(vector3d) * ((int) (unsigned char)norm_counts[i]));
>          tbuff += (sizeof(vector3d) * norm_counts[i]);
153c158
<    return MySize();
---
>    return unsigned int(tbuff-buffer);
167c172
<       vertdata *vertex_data;         //Equasion   |20+n_norms+Equasion
---
>       vertdata *vertex_data;         //Equation   |20+n_norms+Equation
Index: Main_Panel.cpp
===================================================================
RCS file: /cvsroot/alliance/pcs2/Main_Panel.cpp,v
retrieving revision 1.19
retrieving revision 1.20
diff -r1.19 -r1.20
8,10c8,10
<  * $Revision: 1.19 $
<  * $Date: 2008/01/14 11:46:32 $
<  * $Author: bobboau $
---
>  * $Revision: 1.20 $
>  * $Date: 2008/02/03 21:45:23 $
>  * $Author: kazan $
12a13,18
>  * Revision 1.20  2008/02/03 21:45:23  kazan
>  * Call main_panel::SignalModelChange("", true) to reset the view without changing the currently loaded model.
>  * New clears the model then uses the above
>  * Save calls the above at the end to refresh the view
>  * Leaving the Preferences dialog does as well
>  *
825a832
>    *error_code = 0;
829,831c836,840
<    if (!skipProgdlg)
<       prog = new wxProgressDialog("Opening File", msg);
<    wxPCS2OpenThread *thread = new wxPCS2OpenThread(this, &model, comp_target, comp_current, IsRunning, error_code, filename, comp_msg);
---
>    if (filename != "") // skip opening a new file, and just reset the view
>    {
>       if (!skipProgdlg)
>          prog = new wxProgressDialog("Opening File", msg);
>       wxPCS2OpenThread *thread = new wxPCS2OpenThread(this, &model, comp_target, comp_current, IsRunning, error_code, filename, comp_msg);
833,834c842,843
<    thread->Create();
<    thread->Run();
---
>       thread->Create();
>       thread->Run();
836,837c845,846
<    wxSleep(1);
<    //while (*comp_target == 0 && *IsRunning);
---
>       wxSleep(1);
>       //while (*comp_target == 0 && *IsRunning);
839,842c848,849
<    pstatus->SetStatusText("Loading Model", 2);
<    while (*IsRunning)
<    {
<       if (comp_target != 0)
---
>       pstatus->SetStatusText("Loading Model", 2);
>       while (*IsRunning)
844c851
<          if (last_cur != *comp_current)
---
>          if (comp_target != 0)
846,852c853,861
<             last_cur = *comp_current;
<             msg = comp_msg;
<             comp = int((float(*comp_current)/float(*comp_target)*100.0));
<             if (comp > 100)
<                comp = 100;
<             if (!skipProgdlg)
<                prog->Update(comp, msg);
---
>             if (last_cur != *comp_current)
>             {
>                last_cur = *comp_current;
>                msg = comp_msg;
>                comp = int((float(*comp_current)/float(*comp_target)*100.0));
>                if (comp > 100)
>                   comp = 100;
>                if (!skipProgdlg)
>                   prog->Update(comp, msg);
854,855c863,865
<             pstatus->SetStatusText(msg, 0);
<             pgauge->SetValue(comp);
---
>                pstatus->SetStatusText(msg, 0);
>                pgauge->SetValue(comp);
>             }
856a867,869
>          this->Update();
>          wxSafeYield(this->GetParent(),true);
>         
858,861d870
<       this->Update();
<       wxSafeYield(this->GetParent(),true);
<       
<    }
864,867c873,878
<    pstatus->SetStatusText("Loading Textures", 2);
<    model.Rcall_Wireframe(false);
<    model.Rcall_Textureless(false);
<    model.set_active_model((model.GetLODCount()>0&&model.LOD(0)>-1)?model.LOD(0):0);//set to the main LOD if posable
---
>       pstatus->SetStatusText("Loading Textures", 2);
>       model.Rcall_Wireframe(false);
>       model.Rcall_Textureless(false);
>       model.set_active_model((model.GetLODCount()>0&&model.LOD(0)>-1)?model.LOD(0):0);//set to the main LOD if posable
>
>    }
882,883c893
<
< //   model.make_vertex_buffers();
---
>    //   model.make_vertex_buffers();
Index: POFHandler.cpp
===================================================================
RCS file: /cvsroot/alliance/pcs2/POFHandler.cpp,v
retrieving revision 1.19
retrieving revision 1.19.2.1
diff -r1.19 -r1.19.2.1
9,10c9,10
<  * $Revision: 1.19 $
<  * $Date: 2007/10/18 15:54:08 $
---
>  * $Revision: 1.19.2.1 $
>  * $Date: 2008/02/12 01:03:49 $
13a14,16
>  * Revision 1.19.2.1  2008/02/12 01:03:49  kazan
>  * Commit backported fixes for Mantis #51 and #59, Increment version to 2.0.1 in pcs2 and in installer, update changelog in readme
>  *
4146a4150,4162
> int  POF::INST_Find_Vert            (int insig, vector3d vertex)
> {
>    if ((unsigned)insig > INSG_Count_Insignia())
>       return -1;   
>
>    for (int i = 0; i < insignia.insignias[insig].num_verticies; i++)
>    {
>       if (insignia.insignias[insig].vertex_pos[i] == vertex)
>          return i;
>    }
>    return -1;   
> }
>
Index: POFHandler.h
===================================================================
RCS file: /cvsroot/alliance/pcs2/POFHandler.h,v
retrieving revision 1.9
retrieving revision 1.9.2.1
diff -r1.9 -r1.9.2.1
9,10c9,10
<  * $Revision: 1.9 $
<  * $Date: 2007/10/18 15:54:08 $
---
>  * $Revision: 1.9.2.1 $
>  * $Date: 2008/02/12 01:03:49 $
13a14,16
>  * Revision 1.9.2.1  2008/02/12 01:03:49  kazan
>  * Commit backported fixes for Mantis #51 and #59, Increment version to 2.0.1 in pcs2 and in installer, update changelog in readme
>  *
538a542
>       int  INST_Find_Vert            (int insig, vector3d vertex);
Index: VPReader.cpp
===================================================================
RCS file: /cvsroot/alliance/pcs2/VPReader.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -r1.9 -r1.10
7,9c7,9
<  * $Revision: 1.9 $
<  * $Date: 2007/07/13 11:31:04 $
<  * $Author: bobboau $
---
>  * $Revision: 1.10 $
>  * $Date: 2008/02/04 18:02:44 $
>  * $Author: kazan $
11a12,14
>  * Revision 1.10  2008/02/04 18:02:44  kazan
>  * Dumbest typo that latest forever found while fixing the dumbest bug ever - VolitionPackfileReader::FindFileWild was case sensative.. causing PCS2 not to load textures in VPs when there was a case mismatch
>  *
97c100
< int VolitionPackfileReader::FildFildWild(kaz_string pattern, int start)
---
> int VolitionPackfileReader::FindFileWild(kaz_string pattern, int start)
99c102
<
---
>   
102c105
<       if (wildcmp((char*)pattern.c_str(), Files[i].filename))
---
>       if (wildcmp(strlwr((char*)pattern.c_str()), strlwr(Files[i].filename)))
Index: VPReader.h
===================================================================
RCS file: /cvsroot/alliance/pcs2/VPReader.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -r1.6 -r1.7
7,9c7,9
<  * $Revision: 1.6 $
<  * $Date: 2007/07/13 11:31:04 $
<  * $Author: bobboau $
---
>  * $Revision: 1.7 $
>  * $Date: 2008/02/04 18:02:44 $
>  * $Author: kazan $
11a12,14
>  * Revision 1.7  2008/02/04 18:02:44  kazan
>  * Dumbest typo that latest forever found while fixing the dumbest bug ever - VolitionPackfileReader::FindFileWild was case sensative.. causing PCS2 not to load textures in VPs when there was a case mismatch
>  *
105c108
<       int FildFildWild(kaz_string pattern, int start=0);
---
>       int FindFileWild(kaz_string pattern, int start=0);
Index: pcs2.cpp
===================================================================
RCS file: /cvsroot/alliance/pcs2/pcs2.cpp,v
retrieving revision 1.70
retrieving revision 1.74.2.1
diff -r1.70 -r1.74.2.1
9,10c9,10
<  * $Revision: 1.70 $
<  * $Date: 2008/01/30 20:59:14 $
---
>  * $Revision: 1.74.2.1 $
>  * $Date: 2008/02/12 01:03:50 $
13a14,32
>  * Revision 1.74.2.1  2008/02/12 01:03:50  kazan
>  * Commit backported fixes for Mantis #51 and #59, Increment version to 2.0.1 in pcs2 and in installer, update changelog in readme
>  *
>  * Revision 1.74  2008/02/09 15:58:44  kazan
>  * 2.0 Final Public Build
>  *
>  * Revision 1.73  2008/02/03 21:45:23  kazan
>  * Call main_panel::SignalModelChange("", true) to reset the view without changing the currently loaded model.
>  * New clears the model then uses the above
>  * Save calls the above at the end to refresh the view
>  * Leaving the Preferences dialog does as well
>  *
>  * Revision 1.72  2008/01/31 17:04:55  kazan
>  * bump comp version due to big bugfix
>  *
>  * Revision 1.71  2008/01/31 17:02:24  kazan
>  * Add error checking to BSP tree packing, this will slow packing somewhat, but will prevent crashes.
>  * Correct error in calculating tree size.
>  *
290,291c309,318
< wxString BUILD_TYPE = "RC2d";
< wxString PCS2_COMP_VERSION = "PCS 2.0 Compiler Version 2 RC4";
---
> #ifdef PUBLIC_RELEASE
> wxString BUILD_TYPE = "Stable";
> wxString BUILD_VER = "2.0.1";
> #else
> wxString BUILD_TYPE = "Alpha";
> wxString BUILD_VER = "2.1";
> #endif
>
> wxString PCS2_COMP_VERSION = "PCS 2.0 Compiler Version 2 Final";
>
570a598,605
> void PCS2_MainWindow::File_Menu_New(wxCommandEvent &event)
> {
>    mypanel->model.Reset();
>    mypanel->SignalModelChange("", true); // with ""/true it just resets the UI
> }
>
> //+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>
639c674
<       wxMessageDialog errormsg((wxWindow*)this, *comp_msg, "Error Saving File", wxOK | wxICON_HAND);
---
>       wxMessageDialog errormsg((wxWindow*)this, comp_msg, "Error Saving File", wxOK | wxICON_HAND);
658a694,695
>    // refresh the view
>    mypanel->SignalModelChange("", true); // with ""/true it just resets the UI
782c819
<     ADD_TOOL(PCS2_MFILE_NEW,   tbBitmaps[0], _("New"),         _("Start a new package"));
---
>     ADD_TOOL(PCS2_MFILE_NEW,   tbBitmaps[0], _("New"),         _("Start a new model"));
962a1000
>    mypanel->SignalModelChange("", true); // with ""/true it just resets the UI
1318a1357
>    EVT_MENU(PCS2_MFILE_NEW,      PCS2_MainWindow::File_Menu_New)
Index: pcs2.h
===================================================================
RCS file: /cvsroot/alliance/pcs2/pcs2.h,v
retrieving revision 1.46
retrieving revision 1.48
diff -r1.46 -r1.48
9,10c9,10
<  * $Revision: 1.46 $
<  * $Date: 2007/10/18 15:54:09 $
---
>  * $Revision: 1.48 $
>  * $Date: 2008/02/09 15:58:44 $
13a14,22
>  * Revision 1.48  2008/02/09 15:58:44  kazan
>  * 2.0 Final Public Build
>  *
>  * Revision 1.47  2008/02/03 21:45:23  kazan
>  * Call main_panel::SignalModelChange("", true) to reset the view without changing the currently loaded model.
>  * New clears the model then uses the above
>  * Save calls the above at the end to refresh the view
>  * Leaving the Preferences dialog does as well
>  *
202a212,214
> // only uncomment the following for actual releases
> #define PUBLIC_RELEASE
>
297a310
>       void File_Menu_New(wxCommandEvent &event);
Index: pcs_pmf_cob.cpp
===================================================================
RCS file: /cvsroot/alliance/pcs2/pcs_pmf_cob.cpp,v
retrieving revision 1.29
retrieving revision 1.29.2.1
diff -r1.29 -r1.29.2.1
8,10c8,10
<  * $Revision: 1.29 $
<  * $Date: 2008/01/19 01:51:59 $
<  * $Author: bobboau $
---
>  * $Revision: 1.29.2.1 $
>  * $Date: 2008/02/12 01:03:50 $
>  * $Author: kazan $
12a13,15
>  * Revision 1.29.2.1  2008/02/12 01:03:50  kazan
>  * Commit backported fixes for Mantis #51 and #59, Increment version to 2.0.1 in pcs2 and in installer, update changelog in readme
>  *
582,583c585,586
<                         case 'f':
<                            tempobj.polygons[offset+k].verts[l].facet_angle = 0;
---
>                         case 'f': // faceted
>                            tempobj.polygons[offset+k].verts[l].facet_angle = -1;
585c588
<                         case 'a':
---
>                         case 'a': //autofacet
588a592
>                         case 's': //smooth
590c594
<                            tempobj.polygons[offset+k].verts[l].facet_angle = -1;
---
>                            tempobj.polygons[offset+k].verts[l].facet_angle = 360; // all angles
612c616
<             if (tempobj.polygons[j].verts[k].facet_angle != 0.0)
---
>             if (tempobj.polygons[j].verts[k].facet_angle != -1)
Index: pcs_pmf_pof.cpp
===================================================================
RCS file: /cvsroot/alliance/pcs2/pcs_pmf_pof.cpp,v
retrieving revision 1.45
retrieving revision 1.47.2.2
diff -r1.45 -r1.47.2.2
8,9c8,9
<  * $Revision: 1.45 $
<  * $Date: 2008/01/30 21:05:25 $
---
>  * $Revision: 1.47.2.2 $
>  * $Date: 2008/02/12 01:03:51 $
12a13,25
>  * Revision 1.47.2.2  2008/02/12 01:03:51  kazan
>  * Commit backported fixes for Mantis #51 and #59, Increment version to 2.0.1 in pcs2 and in installer, update changelog in readme
>  *
>  * Revision 1.47.2.1  2008/02/11 17:39:33  kazan
>  * Revoking BSPGEN's BSP Caching, updating readme
>  *
>  * Revision 1.47  2008/01/31 17:02:49  kazan
>  * disable debug code
>  *
>  * Revision 1.46  2008/01/31 17:02:24  kazan
>  * Add error checking to BSP tree packing, this will slow packing somewhat, but will prevent crashes.
>  * Correct error in calculating tree size.
>  *
251c264,267
<       sprintf(comp_msg_str, "Submodel %d: %s", i, subobjects[i].name.c_str());
---
>       //if (subobjects[i].name == "debris08")
>       //   sprintf(comp_msg_str, "Submodel %d: %s SENTINAL!", i, subobjects[i].name.c_str());
>       //else
>          sprintf(comp_msg_str, "Submodel %d: %s", i, subobjects[i].name.c_str());
563,564c579,583
<             poffile.INSG_Add_Insig_Vertex(i, POFTranslate(insignia[i].faces[j].verts[k]));
<             fcs[k] = j*3 + k;
---
>             while ((l = poffile.INST_Find_Vert(i, POFTranslate(insignia[i].faces[j].verts[k]))) == -1)
>             {
>                poffile.INSG_Add_Insig_Vertex(i, POFTranslate(insignia[i].faces[j].verts[k]));
>             }
>             fcs[k] = l;
722c741
<       if (strstr(model_info[i].c_str(), "BSPGEN") || // Volition's Compiler
---
>       if ( //strstr(model_info[i].c_str(), "BSPGEN") || // Volition's Compiler - caching revoked 2008-02-11 by Kazan because cannot gaurantee that tagged models actually game from V's compiler
1201c1220,1221
<       points.Write(dst.bsp_data);
---
>       if (points.Write(dst.bsp_data) != points.head.size)
>          return false; // calculation error
1203,1206c1223
<       // pack the tree
<       PackTreeInBSP(root, points.head.size, dst.bsp_data, clean_list, points_list, pnts, points, dst.geometric_center);
<
<       //std::ofstream bsp_debug("bsp.txt");
---
>       //std::ofstream bsp_debug("c:\\bsp.txt");
1208a1226,1233
>       // pack the tree
>       int error_flags = 0;
>       PackTreeInBSP(root, points.head.size, dst.bsp_data, clean_list, points_list, pnts, points, dst.geometric_center, dst.bsp_data_size, error_flags);
>       
>       // we got errors!
>       if (error_flags != BSP_NOERRORS)
>          return false;
>
Index: pcs_pof_bspfuncs.cpp
===================================================================
RCS file: /cvsroot/alliance/pcs2/pcs_pof_bspfuncs.cpp,v
retrieving revision 1.30
retrieving revision 1.31
diff -r1.30 -r1.31
7,9c7,9
<  * $Revision: 1.30 $
<  * $Date: 2008/01/10 18:28:10 $
<  * $Author: bobboau $
---
>  * $Revision: 1.31 $
>  * $Date: 2008/01/31 17:02:24 $
>  * $Author: kazan $
11a12,15
>  * Revision 1.31  2008/01/31 17:02:24  kazan
>  * Add error checking to BSP tree packing, this will slow packing somewhat, but will prevent crashes.
>  * Correct error in calculating tree size.
>  *
175c179
<                kaz_vector<bsp_vert> &vlist, kaz_vector<vector3d> &verts, BSP_DefPoints &dpnts, vector3d geo_center)
---
>                kaz_vector<bsp_vert> &vlist, kaz_vector<vector3d> &verts, BSP_DefPoints &dpnts, vector3d geo_center, int buffsize, int &error_flags)
176a181,197
>    // ----------- error detection ---------------
>    // abort if error detected
>    if (error_flags != BSP_NOERRORS)
>       return 0;
>
>    // we're going to write off the end of the buffer gauranteed (smallest element is EOF - 8 bytes
>    if (offset >= buffsize-7)
>    {
>       error_flags |= BSP_PACK_PREOVERFLOW;
>       return 0;
>    }
>    // either we're written this node already, or it didn't get counted in size calculation.. this is bad, skip
>    if (root != NULL && root->used == true)
>    {
>       error_flags |= BSP_PACK_DOUBLEUSE;
>       return 0;
>    }
177a199,203
>    if (root != NULL && root->counted == false)
>    {
>       error_flags |= BSP_PACK_UNCOUNTED;
>       return 0;
>    }
178a205
>    // ----------- finish error detection ---------------
206a234,238
>          if (offset+CalculateTreeSize(root, polygons) > buffsize)
>          {
>             error_flags |= BSP_PACK_PREPOLYOVERFLOW;
>             return 0;
>          }
230a263
>          root->used = true;
231a265,268
>          if (offset+size > buffsize)
>          {
>             error_flags |= BSP_PACK_POLYOVERFLOW;
>          }
243a281,286
>          if (offset+CalculateTreeSize(root, polygons) > buffsize)
>          {
>             error_flags |= BSP_PACK_PRESPLITOVERFLOW;
>             return 0;
>          }
>
245c288
<          size += PackTreeInBSP(NULL, offset+size, buffer, polygons, vlist, verts, dpnts, geo_center);
---
>          size += PackTreeInBSP(NULL, offset+size, buffer, polygons, vlist, verts, dpnts, geo_center, buffsize, error_flags);
248c291
<          size += PackTreeInBSP(NULL, offset+size, buffer, polygons, vlist, verts, dpnts, geo_center);
---
>          size += PackTreeInBSP(NULL, offset+size, buffer, polygons, vlist, verts, dpnts, geo_center, buffsize, error_flags);
251c294
<          size += PackTreeInBSP(NULL, offset+size, buffer, polygons, vlist, verts, dpnts, geo_center);
---
>          size += PackTreeInBSP(NULL, offset+size, buffer, polygons, vlist, verts, dpnts, geo_center, buffsize, error_flags);
254c297
<          size += PackTreeInBSP(root->front, offset+size, buffer, polygons, vlist, verts, dpnts, geo_center);
---
>          size += PackTreeInBSP(root->front, offset+size, buffer, polygons, vlist, verts, dpnts, geo_center, buffsize, error_flags);
257c300
<          size += PackTreeInBSP(root->back, offset+size, buffer, polygons, vlist, verts, dpnts, geo_center);
---
>          size += PackTreeInBSP(root->back, offset+size, buffer, polygons, vlist, verts, dpnts, geo_center, buffsize, error_flags);
264a308,313
>         
>          root->used = true;
>          if (offset+size > buffsize)
>          {
>             error_flags |= BSP_PACK_SPLITOVERFLOW;
>          }
266d314
<          break;
282a331
>          ret_size += 32;
285c334
<                ret_size += 84 + 4 * polygons[root->poly_num[i]].verts.size();// Fplatpoly
---
>                ret_size += 44 + 4 * polygons[root->poly_num[i]].verts.size();// Fplatpoly
287c336
<                ret_size += 84 + 12 * polygons[root->poly_num[i]].verts.size();//Tmappoly
---
>                ret_size += 44 + 12 * polygons[root->poly_num[i]].verts.size();//Tmappoly
288a338,339
>          ret_size += 8;
>          root->counted = true;
290d340
<          break;
292a343
>          root->counted = true;
294d344
<          break;
Index: pcs_pof_bspfuncs.h
===================================================================
RCS file: /cvsroot/alliance/pcs2/pcs_pof_bspfuncs.h,v
retrieving revision 1.15
retrieving revision 1.16
diff -r1.15 -r1.16
7,8c7,8
<  * $Revision: 1.15 $
<  * $Date: 2007/07/13 18:22:22 $
---
>  * $Revision: 1.16 $
>  * $Date: 2008/01/31 17:02:24 $
11a12,15
>  * Revision 1.16  2008/01/31 17:02:24  kazan
>  * Add error checking to BSP tree packing, this will slow packing somewhat, but will prevent crashes.
>  * Correct error in calculating tree size.
>  *
108c112
<       :Type(INVALID), front(NULL), back(NULL)
---
>       :Type(INVALID), front(NULL), back(NULL), used(false), counted(false)
125a130,133
>
>    // safety variables - counted is true when calculate size has hit a node, used is true when writing has hit a node
>    bool used;
>    bool counted;
138a147,164
> #define BSP_NOERRORS            0
>
> // --------- errors raised while packing ---------
> // raised if it detects less than 7 bytes free in buffer at start of a call
> #define BSP_PACK_PREOVERFLOW      0x00000001
> // raised if it detects a double usage of a node
> #define BSP_PACK_DOUBLEUSE         0x00000002
> // raised if it detects an attempt to use an uncounted node
> #define BSP_PACK_UNCOUNTED         0x00000004
> // raised if it detects an overflow in a polygon after-writing
> #define BSP_PACK_POLYOVERFLOW      0x00000008
> // raised if it detects an overflow in a split after-writing
> #define BSP_PACK_SPLITOVERFLOW      0x00000010
> // raised if it detects an overflow in a polygon before writing
> #define BSP_PACK_PREPOLYOVERFLOW   0x00000020
> // raised if it detects an overflow in a split before writing
> #define BSP_PACK_PRESPLITOVERFLOW   0x00000040
>
141c167
<                kaz_vector<bsp_vert> &vlist, kaz_vector<vector3d> &verts, BSP_DefPoints &dpnts, vector3d geo_center);
---
>                kaz_vector<bsp_vert> &vlist, kaz_vector<vector3d> &verts, BSP_DefPoints &dpnts, vector3d geo_center, int buffsize, int &error_flags);
Index: tex_ctrl.cpp
===================================================================
RCS file: /cvsroot/alliance/pcs2/tex_ctrl.cpp,v
retrieving revision 1.31
retrieving revision 1.33
diff -r1.31 -r1.33
7,9c7,9
<  * $Revision: 1.31 $
<  * $Date: 2008/01/11 06:24:09 $
<  * $Author: bobboau $
---
>  * $Revision: 1.33 $
>  * $Date: 2008/02/04 19:17:29 $
>  * $Author: kazan $
11a12,17
>  * Revision 1.33  2008/02/04 19:17:29  kazan
>  * Fix VP Search resuming
>  *
>  * Revision 1.32  2008/02/04 18:02:44  kazan
>  * Dumbest typo that latest forever found while fixing the dumbest bug ever - VolitionPackfileReader::FindFileWild was case sensative.. causing PCS2 not to load textures in VPs when there was a case mismatch
>  *
380a387
>    int curvp;
447a455
>          curvp = 0; // curvp is used for resuming search
450c458
<             filenum = SearchVPs(vplists[j], paths[j], fname, size, buffer, rfname, filenum);
---
>             filenum = SearchVPs(vplists[j], paths[j], fname, size, buffer, rfname, curvp, filenum);
478a487
>                fname=texname;
522c531
< int TextureControl::SearchVPs(const FileList &vp_list, kaz_string directory, kaz_string &filename, int &size, char* &buffer, kaz_string &rfname, int searchpos)
---
> int TextureControl::SearchVPs(const FileList &vp_list, kaz_string directory, kaz_string &filename, int &size, char* &buffer, kaz_string &rfname, int &curvp, int searchpos)
536c545
<    for (int i = 0; i < vp_list.Size(); i++)
---
>    for (int i = curvp; i < vp_list.Size(); i++)
540a550,551
>       {
>          curvp = i;
541a553,555
>       }
>       else
>          searchpos = 0; // reset search offset
552c566
<    int fileno = VPR.FildFildWild(filename + ".*", searchpos);
---
>    int fileno = VPR.FindFileWild(filename + ".*", searchpos);
Index: tex_ctrl.h
===================================================================
RCS file: /cvsroot/alliance/pcs2/tex_ctrl.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -r1.12 -r1.13
7,9c7,9
<  * $Revision: 1.12 $
<  * $Date: 2008/01/14 11:55:13 $
<  * $Author: bobboau $
---
>  * $Revision: 1.13 $
>  * $Date: 2008/02/04 19:17:29 $
>  * $Author: kazan $
11a12,14
>  * Revision 1.13  2008/02/04 19:17:29  kazan
>  * Fix VP Search resuming
>  *
99c102
<       int SearchVPs(const FileList &vp_list, kaz_string directory, kaz_string &filename, int &size, char* &buffer, kaz_string &rfname, int searchpos=0);
---
>       int SearchVPs(const FileList &vp_list, kaz_string directory, kaz_string &filename, int &size, char* &buffer, kaz_string &rfname, int &curvp, int searchpos=0);
Index: vector3d.cpp
===================================================================
RCS file: /cvsroot/alliance/pcs2/vector3d.cpp,v
retrieving revision 1.10
retrieving revision 1.10.2.1
diff -r1.10 -r1.10.2.1
9,11c9,11
<  * $Revision: 1.10 $
<  * $Date: 2008/01/10 18:28:11 $
<  * $Author: bobboau $
---
>  * $Revision: 1.10.2.1 $
>  * $Date: 2008/02/12 01:03:52 $
>  * $Author: kazan $
13a14,16
>  * Revision 1.10.2.1  2008/02/12 01:03:52  kazan
>  * Commit backported fixes for Mantis #51 and #59, Increment version to 2.0.1 in pcs2 and in installer, update changelog in readme
>  *
152a156,159
>    if (Ang > 1.00000f)
>       Ang = 1.00000f;
>    if (Ang < -1.00000f)
>       Ang = -1.00000f;
530c537
<             alpha = (v0 - beta*v2)/v1;
---
>             alpha = float((v0 - beta*v2)/v1);
537c544
<             alpha = (u0 - beta*u2)/u1;
---
>             alpha = float((u0 - beta*u2)/u1);
Index: versions.cpp
===================================================================
RCS file: /cvsroot/alliance/pcs2/versions.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -r1.3 -r1.4
8a9
> #include "pcs2.h"
12a14
> extern wxString BUILD_VER;
15c17
< wxString PCS2_VERSION = "PCS 2.0 " + BUILD_TYPE + " Debug(" + _BUILD_TIME_ + ")";
---
> wxString PCS2_VERSION = "PCS " + BUILD_VER + " " + BUILD_TYPE + " Debug(" + _BUILD_TIME_ + ")";
17c19,25
< wxString PCS2_VERSION = "PCS 2.0 " + BUILD_TYPE + " Release(" + _BUILD_TIME_ + ")";
---
>
> #ifdef PUBLIC_RELEASE
> wxString PCS2_VERSION = "PCS " + BUILD_VER + " " + BUILD_TYPE + " (" + _BUILD_TIME_ + ")";
> #else
> wxString PCS2_VERSION = "PCS " + BUILD_VER + " " + BUILD_TYPE + " Release(" + _BUILD_TIME_ + ")";
> #endif
>
Index: wxGL_PMFCanvas.cpp
===================================================================
RCS file: /cvsroot/alliance/pcs2/wxGL_PMFCanvas.cpp,v
retrieving revision 1.40
retrieving revision 1.42
diff -r1.40 -r1.42
9,11c9,11
<  * $Revision: 1.40 $
<  * $Date: 2008/01/19 01:55:50 $
<  * $Author: bobboau $
---
>  * $Revision: 1.42 $
>  * $Date: 2008/02/07 18:48:50 $
>  * $Author: kazan $
13a14,19
>  * Revision 1.42  2008/02/07 18:48:50  kazan
>  * remove unnecessary trailing else
>  *
>  * Revision 1.41  2008/02/07 18:45:55  kazan
>  * Restore non-VBO omnipoints renderer - used if VBO extension check fails
>  *
313c319,321
<    omni_point_buffer = sphere.make_vertex_buffer(3);
---
>    if (GLEE_ARB_vertex_buffer_object)
>       omni_point_buffer = sphere.make_vertex_buffer(3);
>
489,495c497,506
<    glBindBuffer(GL_ARRAY_BUFFER, omni_point_buffer.buffer);
<    pglLockArraysEXT( 0, omni_point_buffer.n_verts);
<    ERROR_CHECK;
<    glEnableClientState(GL_NORMAL_ARRAY);
<    glEnableClientState(GL_VERTEX_ARRAY);
<    glVertexPointer(3,GL_FLOAT, omni_point_buffer.vertex_size, (void*)NULL);
<    glNormalPointer(GL_FLOAT, omni_point_buffer.vertex_size, (void*)(NULL + sizeof(vector3d)));
---
>    if (GLEE_ARB_vertex_buffer_object)
>    {
>       glBindBuffer(GL_ARRAY_BUFFER, omni_point_buffer.buffer);
>       pglLockArraysEXT( 0, omni_point_buffer.n_verts);
>       ERROR_CHECK;
>       glEnableClientState(GL_NORMAL_ARRAY);
>       glEnableClientState(GL_VERTEX_ARRAY);
>       glVertexPointer(3,GL_FLOAT, omni_point_buffer.vertex_size, (void*)NULL);
>       glNormalPointer(GL_FLOAT, omni_point_buffer.vertex_size, (void*)(NULL + sizeof(vector3d)));
>    }
512c523,525
<          glPushMatrix();
---
>          if (GLEE_ARB_vertex_buffer_object)
>          {
>             glPushMatrix();
514,515c527,528
<          vector3d pnt = omni.point[i][j].pos+model.get_model_offset(omni.point[i][j].model);
<          glTranslatef(pnt.x, pnt.y, pnt.z);
---
>             vector3d pnt = omni.point[i][j].pos+model.get_model_offset(omni.point[i][j].model);
>             glTranslatef(pnt.x, pnt.y, pnt.z);
517,525c530,538
<          if(omni.flags & OMNIPOINT_PATH){
<             //sphere.draw(omni.point[i][j].pos+model.get_model_offset(omni.point[i][j].model), model.get_avg_dimintion()/30.0f, 2, col*10);
<             float r = model.get_avg_dimintion()/30.0f;
<             glScalef(r,r,r);
<             color col2 = col*10;
<             glColor4ubv( (GLubyte*)col2.col);
<             glDrawArrays(GL_TRIANGLES, 0, omni_point_buffer.n_verts);
<             glScalef(1.0f/r,1.0f/r,1.0f/r);
<          }
---
>             if(omni.flags & OMNIPOINT_PATH){
>                //sphere.draw(omni.point[i][j].pos+model.get_model_offset(omni.point[i][j].model), model.get_avg_dimintion()/30.0f, 2, col*10);
>                float r = model.get_avg_dimintion()/30.0f;
>                glScalef(r,r,r);
>                color col2 = col*10;
>                glColor4ubv( (GLubyte*)col2.col);
>                glDrawArrays(GL_TRIANGLES, 0, omni_point_buffer.n_verts);
>                glScalef(1.0f/r,1.0f/r,1.0f/r);
>             }
527c540
<          glColor4ubv( (GLubyte*)col.col);
---
>             glColor4ubv( (GLubyte*)col.col);
529,531c542,544
<          glScalef(omni.point[i][j].rad, omni.point[i][j].rad, omni.point[i][j].rad);
<          //sphere.draw(omni.point[i][j].pos+model.get_model_offset(omni.point[i][j].model), omni.point[i][j].rad, 2, col);
<          glDrawArrays(GL_TRIANGLES, 0, omni_point_buffer.n_verts);
---
>             glScalef(omni.point[i][j].rad, omni.point[i][j].rad, omni.point[i][j].rad);
>             //sphere.draw(omni.point[i][j].pos+model.get_model_offset(omni.point[i][j].model), omni.point[i][j].rad, 2, col);
>             glDrawArrays(GL_TRIANGLES, 0, omni_point_buffer.n_verts);
533c546,553
<          glPopMatrix();
---
>             glPopMatrix();
>          }
>          else
>          {
>             sphere.draw(omni.point[i][j].pos+model.get_model_offset(omni.point[i][j].model), omni.point[i][j].rad, 2, col);
>             if(omni.flags & OMNIPOINT_PATH)                         
>                sphere.draw(omni.point[i][j].pos+model.get_model_offset(omni.point[i][j].model), model.get_avg_dimintion()/30.0f, 2, col*10);
>           }
540,541c560,562
<    glColor4ubv( (GLubyte*)color(255,255,255,255).col);
<
---
>    if (GLEE_ARB_vertex_buffer_object)
>    {
>       glColor4ubv( (GLubyte*)color(255,255,255,255).col);
543,544d563
<    pglUnlockArraysEXT();
<    glBindBuffer(GL_ARRAY_BUFFER, 0);
546,548c565,566
<    glDisableClientState(GL_VERTEX_ARRAY);
<    glDisableClientState(GL_NORMAL_ARRAY);
<    ERROR_CHECK;
---
>       pglUnlockArraysEXT();
>       glBindBuffer(GL_ARRAY_BUFFER, 0);
549a568,571
>       glDisableClientState(GL_VERTEX_ARRAY);
>       glDisableClientState(GL_NORMAL_ARRAY);
>       ERROR_CHECK;
>    }
Index: NSIS Scripts/pcs2_installer.nsi
===================================================================
RCS file: /cvsroot/alliance/pcs2/NSIS Scripts/pcs2_installer.nsi,v
retrieving revision 1.4
retrieving revision 1.4.2.2
diff -r1.4 -r1.4.2.2
5c5
< !define PRODUCT_VERSION "2.0"
---
> !define PRODUCT_VERSION "2.0.1"
269a270,271
>     FileWrite $3 "[convoptions]$\r$\n"
>     FileWrite $3 "cobscale=20.00$\r$\n"
Index: NSIS Scripts/pcs2_readme.txt
===================================================================
RCS file: /cvsroot/alliance/pcs2/NSIS Scripts/pcs2_readme.txt,v
retrieving revision 1.2
retrieving revision 1.2.2.4
diff -r1.2 -r1.2.2.4
7a8
> 4. Document History
15a17,19
> E) Support for multiple-polygon leaf nodes in the BSP
> F) Support for diffuse, glow and shine in render window
>
19a24,26
> PMF is PCS Model File, it's POF Constructor Suite 2.0's internal model format.
>
> It is a flexible model format that is easy to convert others into, and stores all the data needed for a .pof.
20a28,29
> This makes it so that PCS2 only has to have one place in the entire code where any model format is converted to .pof.
> All supported formats go through PMF as an intermediary and as the active model editor.
25c34,47
< 2.0: Initial Release
\ No newline at end of file
---
> 2.0.1:
>    * (Installer) now write Conversion Options setting COB Scaling
>    * BSPGEN's BSP Caching validation has been reokved - models not produced by BSPGEN had BSPGEN tags
>    * Resolved an issue causing INSG (Insignia) Corruption (Mantis #59)
>    * Resolved an issue with PCS2 not reading COB smoothing data correctly (Mantis #51)
> 2.0: Initial Release
>
>
>
> ---------------------------------------------------
> 4. Document History
> ---------------------------------------------------
> Feb 11, 2008 - Updated for 2.0.1
> Feb 9, 2008 - Initial revision for PCS2.0 Final release
\ No newline at end of file


« Last Edit: May 15, 2008, 02:34:34 pm by Kazan »
PCS2 2.0.3 | POF CS2 wiki page | Important PCS2 Threads | PCS2 Mantis

"The Mountains are calling, and I must go" - John Muir

 

Offline Kazan

  • PCS2 Wizard
  • 212
  • Soul lives in the Mountains
    • http://alliance.sourceforge.net
Re: PCS 2.0.2 & other fixups
posted PCS2.0.2
PCS2 2.0.3 | POF CS2 wiki page | Important PCS2 Threads | PCS2 Mantis

"The Mountains are calling, and I must go" - John Muir

 
Re: PCS 2.0.2 & other fixups
When will scaling be implemented?
Sig nuked! New one coming soon!

 

Offline Kazan

  • PCS2 Wizard
  • 212
  • Soul lives in the Mountains
    • http://alliance.sourceforge.net
Re: PCS 2.0.2 & other fixups
Don't I have a thread dedicated to such questions.
PCS2 2.0.3 | POF CS2 wiki page | Important PCS2 Threads | PCS2 Mantis

"The Mountains are calling, and I must go" - John Muir

 
Re: PCS 2.0.2 & other fixups
uhhh.... it won't show any models... no even in wireframe...
Sig nuked! New one coming soon!

  

Offline Kazan

  • PCS2 Wizard
  • 212
  • Soul lives in the Mountains
    • http://alliance.sourceforge.net
Re: PCS 2.0.2 & other fixups
it works for me.

what is your video card
PCS2 2.0.3 | POF CS2 wiki page | Important PCS2 Threads | PCS2 Mantis

"The Mountains are calling, and I must go" - John Muir

 

Offline blowfish

  • 211
  • Join the cult of KILL MY ROUTER!!!!!!!!!!1
Re: PCS 2.0.2 & other fixups
diff from RC2D to 2.0.1

Err ... I meant that the problem occured in RC2D but not in RC2C or before.

 

Offline Kazan

  • PCS2 Wizard
  • 212
  • Soul lives in the Mountains
    • http://alliance.sourceforge.net
Re: PCS 2.0.2 & other fixups
oh.. that will narrow it down even more :D

oh.. there is a known crash in 2.0.2 when you open one model then try to open another.. it's fixed in the source but i'm not going to push a version just for that as all you need to do is disable OpenGL VBOs
PCS2 2.0.3 | POF CS2 wiki page | Important PCS2 Threads | PCS2 Mantis

"The Mountains are calling, and I must go" - John Muir

 
Re: PCS 2.0.2 & other fixups
It's an Nvidia Geforce... dunno exactly which one, i got it in... 2005 (?) so i could play lego star wars...
Sig nuked! New one coming soon!

 

Offline Kazan

  • PCS2 Wizard
  • 212
  • Soul lives in the Mountains
    • http://alliance.sourceforge.net
Re: PCS 2.0.2 & other fixups
..................
 :wtf:

still need to know what is is... i cannot fix problems i cannot diagnose


oh... for the record i'm a retard i forgot to put an if statement in so the option to use or not use the geometry filter does nothing in 2.0.2 .. fixed version soon to follow
PCS2 2.0.3 | POF CS2 wiki page | Important PCS2 Threads | PCS2 Mantis

"The Mountains are calling, and I must go" - John Muir

 
Re: PCS 2.0.2 & other fixups
can i have a link to 2.0.1 for now until i can give you an answer? i can't find it anywere...

Oh and scoob, i looked, cob scaling feature is here  :D
Sig nuked! New one coming soon!

 

Offline Kazan

  • PCS2 Wizard
  • 212
  • Soul lives in the Mountains
    • http://alliance.sourceforge.net
Re: PCS 2.0.2 & other fixups
all files are viewable: http://sourceforge.net/project/showfiles.php?group_id=26889

there is no reason you should be having problems
PCS2 2.0.3 | POF CS2 wiki page | Important PCS2 Threads | PCS2 Mantis

"The Mountains are calling, and I must go" - John Muir

 

Offline blowfish

  • 211
  • Join the cult of KILL MY ROUTER!!!!!!!!!!1
Re: PCS 2.0.3 & other fixups
Oh and scoob, i looked, cob scaling feature is here  :D

You have been able to scale COBs for a long time.  You can't scale POFs without loosing valuable data though.

 

Offline Kazan

  • PCS2 Wizard
  • 212
  • Soul lives in the Mountains
    • http://alliance.sourceforge.net
Re: PCS 2.0.3 & other fixups
2.0.3 posted now btw
PCS2 2.0.3 | POF CS2 wiki page | Important PCS2 Threads | PCS2 Mantis

"The Mountains are calling, and I must go" - John Muir

 

Offline Droid803

  • Trusted poster of legit stuff
  • 213
  • /人 ◕ ‿‿ ◕ 人\ Do you want to be a Magical Girl?
    • Skype
    • Steam
Re: PCS 2.0.3 & other fixups
Ergh, I don't know if this is documented anywhere, but is shield mesh editing available (yet?).
Sorry for the n00b question...
(´・ω・`)
=============================================================

 

Offline Kazan

  • PCS2 Wizard
  • 212
  • Soul lives in the Mountains
    • http://alliance.sourceforge.net
Re: PCS 2.0.3 & other fixups
Ergh, I don't know if this is documented anywhere, but is shield mesh editing available (yet?).

no and it probably won't ever be - that's something that should be done in your modeling environment
PCS2 2.0.3 | POF CS2 wiki page | Important PCS2 Threads | PCS2 Mantis

"The Mountains are calling, and I must go" - John Muir

 

Offline Kazan

  • PCS2 Wizard
  • 212
  • Soul lives in the Mountains
    • http://alliance.sourceforge.net
Re: PCS 2.0.3 & other fixups
you know the one you still haven't given me enough feedback on to reproduce

you know the one which has never happened to me so how the **** am i supposed to debug it without you answering the request for you to give me system specs, etc
PCS2 2.0.3 | POF CS2 wiki page | Important PCS2 Threads | PCS2 Mantis

"The Mountains are calling, and I must go" - John Muir

 

Offline blowfish

  • 211
  • Join the cult of KILL MY ROUTER!!!!!!!!!!1
Re: PCS 2.0.3 & other fixups
I would post a crash log, but Windows doesn't seem to allow you to copy the contents of it into a text file.

This is one of the reasons I hate Microsoft :mad: