| 595 | } |
| 596 | |
| 597 | void writeCVars(FileStream& settings) |
| 598 | { |
| 599 | writeHeader(settings, c_sectionNames[SECTION_CVAR]); |
| 600 | u32 count = TFE_Console::getCVarCount(); |
| 601 | char value[256]; |
| 602 | for (u32 i = 0; i < count; i++) |
| 603 | { |
| 604 | const TFE_Console::CVar* cvar = TFE_Console::getCVarByIndex(i); |
| 605 | if (cvar->flags & CVFLAG_DO_NOT_SERIALIZE) |
| 606 | { |
| 607 | continue; |
| 608 | } |
| 609 | |
| 610 | switch (cvar->type) |
| 611 | { |
| 612 | case TFE_Console::CVAR_INT: |
| 613 | sprintf(value, "int %d", cvar->valueInt ? (*cvar->valueInt) : cvar->serializedInt); |
| 614 | break; |
| 615 | case TFE_Console::CVAR_FLOAT: |
| 616 | sprintf(value, "float %f", cvar->valueFloat ? (*cvar->valueFloat) : cvar->serializedFlt); |
| 617 | break; |
| 618 | case TFE_Console::CVAR_BOOL: |
| 619 | sprintf(value, "bool %s", cvar->valueBool ? ((*cvar->valueBool) ? "true" : "false") : (cvar->serializedBool ? "true" : "false")); |
| 620 | break; |
| 621 | case TFE_Console::CVAR_STRING: |
| 622 | sprintf(value, "string \"%s\"", cvar->valueString ? cvar->valueString : cvar->serializedString.c_str()); |
| 623 | break; |
| 624 | default: |
| 625 | continue; |
| 626 | }; |
| 627 | |
| 628 | writeKeyValue_String(settings, cvar->name.c_str(), value); |
| 629 | } |
| 630 | } |
| 631 | |
| 632 | SectionID parseSectionName(const char* name) |
| 633 | { |
no test coverage detected