message_node *GetMessageByName(int class_id,char *message_name,class_node **found_class) { int message_id; message_id = GetIDByName(message_name); if (message_id == INVALID_ID) { eprintf("GetMessageByName can't find name %s\n",message_name); return NULL; } return GetMessageByID(class_id,message_id,found_class); }
int GetDataNum(int tag_val,const char *data_str) { resource_node *r; class_node *c; int retval; switch (tag_val) { case TAG_RESOURCE : r = GetResourceByName(data_str); if (r != NULL) { retval = r->resource_id; break; } if (sscanf(data_str,"%i",&retval) != 1) retval = INVALID_DATA; break; case TAG_CLASS : c = GetClassByName(data_str); if (c != NULL) { retval = c->class_id; break; } if (sscanf(data_str,"%i",&retval) != 1) retval = INVALID_DATA; break; case TAG_MESSAGE : retval = GetIDByName(data_str); if (retval == INVALID_ID) retval = INVALID_DATA; break; case TAG_TEMP_STRING : eprintf( "Recognized TAG_TEMP_STRING type, attempting to load..." ); retval = INVALID_DATA; break; default : if (sscanf(data_str,"%i",&retval) != 1) retval = INVALID_DATA; } return retval; }