Author Topic: Diagonal Views  (Read 1242 times)

0 Members and 1 Guest are viewing this topic.

Offline RJD

Diagonal Views
« on: May 16, 2004, 02:26:04 PM »
I have drawn diagonal views for a secret project, but do not know how to incorporate them into my game.  What script would I change and what would I change in it?
« Last Edit: May 16, 2004, 02:38:53 PM by RJD »


Beep Beep Boo Bop Boo Beep

Offline Nychold

Re:Diagonal Views
« Reply #1 on: May 17, 2004, 07:43:03 PM »
Wow, I thought there was a solution already posted here, but I guess not.  An attempt was made here, but a minor typo led to an unsolved mystery (Cloudee, & and | are bitwise functions...you needed to use or and and).  Some correct (and relatively accurate) code is provided below:

Code: [Select]
     (if ((<=(send client:heading) 22) or  (>=(send client:heading)337))(send client:loop(3)))
      (if ((>=(send client:heading) 23) and (<=(send client:heading) 67))(send client:loop(5)))
      (if ((>=(send client:heading) 68) and (<=(send client:heading)112))(send client:loop(0)))
      (if ((>=(send client:heading)113) and (<=(send client:heading)157))(send client:loop(7)))
      (if ((>=(send client:heading)158) and (<=(send client:heading)202))(send client:loop(2)))
      (if ((>=(send client:heading)203) and (<=(send client:heading)247))(send client:loop(6)))
      (if ((>=(send client:heading)248) and (<=(send client:heading)292))(send client:loop(1)))
      (if ((>=(send client:heading)293) and (<=(send client:heading)336))(send client:loop(4)))

Replace this with "DirLoop(...)" in cycle.sc.  The loops 4, 5, 6, and 7 represent upper left, upper right, lower left, and lower right respectively.  Feel free to change the loops to whatever you want.  Hope this helps!

Offline RJD

Re:Diagonal Views
« Reply #2 on: May 18, 2004, 04:03:23 PM »
Thanks.  I got it working!  The views are used at the wrong times, where he will do the moonwalk, etc, but that will be easy to fix.  Thanks!

Edit:  It works fine now, but it looks akward when Ego stops walking and has a leg in the air, etc.  I looked through the forums, but apparently nobody's asked about idle views.  I know its been done, in LockerGnome Quest and many Sierra SCI games, but..how?
« Last Edit: May 18, 2004, 04:25:49 PM by RJD »
Beep Beep Boo Bop Boo Beep

Offline Nychold

Re:Diagonal Views
« Reply #3 on: May 18, 2004, 09:43:19 PM »
Download the source code to LockerGnome Quest, and look in Cycle.sc.  There's an extra class at the end called StopWalk.  Start there.

Offline RJD

Re:Diagonal Views
« Reply #4 on: May 21, 2004, 02:09:56 PM »
I've copied n pasted the StopWalk code from LockerGnome, but it doesnt seem to do anything.  Is it supposed to work, or do I need more directions?  Remember, I need idle views for all 8 directions.
Beep Beep Boo Bop Boo Beep

Offline Nychold

Re:Diagonal Views
« Reply #5 on: May 22, 2004, 01:13:02 PM »
You have to set your actors' and/or ego's cycler to StopWalk, instead of Walk.  ie:

(send gEgo:setCycle(StopWalk 1))

And there are some other, smaller details, but I'll let you figure them out.  :D

Offline RJD

Re:Diagonal Views
« Reply #6 on: May 22, 2004, 02:03:05 PM »
Well, I got that fixed, thanks to Nychold, but now I have yet another question.  I know I'm probably being a bit annoying with all these questions....
I don't recall having seen this done in any SCI0 games before, but it is in nearly all VGA games.  I want the Ego to turn as he walks.  For example:  Ego is facing east, and player clicks to west of him.  I want Ego to face directly front or back and then a diagonal view inbetween these two side views.  Do you guys understand my question?  Has this been done before in an EGA game?
Beep Beep Boo Bop Boo Beep

Offline Doan Sephim

Re:Diagonal Views
« Reply #7 on: May 22, 2004, 11:23:20 PM »
i think that that was done in quest for glory 2, but i definately dont know how you'd go about pulling it off...sorry. anyone else have an idea?


SMF 2.0.19 | SMF © 2021, Simple Machines
Simple Audio Video Embedder

Page created in 0.025 seconds with 21 queries.