Skip to content

Commit 97e42c2

Browse files
authored
Make tag edition code not entirely override the tag sprite's draw function (#803)
1 parent 067a14a commit 97e42c2

File tree

1 file changed

+12
-41
lines changed

1 file changed

+12
-41
lines changed

lovely/cat.toml

Lines changed: 12 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -130,56 +130,27 @@ end
130130
'''
131131
match_indent = true
132132

133-
# tag_sprite draw
134133
[[patches]]
135134
[patches.pattern]
136-
target = "tag.lua"
137-
pattern = '''tag_sprite.stop_hover = function(_self) _self.hovering = false; Node.stop_hover(_self); _self.hover_tilt = 0 end'''
138-
position = "after"
135+
target = 'engine/sprite.lua'
136+
pattern = '''for k, v in pairs(self.children) do'''
137+
position = 'before'
138+
match_indent = true
139139
payload = '''
140-
tag_sprite.draw = function(_self)
141-
if not _self.states.visible then return end
142-
143-
_self.tilt_var = self.tilt_var or {mx = 0, my = 0, dx = _self.tilt_var.dx or 0, dy = _self.tilt_var.dy or 0, amt = 0}
144-
_self.tilt_var.mx, _self.tilt_var.my = G.CONTROLLER.cursor_position.x, G.CONTROLLER.cursor_position.y
145-
_self.tilt_var.amt = math.abs(_self.hover_offset.y + _self.hover_offset.x - 10)*0.3
146-
147-
_self.ARGS.send_to_shader = _self.ARGS.send_to_shader or {}
148-
_self.ARGS.send_to_shader[1] = math.min(_self.VT.r*3, 1) + G.TIMERS.REAL/(28) + (_self.juice and _self.juice.r*10 or 0) + _self.tilt_var.amt
149-
_self.ARGS.send_to_shader[2] = G.TIMERS.REAL*2
150-
151-
_self.tilt_var = _self.tilt_var or {}
152-
_self.tilt_var.mx, _self.tilt_var.my =G.CONTROLLER.cursor_position.x,G.CONTROLLER.cursor_position.y
153-
154-
_self.role.draw_major = _self
155-
_self:draw_shader('dissolve', 0.1)
156-
local ed = _self.config.tag.ability.edshader
140+
if Cryptid.safe_get(self, "config", "tag", "ability", "edshader") then
141+
local ed = self.config.tag.ability.edshader
142+
self.ARGS.send_to_shader = self.ARGS.send_to_shader or {}
143+
self.ARGS.send_to_shader[1] = math.min(self.VT.r*3, 1) + G.TIMERS.REAL/28 + (self.juice and self.juice.r*10 or 0) + (Cryptid.safe_get(self, "tilt_var", "amt") or 0)
144+
self.ARGS.send_to_shader[2] = G.TIMERS.REAL*2
145+
157146
if ed then
158-
if ed == 'foil' or ed == 'cry_noisy' then
159-
_self:draw_shader('dissolve')
160-
end
161-
_self:draw_shader(ed, nil, _self.ARGS.send_to_shader)
147+
self:draw_shader(ed, nil, self.ARGS.send_to_shader)
162148
if ed == 'negative' or ed == 'cry_oversat' then
163-
_self:draw_shader('negative_shine', nil, _self.ARGS.send_to_shader)
149+
self:draw_shader('negative_shine', nil, self.ARGS.send_to_shader)
164150
end
165-
else
166-
_self:draw_shader('dissolve')
167151
end
168-
add_to_drawhash(_self)
169152
end
170153
'''
171-
match_indent = true
172-
173-
# init tilt_var
174-
[[patches]]
175-
[patches.pattern]
176-
target = "tag.lua"
177-
pattern = '''tag_sprite.T.scale = 1'''
178-
position = "before"
179-
payload = '''
180-
tag_sprite.tilt_var = {mx = 0, my = 0, dx = 0, dy = 0, amt = 0}
181-
'''
182-
match_indent = true
183154

184155
# make the cat tag meow (can probably do this without injecting?)
185156
[[patches]]

0 commit comments

Comments
 (0)