diff --git a/buy.lua b/buy.lua index 78c8c1d..22d8645 100644 --- a/buy.lua +++ b/buy.lua @@ -224,7 +224,8 @@ function AuxBuyEntry_OnClick(entry_index) if express_mode then if GetMoney() >= amount then - tremove(entries, entry_index) + -- tremove(entries, entry_index) + entry.dirty = true refresh = true end @@ -234,7 +235,8 @@ function AuxBuyEntry_OnClick(entry_index) else Aux.buy.dialog_action = function() if GetMoney() >= amount then - tremove(entries, entry_index) + -- tremove(entries, entry_index) + entry.dirty = true refresh = true end @@ -253,7 +255,8 @@ function AuxBuyEntry_OnClick(entry_index) end, on_complete = function() if not found then - tremove(entries, entry_index) + -- tremove(entries, entry_index) + entry.dirty = true refresh = true Aux.buy.dialog_cancel() end diff --git a/experimental.xml b/experimental.xml deleted file mode 100644 index e69de29..0000000 diff --git a/info.lua b/info.lua index 13632b4..1e55458 100644 --- a/info.lua +++ b/info.lua @@ -59,7 +59,7 @@ function Aux.info.auction_item(index) local auction_item = hyperlink_item(hyperlink) - local name, texture, count, quality, usable, level, min_bid, min_increment, buyout_price, current_bid, high_bidder, owner, sale_status, id, has_all_info = GetAuctionItemInfo("list", index) + local name, texture, count, quality, usable, level, min_bid, min_increment, buyout_price, current_bid, high_bidder, owner, sale_status, id = GetAuctionItemInfo("list", index) local duration = GetAuctionItemTimeLeft("list", index) auction_item.texture = texture @@ -72,7 +72,6 @@ function Aux.info.auction_item(index) auction_item.owner = owner auction_item.sale_status = sale_status auction_item.id = id - auction_item.has_all_info = has_all_info auction_item.duration = duration auction_item.usable = usable diff --git a/list.lua b/list.lua index 84d1e68..8e294ae 100644 --- a/list.lua +++ b/list.lua @@ -234,6 +234,10 @@ function Aux.sheet.default_cell_initializer(alignment) end end +local function alpha_setter(cell, datum) + cell:SetAlpha(datum.dirty and 0.4 or 1) +end + function Aux.sheet.initialize(frame) local logical_columns = { @@ -281,6 +285,7 @@ function Aux.sheet.initialize(frame) cell.text:SetText('['..datum.tooltip[1][1].text..']') local color = ITEM_QUALITY_COLORS[datum.quality] cell.text:SetTextColor(color.r, color.g, color.b) + alpha_setter(cell, datum) end, }, { @@ -296,6 +301,7 @@ function Aux.sheet.initialize(frame) text = level end cell.text:SetText(text) + alpha_setter(cell, datum) end, }, { @@ -304,6 +310,7 @@ function Aux.sheet.initialize(frame) cell_initializer = Aux.sheet.default_cell_initializer('LEFT'), cell_setter = function(cell, datum) cell.text:SetText(datum.owner) + alpha_setter(cell, datum) end, }, { @@ -312,6 +319,7 @@ function Aux.sheet.initialize(frame) cell_initializer = Aux.sheet.default_cell_initializer('RIGHT'), cell_setter = function(cell, datum) cell.text:SetText(Aux.util.money_string(datum.bid)) + alpha_setter(cell, datum) end, }, { @@ -320,6 +328,7 @@ function Aux.sheet.initialize(frame) cell_initializer = Aux.sheet.default_cell_initializer('RIGHT'), cell_setter = function(cell, datum) cell.text:SetText(Aux.util.money_string(datum.bid_per_unit)) + alpha_setter(cell, datum) end, }, { @@ -328,6 +337,7 @@ function Aux.sheet.initialize(frame) cell_initializer = Aux.sheet.default_cell_initializer('RIGHT'), cell_setter = function(cell, datum) cell.text:SetText(Aux.util.money_string(datum.buyout_price)) + alpha_setter(cell, datum) end, }, { @@ -336,6 +346,7 @@ function Aux.sheet.initialize(frame) cell_initializer = Aux.sheet.default_cell_initializer('RIGHT'), cell_setter = function(cell, datum) cell.text:SetText(Aux.util.money_string(datum.buyout_price_per_unit)) + alpha_setter(cell, datum) end, }, { @@ -344,6 +355,7 @@ function Aux.sheet.initialize(frame) cell_initializer = Aux.sheet.default_cell_initializer('RIGHT'), cell_setter = function(cell, datum) cell.text:SetText(datum.stack_size) + alpha_setter(cell, datum) end, }, { @@ -362,6 +374,7 @@ function Aux.sheet.initialize(frame) text = '24h' end cell.text:SetText(text) + alpha_setter(cell, datum) end, }, } diff --git a/scan.lua b/scan.lua index 093c74f..4cb145e 100644 --- a/scan.lua +++ b/scan.lua @@ -52,6 +52,19 @@ function wait_for_results(k) return controller().wait(function() return ok end, k) end +function wait_for_complete_results(k) + return controller().wait(function() + local count, _ = GetNumAuctionItems("list") + for i=1,count do + local auction_item_info = Aux.info.auction_item(i) + if not auction_item_info.owner then + return false + end + end + return true + end, k) +end + function wait_for_callback(f, args, k) local ok @@ -110,10 +123,10 @@ function submit_query(k) wait_for_callback(state.job.on_start_page, {state.page, state.total_pages}, function() controller().wait(CanSendAuctionQuery, function() wait_for_results(function() - if state.job.on_page_update then - state.job.on_page_update(state.page) - end - k() + if state.job.on_page_update then + state.job.on_page_update(state.page) + end + wait_for_complete_results(k) end) QueryAuctionItems( state.job.query.name,