Picture in picture

Discussion of Inner Space

Moderators: Lavish Software Team, Moderators

Post Reply
jabsystems
GamingTools Subscriber
Posts: 7
Joined: Thu Jul 15, 2004 12:08 pm

Picture in picture

Post by jabsystems » Sun Oct 16, 2005 5:21 am

I had to reinstall totally yesterday, and now cannot get PiP to work with Innerspace and EQ1.

What am I missing please?


Thanks.

Lax
Owner
Posts: 6634
Joined: Fri Jun 18, 2004 6:08 pm

Post by Lax » Sun Oct 16, 2005 1:26 pm

Inner Space's old picture-in-picture script is outdated and therefore is no longer included by default. It is being replaced with a "new and improved" version that will have a user interface for configuration

jabsystems
GamingTools Subscriber
Posts: 7
Joined: Thu Jul 15, 2004 12:08 pm

Post by jabsystems » Sun Oct 16, 2005 2:06 pm

Ah okay, will wait for the new one then.

Xunil
GamingTools Subscriber
Posts: 5
Joined: Fri Apr 08, 2005 12:00 pm

Post by Xunil » Mon Oct 24, 2005 12:46 pm

PiP was the only reason I bought InnerSpace 6 months ago. I 3box all the time and I haven't been able to for nearly a month. I sure hope you guys are going to fix this soon.

It is worthless to me without it.

Lax
Owner
Posts: 6634
Joined: Fri Jun 18, 2004 6:08 pm

Post by Lax » Mon Oct 24, 2005 12:54 pm

Had you asked a month ago, I would have told you how to fix the original pip.iss ;)

PIP is done by using a combination of commands, this isnt something built into Inner Space

Xunil
GamingTools Subscriber
Posts: 5
Joined: Fri Apr 08, 2005 12:00 pm

Post by Xunil » Mon Oct 24, 2005 7:56 pm

Ok, I am asking, how do I fix it? :P

when I attempt to do manually using "event" command it says command unknown.

Lax
Owner
Posts: 6634
Joined: Fri Jun 18, 2004 6:08 pm

Post by Lax » Mon Oct 24, 2005 8:08 pm

Well, the Inner Space event system was recently replaced and implemented directly in LavishScript. Now, LavishScript atoms can be attached to events. A fairly simple script can be used to set this up.

PIP-Init.iss

Code: Select all

global atom PIP_OnActivate()
{
   run pip.iss
}

function main()
{
  Event[On Activate]:Attach[PIP_OnActivate]
}
The PIP.iss from before should probably still work fine with that. Let me know.

easytarget
GamingTools Subscriber
Posts: 1
Joined: Thu Aug 25, 2005 12:21 am

Post by easytarget » Tue Nov 01, 2005 6:02 am

how would one aquire the pip.iss until the new system is inplace.

jabsystems
GamingTools Subscriber
Posts: 7
Joined: Thu Jul 15, 2004 12:08 pm

Post by jabsystems » Sat Nov 12, 2005 9:41 am

Where can I get a copy of the old pip.iss please? I lost it in the reinstall.

jabsystems
GamingTools Subscriber
Posts: 7
Joined: Thu Jul 15, 2004 12:08 pm

Post by jabsystems » Sun Nov 13, 2005 12:40 pm

No one has a copy of the pip.iss? I'm not even using Inner Space at the moment because PiP isn't working.

Lax
Owner
Posts: 6634
Joined: Fri Jun 18, 2004 6:08 pm

Post by Lax » Sun Nov 13, 2005 1:49 pm

If PIP is all you use it for, are you using a game that WinEQ 2 works with? heh.

Here's the old PIP.iss

Code: Select all

;Remove this line if you make changes to this file you want to keep
; Picture-in-Picture

; This is the upper left corner, given in pixels, of where Picture windows will start.  They will
; be lined up in a single direction from this point.  The direction is chosen below
#define LEFT   20
#define TOP    20

; Height and width by default are calculated to 1/4 of the height and width of the active window
#define HEIGHT ${Math.Calc[${Display.ViewableHeight}/4]}
#define WIDTH  ${Math.Calc[${Display.ViewableWidth}/4]}
; They can be numbers, as below
;#define HEIGHT 320
;#define WIDTH  240


; Select one direction by changing the line below to one of the four possibilities
#define DIRECTION    DIRECTION_DOWN

; Don't change these four lines
#define DIRECTION_DOWN  y:Inc[${cy}]
#define DIRECTION_UP    y:Dec[${cy}]
#define DIRECTION_RIGHT x:Inc[${cx}]
#define DIRECTION_LEFT  x:Dec[${cx}]

function main()
{
    pipforeground
  if !${Sessions}
  {
    windowvisibility foreground
    return
  }

  declare Count int local 1
  declare cx int local WIDTH
  declare cy int local HEIGHT
  declare x int local LEFT
  declare y int local TOP

  do
  {
    uplink relay "${Session[${Count}]}" "windowsize -rescale -viewable ${cx}x${cy};windowpos ${x},${y};windowvisibility -noactivate alwaysontop;windowframe none"
    DIRECTION
  }
  while "$&#123;Count&#58;Inc&#125;<=$&#123;Sessions&#125;"
  windowvisibility foreground
&#125; 

jabsystems
GamingTools Subscriber
Posts: 7
Joined: Thu Jul 15, 2004 12:08 pm

Post by jabsystems » Sun Nov 13, 2005 3:37 pm

Thanks Lax, and I wanted to get the basics working with PiP and global commands before I moved onto advanced stuff.

oddx
Non-Subscriber
Posts: 20
Joined: Thu Dec 30, 2004 6:02 pm

Post by oddx » Thu Aug 24, 2006 9:14 pm

New PIP in or coming anytime soon?

Lax
Owner
Posts: 6634
Joined: Fri Jun 18, 2004 6:08 pm

Post by Lax » Fri Aug 25, 2006 10:02 am

I've tried to offer scripters some $$ to create a decent PiP script in the past, but nobody took the bait. I'll try posting on ismods in the Bounty Hunting forum.

oddx
Non-Subscriber
Posts: 20
Joined: Thu Dec 30, 2004 6:02 pm

Post by oddx » Fri Aug 25, 2006 10:15 pm

Made an atom from the code above, it no longer crashes for me when using pip. nothing fancy but solid. Add this atom into a copied off DefaultStartup.iss

Code: Select all

atom&#40;globalkeep&#41; PIP_OnActivate&#40;&#41;
&#123;
;Remove this line if you make changes to this file you want to keep 
; Picture-in-Picture 

; This is the upper left corner, given in pixels, of where Picture windows will start.  They will 
; be lined up in a single direction from this point.  The direction is chosen below 
#define LEFT   0 
#define TOP    30 

; Height and width by default are calculated to 1/4 of the height and width of the active window 
#define HEIGHT $&#123;Math.Calc[$&#123;Display.ViewableHeight&#125;/6]&#125; 
#define WIDTH  $&#123;Math.Calc[$&#123;Display.ViewableWidth&#125;/6]&#125; 
; They can be numbers, as below 
;#define HEIGHT 320 
;#define WIDTH  240 


; Select one direction by changing the line below to one of the four possibilities 
#define DIRECTION    DIRECTION_DOWN 

; Don't change these four lines 
#define DIRECTION_DOWN  y&#58;Inc[$&#123;cy&#125;] 
#define DIRECTION_UP    y&#58;Dec[$&#123;cy&#125;] 
#define DIRECTION_RIGHT x&#58;Inc[$&#123;cx&#125;] 
#define DIRECTION_LEFT  x&#58;Dec[$&#123;cx&#125;] 

  pipforeground 
  if !$&#123;Sessions&#125; 
  &#123; 
    windowvisibility foreground 
    return 
  &#125; 

  declare Count int local 1 
  declare cx int local WIDTH 
  declare cy int local HEIGHT 
  declare x int local LEFT 
  declare y int local TOP 

  do 
  &#123; 
    uplink relay "$&#123;Session[$&#123;Count&#125;]&#125;" "windowsize -rescale -viewable $&#123;cx&#125;x$&#123;cy&#125;;windowpos $&#123;x&#125;,$&#123;y&#125;;windowvisibility -noactivate alwaysontop;windowframe none" 
    DIRECTION 
  &#125; 
  while "$&#123;Count&#58;Inc&#125;<=$&#123;Sessions&#125;" 
  windowvisibility foreground 
&#125; 
To turn that on add this into the game function(in same file you added the atom) you want pip to work with.

Code: Select all

Event[On Activate]&#58;AttachAtom[PIP_OnActivate]
hope this helps some people that just cant figure out how to get pip on in the latest IS.

Post Reply