登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

~AVALON~

- The Ever Distant Utopia -

 
 
 

日志

 
 

dump code  

2011-03-03 10:47:38|  分类: DeSmuMe |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

//texcache.cpp

//only dump this from ogl renderer. for now, softrasterizer creates things in an incompatible pixel format

//#define DEBUG_DUMP_TEXTURE//szfzafa

 

 

//gfx3d.h

//szfzafa

extern unsigned char szfzafadumpmodelmark;

void gfx3d_szfzafadumpmodels();

 

//gfx3d.cpp

unsigned char szfzafadumpmodelmark=0;//szfzafa

static void gfx3d_doFlush()

{

     //szfzafa

         if(szfzafadumpmodelmark)

         gfx3d_szfzafadumpmodels();

     //szfzafa

         gfx3d.frameCtr++;

……

 

//szfzafa:dump models!

//-------------savestate

 

void gfx3d_szfzafadumpmodels()

{

     if(gfx3d.vertlist->count>4&&gfx3d.polylist->count>1)

         szfzafadumpmodelmark=0;

     else

         {

                   printf("szfzafa ripping failed~\n");

         return;

     }

 

     FILE *file;

     if ((file = fopen("c:\\dump\\szfzafa.obj","wb")) == NULL)

         return;

     //dump the render lists

         printf("szfzafa ripping %d verts %d polys~\n",gfx3d.vertlist->count,gfx3d.polylist->count);

     for(int i=0;i<gfx3d.vertlist->count;i++)

     {

          //fprintf(file,"v\t%f\t%f\t%f\t%f\n",gfx3d.vertlist->list[i].x,gfx3d.vertlist->list[i].y,gfx3d.vertlist->list[i].z,gfx3d.vertlist->list[i].w);

                   fprintf(file,"v\t%f\t%f\t%f\t%f\n",

              gfx3d.vertlist->list[i].y*3.0/-32.0,

              gfx3d.vertlist->list[i].x/8.0,

              gfx3d.vertlist->list[i].z/-2.0,

              gfx3d.vertlist->list[i].w);

         //fprintf(file,"vt\t%f\t%f\n",gfx3d.vertlist->list[i].u,gfx3d.vertlist->list[i].v);

                   fprintf(file,"vt\t%f\t%f\n",gfx3d.vertlist->list[i].u,-gfx3d.vertlist->list[i].v);

     }

    

     //char szfzafatex[32];

         u32 szfzafapa1=gfx3d.polylist->list[0].polyAttr;

     u32 szfzafapa2=gfx3d.polylist->list[0].texPalette;

     u32 szfzafapa3=gfx3d.polylist->list[0].texParam;

     fprintf(file,"g\t%x_%x_%x\n",szfzafapa1,szfzafapa2,szfzafapa3);

     //printf("usemtl\t%x\n",szfzafapa);

         for(int i=0;i<gfx3d.polylist->count;i++)

     {

         if(szfzafapa1!=gfx3d.polylist->list[i].polyAttr||

              szfzafapa2!=gfx3d.polylist->list[i].texPalette||

              szfzafapa3!=gfx3d.polylist->list[i].texParam)

         {

              szfzafapa1=gfx3d.polylist->list[i].polyAttr;

              szfzafapa2=gfx3d.polylist->list[i].texPalette;

              szfzafapa3=gfx3d.polylist->list[i].texParam;

              fprintf(file,"g\t%x_%x_%x\n",szfzafapa1,szfzafapa2,szfzafapa3);

         }

         switch(gfx3d.polylist->list[i].type)

         {

         case 4:  fprintf(file,"f\t%d/%d\t%d/%d\t%d/%d\t%d/%d\n",

                       1+gfx3d.polylist->list[i].vertIndexes[0],1+gfx3d.polylist->list[i].vertIndexes[0],

                       1+gfx3d.polylist->list[i].vertIndexes[1],1+gfx3d.polylist->list[i].vertIndexes[1],

                       1+gfx3d.polylist->list[i].vertIndexes[2],1+gfx3d.polylist->list[i].vertIndexes[2],

                       1+gfx3d.polylist->list[i].vertIndexes[3],1+gfx3d.polylist->list[i].vertIndexes[3]);

              break;

         case 3:  fprintf(file,"f\t%d/%d\t%d/%d\t%d/%d\n",

                       1+gfx3d.polylist->list[i].vertIndexes[0],1+gfx3d.polylist->list[i].vertIndexes[0],

                       1+gfx3d.polylist->list[i].vertIndexes[1],1+gfx3d.polylist->list[i].vertIndexes[1],

                       1+gfx3d.polylist->list[i].vertIndexes[2],1+gfx3d.polylist->list[i].vertIndexes[2]);

              break;

         default:;

         }

     }

     fclose(file);

}

 

 

 

  评论这张
 
阅读(1290)| 评论(6)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018