Picture in picture
Moderators: Lavish Software Team, Moderators
-
- GamingTools Subscriber
- Posts: 7
- Joined: Thu Jul 15, 2004 12:08 pm
Picture in picture
I had to reinstall totally yesterday, and now cannot get PiP to work with Innerspace and EQ1.
What am I missing please?
Thanks.
What am I missing please?
Thanks.
-
- GamingTools Subscriber
- Posts: 7
- Joined: Thu Jul 15, 2004 12: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
The PIP.iss from before should probably still work fine with that. Let me know.
PIP-Init.iss
Code: Select all
global atom PIP_OnActivate()
{
run pip.iss
}
function main()
{
Event[On Activate]:Attach[PIP_OnActivate]
}
-
- GamingTools Subscriber
- Posts: 1
- Joined: Thu Aug 25, 2005 12:21 am
-
- GamingTools Subscriber
- Posts: 7
- Joined: Thu Jul 15, 2004 12:08 pm
-
- GamingTools Subscriber
- Posts: 7
- Joined: Thu Jul 15, 2004 12:08 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
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 "${Count:Inc}<=${Sessions}"
windowvisibility foreground
}
-
- GamingTools Subscriber
- Posts: 7
- Joined: Thu Jul 15, 2004 12:08 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
To turn that on add this into the game function(in same file you added the atom) you want pip to work with.
hope this helps some people that just cant figure out how to get pip on in the latest IS.
Code: Select all
atom(globalkeep) PIP_OnActivate()
{
;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 ${Math.Calc[${Display.ViewableHeight}/6]}
#define WIDTH ${Math.Calc[${Display.ViewableWidth}/6]}
; 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}]
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 "${Count:Inc}<=${Sessions}"
windowvisibility foreground
}
Code: Select all
Event[On Activate]:AttachAtom[PIP_OnActivate]