MCPcopy Create free account
hub / github.com/DescentDevelopers/Descent3 / WriteScriptNodeDump_v1U

Method WriteScriptNodeDump_v1U

editor/DallasMainDlg.cpp:11528–11737  ·  view source on GitHub ↗

VERSION 1: Writes out a coded version of the given script node

Source from the content-addressed store, hash-verified

11526
11527// VERSION 1: Writes out a coded version of the given script node
11528void CDallasMainDlg::WriteScriptNodeDump_v1U(HTREEITEM node, bool filter_on /*=FALSE*/) {
11529 tTreeNodeData *data;
11530 CString tmp_name;
11531 int index;
11532
11533 if (CurrentOutputFile == NULL || node == NULL)
11534 return;
11535
11536 data = (tTreeNodeData *)m_ScriptTree.GetItemData(node);
11537 if (data == NULL)
11538 return;
11539
11540 TabOver();
11541 switch (data->type) {
11542 case SCRIPT_HEADER_NODE:
11543 cfprintf(CurrentOutputFile, "%02d:%d:%s", data->type, data->ID, data->name);
11544 break;
11545 case SCRIPT_OWNER_NODE:
11546 if (data->ID == OBJECT_TYPE) {
11547 if (filter_on || data->int_val == OBJECT_HANDLE_NONE || strlen(data->str_val) == 0)
11548 index = OBJECT_NONE_HANDLE;
11549 else
11550 index = FindObjectInList(data->str_val);
11551 } else if (data->ID == TRIGGER_TYPE) {
11552 if (filter_on || data->int_val == NOT_SPECIFIED_TYPE || strlen(data->str_val) == 0)
11553 index = NOT_SPECIFIED_TYPE;
11554 else
11555 index = FindTriggerInList(data->str_val);
11556 } else
11557 index = data->int_val;
11558 cfprintf(CurrentOutputFile, "%02d:%d:%d", data->type, data->ID, index);
11559 break;
11560 case SCRIPT_EVENT_NODE:
11561 cfprintf(CurrentOutputFile, "%02d:%d", data->type, data->ID);
11562 break;
11563 case CONDITIONAL_HEADER_NODE:
11564 cfprintf(CurrentOutputFile, "%02d:%d", data->type, data->ID);
11565 break;
11566 case ACTIONS_HEADER_NODE:
11567 if (DALLAS_SAVE_VERSION >= 3) {
11568 cfprintf(CurrentOutputFile, "%02d:%d:%d:%d", data->type, data->ID, data->int_val, data->subID);
11569 } else {
11570 cfprintf(CurrentOutputFile, "%02d:%d:%d", data->type, data->ID, data->subID);
11571 }
11572 break;
11573 case CONDITIONAL_STATEMENT_NODE:
11574 cfprintf(CurrentOutputFile, "%02d:%d", data->type, data->ID);
11575 break;
11576 case EXPRESSION_NODE:
11577 cfprintf(CurrentOutputFile, "%02d:%s:%s", data->type, GetQueryFunc(data->ID), data->name);
11578 break;
11579 case EXPRESSION_OPERATOR_NODE:
11580 cfprintf(CurrentOutputFile, "%02d:%d:%d", data->type, data->ID, data->subID);
11581 break;
11582 case ACTION_STATEMENT_NODE:
11583 cfprintf(CurrentOutputFile, "%02d:%s", data->type, GetActionFunc(data->ID));
11584 break;
11585 case LOGICAL_OPERATOR_NODE:

Callers

nothing calls this directly

Calls 2

cfprintfFunction · 0.85
GetBufferMethod · 0.80

Tested by

no test coverage detected