From b8cc90ad6c6adc7ceaa54e964591729ce439f490 Mon Sep 17 00:00:00 2001 From: Bertrand Augereau Date: Tue, 28 Jun 2011 16:05:58 +0200 Subject: DREAMWEB: Reversed random sprite callback --- engines/dreamweb/stubs.cpp | 7 ++++++- engines/dreamweb/stubs.h | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'engines/dreamweb') diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp index 074f3bfdab..4dc4ef83c7 100644 --- a/engines/dreamweb/stubs.cpp +++ b/engines/dreamweb/stubs.cpp @@ -913,7 +913,7 @@ void DreamGenContext::backobject(Sprite* sprite) { if (objData->type == 6) widedoor(); else if (objData->type == 5) - random(); + random(sprite, objData); else if (objData->type == 4) lockeddoorway(); else if (objData->type == 3) @@ -939,6 +939,11 @@ void DreamGenContext::constant(Sprite* sprite, ObjData* objData) { sprite->b15 = b18; } +void DreamGenContext::random(Sprite* sprite, ObjData* objData) { + randomnum1(); + uint16 r = ax; + sprite->b15 = objData->b18[r&7]; +} void DreamGenContext::dodoor() { Sprite *sprite = (Sprite*)es.ptr(bx, sizeof(Sprite)); diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h index 6d1ee5ec33..d1eb5aae9f 100644 --- a/engines/dreamweb/stubs.h +++ b/engines/dreamweb/stubs.h @@ -31,6 +31,7 @@ void backobject(Sprite* sprite); void constant(Sprite* sprite, ObjData* objData); void steady(Sprite* sprite, ObjData* objData); + void random(Sprite* sprite, ObjData* objData); void dodoor(); void dodoor(Sprite* sprite, ObjData* objData); void liftsprite(); -- cgit v1.2.3