/[Sims3RigEditor]/trunk/gr2lib_cpp/gr2lib_rigeditor_frm.h
ViewVC logotype

Diff of /trunk/gr2lib_cpp/gr2lib_rigeditor_frm.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 20 by william, Sun Aug 1 04:23:29 2010 UTC revision 22 by william, Sun Aug 1 06:33:06 2010 UTC
# Line 20  using namespace std; Line 20  using namespace std;
20  using namespace gr2lib::core;  using namespace gr2lib::core;
21  using namespace gr2lib::core::coretypes::implementation;  using namespace gr2lib::core::coretypes::implementation;
22  using namespace gr2lib::core::apiversion;  using namespace gr2lib::core::apiversion;
23    using namespace gr2lib::core::ui::helpers;
24    using namespace gr2lib::core::helpers;
25  using namespace System;  using namespace System;
26  using namespace System::ComponentModel;  using namespace System::ComponentModel;
27  using namespace System::Collections;  using namespace System::Collections;
# Line 163  private: Line 165  private:
165                  this->propgrid->Dock = System::Windows::Forms::DockStyle::Fill;                  this->propgrid->Dock = System::Windows::Forms::DockStyle::Fill;
166                  this->propgrid->Location = System::Drawing::Point(0, 24);                  this->propgrid->Location = System::Drawing::Point(0, 24);
167                  this->propgrid->Name = L"propgrid";                  this->propgrid->Name = L"propgrid";
168                  this->propgrid->PropertySort = System::Windows::Forms::PropertySort::NoSort;                  this->propgrid->PropertySort = System::Windows::Forms::PropertySort::Categorized;
169                  this->propgrid->Size = System::Drawing::Size(558, 456);                  this->propgrid->Size = System::Drawing::Size(558, 456);
170                  this->propgrid->TabIndex = 4;                  this->propgrid->TabIndex = 4;
171                  this->propgrid->ToolbarVisible = false;                  this->propgrid->ToolbarVisible = false;
# Line 286  private: Line 288  private:
288                  ArtToolInfo_ToManaged(_grn_file->GrannyFileInfo->ArtToolInfo);                  ArtToolInfo_ToManaged(_grn_file->GrannyFileInfo->ArtToolInfo);
289                  // Exporter Info                  // Exporter Info
290                  ExporterInfo_ToManaged(_grn_file->GrannyFileInfo->ExporterInfo);                  ExporterInfo_ToManaged(_grn_file->GrannyFileInfo->ExporterInfo);
291                    // Texture List
292                    Textures_ToManaged(_grn_file->GrannyFileInfo->Textures,_grn_file->GrannyFileInfo->TextureCount);
293          }          }
294          void ConvertToNative()          void ConvertToNative()
295          {          {
# Line 346  private: Line 350  private:
350                  //_ExporterInfo->ExtendedData = new IntPtr(toolinfo->ExtendedData.Object);                  //_ExporterInfo->ExtendedData = new IntPtr(toolinfo->ExtendedData.Object);
351          }          }
352  #pragma endregion  #pragma endregion
353    #pragma region Textures_ToManaged
354            void Textures_ToManaged(granny_texture** toolinfo, granny_int32 TextureCount)
355            {              
356                    if (toolinfo != NULL)
357                    {
358                            /*GR2LibPropertyWrapper->ExporterInfo->ExporterName = gcnew String(reinterpret_cast<const char*>(toolinfo->ExporterName));
359                            GR2LibPropertyWrapper->ExporterInfo->Version = gcnew versiontype(
360                                    toolinfo->ExporterMajorRevision,
361                                    toolinfo->ExporterMinorRevision,
362                                    toolinfo->ExporterCustomization,
363                                    toolinfo->ExporterBuildNumber);*/
364                            GR2LibPropertyWrapper->Textures = gcnew List<Texture^>();
365                            for(int i=0;i<TextureCount;i++)
366                            {
367                                    Texture^ t = gcnew Texture();
368                                    t->FromFileName = gcnew FilePath(gcnew String(reinterpret_cast<const char*>(toolinfo[i]->FromFileName)));
369                                    t->TextureType = gcnew NameValuePair<String^,gr2lib::core::typedefs::granny_texture_type>(
370                                            ::coreapi::EnumToStringSupport::GetGrannyEnumTypeString<gr2lib::core::typedefs::granny_texture_type>(
371                                            (gr2lib::core::typedefs::granny_texture_type)toolinfo[i]->TextureType),
372                                            (gr2lib::core::typedefs::granny_texture_type)toolinfo[i]->TextureType);
373                                    t->Width = toolinfo[i]->Width;
374                                    t->Height = toolinfo[i]->Height;
375                                    t->Encoding = gcnew NameValuePair<String^,gr2lib::core::typedefs::granny_texture_encoding>(
376                                            ::coreapi::EnumToStringSupport::GetGrannyEnumTypeString<gr2lib::core::typedefs::granny_texture_encoding>(
377                                            (gr2lib::core::typedefs::granny_texture_encoding)toolinfo[i]->Encoding),
378                                            (gr2lib::core::typedefs::granny_texture_encoding)toolinfo[i]->Encoding);
379                                    t->SubFormat = gcnew NameValuePair<String^,gr2lib::core::typedefs::granny_pixel_layout>(
380                                            ::coreapi::EnumToStringSupport::GetGrannyEnumTypeString<gr2lib::core::typedefs::granny_pixel_layout>(
381                                            (gr2lib::core::typedefs::granny_pixel_layout)toolinfo[i]->SubFormat),
382                                            (gr2lib::core::typedefs::granny_pixel_layout)toolinfo[i]->SubFormat);
383                                    t->Layout = gcnew gr2lib::core::coretypes::implementation::Layout();
384                                            t->Layout->BytesPerPixel = toolinfo[i]->Layout.BytesPerPixel;
385                                            for(int j=0;j<4;j++)
386                                            {
387                                                    t->Layout->ShiftForComponent[j] =  toolinfo[i]->Layout.ShiftForComponent[j];
388                                                    t->Layout->BitsForComponent[j] =  toolinfo[i]->Layout.BitsForComponent[j];
389                                            }
390    
391                                    t->Images = gcnew List<gr2lib::core::coretypes::implementation::Image^>();
392                                    for(int j=0;j<toolinfo[i]->ImageCount;j++)
393                                    {
394                                            gr2lib::core::coretypes::implementation::Image^ img = gcnew gr2lib::core::coretypes::implementation::Image();
395                                            img->MIPLevels = gcnew List<gr2lib::core::coretypes::implementation::MIPLevel^>();                                      
396                                            
397                                            for(int k=0;k<toolinfo[i]->Images[j].MIPLevelCount;k++)
398                                            {
399                                                    gr2lib::core::coretypes::implementation::MIPLevel^ mip = gcnew gr2lib::core::coretypes::implementation::MIPLevel();
400                                                    mip->Stride = toolinfo[i]->Images[j].MIPLevels[k].Stride;
401                                                    mip->Pixels = gcnew List<gr2lib::core::coretypes::implementation::Pixel^>();    
402    
403                                                    unsigned char* bytes = (unsigned char*)malloc(toolinfo[i]->Images[j].MIPLevels[k].PixelByteCount);      
404                                                    for(int l =0;l<toolinfo[i]->Images[j].MIPLevels[k].PixelByteCount;l++)
405                                                    {
406                                                            bytes[l] =0;
407                                                    }
408                                                    bytes = (unsigned char*)toolinfo[i]->Images[j].MIPLevels[k].PixelBytes;
409    
410                                                    for(int l =0;l<toolinfo[i]->Images[j].MIPLevels[k].PixelByteCount;l++)
411                                                    {
412                                                            gr2lib::core::coretypes::implementation::Pixel^ pix = gcnew gr2lib::core::coretypes::implementation::Pixel();
413                                                            pix->UInt8 = bytes[l];
414                                                            pix->ReferenceTexture =t;
415                                                            mip->Pixels->Add(pix);
416                                                    }
417    
418                                                    img->MIPLevels->Add(mip);
419                                            }
420    
421                                            t->Images->Add(img);
422                                            t->NativePointer = *(new IntPtr(toolinfo[i]));
423                                    }
424                                    GR2LibPropertyWrapper->Textures->Add(t);
425                            }
426                    }
427            }
428    #pragma endregion
429    
430  #pragma region MarshalToNative  #pragma region MarshalToNative
431    
# Line 396  private: Line 476  private:
476                  //_grn_file->GrannyFileInfo->ExporterInfo->ExtendedData                  //_grn_file->GrannyFileInfo->ExporterInfo->ExtendedData
477          }          }
478  #pragma endregion  #pragma endregion
479    #pragma region Textures_ToNative
480            void Textures_ToNative()
481            {
482                    if (_grn_file->GrannyFileInfo->Textures == NULL)
483                    {
484                            _grn_file->GrannyFileInfo->Textures = new granny_texture*();
485                    }
486                    //_grn_file->GrannyFileInfo->ExporterInfo->ExporterName = (char*)Marshal::StringToHGlobalAnsi(GR2LibPropertyWrapper->ExporterInfo->ExporterName).ToPointer();
487                    //_grn_file->GrannyFileInfo->ExporterInfo->ExporterMajorRevision = GR2LibPropertyWrapper->ExporterInfo->Version->major;
488                    //_grn_file->GrannyFileInfo->ExporterInfo->ExporterMinorRevision = GR2LibPropertyWrapper->ExporterInfo->Version->minor;
489                    //_grn_file->GrannyFileInfo->ExporterInfo->ExporterCustomization = GR2LibPropertyWrapper->ExporterInfo->Version->customization;
490                    //_grn_file->GrannyFileInfo->ExporterInfo->ExporterBuildNumber = GR2LibPropertyWrapper->ExporterInfo->Version->build;
491                    ////_grn_file->GrannyFileInfo->ExporterInfo->ExtendedData
492            }
493    #pragma endregion
494  #pragma endregion  #pragma endregion
495    
496  #pragma endregion  #pragma endregion

Legend:
Removed from v.20  
changed lines
  Added in v.22

  ViewVC Help
Powered by ViewVC 1.1.22