Skip to content

Commit fd7caef

Browse files
committed
fix: event handler when adding an event to the front during event execution
1 parent 5e59d11 commit fd7caef

File tree

2 files changed

+62
-1
lines changed

2 files changed

+62
-1
lines changed

lovely/event.toml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
[manifest]
2+
version = "1.0.0"
3+
dump_lua = true
4+
priority = -10
5+
6+
# These 4 patches fix a bug when appending events to the queue while it's processing an event
7+
# Initalize a count in the class
8+
# EventManager:init()
9+
[[patches]]
10+
[patches.pattern]
11+
target = 'event.lua'
12+
pattern = '''
13+
self.queue_last_processed = G.TIMERS.REAL
14+
'''
15+
position = 'after'
16+
payload = '''
17+
self.append_count = 0
18+
'''
19+
match_indent = true
20+
21+
# Reset the count for use
22+
# EventManager:update(dt, forced)
23+
[[patches]]
24+
[patches.pattern]
25+
target = 'engine/event.lua'
26+
pattern = '''
27+
if (not blocked or not v[i].blockable) then v[i]:handle(results) end
28+
'''
29+
position = 'before'
30+
payload = '''
31+
self.append_count = 0
32+
'''
33+
match_indent = true
34+
35+
# Increment i to fix our place in the queue
36+
# EventManager:update(dt, forced)
37+
[[patches]]
38+
[patches.pattern]
39+
target = 'engine/event.lua'
40+
pattern = '''
41+
if (not blocked or not v[i].blockable) then v[i]:handle(results) end
42+
'''
43+
position = 'after'
44+
payload = '''
45+
i = i + self.append_count
46+
'''
47+
match_indent = true
48+
49+
# Increment the count when an event is added to the front
50+
# EventManager:add_event(event, queue, front)
51+
[[patches]]
52+
[patches.pattern]
53+
target = 'engine/event.lua'
54+
pattern = '''
55+
if front then
56+
'''
57+
position = 'after'
58+
payload = '''
59+
self.append_count = self.append_count + 1
60+
'''
61+
match_indent = true

version.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
return "1.0.0~BETA-1218b-STEAMODDED"
1+
return "1.0.0~BETA-1218c-STEAMODDED"

0 commit comments

Comments
 (0)