Quote:
It's sad that i dont see the video. Id like that you please make a step by step video, that could show my self how to change the room "image list". Thank's!
https://www.dropbox.com/s/z0gfufysgpsg7 ... e.fpt?dl=0Here's a demo template.
But you must use a recent version of BAM , otherwise it will crash....
Not perfect, but you should get the idea.
The demo has the following:
1.Six overlays (Front, Back, Left , Right, Ceiling, Floor)
2. A Floor Model Toy (probably not necessary, but I move room objects below floor and back to hide them and I needed a floor model to conceal them)
3.Using FPM Editor, I took Tomasaco's models that he had assigned as "Pegs" and I assigned them as toys. Once models are designated as "Toys", then you can
use the Future Pinball scripting for moving models around (See manual Tx, Ty, Tz....)
4. Using BAM miniplayfield tool, I grabbed each overlay , and assigned them as "miniplayfield's" using BAM automatic Copy and Pasting technique for the script
I renamed them ( example "miniplayfield_Floor")
5.Once assigned as "miniplayfield", you can use BAM on the fly menu to move walls where you want and use BAM automatic Copy and Pasting tecchnique for the script "moveto" commands.
Code:
'Left Wall Overlay
Dim MiniPlayField_Left ' Xmin Xmax Ymin Ymax Zmin Zmax CenX CenY CenZ
Set MiniPlayField_Left = xBAM.CreateMiniPlayfield( -2500, 2500, -200, 2500, 500, 555, 0, 0, 0)
Call MiniPlayField_Left.MoveTo( -3800, 1132.99, 1857.39, -90, 90, 0, 1.27, 0)
'Right Wall Overlay
Dim MiniPlayField_Right ' Xmin Xmax Ymin Ymax Zmin Zmax CenX CenY CenZ
Set MiniPlayField_Right = xBAM.CreateMiniPlayfield( -2500, 2500, -200, 2500, 580, 620, 0, 0, 0)
' DstX DstY DstZ RotX RotY RotZ Scale Time
Call MiniPlayField_Right.MoveTo(3554.21, 2201.4, 1972, -90, -88.6, -0.8, 1.35, 0)
'Front Wall Overlay
Dim MiniPlayField_Front ' Xmin Xmax Ymin Ymax Zmin Zmax CenX CenY CenZ
Set MiniPlayField_Front = xBAM.CreateMiniPlayfield( -2500, 1400, -1000, 2000, 400, 450, 0, 0, 0)
' DstX DstY DstZ RotX RotY RotZ Scale Time
Call MiniPlayField_Front.MoveTo( 424.4, -1325.023, 1915.815, -90, 0, 0, 1.87, 0)
'Back Wall Overlay
Dim MiniPlayField_Back ' Xmin Xmax Ymin Ymax Zmin Zmax CenX CenY CenZ
Set MiniPlayField_Back = xBAM.CreateMiniPlayfield( -2500, 1400, -101, 1726, 640, 660, 0, 0, 0)
' DstX DstY DstZ RotX RotY RotZ Scale Time
Call MiniPlayField_Back.MoveTo(-1220.22, 5167.48, 2375.989, -90, 180, 0, 2.02, 0)
'Ceiling Overlay
Dim MiniPlayField_Ceiling ' Xmin Xmax Ymin Ymax Zmin Zmax CenX CenY CenZ
Set MiniPlayField_Ceiling = xBAM.CreateMiniPlayfield( -1409, 1600, -101.8, 1726.594, 680, 710, 0, 0, 0)' DstX DstY DstZ RotX RotY RotZ Scale Time
Call MiniPlayField_Ceiling.MoveTo(-687.17, 3541.435, 3762.95, -180, 0, 0, 2.48, 0)
'Floor Overlay
Dim MiniPlayField_Floor ' Xmin Xmax Ymin Ymax Zmin Zmax CenX CenY CenZ
Set MiniPlayField_Floor = xBAM.CreateMiniPlayfield(-1409.198, 1600, -101.8, 1726.594, 282.999, 400, 2.6, 0, 0)
Call MiniPlayField_Floor.MoveTo(-779.587, -645.399, -1623.99, 0, 0, 0, 2.62, 0)
6.Create an image list ( for example "image list1"), add all you room images to the list.
7.Assign imagelist1 to all the wall overlays
6.Using standard overlay commands for future pinball , you can now change every wall
as a simple command ( CeilingOverlay Frame 2 , FloorOverlay Frame 3 etc...)
I created a routine for three different rooms
Code:
Sub Room1() 'Void so Default Arcade Room Will work
FrontOverlay.Frame (5)
RightSideOverlay.Frame (5)
LeftSideOverlay.Frame (5)
BackOverlay.Frame (7)
FloorOverlay.Frame (5)
CeilingOverlay.Frame (5)
'Move all the Stuff Out
DoorToy.Ty = -3600
DoorToy2.Ty = -3600
PictureToy.Ty = -3600
PictureToy2.Ty = -3600
PictureToy3.Ty = -3600
PictureToy4.Ty = -3600
PictureToy5.Ty = -3600
PoolTableToy.Ty = -1000
DoorHandleToy1.Ty = -3600
DoorHandleToy2.Ty = -3600
SwitchToy1.Ty = -3600
SwitchToy2.Ty = -1000
End Sub
Sub Room2() 'Blue Games Room
StandardRoomEquip()
FrontOverlay.Frame (1)
RightSideOverlay.Frame (1)
LeftSideOverlay.Frame (1)
BackOverlay.Frame (1)
FloorOverlay.Frame (2)
CeilingOverlay.Frame (1)
End Sub
Sub Room3() 'Red Games Room
FrontOverlay.Frame (3)
RightSideOverlay.Frame (3)
LeftSideOverlay.Frame (3)
BackOverlay.Frame (3)
FloorOverlay.Frame (4)
CeilingOverlay.Frame (3)
StandardRoomEquip()
End Sub
Sub StandardRoomEquip()
'Bring all the stuff back
DoorToy.Ty = 600
DoorToy2.Ty = 600
PictureToy.Ty = 500
PictureToy2.Ty = 500
PictureToy3.Ty = 500
PictureToy4.Ty = 500
PictureToy5.Ty = 500
PoolTableToy.Ty = 100
DoorHandleToy1.Ty = 300
DoorHandleToy2.Ty = 300
SwitchToy1.Ty = 300
SwitchToy2.Ty = 100
End Sub
Room1
moves all of the toys out of the room, and using black walls for everything except back
wall (the back wall has an image that matches the standard FP arcade room)
This allows people to simply use the arcade room if they don't like the others
Room2
moves all the toys back
blue wall, light floor
Room3
moves all the toys back
Red wall paper, dark floor
I coded "B" on the keyboard as a cheat key for toggling between rooms.
Using this technique, you can easily create an room you want very quickly,
by just adding more images to the imagelist1.
You can even add video frames to the imagelist and project a video on any of the walls...
I hope this helps...