[Scummvm-git-logs] scummvm master -> 95d8bc0980455841391dbd6403b9f9b55fd14bc7
djsrv
dservilla at gmail.com
Tue Jun 16 21:01:42 UTC 2020
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
95d8bc0980 DIRECTOR: LINGO: Implement c_intersects & c_within
Commit: 95d8bc0980455841391dbd6403b9f9b55fd14bc7
https://github.com/scummvm/scummvm/commit/95d8bc0980455841391dbd6403b9f9b55fd14bc7
Author: djsrv (dservilla at gmail.com)
Date: 2020-06-16T17:00:42-04:00
Commit Message:
DIRECTOR: LINGO: Implement c_intersects & c_within
Changed paths:
engines/director/lingo/lingo-code.cpp
diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp
index 5d5ff7ad6b..243024e996 100644
--- a/engines/director/lingo/lingo-code.cpp
+++ b/engines/director/lingo/lingo-code.cpp
@@ -46,6 +46,7 @@
#include "director/director.h"
#include "director/cast.h"
#include "director/score.h"
+#include "director/sprite.h"
#include "director/util.h"
#include "director/lingo/lingo.h"
#include "director/lingo/lingo-builtins.h"
@@ -788,18 +789,22 @@ void LC::c_intersects() {
Datum d2 = g_lingo->pop();
Datum d1 = g_lingo->pop();
- warning("STUB: c_intersects: %d %d", d1.u.i, d2.u.i);
+ Score *score = g_director->getCurrentScore();
+ Sprite *sprite1 = score->getSpriteById(d1.asInt());
+ Sprite *sprite2 = score->getSpriteById(d2.asInt());
- g_lingo->push(d1);
+ g_lingo->push(Datum(sprite1->getBbox().intersects(sprite2->getBbox())));
}
void LC::c_within() {
Datum d2 = g_lingo->pop();
Datum d1 = g_lingo->pop();
- warning("STUB: c_within: %d %d", d1.u.i, d2.u.i);
+ Score *score = g_director->getCurrentScore();
+ Sprite *sprite1 = score->getSpriteById(d1.asInt());
+ Sprite *sprite2 = score->getSpriteById(d2.asInt());
- g_lingo->push(d1);
+ g_lingo->push(Datum(sprite2->getBbox().contains(sprite1->getBbox())));
}
void LC::c_of() {
More information about the Scummvm-git-logs
mailing list