G33K wrote:
It's been a while since I used the ScummC box editor. There's a short
manual section in the README:
https://dotsec.net/cgi-bin/viewcvs.cgi/scummc/trunk/README?rev=220&view=markup

Basically, you can separately load an image and a box file, then create
and manipulate boxes for it. The boxes have to connect at 2 corner
points, you can select these with left click, deselect with right click.
All selected points can be dragged at the same time.

For dynamic boxes, give a name to a certain box, and then use
setBoxFlags on it, as specified in the reference:
http://alban.dotsec.net/23.html#A40

Ok, I've done it (patch and modified box data file attached).

Another thing I experimented with is a talking animation for Carol. So I
cut her head off and made it a separate limb. The animation ist quite
simple, just a little mouth movement; too much head-banging wouldn't
suit her well. I have attached the result, if you want to try it out.

bye,

Frederik
Index: examples/openquest/officeroom.scc
===================================================================
--- examples/openquest/officeroom.scc	(Revision 386)
+++ examples/openquest/officeroom.scc	(working copy)
@@ -62,6 +62,7 @@
     object plant;
     object lightSwitch;
     
+    local script setDoorwayState();
 
     local script entry() {
         int firstInit, quickInit;
@@ -74,6 +75,7 @@
             Verbs::setupVerbs();
             Actors::setupActors();
         } else {
+            setDoorwayState();
             putActorAt(VAR_EGO,296,110,OfficeRoom);
             walkActorTo(VAR_EGO,250,110);
             if( getObjectState( lightSwitch ) == 1 )
@@ -526,6 +528,7 @@
                         }
                     }
                 }
+                setDoorwayState();
                 Actors::resumeRoaming(commanderZif);
                 return;
             }
@@ -548,6 +551,13 @@
 
     }
 
+    local script setDoorwayState() {
+        // enable doorway box if door is open
+        if (getObjectState(exitToSecretRoom) == 7) {
+            setBoxFlags([doorway], 0);
+            createBoxMatrix();
+        }
+    }
 
     object exitToSecretRoom {
         x = 248;

Attachment: back01.box
Description: application/extension-box

Index: examples/openquest/costumes/carol.scost
===================================================================
--- examples/openquest/costumes/carol.scost	(Revision 386)
+++ examples/openquest/costumes/carol.scost	(working copy)
@@ -31,6 +31,10 @@
     position = { -40, -56 }
 };
 
+picture talk_ = {
+    glob = "../graphics/carol/talk_??.bmp",
+    position = { -13, -53 }
+};
 
 
 limb body = {
@@ -39,10 +43,14 @@
 
 };
 
+limb head = {
+    talk_00, talk_01 // 0-1
+};
 
 
 anim stand = {
-    S = { body([6-9]) LOOP };
+    S = { body([6-9]),
+          head(0) LOOP };
 };
 
 anim init = {
@@ -50,11 +58,13 @@
 };
 
 anim talkStart = {
-    S = { body(7) };
+    S = { body(7),
+          head([0-1]) LOOP };
 };
 
 anim talkStop = {
-    S = { body([6-9]) LOOP };
+    S = { body([6-9]),
+          head(0) };
 };
 
 

Attachment: carol-graphics.tar.gz
Description: GNU Zip compressed data

_______________________________________________
ScummC-general mailing list
[email protected]
https://mail.gna.org/listinfo/scummc-general

Reply via email to