Given an open file pointer and a generic_page struct, writes that generic page out
| 504 | |
| 505 | // Given an open file pointer and a generic_page struct, writes that generic page out |
| 506 | void mng_WriteGenericPage(CFILE *outfile, mngs_generic_page *genericpage) { |
| 507 | int i, size; |
| 508 | |
| 509 | ASSERT(outfile != NULL); |
| 510 | ASSERT(genericpage != NULL); |
| 511 | ASSERT((strlen(genericpage->image_name)) > 2); |
| 512 | |
| 513 | cf_WriteByte(outfile, PAGETYPE_GENERIC); |
| 514 | |
| 515 | cf_WriteByte(outfile, GENERICPAGE_COMMAND_VERSION); |
| 516 | cf_WriteByte(outfile, 1); |
| 517 | cf_WriteByte(outfile, GENERICFILE_VERSION); |
| 518 | |
| 519 | cf_WriteByte(outfile, GENERICPAGE_COMMAND_TYPE); |
| 520 | cf_WriteByte(outfile, 1); |
| 521 | cf_WriteByte(outfile, genericpage->objinfo_struct.type); |
| 522 | |
| 523 | // Write the name |
| 524 | cf_WriteByte(outfile, GENERICPAGE_COMMAND_NAME); |
| 525 | cf_WriteByte(outfile, strlen(genericpage->objinfo_struct.name) + 1); |
| 526 | cf_WriteString(outfile, genericpage->objinfo_struct.name); |
| 527 | |
| 528 | // Write the model name |
| 529 | cf_WriteByte(outfile, GENERICPAGE_COMMAND_IMAGE_NAME); |
| 530 | cf_WriteByte(outfile, strlen(genericpage->image_name) + 1); |
| 531 | cf_WriteString(outfile, genericpage->image_name); |
| 532 | |
| 533 | cf_WriteByte(outfile, GENERICPAGE_COMMAND_IMPACT); |
| 534 | cf_WriteByte(outfile, 3 * sizeof(float)); |
| 535 | cf_WriteFloat(outfile, genericpage->objinfo_struct.impact_size); |
| 536 | cf_WriteFloat(outfile, genericpage->objinfo_struct.impact_time); |
| 537 | cf_WriteFloat(outfile, genericpage->objinfo_struct.damage); |
| 538 | |
| 539 | // Write the LOD model names |
| 540 | cf_WriteByte(outfile, GENERICPAGE_COMMAND_LOD_MODELS); |
| 541 | size = strlen(genericpage->med_image_name) + 1; |
| 542 | size += strlen(genericpage->lo_image_name) + 1; |
| 543 | |
| 544 | cf_WriteByte(outfile, size); |
| 545 | cf_WriteString(outfile, genericpage->med_image_name); |
| 546 | cf_WriteString(outfile, genericpage->lo_image_name); |
| 547 | |
| 548 | cf_WriteByte(outfile, GENERICPAGE_COMMAND_SCORE); |
| 549 | cf_WriteByte(outfile, 1); |
| 550 | cf_WriteByte(outfile, genericpage->objinfo_struct.score); |
| 551 | |
| 552 | cf_WriteByte(outfile, GENERICPAGE_COMMAND_SCRIPTNAME); |
| 553 | cf_WriteByte(outfile, strlen("") + 1); // genericpage->objinfo_struct.script_name |
| 554 | cf_WriteString(outfile, ""); |
| 555 | |
| 556 | if (genericpage->objinfo_struct.description != NULL) { |
| 557 | cf_WriteByte(outfile, GENERICPAGE_COMMAND_DESCRIPTION); |
| 558 | cf_WriteByte(outfile, strlen(genericpage->objinfo_struct.description) + 1); |
| 559 | cf_WriteString(outfile, genericpage->objinfo_struct.description); |
| 560 | } |
| 561 | |
| 562 | if (genericpage->objinfo_struct.icon_name[0] != '\0') { |
| 563 | cf_WriteByte(outfile, GENERICPAGE_COMMAND_ICON_NAME); |
nothing calls this directly
no test coverage detected