The Dink Network

Dink HD 1.7.4 Beta Report - Initiation

Cast Awakening Part 1: Initiation

September 16th 2017, 10:44 AM
custom_king.png
redink1
King He/Him United States bloop
A mother ducking wizard 
1) It looks like the pure black pixels on the title screen (and, more noticeably, on the screen that appears when clicking 'Start') are white:

Dink HD:



v1.08:

September 17th 2017, 01:05 PM
custom_king.png
redink1
King He/Him United States bloop
A mother ducking wizard 
1) Fixed!

2) Experienced a crash in 1.7.3. This happened shortly after switching to full-screen mode, and I think I may have been casting a spell or punching something around the time it happened:

Here is an excerpt from log.txt:

Killing script Seten-pill, owner sprite 6 is dead.
Loading map 204...
Drawing hard map..
Procedure sp_touch_damage does not take 1 parms in p-fart, offset 152. ();
?)
Player now owns this item.
Preloading ice
Loading map 205...
Loading map 212...
Loading map 220...
DINK CRASHED! STACK TRACE BELOW
---------------------------------------------------------
ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00D7DC50)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00D7DC50)

00D7DC50 (dink): (filename not available): (function-name not available)

ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00D915A0)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00D915A0)

00D915A0 (dink): (filename not available): (function-name not available)

ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00D979A1)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00D979A1)

00D979A1 (dink): (filename not available): (function-name not available)

ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00D8A6BF)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00D8A6BF)

00D8A6BF (dink): (filename not available): (function-name not available)

ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00D9497A)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00D9497A)

00D9497A (dink): (filename not available): (function-name not available)

ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00D86885)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00D86885)

00D86885 (dink): (filename not available): (function-name not available)

ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00D7B1BB)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00D7B1BB)

00D7B1BB (dink): (filename not available): (function-name not available)

ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00D96F71)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00D96F71)

00D96F71 (dink): (filename not available): (function-name not available)

ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00DAF9F0)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00DAF9F0)

00DAF9F0 (dink): (filename not available): (function-name not available)

ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00D0365C)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00D0365C)

00D0365C (dink): (filename not available): (function-name not available)

ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00DA9426)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00DA9426)

00DA9426 (dink): (filename not available): (function-name not available)

ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00D4FE4D)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00D4FE4D)

00D4FE4D (dink): (filename not available): (function-name not available)

ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00D14E9E)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00D14E9E)

00D14E9E (dink): (filename not available): (function-name not available)

ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00D2022C)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00D2022C)

00D2022C (dink): (filename not available): (function-name not available)

ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00D2D5F3)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00D2D5F3)

00D2D5F3 (dink): (filename not available): (function-name not available)

ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00D0365C)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00D0365C)

00D0365C (dink): (filename not available): (function-name not available)

ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00DA9426)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00DA9426)

00DA9426 (dink): (filename not available): (function-name not available)

ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00D06024)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00D06024)

00D06024 (dink): (filename not available): (function-name not available)

ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00D6B5C5)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00D6B5C5)

00D6B5C5 (dink): (filename not available): (function-name not available)

ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00DC7A48)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00DC7A48)

00DC7A48 (dink): (filename not available): (function-name not available)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 74D38744)

74D38744 (KERNEL32): (filename not available): BaseThreadInitThunk

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 7756582D)

7756582D (ntdll): (filename not available): RtlGetAppContainerNamedObjectPath

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 775657FD)

775657FD (ntdll): (filename not available): RtlGetAppContainerNamedObjectPath

---------------------------------------------------------
September 17th 2017, 01:14 PM
custom_king.png
redink1
King He/Him United States bloop
A mother ducking wizard 
I think I can reproduce the problem: load this continue state, and hold the shift key.

http://www.redrecondite.com/dinkhd/DinkHD1.7.3_initiationcrash.zip

September 17th 2017, 02:56 PM
death.gif
RangerLord
Peasant He/Him Hungary bloop
The nation above all 
Hi Dan!
So, there is a thing with Lost in Dink with Dink HD. Dinkcraft menu has a graphical glitch in the menu and in the movement of troll. Similar to the menu glitch is also in the ending of Coconut Monkeys. You might be better to figure out the cause of the problem.
Also, I discovered an exploit in Dink Smallwood Goes Trick-Or-Treating while testing. You can actually get candy at one house, go to another screen, then get back the inhabitants will give you candy again with the same costume.
September 17th 2017, 07:36 PM
seth.gif
Seth
Peasant He/Him Japan
 
Thanks, that save state was very helpful. Yeah, the crash happens when the magic hits the rock, the rock tries to ask the missile sprite what its script is, but the script doesn't exist, but the sprite doesn't know that and tries to access a null pointer.

I fixed it so it won't crash. (will be in 1.74) From the save state I saved at the "strange machine", carried that save to Dink 1.08 and verified it also did crash with that, so the memory access error was also in the original.

I also found the underlying engine bug that causes it in the first place but I'm afraid to fix it so leaving it commented out for now.

/*
//NOTE: This would fix a bug where a script doesn't properly remove itself from an owner sprite but.. could cause behavior differences so not enabling it for now
if (g_scriptInstance[k]->sprite > 0 && g_scriptInstance[k]->sprite < C_MAX_SPRITES_AT_ONCE)
{
if (g_sprite[g_scriptInstance[k]->sprite].active && g_sprite[g_scriptInstance[k]->sprite].script == k)
{
//um.. guess we should tell the sprite it no longer has an associated script, right?!
g_sprite[g_scriptInstance[k]->sprite].script = 0;
}

}
*/
September 17th 2017, 07:39 PM
seth.gif
Seth
Peasant He/Him Japan
 
Huh, on a side note, I wonder why you aren't getting proper stack information written to the log.txt after the crash. I had a crash with the retail build and it DID properly write function names in the info. I'm using Win 10. Dan, what version of Windows are you running?
September 17th 2017, 08:20 PM
custom_king.png
redink1
King He/Him United States bloop
A mother ducking wizard 
That's weird; I'm running Windows 10 Pro, Version 1703, OS Build 15063.540
September 18th 2017, 11:21 PM
custom_king.png
redink1
King He/Him United States bloop
A mother ducking wizard 
Found a crash in 1.7.4. Does not seem to crash in 1.08 / freedink. I also saw this in 1.7.3, but I wasn't sure if it was a duplicate of the other crash I reported.

Here's the log (no useful stack trace that I can tell, again):

Loading C:\Users\Dan\AppData\Local\DinkSmallwoodHD\
Playing music 202.mid
Loading map 104...
Procedure external does not take 3 parms in death, offset 952. ();
?)
Processing playmidi command.
Loading C:\Users\Dan\AppData\Local\DinkSmallwoodHD\
Playing music 406.mid
Procedure external does not take 2 parms in death, offset 1458. ();
?)
Procedure external does not take 3 parms in death, offset 11275. ();
?)
Processing playmidi command.
Playing music 202.mid
Loading map 105...
Procedure rand does not take 2 parms in torch, offset 305. ();
?)
ERROR: Procedure void E(&MYX, &MYY, 6, 502, 1);
( void ); not found in script . (word 2 was torch)
DINK CRASHED! STACK TRACE BELOW
---------------------------------------------------------
ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00ACE769)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00ACE769)

00ACE769 (dink): (filename not available): (function-name not available)

ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00ACE73D)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00ACE73D)

00ACE73D (dink): (filename not available): (function-name not available)

ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00AD0D2A)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00AD0D2A)

00AD0D2A (dink): (filename not available): (function-name not available)

ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00ACC16B)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00ACC16B)

00ACC16B (dink): (filename not available): (function-name not available)

ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00AE7BE1)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00AE7BE1)

00AE7BE1 (dink): (filename not available): (function-name not available)

ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00B00110)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00B00110)

00B00110 (dink): (filename not available): (function-name not available)

ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00A5358C)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00A5358C)

00A5358C (dink): (filename not available): (function-name not available)

ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00A55E66)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00A55E66)

00A55E66 (dink): (filename not available): (function-name not available)

ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00AA074D)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00AA074D)

00AA074D (dink): (filename not available): (function-name not available)

ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00A64ACE)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00A64ACE)

00A64ACE (dink): (filename not available): (function-name not available)

ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00A6FFFC)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00A6FFFC)

00A6FFFC (dink): (filename not available): (function-name not available)

ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00A79973)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00A79973)

00A79973 (dink): (filename not available): (function-name not available)

ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00A5358C)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00A5358C)

00A5358C (dink): (filename not available): (function-name not available)

ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00A55E66)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00A55E66)

00A55E66 (dink): (filename not available): (function-name not available)

ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00A56184)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00A56184)

00A56184 (dink): (filename not available): (function-name not available)

ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00ABBCF5)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00ABBCF5)

00ABBCF5 (dink): (filename not available): (function-name not available)

ERROR: SymGetSymFromAddr64, GetLastError: 487 (Address: 00B18178)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00B18178)

00B18178 (dink): (filename not available): (function-name not available)

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 74D38744)

74D38744 (KERNEL32): (filename not available): BaseThreadInitThunk

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 7756582D)

7756582D (ntdll): (filename not available): RtlGetAppContainerNamedObjectPath

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 775657FD)

775657FD (ntdll): (filename not available): RtlGetAppContainerNamedObjectPath

---------------------------------------------------------

It's weird in that I can reproduce it around 50% of the time, but I can't reproduce it with a closer continue_state.dat.

Here's my save9.dat:

initiation-hall-crash.zip

And here's a recording of where the issue is triggered:

September 18th 2017, 11:32 PM
custom_king.png
redink1
King He/Him United States bloop
A mother ducking wizard 
Ooh, I happened to have the debugger attached, and it worked from a continue state, here's a call stack for ya:

EDIT: Actually, I think this was an unrelated assertion, sorry.
dink_debug.exe!common_assert_to_message_box(const wchar_t * const expression=0x00e4f668, const wchar_t * const file_name=0x00e4e700, const unsigned int line_number=0x00000fb1, void * const return_address=0x00c7d240) Line 351 C++ Symbols loaded.
dink_debug.exe!common_assert(const wchar_t * const expression=0x00e4f668, const wchar_t * const file_name=0x00e4e700, const unsigned int line_number=0x00000fb1, void * const return_address=0x00c7d240) Line 386 C++ Symbols loaded.
dink_debug.exe!_wassert(const wchar_t * expression=0x00e4f668, const wchar_t * file_name=0x00e4e700, unsigned int line_number=0x00000fb1) Line 404 C++ Symbols loaded.
dink_debug.exe!check_pic_status(int picID=0x00003174) Line 4017 C++ Symbols loaded.
dink_debug.exe!draw_sprite_game(IDirectDrawSurface * lpdest=0x0a697f00, int h=0x00000026) Line 5037 C++ Symbols loaded.
dink_debug.exe!ThinkSprite(int h=0x00000026, bool get_frame=false) Line 15570 C++ Symbols loaded.
dink_debug.exe!updateFrame() Line 15957 C++ Symbols loaded.
dink_debug.exe!OnGameMenuRender(VariantList * pVList=0x005cf1a0) Line 981 C++ Symbols loaded.
dink_debug.exe!boost: etail::function::void_function_invoker1::invoke(boost: etail::function::function_buffer & function_ptr={...}, VariantList * a0=0x005cf1a0) Line 118 C++ Symbols loaded.
dink_debug.exe!boost::function1: perator()(VariantList * a0=0x005cf1a0) Line 759 C++ Symbols loaded.
dink_debug.exe!boost: ignals: etail::call_bound1::caller >: perator() ignals: etail::connection_slot_pair>(const boost: ignals: etail::connection_slot_pair & slot={...}) Line 119 C++ Symbols loaded.
dink_debug.exe!boost: ignals: etail: lot_call_iterator ignals: etail::call_bound1::caller >,boost: ignals: etail::named_slot_map_iterator>: ereference() Line 61 C++ Symbols loaded.
dink_debug.exe!boost::iterators::iterator_core_access: ereference ignals: etail: lot_call_iterator ignals: etail::call_bound1::caller >,boost: ignals: etail::named_slot_map_iterator> >(const boost: ignals: etail: lot_call_iterator ignals: etail::call_bound1::caller >,boost: ignals: etail::named_slot_map_iterator> & f={...}) Line 550 C++ Symbols loaded.
dink_debug.exe!boost::iterators: etail::iterator_facade_base ignals: etail: lot_call_iterator ignals: etail::call_bound1::caller >,boost: ignals: etail::named_slot_map_iterator>,boost: ignals: etail::unusable,boost::iterators: ingle_pass_traversal_tag,boost: ignals: etail::unusable const &,int,0,0>: perator*() Line 655 C++ Symbols loaded.
dink_debug.exe!boost::iterators: etail: ostfix_increment_proxy ignals: etail: lot_call_iterator ignals: etail::call_bound1::caller >,boost: ignals: etail::named_slot_map_iterator> >: ostfix_increment_proxy ignals: etail: lot_call_iterator ignals: etail::call_bound1::caller >,boost: ignals: etail::named_slot_map_iterator> >(const boost: ignals: etail: lot_call_iterator ignals: etail::call_bound1::caller >,boost: ignals: etail::named_slot_map_iterator> & x={...}) Line 159 C++ Symbols loaded.
dink_debug.exe!boost::iterators: perator++ ignals: etail: lot_call_iterator ignals: etail::call_bound1::caller >,boost: ignals: etail::named_slot_map_iterator>,boost: ignals: etail::unusable,boost::iterators: ingle_pass_traversal_tag,boost: ignals: etail::unusable const &,int>(boost::iterators::iterator_facade ignals: etail: lot_call_iterator ignals: etail::call_bound1::caller >,boost: ignals: etail::named_slot_map_iterator>,boost: ignals: etail::unusable,boost::iterators: ingle_pass_traversal_tag,boost: ignals: etail::unusable const &,int> & i={...}, int __formal=0x00000000) Line 798 C++ Symbols loaded.
dink_debug.exe!boost::last_value: perator() ignals: etail: lot_call_iterator ignals: etail::call_bound1::caller >,boost: ignals: etail::named_slot_map_iterator> >(boost: ignals: etail: lot_call_iterator ignals: etail::call_bound1::caller >,boost: ignals: etail::named_slot_map_iterator> first={...}, boost: ignals: etail: lot_call_iterator ignals: etail::call_bound1::caller >,boost: ignals: etail::named_slot_map_iterator> last={...}) Line 49 C++ Symbols loaded.
dink_debug.exe!boost: ignal1,int,std::less,boost::function >: perator()(VariantList * a1=0x005cf1a0) Line 342 C++ Symbols loaded.
dink_debug.exe!VariantDB::CallFunctionIfExists(const std::basic_string,std::allocator > & keyName={...}, VariantList * pVList=0x005cf1a0) Line 142 C++ Symbols loaded.
dink_debug.exe!Entity::CallFunctionRecursivelyWithUpdatedVar(const std::basic_string,std::allocator > funcName={...}, VariantList * pVList=0x005cf1a0, const std::basic_string,std::allocator > & varName={...}, int varIndex=0x00000000, Entity::eRecursiveVarOp op=RECURSIVE_VAR_OP_ADDITION_PLUS_ALIGNMENT_OFFSET, std::vector > * pEntList=0x00000000) Line 291 C++ Symbols loaded.
dink_debug.exe!FocusRenderComponent: nRender(VariantList * pVList=0x005cf1a0) Line 31 C++ Symbols loaded.
dink_debug.exe!boost::_mfi::mf1: perator()(FocusRenderComponent * p=0x0a5eef28, VariantList * a1=0x005cf1a0) Line 165 C++ Symbols loaded.
dink_debug.exe!boost::_bi::list2,boost::arg<1> >: perator(),boost::_bi::rrlist1 >(boost::_bi::type __formal={...}, boost::_mfi::mf1 & f={...}, boost::_bi::rrlist1 & a={...}, int __formal=0x00000000) Line 320 C++ Symbols loaded.
dink_debug.exe!boost::_bi::bind_t,boost::_bi::list2,boost::arg<1> > >: perator()(VariantList * && a1=0x005cf1a0) Line 1307 C++ Symbols loaded.
dink_debug.exe!boost: etail::function::void_function_obj_invoker1,boost::_bi::list2,boost::arg<1> > >,void,VariantList *>::invoke(boost: etail::function::function_buffer & function_obj_ptr={...}, VariantList * a0=0x005cf1a0) Line 160 C++ Symbols loaded.
dink_debug.exe!boost::function1: perator()(VariantList * a0=0x005cf1a0) Line 759 C++ Symbols loaded.
dink_debug.exe!boost: ignals: etail::call_bound1::caller >: perator() ignals: etail::connection_slot_pair>(const boost: ignals: etail::connection_slot_pair & slot={...}) Line 119 C++ Symbols loaded.
dink_debug.exe!boost: ignals: etail: lot_call_iterator ignals: etail::call_bound1::caller >,boost: ignals: etail::named_slot_map_iterator>: ereference() Line 61 C++ Symbols loaded.
dink_debug.exe!boost::iterators::iterator_core_access: ereference ignals: etail: lot_call_iterator ignals: etail::call_bound1::caller >,boost: ignals: etail::named_slot_map_iterator> >(const boost: ignals: etail: lot_call_iterator ignals: etail::call_bound1::caller >,boost: ignals: etail::named_slot_map_iterator> & f={...}) Line 550 C++ Symbols loaded.
dink_debug.exe!boost::iterators: etail::iterator_facade_base ignals: etail: lot_call_iterator ignals: etail::call_bound1::caller >,boost: ignals: etail::named_slot_map_iterator>,boost: ignals: etail::unusable,boost::iterators: ingle_pass_traversal_tag,boost: ignals: etail::unusable const &,int,0,0>: perator*() Line 655 C++ Symbols loaded.
dink_debug.exe!boost::iterators: etail: ostfix_increment_proxy ignals: etail: lot_call_iterator ignals: etail::call_bound1::caller >,boost: ignals: etail::named_slot_map_iterator> >: ostfix_increment_proxy ignals: etail: lot_call_iterator ignals: etail::call_bound1::caller >,boost: ignals: etail::named_slot_map_iterator> >(const boost: ignals: etail: lot_call_iterator ignals: etail::call_bound1::caller >,boost: ignals: etail::named_slot_map_iterator> & x={...}) Line 159 C++ Symbols loaded.
dink_debug.exe!boost::iterators: perator++ ignals: etail: lot_call_iterator ignals: etail::call_bound1::caller >,boost: ignals: etail::named_slot_map_iterator>,boost: ignals: etail::unusable,boost::iterators: ingle_pass_traversal_tag,boost: ignals: etail::unusable const &,int>(boost::iterators::iterator_facade ignals: etail: lot_call_iterator ignals: etail::call_bound1::caller >,boost: ignals: etail::named_slot_map_iterator>,boost: ignals: etail::unusable,boost::iterators: ingle_pass_traversal_tag,boost: ignals: etail::unusable const &,int> & i={...}, int __formal=0x00000000) Line 798 C++ Symbols loaded.
dink_debug.exe!boost::last_value: perator() ignals: etail: lot_call_iterator ignals: etail::call_bound1::caller >,boost: ignals: etail::named_slot_map_iterator> >(boost: ignals: etail: lot_call_iterator ignals: etail::call_bound1::caller >,boost: ignals: etail::named_slot_map_iterator> first={...}, boost: ignals: etail: lot_call_iterator ignals: etail::call_bound1::caller >,boost: ignals: etail::named_slot_map_iterator> last={...}) Line 49 C++ Symbols loaded.
dink_debug.exe!boost: ignal1,int,std::less,boost::function >: perator()(VariantList * a1=0x005cf1a0) Line 342 C++ Symbols loaded.
dink_debug.exe!BaseApp: raw() Line 142 C++ Symbols loaded.
dink_debug.exe!App: raw() Line 719 C++ Symbols loaded.
dink_debug.exe!WinMain(HINSTANCE__ * hInstance=0x009e0000, HINSTANCE__ * hPrevInstance=0x00000000, char * lpCmdLine=0x0159520c, int nCmdShow=0x0000000a) Line 1795 C++ Symbols loaded.
[External Code] Annotated Frame
[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll] Annotated Frame
September 19th 2017, 12:34 AM
peasantmp.gif
Skurn
Peasant He/Him Equatorial Guinea duck bloop
can't flim flam the glim glam 
that's a beautiful post. keep it this way.
September 19th 2017, 12:58 AM
seth.gif
Seth
Peasant He/Him Japan
 
Thanks - using your save I figured it out.

torch.c has:

&myy = rand(1,5);

Because that's incorrect (should be random, not rand) &myy is left with a random (ha, ironic) number, depending on what's in the memory there.

If this var was -1 or more than 50, it would crash when using sp_frame(&fire, &myy) as later it tries to access that frame.

I've fixed it so sp_frame will set to 1 if an invalid # is sent to it, it also logs a clear error.

Also, I fixed other places so even if frame was set to 28738273 it will assert in debug mode but not crash in release.

(this tweak will be in 2.75)