Commit Graph
440 Commits
Author SHA1 Message Date
djsrv 4554b2f3e0 DIRECTOR: LINGO: Stub variants of c_after/c_before 2020-06-18 23:07:54 -04:00
djsrv 459636a71e DIRECTOR: LINGO: Fix c_after and c_before 2020-06-18 22:27:59 -04:00
djsrv 0b864a52c0 DIRECTOR: LINGO: Fall back to handler if no method 2020-06-18 21:49:09 -04:00
djsrv 9d899dd3ba DIRECTOR: LINGO: Implement object properties 2020-06-18 21:49:09 -04:00
djsrv 596ca65eff DIRECTOR: LINGO: Fix LC::call local var creation
Arguments were totally ignored in anonymous functions, which could have
caused future problems.
2020-06-18 16:08:15 -04:00
djsrv 9dbfd35021 DIRECTOR: LINGO: Fix 'me' in kScriptObj handlers 2020-06-18 16:08:15 -04:00
djsrv 4e401e42f5 DIRECTOR: LINGO: Improve method call debugging 2020-06-18 16:08:15 -04:00
djsrv 256f809bc7 DIRECTOR: LINGO: Implement script/xtra method call 2020-06-18 14:28:00 -04:00
djsrv 1a62ddac61 DIRECTOR: LINGO: Remove c_property 2020-06-18 14:28:00 -04:00
Nathanael Gentry 75210d8186 DIRECTOR: Render sprites from channel structs
Among other rendering issues, this fixes the annoying jittery sprites issue when
a sprite is simultaneously animated and moveable.
2020-06-17 09:07:35 -04:00
djsrv f32d7e20eb DIRECTOR: LINGO: Handle null sprites in intersects 2020-06-16 17:16:15 -04:00
djsrv 95d8bc0980 DIRECTOR: LINGO: Implement c_intersects & c_within 2020-06-16 17:00:42 -04:00
djsrv 239b2984df DIRECTOR: LINGO: Remove handler exec from c_eval 2020-06-16 09:19:11 -04:00
Scott Percival a60e68ae65 DIRECTOR: LINGO: Implement cb_objectcall 2020-06-16 01:20:01 +08:00
djsrv 4109fd0bc6 DIRECTOR: LINGO: Switch variables to DatumHash 2020-06-15 09:29:20 -04:00
djsrv 1974e2ec79 DIRECTOR: LINGO: Allow for anonymous functions 2020-06-14 17:09:39 -04:00
djsrv 478bea4ea0 DIRECTOR: LINGO: Wrap _currentMe in Datum
This makes sure it's included in reference counting, like _perFrameHook
2020-06-12 19:18:02 -04:00
djsrv 402a89eacd DIRECTOR: LINGO: Code exit/next repeat as c_jump 2020-06-10 16:01:17 -04:00
djsrv c0c296ea3c DIRECTOR: LINGO: Fix context issues
addCode needs to push a new context.
executeScript and executeHandler should not touch things pushContext
will take care of.
2020-06-10 12:18:29 -04:00
djsrv dd74683f10 DIRECTOR: LINGO: Add XObject type 2020-06-10 12:18:29 -04:00
djsrv 2d9dea678a DIRECTOR: LINGO: Remove unnecessary instructions
Global and instance vars are both just added to the respective vartables
on parse instead of upon execution.
2020-06-06 18:34:06 +02:00
djsrv 7549b819bb DIRECTOR: LINGO: Implement primary event handlers 2020-06-06 18:34:06 +02:00
djsrv ca9e952d41 DIRECTOR: LINGO: Implement Lingo::push/popContext 2020-06-06 18:34:06 +02:00
djsrv 99755d8cf5 DIRECTOR: LINGO: Improve object printing
This differentiates the parent and child objects with a number.
2020-06-06 18:34:06 +02:00
djsrv 5de9a9816e DIRECTOR: LINGO: Lazy evaluate first ID in arglist
This avoids conflicts between variable names and method names.
2020-06-06 18:34:06 +02:00
djsrv 5443cb2b32 DIRECTOR: LINGO: Fix user-defined mNew 2020-06-06 18:34:06 +02:00
djsrv 8274f76dee DIRECTOR: LINGO: Clean up factory code 2020-06-06 18:34:06 +02:00
djsrv ccba7503e0 DIRECTOR: LINGO: Implement me 2020-06-06 18:34:06 +02:00
djsrv 95a70de5c3 DIRECTOR: LINGO: Clean up LC::call 2020-06-06 18:34:06 +02:00
djsrv 041326bdd1 DIRECTOR: LINGO: Implement factory method calls 2020-06-06 18:34:06 +02:00
Eugene Sandulenko 381cdb09d5 DIRECTOR: LINGO: Removed c_tellcode 2020-06-01 14:23:24 +02:00
Scott Percival 7df20b354d DIRECTOR: Add stub for cb_tellcall 2020-06-01 18:21:34 +08:00
Scott Percival ea158a850b DIRECTOR: LINGO: Implement c_whencode 2020-06-01 18:10:16 +08:00
Eugene Sandulenko cd09d117f3 DIRECTOR: LINGO: Changed grammar for 'when', so it is simpler 2020-06-01 11:44:07 +02:00
Eugene Sandulenko 53eec8698d DIRECTOR: LINGO: Moved cb_stackpeek and cb_stackdrop to c_ 2020-05-31 14:38:06 +02:00
Scott Percival 1192597425 DIRECTOR: LINGO: Extend _methodVars to store a type 2020-05-31 18:03:57 +08:00
Scott Percival 69f4acacc8 DIRECTOR: LINGO: Split out varCreate from varAssign 2020-05-31 17:32:58 +08:00
Scott Percival e79e3632d1 DIRECTOR: LINGO: Improve Symbol memory management 2020-05-31 15:09:07 +08:00
Scott Percival 80f83e2565 DIRECTOR: LINGO: Stop execution when the call stack is empty 2020-05-31 15:04:07 +08:00
Eugene Sandulenko e0eba8ba73 DIRECTOR: LINGO: Eliminate recursiveness in c_call 2020-05-30 23:36:19 +02:00
Eugene Sandulenko d9d1c95ce0 DIRECTOR: LINGO: Removed old c_repeatwith code 2020-05-30 23:25:04 +02:00
Eugene Sandulenko 70860a7f96 DIRECTOR: LINGO: Remove c_if and c_repeatwhile 2020-05-29 01:12:45 +02:00
Scott Percival 885c2e6481 DIRECTOR: LINGO: Remove cb_jump/cb_jumpifz 2020-05-27 19:02:43 +08:00
Eugene Sandulenko 78f616e6f8 DIRECTOR: LINGO: Made compiled 'if' statement relocatable 2020-05-27 01:38:24 +02:00
Eugene Sandulenko 0a5ff97e2a DIRECTOR: LINGO: Fix potential crash in c_of() 2020-05-23 13:52:07 +02:00
Scott Percival 59c06b58de DIRECTOR: LINGO: Add more bytecode stubs 2020-05-17 23:08:50 +08:00
Scott Percival ebf9a987b5 DIRECTOR: LINGO: Fix c_not 2020-05-16 20:06:08 +08:00
Scott Percival 10978bd1b7 DIRECTOR: LINGO: Debug improvements 2020-05-16 16:03:00 +08:00
Scott Percival 43465e349b DIRECTOR: LINGO: Add debug for printing the call stack 2020-05-16 14:52:06 +08:00
djsrv 631cbdce1f DIRECTOR: LINGO: Remove quirk handling from <> op
Upon further testing, this behavior only applies to the = operator.
2020-05-16 02:32:32 +02:00