public void parse_chunk(int[] tokens, int start, int stop) { for (int x = start; x < (stop - 1); x++) { int i_off = inv_offset + tokens[x]; byte[] item = ByteFunctions.BytePeice(itemdata, tokens[x], tokens[x + 1] - tokens[x]); if (item.Length > 9) { // parse the item int[] idata = parse_item(item); if (idata[0] != 0x00) { // make new item instance SGItems _item = new SGItems(); _item.raw = item; _item.offset = i_off; _item.sid = idata[0]; _item.qty = idata[1]; _item.cdn = idata[2]; _item.fid = lookup_table[idata[0]]; items.Add(_item); } } } }
protected void process_inventory() { // tokenize int[] tokens = tokenize_items(itemdata); for (int x = 0; x < (tokens.Length - 1); x++) { int i_off = inv_offset + tokens[x]; byte[] item = ByteFunctions.BytePeice(itemdata, tokens[x], tokens[x + 1] - tokens[x]); if (item.Length > 9) { // parse the item int[] idata = parse_item(item); if (idata[0] != 0x00 && idata[0] < lookup_table.Length) { // make new item instance SGItems _item = new SGItems(); _item.raw = item; _item.offset = i_off; _item.sid = idata[0]; _item.qty = idata[1]; _item.cdn = idata[2]; _item.fid = lookup_table[idata[0]]; items.Add(_item); } } } }