scaleform.Actor.perform_hit_test() throws Lua error

scaleform.Actor.perform_hit_test() throws Lua error

Anonymous
Not applicable
589 Views
2 Replies
Message 1 of 3

scaleform.Actor.perform_hit_test() throws Lua error

Anonymous
Not applicable

http://help.autodesk.com/cloudhelp/ENU/ScaleformStudio-Help/lua_ref/obj_scaleform_Actor.html#sig_sca...

 

 

local hit = scaleform.Actor.perform_hit_test(this_actor, {x=some_x, y=some_y}, false)

 

 

 

 

Test Engine / Lua: attempt to index a boolean value

Current index offset is: 1


Lua Callstack
----------------------------------------

    [1] [C]: in function perform_hit_test
    [2] s2d_projects/title_test.s2d/scrolling_list.lua:177: in function tick
    [3] s2d_projects/title_test.s2d/main.lua:20: in function tick
    [4] script/lua/main_menu.lua:150: in function tick
    [5] script/lua/project.lua:215: in function update
    [6] core/appkit/lua/simple_project.lua:205:in function 

Lua Locals
----------------------------------------

    [2] dt = 0.20000000298023224, up_id = 11, down_id = 10, up = false, down = false, amt = 20, val = 0, mouse_local = table: 000000000EEF30F8, new_h_item = nil
    [3] dt = 0.20000000298023224, list_script = [scaleform.ScriptComponent], results = table: 00000000108173C0
    [4] menu = table: 000000000F875A78, dt = 0.20000000298023224
    [5] dt = 0.20000000298023224, add_text = [function]
    [6] dt = 0.20000000298023224, extension_project = table: 000000000F65D670

And then after stopping play in the test engine:

 

 

Test Engine: Memory leak in system `S2D`. 18 allocations totalling 73848 bytes leaked.
Have you forgotten to release something?

Assertion failed `_size == 0 && _allocations == 0` at `D:\BuildAgent\work\7b0d54d978e6ce3c\git\foundation\foundation\memory\trace_allocator.cpp:91`

Build identifier: `d1d59dffa4cdd996ba159cc136143a9b16ee0eb8`

Product version: `Release (1.0.113.0)`

Thread name: `main`

Callstack
----------------------------------------

    0x405b57bd d:\buildagent\work\7b0d54d978e6ce3c\git\foundation\foundation\error\error.cpp(394): stingray::report_assert_failure
    0x405b8db1 d:\buildagent\work\7b0d54d978e6ce3c\git\foundation\foundation\memory\trace_allocator.cpp(96): stingray::TraceAllocator::~TraceAllocator
    0x405b8de4 stingray::TraceAllocator::`scalar deleting destructor'
    0x401cddd0 d:\buildagent\work\7b0d54d978e6ce3c\git\application\application\plugin\plugin_interface.cpp(465): plugin_interface_internal::api_destroy_plugin_allocator
    0x0476451d get_plugin_api
    0x0475565a get_plugin_api
    0x40048dd3 d:\buildagent\work\7b0d54d978e6ce3c\git\application\application\plugin\plugin_manager.cpp(358): stingray::plugin_manager::shutdown_game
    0x40687637 d:\buildagent\work\7b0d54d978e6ce3c\git\game\game\game.cpp(128): `anonymous namespace'::MyGame::~MyGame
    0x406885d4 `anonymous namespace'::MyGame::`scalar deleting destructor'
    0x400355ad d:\buildagent\work\7b0d54d978e6ce3c\git\application\application\application.cpp(2276): stingray::Application::reboot
    0x4002e952 d:\buildagent\work\7b0d54d978e6ce3c\git\application\application\application.cpp(1421): stingray::Application::command
    0x405d2c2b d:\buildagent\work\7b0d54d978e6ce3c\git\foundation\foundation\network\console_server.cpp(423): stingray::ConsoleServer::process_input
    0x405d2cfd d:\buildagent\work\7b0d54d978e6ce3c\git\foundation\foundation\network\console_server.cpp(379): stingray::ConsoleServer::process_input
    0x4003fa3b d:\buildagent\work\7b0d54d978e6ce3c\git\application\application\application.cpp(2531): stingray::Application::update
    0x40038298 d:\buildagent\work\7b0d54d978e6ce3c\git\application\application\application.cpp(2456): stingray::Application::run
    0x4000213a d:\buildagent\work\7b0d54d978e6ce3c\git\application_windows\main.cpp(139): run
    0x40002209 d:\buildagent\work\7b0d54d978e6ce3c\git\application_windows\main.cpp(163): safe_run
    0x40002422 d:\buildagent\work\7b0d54d978e6ce3c\git\application_windows\main.cpp(191): WinMain
    0x40aebf7c f:\dd\vctools\crt_bld\self_64_amd64\crt\src\crt0.c(238): __tmainCRTStartup
    0x2fa313d2 BaseThreadInitThunk

System Information
----------------------------------------

    --- CPU
    CPU:        Intel(R) Core(TM) i7-3930K CPU @ 3.20GHz
    Vendor: GenuineIntel
    Logical processors: 12
    Family: 0:6, Model: 2:13
    Type: 0, Stepping: 7
    Features: SSE SSE2 SSE3 SSSE3 SSE4.1 SSE4.2
    Feature bits:
    EBX: 00001000 00100000 00001000 00000000 
    ECX: 00011111 10111110 11100011 10111111 
    EDX: 10111111 11101011 11111011 11111111 
    --- OS
    Windows version 6.2 build 9200
    Windows 8
    --- Graphics
    Graphics card: NVIDIA GeForce GTX 970 (DirectX 11.0)
    Graphics card: NVIDIA GeForce GTX 760 (DirectX 11.0)
    Graphics card: Microsoft Basic Render Driver (DirectX 11.0)
    --- Sound
    No sound card detected.
    --- Network
    Network interface: Broadcom NetLink (TM) Gigabit Ethernet #2 (IPv4, IPv6)
    Network interface: Broadcom NetLink (TM) Gigabit Ethernet (IPv4, IPv6)
    Network interface: Microsoft ISATAP Adapter (IPv6)
    Network interface: Teredo Tunneling Pseudo-Interface (IPv6)
    --- Input
    Input device: Mouse (18.1): Mouse
    Input device: Keyboard (19.4): Keyboard
    Input device: Generic (17.0): Razer DeathAdder Chroma
    Input device: 1st person (24.1): SpaceNavigator
    Input device: Gamepad (21.2): Controller (XBOX 360 For Windows)
    Input device: Generic (17.0): USB Audio CODEC 

But I think it shouldn't throw this leak assertion either way.

Reply
Reply
0 Likes
Accepted solutions (1)
590 Views
2 Replies
Replies (2)
Message 2 of 3

Anonymous
Not applicable

Sorry, somehow one of my sentences got lost when I was posting the previous message. The end should read,

I might be calling this function incorrectly. But I think it shouldn't throw this leak assertion either way, since that looks like a bug further down in Stingray.

Reply
Reply
0 Likes
Message 3 of 3

colin.branch
Alumni
Alumni
Accepted solution

Unfortuantely there is a a bug with that version of the perform_hit_test function.

 

The version which defines a rectangle using 4 points should work. 

perform_hit_test( self: Actor, point1: Point, point2: Point, point3: Point, point4: Point, checkShape: bool) : bool

You could create a rectangle which is 1 unit wide which would closely approximate the behavior.

 

This function will be fixed in v1.1

Reply
Reply