Hard Light Productions Forums

Modding, Mission Design, and Coding => The Modding Workshop => Topic started by: Kazan on May 15, 2008, 08:27:47 am

Title: PCS 2.0.3 & other fixups
Post by: Kazan on May 15, 2008, 08:27:47 am
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 (http://downloads.sourceforge.net/alliance/PCS2_2.0.3_2008-05-15.exe)
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
Title: Re: PCS2.x Fixups time
Post by: blowfish on May 15, 2008, 08:47:07 am
If it helps, IIRC it doesn't happen in versions prior to RC2D (I know it doesn't happen in RC2A).
Title: Re: PCS2.x Fixups time
Post by: Kazan on May 15, 2008, 12:05:09 pm
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


Title: Re: PCS 2.0.2 & other fixups
Post by: Kazan on May 15, 2008, 02:59:11 pm
posted PCS2.0.2
Title: Re: PCS 2.0.2 & other fixups
Post by: Titan on May 15, 2008, 04:13:17 pm
When will scaling be implemented?
Title: Re: PCS 2.0.2 & other fixups
Post by: Kazan on May 15, 2008, 04:17:35 pm
Don't I have a thread (http://www.hard-light.net/forums/index.php/topic,41648.0.html) dedicated to such questions.
Title: Re: PCS 2.0.2 & other fixups
Post by: Titan on May 15, 2008, 04:28:03 pm
uhhh.... it won't show any models... no even in wireframe...
Title: Re: PCS 2.0.2 & other fixups
Post by: Kazan on May 15, 2008, 04:31:27 pm
it works for me.

what is your video card
Title: Re: PCS 2.0.2 & other fixups
Post by: blowfish on May 15, 2008, 05:09:38 pm
diff from RC2D to 2.0.1

Err ... I meant that the problem occured in RC2D but not in RC2C or before.
Title: Re: PCS 2.0.2 & other fixups
Post by: Kazan on May 15, 2008, 05:11:24 pm
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
Title: Re: PCS 2.0.2 & other fixups
Post by: Titan on May 15, 2008, 05:22:24 pm
It's an Nvidia Geforce... dunno exactly which one, i got it in... 2005 (?) so i could play lego star wars...
Title: Re: PCS 2.0.2 & other fixups
Post by: Kazan on May 15, 2008, 05:32:18 pm
..................
 :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
Title: Re: PCS 2.0.2 & other fixups
Post by: Titan on May 15, 2008, 05:57:20 pm
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
Title: Re: PCS 2.0.2 & other fixups
Post by: Kazan on May 15, 2008, 06:01:31 pm
all files are viewable: http://sourceforge.net/project/showfiles.php?group_id=26889

there is no reason you should be having problems
Title: Re: PCS 2.0.3 & other fixups
Post by: blowfish on May 15, 2008, 06:05:31 pm
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.
Title: Re: PCS 2.0.3 & other fixups
Post by: Kazan on May 15, 2008, 06:06:05 pm
2.0.3 posted now btw
Title: Re: PCS 2.0.3 & other fixups
Post by: Droid803 on May 15, 2008, 06:07:12 pm
Ergh, I don't know if this is documented anywhere, but is shield mesh editing available (yet?).
Sorry for the n00b question...
Title: Re: PCS 2.0.3 & other fixups
Post by: Kazan on May 15, 2008, 06:07:53 pm
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
Title: Re: PCS 2.0.3 & other fixups
Post by: Kazan on May 15, 2008, 06:20:13 pm
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
Title: Re: PCS 2.0.3 & other fixups
Post by: blowfish on May 15, 2008, 06:21:59 pm
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:
Title: Re: PCS 2.0.3 & other fixups
Post by: Kazan on May 15, 2008, 06:23:26 pm
that's not what i'm asking for - i'm asking for system specs, driver versions, opengl capabilities dumps http://www.ozone3d.net/gpu_caps_viewer and such
Title: Re: PCS 2.0.3 & other fixups
Post by: Titan on May 15, 2008, 06:24:07 pm
ok, got 2.0.3, that works for some reason... ah well...
Title: Re: PCS 2.0.3 & other fixups
Post by: Kazan on May 16, 2008, 08:24:43 am
oh.. btw if you are dealing with the inverted bbox problem you will probably need to purge the cache one last time
Title: Re: PCS 2.0.3 & other fixups
Post by: Titan on May 16, 2008, 09:05:45 am
what about the array out of bounds thing?
Title: Re: PCS 2.0.3 & other fixups
Post by: Kazan on May 16, 2008, 09:37:11 am
i don't see any mantis bug about an AOOB problem
Title: Re: PCS 2.0.3 & other fixups
Post by: Hellbender on May 16, 2008, 09:51:05 am
I'm not sure what is going on with the render window, but I do not get any textured view. It's just rendered in solid mode. Is there something I need to do to correct this?

In case it's useful, System specs:

Pentium 4 2.8ghz HT Oced to 3.2ghz
2gig RAM
Radeon X1650 AGP 512meg onboard +512 system shared
Vista Ultimate
Title: Re: PCS 2.0.3 & other fixups
Post by: Kazan on May 16, 2008, 09:51:38 am
have you setup your texture search path
Title: Re: PCS 2.0.3 & other fixups
Post by: Hellbender on May 16, 2008, 10:01:52 am
Quote
have you setup your texture search path

Yes, i have it set to the maps directory. I have not gotten a textured render with any of the other releases either.

Is there more info I can give to help?

I have tried all the compatibility settings available to Vista, including disabling desktop composition.
Title: Re: PCS 2.0.3 & other fixups
Post by: Kazan on May 16, 2008, 10:03:00 am
don't set it to the maps directory

set it to the root of freespace 2 or your mods

ie
c:\games\freespace2\
c:\games\freespace2\tbp
c:\games\freespace2\derelict

etc
Title: Re: PCS 2.0.3 & other fixups
Post by: Hellbender on May 16, 2008, 10:07:34 am
Thank you - that fixed the issue.
Title: Re: PCS 2.0.3 & other fixups
Post by: vetthal on May 17, 2008, 12:15:17 am
Haveing a error when trying to install PCS2_2.0.2 and PCS2_2.0.3 I have tryed to download the files 5X and I ceep getting this Error

NSIF Error

The installer you are trying to to use is corrupted or incomplete.
This could be the result of a damaged disk, a failed download or a virus.

You may want to contact the author of this installer to odtain a new copy.

It may be possible to skip this check using the /NCRC command line switch
(NOT RECOMMENDED).

Can I skip this check with NCRC command line and if so how do I do that
Title: Re: PCS 2.0.3 & other fixups
Post by: Kazan on May 17, 2008, 12:43:47 am
you don't need 2.0.2 to install 2.0.3 so just skip it

your download is being corrupted.. try a different mirror
Title: Re: PCS 2.0.3 & other fixups
Post by: Titan on May 17, 2008, 07:37:03 am
i'm just asking, what does it mean when you get

Array out of bounds
that's *BAD*!

it has only happened once or twice, but it sounds like the whole model would need to be rebuilt.
Title: Re: PCS 2.0.3 & other fixups
Post by: blowfish on May 17, 2008, 12:40:40 pm
I get that when a subobject has a weird name (eg. I forget to name it properly in TrueSpace).
Title: Re: PCS 2.0.3 & other fixups
Post by: Kazan on May 17, 2008, 01:04:09 pm
A) give me a model that does it
B) don't do that :P
C) Use Mantis!
Title: Re: PCS 2.0.3 & other fixups
Post by: Nuke on May 17, 2008, 04:49:46 pm
why wasnt use mantis #A?
Title: Re: PCS 2.0.3 & other fixups
Post by: blowfish on May 17, 2008, 04:54:39 pm
A) give me a model that does it

Maybe Titan can.  I would have fixed all of the models that do that myself, and besides, I'm away from the computer I use for conversion for a couple of weeks.
Title: Re: PCS 2.0.3 & other fixups
Post by: Kazan on May 17, 2008, 09:11:43 pm
why wasnt use mantis #A?

good question
Title: Re: PCS 2.0.3 & other fixups
Post by: Bobboau on May 25, 2008, 04:11:45 am
any silly sounding error messages were made that way because they represent a critical error, ie an error that most likely will cause a crash, ie an error that should never happen (and the user should never see). any and all aoob errors should be found and dealt with before they reach that point in the code (once we get that far there is not much we can do but crash, but earlier the error could have been detected and corrective action taken). for example 'graphics error of doom' is because we used something that wasn't available to us, we should have been able to see it wasn't available and not used it. the reason they are given silly messages is because they are errors that mean there is going to be a lot of testing involved for the user to see if we have resolved the issue, some levity seemed like it might help take the edge off the inevitable frustration, also there is absolutely nothing the user can do to fix the problem so it might as well be a bizar error.

now to answer the question of what the aoob error means, well it means an array is out of bounds :p an array is basically a contiguous list, and if you try to access something that is more than the number of items in the list past it's beginning you are outside the list and going to cause huge problems (for example if there was code right after the list, you might overwrite the code with data, and then later try to execute that data thinking it was code, executing data is (unless you are doing some VERY freaky ****) what is known as "bad", like 'crossing the beams' bad). the error has no specific cause, and it is, in fact, not a bug per se, it is a symptom of another bug. if you get this error you are pretty much GOING to crash, so I wouldn't worry too much about rebuilding things, considering it is a harbinger of complete destruction.
Title: Re: PCS 2.0.3 & other fixups
Post by: Kazan on May 25, 2008, 08:49:59 am
we would like to see the models and configurations that cause it though
Title: Re: PCS 2.0.3 & other fixups
Post by: Hades on May 25, 2008, 09:21:10 am
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
I don't know my computer specs off the top of my head but I can tell you that it didn't do this before the installer. It only does this with the installer.
Title: Re: PCS 2.0.3 & other fixups
Post by: Kazan on May 25, 2008, 09:22:46 am
then it's likely there is a bad setting in your config.. check your texture paths
Title: Re: PCS 2.0.3 & other fixups
Post by: Nuke on May 28, 2008, 04:34:22 am
id just delete the ini file and re-enter the texture paths.
Title: Re: PCS 2.0.3 & other fixups
Post by: Water on May 28, 2008, 07:40:55 am
@ Kazan

Rotating sub-objects in PCS2 is still not functional unfortunately.

(http://i229.photobucket.com/albums/ee67/waternz/mesh/fenris-spin.jpg)
This vp contains a mission with both a pcs1 and pcs2 fenris with spin bits.
http://files.filefront.com/fenris+spinzip/;10389262;/fileinfo.html (http://files.filefront.com/fenris+spinzip/;10389262;/fileinfo.html)
Title: Re: PCS 2.0.3 & other fixups
Post by: Kazan on May 28, 2008, 07:42:15 am
open the model in PCS1 and see what it says for the axis, make sure PCS2 agrees with this
Title: Re: PCS 2.0.3 & other fixups
Post by: Vasudan Admiral on May 28, 2008, 08:23:52 am
PCS1 reports
-> The 'fenris-spin-pcs1' model has the X axis spinner set to X, the Y axis spinner set to Y and the Z axis spinner set to Z.
-> The 'fenris-spin-pcs2' model has the X axis spinner set to Z, the Y axis spinner set to 'no axis' and the Z axis spinner set to Y.

PCS2 reports
-> The 'fenris-spin-pcs1' model has the X axis spinner set to 'no axis', the Y axis spinner set to Z and the Z axis spinner set to X.
-> The 'fenris-spin-pcs2' model has the X axis spinner set to X, the Y axis spinner set to Y and the Z axis spinner set to Z.

In game shows
-> The 'fenris-spin-pcs1' model has the X axis spinner set X, the Y axis spinner set to Y and the Z axis spinner set to Z.
-> The 'fenris-spin-pcs2' model has the X axis spinner set to Z, the Y axis spinner set to 'no axis' and the Z axis spinner set to Y.

So yeah, they're basically disagreeing with each other, but in game agrees with PCS1's assessment of things.
Title: Re: PCS 2.0.3 & other fixups
Post by: Bobboau on May 30, 2008, 04:31:22 am
looking at it, it seems x->z, z->y, and (by process of elimination) y->x

it doesn't help that I think PCS1 had them labeled wrong too.
Title: Re: PCS 2.0.3 & other fixups
Post by: Kazan on May 30, 2008, 07:04:08 am
im pretty sure pcs1 has em right
Title: Re: PCS 2.0.3 & other fixups
Post by: Vasudan Admiral on May 30, 2008, 07:21:08 am
As far as I can tell, yeah - PCS1 is quite right, but in PCS2, X->Z, Y->None and Z->Y.

I think Y worked correctly in older versions actually, while X and Z previously did nothing. Those two do work now but on the wrong axes.
The results I got before are from examining both models in PCS1, PCS2, and then in game, so they're as correct as they can be. ;)
Title: Re: PCS 2.0.3 & other fixups
Post by: blowfish on June 06, 2008, 11:02:51 pm
:bump:

diff from RC2D to 2.0.1

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

Actually, I did some testing, and the crash seems to occur in versions as early as RC2B.  Don't know why I didn't catch the problem back then...

Also, when I tried to replace a subobject of one model with a subobject from another model (using that "load" button at the top of the right side of the window), I get *array out of bounds* when I open the model I just edited (it saves fine, but when I try to reopen it, it crashes).  EDIT: Manticized
Title: Re: PCS 2.0.3 & other fixups
Post by: Vasudan Admiral on June 06, 2008, 11:06:29 pm
Already reported. ;)
http://ferrium.org/mantis/view.php?id=73
Title: Re: PCS 2.0.3 & other fixups
Post by: blowfish on June 06, 2008, 11:07:58 pm
Oh.  Didn't realize :nervous:
Title: Re: PCS 2.0.3 & other fixups
Post by: Getter Robo G on June 07, 2008, 02:58:22 am
[EDIT] non-permissioned, just posted for Kazan to test with. I had not added shields or shine maps yet!
--------

Ok here's a fighter I knocked out in 17 secs with PCS1. Works in game, blows up, rearms no problem.

Just tried PCS2, it locks up on load, after 10 mins I figured it was a fatal lock up and task manager closed pcs2..

Here are the files (just trying to help), have fun!

http://upload2.net/page/download/oNOFzs3JA48cEbL/SGA-Scarab.7z.html



[attachment deleted by admin]
Title: Re: PCS 2.0.3 & other fixups
Post by: Water on June 07, 2008, 06:32:35 am
Just tried PCS2, it locks up on load, after 10 mins I figured it was a fatal lock up and task manager closed pcs2..
Loaded in 2.0.3 and saved without apparent problem. Tried RC2a +  july07 version - also worked.
The mesh isn't great, but maybe a different issue?
Title: Re: PCS 2.0.3 & other fixups
Post by: Getter Robo G on June 07, 2008, 08:18:16 am
whoopsie... Last loaded for me was 2.0.1 let me go back (new build)... Will edit this post in a few minutes!

[EDIT]: No joy...

I got a sneaking suspicion it's just my computers themselves, but as to why I get lockups in the first place with pcs2 is just bizarre.


"New" computer:

ACER
p 3.0 dual core
1GB mem
512 MB Nvidia Geforce 8500GT
Vista Home Basic

"old" Computer (Offline but had SAME ISSUE)
HP
p4  1.8
768MB mem
256MB generic ATI 9025?
(Replaced 32 MB ATI had same issue with PCS 2 also)
XP Home

I get No message and the process locks up 2 secs as the loading bar gets 2/3rds across the bottom.
MOST of the time I can load existing POF's but not raw COBS (which doesn't help me if PCS1 has a problem with those...

Loads pofs:
(http://i22.photobucket.com/albums/b321/Star-Dragon/modding%20FS2/loadscobs.jpg)


Cobs cause lock up:
(http://i22.photobucket.com/albums/b321/Star-Dragon/modding%20FS2/locksuponcobs.jpg)

In fact I don't remember if I ever got any version of PCS2 to make a pof at all. I wish I could remember as it might have helped you to identify what's going on!

Thing is since I have no clue at all, I have no way of explaining my predicament.......

So you can see why I would be very stern with people who come down on me about PCS1 when basically 300 models or so I would not otherwise be able to use, only exist in FS2 because of it! :)

I sincerely hope this situation can be resolved so I can join the rest of the civilized world instead of beating stones with this club (ugh!)...
Title: Re: PCS 2.0.3 & other fixups
Post by: Kazan on June 07, 2008, 08:55:07 am
never had a COB lock up PCS2 on load before  :eek2:

when i get time (only one week left in this class from hell) i'll take a look.
Title: Re: PCS 2.0.3 & other fixups
Post by: Getter Robo G on June 07, 2008, 09:10:30 am
I appreciate that Kazan...

It sucks that it seems no one else has had the same issue before. I've carried this cross for what, 3+ years now?
My first indication something beyond the norm was an issue was when WATER tried to help me with Yamato and said "It loaded no problem"...

That got my eye twitching a bit. But since he's a modeler I figured he might have messed with the hierarchy by habit and forgot about it. When I still could not load the files he reposted I was dumbfounded and just let it drop to keep from looking like a complete idiot.

Now again a model I posted that won't work for me loads for someone else there has to be something fundamentally different in the process on their machines and mine. Since I am not a modeler or a coder I'm totally in the dark and I completely hate it...   :mad: It drives me bonkers to no end...

That's why I was so short back when I made the suggestion that different messages be displayed when the process ends at certain points so people can diagnose an issue (should one occur). I mistakenly thought if you knew nothing of the model, but got a message on the process, you might be able to narrow down conversion problems and correct them.

I now realize it's a separate issue and cross my fingers not only that the problem can at least be identified, but equally important that a solution can be found...  :(
Title: Re: PCS 2.0.3 & other fixups
Post by: Vasudan Admiral on June 07, 2008, 10:02:22 am
Converted fine here too without any kind of modification in 3 seconds on my AMD 3800+, so I guess we can rule slow computer out seeing as your dual core machine got stuck. :\

Have you got that DLL pack that PCS2 needs? http://www.microsoft.com/downloads/details.aspx?familyid=32bc1bee-a3f9-4c13-9c99-220b62a191ee&displaylang=en

It probably won't help this case even if you've not previously installed it, but it's worth a try - since I don't see how anything other than a faulty PCS2 install could cause that particular model to fail on your two machines but work on mine and Waters. It's quite weird. :\

Or might there be other software running in the background that could be intefering? Like an overzealous firewall or security settings?
Title: Re: PCS 2.0.3 & other fixups
Post by: Getter Robo G on June 07, 2008, 11:13:45 am
Question, does the part that PCS2 runs fine alone, and opens pofs for me no problem, but only locks up on .cobs point to anything?

Why would a program "partially" work? It either works or it doesn't if it's missing something like a DLL right? Kinda like how milkshake imports .nif's and .sods from trek for me but on occasion it just cannot open a model and crashes to desktop.

I just installed that link VA, no change.

Yes in the beginning I had no protections until Macafee and one other on my old one, and on my new one I have Norton, AVG and spybot...

Title: Re: PCS 2.0.3 & other fixups
Post by: Kazan on June 07, 2008, 11:49:26 am
that would indicate something is wrong with the .cob

if you don't have the DLLS PCS2 won't start
Title: Re: PCS 2.0.3 & other fixups
Post by: Vasudan Admiral on June 07, 2008, 12:13:14 pm
Kazan, that same cob works just fine on mine and Waters machines - we just tested it. So the question now is how is it possible that PCS2 will convert it correctly on ours, but fail during conversion on both of Getter Robo's quite different machines?
Title: Re: PCS 2.0.3 & other fixups
Post by: Kazan on June 07, 2008, 12:26:09 pm
no idea
Title: Re: PCS 2.0.3 & other fixups
Post by: Getter Robo G on June 07, 2008, 02:05:38 pm
 :wtf:

can you backwards reason this......

Why does PCs1 and MV cobbing work on my system if PCS2 cobs won't? (does that type of thinking help at all?)
Did something fundamental in the process change?

This really sucks, it means aside from my pitiful efforts I'm even more dependant on others than I thought...

I wonder how many models I arbitrarily tossed or filed away cause they failed on PCS1 that if PCS2 worked for me would actually pass muster and would be in game now after all this time...

I always thought it was the models.
 :mad: :mad: :mad:

Title: Re: PCS 2.0.3 & other fixups
Post by: Water on June 07, 2008, 05:52:59 pm
Yes in the beginning I had no protections until Macafee and one other on my old one, and on my new one I have Norton, AVG and spybot...
I really hope you don't have all three active at the same time!
Title: Re: PCS 2.0.3 & other fixups
Post by: Getter Robo G on June 08, 2008, 12:09:58 am
I do now... My new comp is less than a year old and about two montha ago I added SB SS... I had this problem vanilla so I'll turn them off on a whim and try again... *Cross your fingers*

Ended all their proceses in Task manager and tried a base I just got in game this afternoon. Nope, hard lock...

Does it help to know I have to use task manager to end PCS2 when I fail to open .cobs?
Title: Re: PCS 2.0.3 & other fixups
Post by: Getter Robo G on June 08, 2008, 10:37:21 am
Heh you didn't have to PM that to mesh me Water, I can't be embarrassed anymore.  :)

I DID manage to open it without lockup but it's blank and the wireframe and solid mode don't show anything either. I click to add guns but no dots show up (just numbers do in the interface windows. So the program THINKS it's there but it isn't displaying anything at all...

[edit] I was about to delete it when I looked in the folder and saw you used that Stargate texture from the model I uploaded (By CLIPERKINS), he he Stargate the cargo container(TM)!  :lol:


Title: Re: PCS 2.0.3 & other fixups
Post by: Kazan on June 08, 2008, 10:47:43 am
what is your video card
Title: Re: PCS 2.0.3 & other fixups
Post by: Water on June 08, 2008, 08:04:10 pm
Heh you didn't have to PM that to mesh me Water, I can't be embarrassed anymore.  :)

I DID manage to open it without lockup but it's blank and the wireframe and solid mode don't show anything either. I click to add guns but no dots show up (just numbers do in the interface windows. So the program THINKS it's there but it isn't displaying anything at all...
Just being sure, ;) some of the meshes you collect are not very game friendly.
On another idea, are you running a current version of FSO, or an old version?
And last question. What openGL version does your 8500GT report in PCS2: Options>Query Opengl?
Title: Re: PCS 2.0.3 & other fixups
Post by: Getter Robo G on June 09, 2008, 10:05:03 am
It says 2.1.2 openGL

Nvidia 8500GT 512mb

As for open, whatever version was on the online installer last 3-4 months (that's when I got my new comp and reinstalled from scratch).


Title: Re: PCS 2.0.3 & other fixups
Post by: Kazan on July 14, 2008, 04:50:22 pm
I'm not dead.. i promise.. just not feeling into it
Title: Re: PCS 2.0.3 & other fixups
Post by: chief1983 on July 15, 2008, 09:00:09 am
Shame then, the Collada importer could really use your help, such as tips on how to make sure the dll will be easily integrated into PCS2.  I'm assuming as long as it provides similar functionality to the COB code it will work ok.
Title: Re: PCS 2.0.3 & other fixups
Post by: Spicious on July 15, 2008, 09:14:11 am
There shouldn't be any problems using a dll, but I don't think it's worth bothering since the main use would be pcs2. It's easier to just stick it into the current code.
Title: Re: PCS 2.0.3 & other fixups
Post by: Kazan on July 15, 2008, 10:14:47 am
no need for a DLL.. io'll give you write access to the repo if you want to write it
Title: Re: PCS 2.0.3 & other fixups
Post by: Bobboau on March 04, 2009, 01:02:57 am
(http://www.game-warden.com/starfox/Non_SF_related_stuff/JS47/Thread_Necromancy.jpg)

so where is the repo again? was it switched over to SVN?
I have spring break and there is a slim chance I might grace this project with some bug fixes.
(good time to post **** to mantis)
Title: Re: PCS 2.0.3 & other fixups
Post by: Vasudan Admiral on March 04, 2009, 01:46:01 am
Even the slim chance is good news. :D

I think the stuff currently in mantis (aside from an odd tendancy for duplicates recently :wtf: ) is still all valid.
Title: Re: PCS 2.0.3 & other fixups
Post by: Bobboau on March 04, 2009, 01:58:55 am
are there any well known bugs NOT in there?
Title: Re: PCS 2.0.3 & other fixups
Post by: Vasudan Admiral on March 04, 2009, 02:13:27 am
Not that I'm aware of. The major one is that whole PCS2 not working at all on only some systems: http://ferrium.org/mantis/view.php?id=63

Other than that, the big one is really only: http://ferrium.org/mantis/view.php?id=74 and the whole merging DAE support with the main branch thing, since I don't think that's been done yet. :)
Title: Re: PCS 2.0.3 & other fixups
Post by: Bobboau on March 04, 2009, 02:15:50 am
DAE support?
Title: Re: PCS 2.0.3 & other fixups
Post by: chief1983 on March 04, 2009, 02:35:57 am
Knock yourself out (http://www.hard-light.net/forums/index.php/topic,54757.html)
Title: Re: PCS 2.0.3 & other fixups
Post by: Kazan on March 04, 2009, 06:50:28 am
it's still in CVS on sf.net

there is a list of bugs in mantis
Title: Re: PCS 2.0.3 & other fixups
Post by: Bobboau on March 07, 2009, 12:50:25 pm
so, what exactly is boost/shared_ptr.hpp ?
Title: Re: PCS 2.0.3 & other fixups
Post by: Kazan on March 07, 2009, 01:00:49 pm
one of the boost:: and soon to be std:: (and already is std::tr1 in compliant compilers like vs2008 with the appropriate update) smart pointers

auto_ptr is deprecated in the next language standard


now what shared_ptr actually is - it is a reference counting pointer that automatically deletes the pointer when the last instance goes out of scope - use it for things like "new ClassInstance"

use shared_array for "new object[1000]" instead

here is the c++0x spec http://en.wikipedia.org/wiki/C%2B%2B0x

get boost from

http://www.boost.org/

im also going to be moving the includes out of the project definition and just have everyone put them into their visual studio additional headers settings
Title: Re: PCS 2.0.3 & other fixups
Post by: Bobboau on March 07, 2009, 01:16:58 pm
on that last point that would be a good idea, I am right now trying to get a MSVC2008 solution working (without disrupting the existing stuff).

you say this is std in vs2008? is there some way we could include the native version on compilers that have it installed already?
oh, and are you using an outdated version of wxWidgets? I'm getting a bunch of odd errors (I'm using 2.8.9)
Title: Re: PCS 2.0.3 & other fixups
Post by: Kazan on March 07, 2009, 01:31:14 pm
trunk, if it compiles right now, crashes due to some alterations to the multithreading im making and trying to debug... something is crashing inside wxWidgets i think... and i am compiling against 2.8.9 though i might have changed something partially in code that requires me to finish cleaning it up

i just upgraded to vs2008 at home.. just haven't opened PCS2 yet

if you get the appropriate update to vs2008 (http://www.microsoft.com/DownLoads/details.aspx?FamilyID=d466226b-8dab-445f-a7b4-448b326c48e7&displaylang=en) then include the appropriate header and it's in std::tr1 namespace for shared_ptr and shared_array, etc etc ... the big thing here is they're EXCEPTION SAFE pointers

if i haven't already in code im going to be deprecating usage of wxThread objects and using boost threads and boost mutexes as these are becoming std:: in C++0x
Title: Re: PCS 2.0.3 & other fixups
Post by: Bobboau on March 07, 2009, 01:41:35 pm
I figured out what the errors were from, we need to include wx\msw\winundef.h after every inclue of windows.h, it undefines the common symbols, most importantly Yield.

do the boost thread things behave roughly the same as the WX stuff?
it'll be nice if STL gets some better threading capabilities.
Title: Re: PCS 2.0.3 & other fixups
Post by: Kazan on March 07, 2009, 01:47:35 pm
I figured out what the errors were from, we need to include wx\msw\winundef.h after every inclue of windows.h, it undefines the common symbols, most importantly Yield.

do the boost thread things behave roughly the same as the WX stuff?
it'll be nice if STL gets some better threading capabilities.

they're better than the wx ones.. boost library pretty much kicks the **** out of everything, it's basically the "test bed" std:: ... their API is a little different obviously.. but soon as our compilers get C++0x compliance next year probably we switch "using boost::thread" to "using std::thread"

other changes to the language in C++0x is better memory model that is multithread aware, a version of the "static" keyword called "thread_local" (self explainatory)
Title: Re: PCS 2.0.3 & other fixups
Post by: Bobboau on March 07, 2009, 03:32:44 pm
"thread_local"
****N SWEET!

I need to look into this.
I really think they aught to make mutexes and semiphores standard types (like in't and floats.)
Title: Re: PCS 2.0.3 & other fixups
Post by: Kazan on March 07, 2009, 03:35:30 pm
read the C++0x wiki page.. the thread library includes all the synchronization functions you would want

conditions variables, mutexes, etc

for more detail here is Boost::thread which is becoming std::thread

http://www.boost.org/doc/libs/1_38_0/doc/html/thread.html

[edit]
is your "latest PCS2 build" link in your signature up to date to 2.0.3?
Title: Re: PCS 2.0.3 & other fixups
Post by: Bobboau on March 07, 2009, 04:28:26 pm
it was the last build I made, so no, not yet anyway, it probably will be soon though.
Title: Re: PCS 2.0.3 & other fixups
Post by: Kazan on March 07, 2009, 04:35:23 pm
if you're going to post dev builds in your signature please post "Latest Stable (2.0.3)" and "Bob's Latest Development Build"

currently trunk builds are ALPHA quality and are pretty much gauranteed to crash
Title: Re: PCS 2.0.3 & other fixups
Post by: Bobboau on March 07, 2009, 07:47:50 pm
while I'm waiting for XP to compress this laptop's 30GB hard drive so I can squeeze an extra GB or two out of it to install the update, because you still have SCP internal access, I think I left the POF file upgrade specs in there, could you repost those somewhere public.

I did just order a 320GB HD from newegg btw.
Title: Re: PCS 2.0.3 & other fixups
Post by: Bobboau on March 08, 2009, 12:17:19 am
are we actually using boost anywhere yet?
I was going to make a new compatibility file that would use the tr1 implementation when possible and boost otherwise, but when I wen't to see what classes we were useing it didn't seem like we were using any.

also have you considered loading the different textures in different threads?

and does anyone else experience texture corruption like what I have attached or is it just me?

[attachment deleted by admin]
Title: Re: PCS 2.0.3 & other fixups
Post by: Kazan on March 08, 2009, 03:12:47 am
are we actually using boost anywhere yet?
I was going to make a new compatibility file that would use the tr1 implementation when possible and boost otherwise, but when I wen't to see what classes we were useing it didn't seem like we were using any.

also have you considered loading the different textures in different threads?

and does anyone else experience texture corruption like what I have attached or is it just me?

a) yes im using boost::shared_ptr (aka std::tr1::shared_ptr) and boost::regex
b) openGL is not thread aware.. all opengl commands (including texture load) must come from the same thread
c) never seen that.. video card/driver combo?
Title: Re: PCS 2.0.3 & other fixups
Post by: Bobboau on March 08, 2009, 06:28:25 am
well, I guess I have to wait untill you commit that because I got rid of the includes and everything compiled fine.

couldn't we put the reading part into desperate threads at least? I have a feeling it would increase performance eminencely.

possibly, it seems to be related with texture loading though (investigating it is what peaked my curiosity about loading textures in threads) if I hit the reload textures button it clears it right up.
Title: Re: PCS 2.0.3 & other fixups
Post by: Kazan on March 08, 2009, 10:53:46 am
well, I guess I have to wait untill you commit that because I got rid of the includes and everything compiled fine.

couldn't we put the reading part into desperate threads at least? I have a feeling it would increase performance eminencely.

possibly, it seems to be related with texture loading though (investigating it is what peaked my curiosity about loading textures in threads) if I hit the reload textures button it clears it right up.

weird.. i could have sworn i used regex and shared_ptr ... you should download boost and install it.

i could put the reading of the textures from disk into a different thread, but the main UI would still have to wait for that thread.. in the end it would make little difference in perceived performance
Title: Re: PCS 2.0.3 & other fixups
Post by: Bobboau on March 09, 2009, 03:57:34 am
can you commit whatever you have right now, I was trying to work on changing the way turret importation worked to address VA's bug, but it seems that chunk importation is broken because I assume the loading thread is deleteing it's self, and that seemed like something that your changes might have effected or fixed.
Title: Re: PCS 2.0.3 & other fixups
Post by: Kazan on March 09, 2009, 06:51:55 am
they havent fixed it yet.. and i cannot get it to compile since i updated to VS2008... it thinks wxGLCanvas is not defined but it's enabled in wx/setup.h and was when i compiled wxwidgets

i've made a spattering of changes (added casts) all over to shut up warnings about converting size_t to int
Title: Re: PCS 2.0.3 & other fixups
Post by: Bobboau on March 09, 2009, 10:14:34 pm
why not change those ints to unsigned ints, that usually does it.

I've got it compiling under VS2008, but I have that library specialization thing half set up (the boost-tr1 thing).
Title: Re: PCS 2.0.3 & other fixups
Post by: Kazan on March 09, 2009, 10:30:53 pm
why not change those ints to unsigned ints, that usually does it.

I've got it compiling under VS2008, but I have that library specialization thing half set up (the boost-tr1 thing).

because that doesn't fix the 64-bit portability warnings

64bit windows
unsigned int = 4 bytes
size_t = 8 bytes
Title: Re: PCS 2.0.3 & other fixups
Post by: Bobboau on March 10, 2009, 01:58:21 am
oh, well I guess that's an ok reason then, though it might still be a good idea to actually use the size_t when applicable.

anyway, was bored and seeing as I can't really fix most bugs due to the current changes to the threading model makeing the code base super unstable. I just improved POF compilation time by 50-100% for objects in the 10000 poly range. more complex objects will benefit more.
Title: Re: PCS 2.0.3 & other fixups
Post by: Kazan on March 10, 2009, 06:35:50 am
cool