3DS文件结构(8)

2019-08-31 09:11

return (temp_pointer); }

/*----------------------------------------------------------------------------*/

unsigned long ReadMaterialChunk (void) {

unsigned char end_found=FALSE; unsigned int temp_int;

unsigned long current_pointer; unsigned long temp_pointer; unsigned long tellertje=6L;

current_pointer=GetChunkPointer (); temp_pointer =ReadChunkPointer ();

while (end_found==FALSE) {

temp_int=ReadInt ();

switch (temp_int) {

case MAT_NAME01 :

#ifdef __DEBUG__

printf (\ temp_int); #endif

tellertje+=ReadMatDefChunk (); break; default:break; }

tellertje+=2;

if (tellertje=temp_pointer) end_found=TRUE; }

ChangeChunkPointer (current_pointer+temp_pointer); // move to the new chunk position return (temp_pointer); }

/*----------------------------------------------------------------------------*/

unsigned long ReadEditChunk (void) {

unsigned char end_found=FALSE; unsigned int temp_int;

unsigned long current_pointer; unsigned long temp_pointer; unsigned long tellertje=6L;

current_pointer=GetChunkPointer (); temp_pointer =ReadChunkPointer ();

while (end_found==FALSE) {

temp_int=ReadInt ();

switch (temp_int) {

case EDIT_UNKNW01:tellertje+=ReadUnknownChunk (EDIT_UNKNW01);break;

case EDIT_UNKNW02:tellertje+=ReadUnknownChunk (EDIT_UNKNW02);break;

case EDIT_UNKNW03:tellertje+=ReadUnknownChunk (EDIT_UNKNW03);break;

case EDIT_UNKNW04:tellertje+=ReadUnknownChunk (EDIT_UNKNW04);break;

case EDIT_UNKNW05:tellertje+=ReadUnknownChunk (EDIT_UNKNW05);break;

case EDIT_UNKNW06:tellertje+=ReadUnknownChunk (EDIT_UNKNW06);break;

case EDIT_UNKNW07:tellertje+=ReadUnknownChunk (EDIT_UNKNW07);break;

case EDIT_UNKNW08:tellertje+=ReadUnknownChunk (EDIT_UNKNW08);break;

case EDIT_UNKNW09:tellertje+=ReadUnknownChunk (EDIT_UNKNW09);break;

case EDIT_UNKNW10:tellertje+=ReadUnknownChunk (EDIT_UNKNW10);break;

case EDIT_UNKNW11:tellertje+=ReadUnknownChunk (EDIT_UNKNW11);break;

case EDIT_UNKNW12:tellertje+=ReadUnknownChunk (EDIT_UNKNW12);break;

case EDIT_UNKNW13:tellertje+=ReadUnknownChunk (EDIT_UNKNW13);break;

case EDIT_MATERIAL :

#ifdef __DEBUG__

printf (\ temp_int); #endif

tellertje+=ReadMaterialChunk (); break; case EDIT_VIEW1 :

#ifdef __DEBUG__

printf (\Found View main def chunk id of %0X\\n\ temp_int); #endif

tellertje+=ReadViewChunk (); break; case EDIT_BACKGR :

#ifdef __DEBUG__

printf (\ temp_int); #endif

tellertje+=ReadBackgrChunk (); break; case EDIT_AMBIENT :

#ifdef __DEBUG__

printf (\ temp_int); #endif

tellertje+=ReadAmbientChunk (); break; case EDIT_OBJECT :

#ifdef __DEBUG__

printf (\ temp_int); #endif

tellertje+=ReadObjectChunk (); break; default: break; }

tellertje+=2;

if (tellertje=temp_pointer) end_found=TRUE; }

ChangeChunkPointer (current_pointer+temp_pointer); // move to the new chunk position return (temp_pointer);

}

/*----------------------------------------------------------------------------*/

unsigned long ReadKeyfChunk (void) {

unsigned char end_found=FALSE; unsigned int temp_int;

unsigned long current_pointer; unsigned long temp_pointer; unsigned long tellertje=6L;

current_pointer=GetChunkPointer (); temp_pointer =ReadChunkPointer ();

while (end_found==FALSE) {

temp_int=ReadInt ();

switch (temp_int) {

case KEYF_UNKNWN01 :tellertje+=ReadUnknownChunk (temp_int);break;

case KEYF_UNKNWN02 :tellertje+=ReadUnknownChunk (temp_int);break;

case KEYF_FRAMES :

#ifdef __DEBUG__

printf (\of %0X\\n\

temp_int); #endif

tellertje+=ReadUnknownChunk (temp_int); break; case KEYF_OBJDES :

#ifdef __DEBUG__

printf (\chunk id of %0X\\n\

temp_int); #endif

tellertje+=ReadUnknownChunk (temp_int); break; case EDIT_VIEW1 :

#ifdef __DEBUG__

printf (\Found View main def chunk id of %0X\\n\ temp_int);

#endif

tellertje+=ReadViewChunk (); break; default: break; }

tellertje+=2;

if (tellertje=temp_pointer) end_found=TRUE; }

ChangeChunkPointer (current_pointer+temp_pointer); // move to the new chunk position return (temp_pointer); }

/*----------------------------------------------------------------------------*/

unsigned long ReadMainChunk (void) {

unsigned char end_found=FALSE; unsigned int temp_int;

unsigned long current_pointer; unsigned long temp_pointer; unsigned long tellertje=6L;

current_pointer=GetChunkPointer (); temp_pointer =ReadChunkPointer ();

while (end_found==FALSE) {

temp_int=ReadInt ();

switch (temp_int) {

case KEYF3DS :

#ifdef __DEBUG__

printf (\of %0X\\n\ #endif

tellertje+=ReadKeyfChunk (); break; case EDIT3DS :

#ifdef __DEBUG__

printf (\Found *Editor* chunk id of %0X\\n\


3DS文件结构(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:第五章 脂类代谢(试题与答案)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: