mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-03 09:23:37 +00:00
FULLPIPE: Implement scene18_setupSwingers()
This commit is contained in:
parent
bb29087332
commit
ee3f26e4b6
@ -877,6 +877,9 @@ namespace Fullpipe {
|
||||
#define ANI_GIRL18 1484
|
||||
#define ANI_KRESLO 1459
|
||||
#define ANI_WHIRLIGIG_18 829
|
||||
#define MV_KSL_SWING 1460
|
||||
#define MV_KSL_SWINGBOY 1462
|
||||
#define MV_KSL_SWINGGIRL 1464
|
||||
#define MV_WHR18_SPIN 1300
|
||||
#define PIC_SC18_DOMIN 5184
|
||||
#define PIC_SC18_LADDER1 1471
|
||||
|
@ -134,8 +134,58 @@ void scene19_preload() {
|
||||
}
|
||||
}
|
||||
|
||||
void scene18_sub2(StaticANIObject *ani, Scene *sc) {
|
||||
warning("WARNING: scene18_sub2()");
|
||||
void scene18_setupSwingers(StaticANIObject *ani, Scene *sc) {
|
||||
Swinger *swinger;
|
||||
|
||||
g_vars->scene18_var07.clear();
|
||||
|
||||
Scene *oldsc = g_fp->_currentScene;
|
||||
g_fp->_currentScene = sc;
|
||||
|
||||
for (int i = 0; i < 8; i++) {
|
||||
swinger = new Swinger;
|
||||
|
||||
swinger->angle = (double)i * M_PI / 4.0;
|
||||
swinger->sx = g_vars->scene18_var20 - (int)(cos(swinger->angle) * -575.0);
|
||||
swinger->sy = g_vars->scene18_var04 - (int)(sin(swinger->angle) * -575.0) + 87;
|
||||
swinger->ix = swinger->sx;
|
||||
swinger->iy = swinger->sy;
|
||||
|
||||
if (i) {
|
||||
StaticANIObject *newani = new StaticANIObject(ani);
|
||||
|
||||
ani = newani;
|
||||
|
||||
swinger->ani = newani;
|
||||
swinger->sflags = 2;
|
||||
|
||||
sc->addStaticANIObject(newani, 1);
|
||||
} else {
|
||||
swinger->ani = ani;
|
||||
swinger->sflags = g_vars->scene18_var03 != 0 ? 4 : 1;
|
||||
}
|
||||
|
||||
ani->_statics = ani->getStaticsById(ST_KSL_NORM);
|
||||
ani->_movement = 0;
|
||||
ani->setOXY(swinger->sx, swinger->sy);
|
||||
ani->_priority = 30;
|
||||
ani->_flags |= 4;
|
||||
|
||||
if (swinger->sflags & 2) {
|
||||
ani->startAnim(MV_KSL_SWINGBOY, 0, -1);
|
||||
} else {
|
||||
if (swinger->sflags & 4)
|
||||
ani->startAnim(MV_KSL_SWINGGIRL, 0, -1);
|
||||
else
|
||||
ani->startAnim(MV_KSL_SWING, 0, -1);
|
||||
}
|
||||
|
||||
ani->_movement->setDynamicPhaseIndex(g_fp->_rnd->getRandomNumber(17));
|
||||
|
||||
g_vars->scene18_var07.push_back(swinger);
|
||||
}
|
||||
|
||||
g_fp->_currentScene = oldsc;
|
||||
}
|
||||
|
||||
void scene18_initScene1(Scene *sc) {
|
||||
@ -272,7 +322,7 @@ void scene18_initScene2(Scene *sc) {
|
||||
g_fp->playSound(SND_18_010, 1);
|
||||
}
|
||||
|
||||
scene18_sub2(armchair, sc);
|
||||
scene18_setupSwingers(armchair, sc);
|
||||
|
||||
g_vars->scene18_var21 = 0;
|
||||
g_vars->scene18_var12 = 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user