UndertaleModTool
UndertaleModTool copied to clipboard
Overflow in decompiler
The decompiler throws an exception about a value being "either too large or too small for an Int32" when decompiling the obj_draw_Draw_0 entry of my test project.
The project is compiled with IDE 2022.3.0.624, and runtime 2022.3.0.496. Here's my test project, which has this issue.
ASM for reference:
.localvar 2 arguments
.localvar 10 BaseX 8
.localvar 11 HPBarLength 9
.localvar 12 Color 10
.localvar 13 BaseY 11
.localvar 14 HPBarHeight 12
.localvar 16 yLine 13
.localvar 18 AddPixels 14
.localvar 23 font 15
.localvar 26 String 16
.localvar 28 Width 17
.localvar 30 Height 18
:[0]
b [3]
> gml_Script_GetCenter_gml_Object_obj_draw_Draw_0 (locals=0, argc=3)
:[1]
push.v arg.argument0
push.v arg.argument1
pushi.e 2
conv.i.d
div.d.v
add.v.v
push.v arg.argument2
pushi.e 2
conv.i.d
div.d.v
sub.v.v
ret.v
:[2]
exit.i
:[3]
push.i gml_Script_GetCenter_gml_Object_obj_draw_Draw_0
conv.i.v
pushi.e -1
conv.i.v
call.i method(argc=2)
dup.v 0
pushi.e -6
pop.v.v [stacktop]self.GetCenter
popz.v
pushi.e 200
pop.v.i local.BaseX
pushi.e 150
pop.v.i local.HPBarLength
push.l 4280473494
pop.v.l local.Color
pushi.e 200
pop.v.i local.BaseY
pushi.e 20
pop.v.i local.HPBarHeight
pushloc.v local.Color
call.i draw_set_color(argc=1)
popz.v
pushloc.v local.BaseY
pop.v.v local.yLine
:[4]
pushloc.v local.yLine
pushloc.v local.BaseY
pushloc.v local.HPBarHeight
add.v.v
cmp.v.v LTE
bf [6]
:[5]
pushloc.v local.yLine
pushloc.v local.BaseY
pushloc.v local.BaseY
pushloc.v local.HPBarHeight
add.v.v
add.v.v
pushi.e 2
conv.i.d
div.d.v
sub.v.v
call.i abs(argc=1)
pop.v.v local.AddPixels
pushloc.v local.yLine
pushloc.v local.BaseX
pushloc.v local.HPBarLength
add.v.v
pushloc.v local.AddPixels
sub.v.v
pushloc.v local.yLine
pushloc.v local.BaseX
pushloc.v local.AddPixels
add.v.v
call.i draw_line(argc=4)
popz.v
push.v local.yLine
push.e 1
add.i.v
pop.v.v local.yLine
b [4]
:[6]
pushi.e 128
conv.i.v
pushi.e 32
conv.i.v
pushi.e 0
conv.b.v
pushi.e 0
conv.b.v
pushi.e 16
conv.i.v
push.s "cambria.ttc"@20
conv.s.v
call.i string_lower(argc=1)
call.i font_add(argc=6)
pop.v.v local.font
pushloc.v local.font
call.i draw_set_font(argc=1)
popz.v
push.i 16777215
conv.i.v
call.i draw_set_color(argc=1)
popz.v
push.s "motto"@25
pop.v.s local.String
pushloc.v local.String
call.i string_width(argc=1)
pop.v.v local.Width
pushloc.v local.String
call.i string_height(argc=1)
pop.v.v local.Height
pushloc.v local.String
pushloc.v local.Height
pushloc.v local.HPBarHeight
pushloc.v local.BaseY
call.i gml_Script_GetCenter_gml_Object_obj_draw_Draw_0(argc=3)
call.i ceil(argc=1)
pushloc.v local.Width
pushloc.v local.HPBarLength
pushloc.v local.BaseX
call.i gml_Script_GetCenter_gml_Object_obj_draw_Draw_0(argc=3)
call.i ceil(argc=1)
call.i draw_text(argc=3)
popz.v
:[end]