I've been messing around with menu display stuff and have been trying to get a 'monitor wall' effect happening, with randomly flickering screens. I've got the monitor tiles all arranged properly using rotatesprite, and have set the picnum to a gamevar that is determined via a switch statment. (There are 20 screens in total)
defstate testDISPLAY
ifcount 2
{
randvar tempA 19
switch tempA
case 0 { setvar tempB 9705 resetcount } break
case 1 { setvar tempB 9706 resetcount } break
case 2 { setvar tempB 9707 resetcount } break
case 3 { setvar tempB 9708 resetcount } break
case 4 { setvar tempB 9709 resetcount } break
case 5 { setvar tempB 9710 resetcount } break
case 6 { setvar tempB 9711 resetcount } break
case 7 { setvar tempB 9712 resetcount } break
case 8 { setvar tempB 9713 resetcount } break
case 9 { setvar tempB 9714 resetcount } break
case 10 { setvar tempB 9715 resetcount } break
case 11 { setvar tempB 9716 resetcount } break
case 12 { setvar tempB 9717 resetcount } break
case 13 { setvar tempB 9718 resetcount } break
case 14 { setvar tempB 9719 resetcount } break
case 15 { setvar tempB 9720 resetcount } break
case 16 { setvar tempB 9721 resetcount } break
case 17 { setvar tempB 9722 resetcount } break
case 18 { setvar tempB 9723 resetcount } break
case 19 { setvar tempB 9724 resetcount } break
endswitch
}
{ rotatesprite 128 100 32768 0 tempB 0 0 0 windowx1 windowy1 windowx2 windowy2 }
etc etc
The problem is that this same gamevar will always return the same value; ie instead of having each monitor display different screens at any one time, they all cycle through the same sequence of images in unison. I know there's a very bloated solution to this problem that would involve creating 20 switch statements, with 20 vars but that seems pretty excessive to me... Is there a smarter way to go about this?
EDIT - It just occurred to me that displaying the above during EVENT_DISPLAYMENU doesn't show the animation anyway (I guess ifcount 2 is never true); so I'm not going to bother with this method for now.