manager's office safe scene dims the manager's office scene behind it, including the inventory panel
parent
30c06a6efb
commit
4f2a0be43a
1
engine.h
1
engine.h
|
@ -41,6 +41,7 @@ extern struct scene {
|
|||
struct navmesh *navmesh; // defaults to non-null pointer to empty navmesh
|
||||
|
||||
bool use_standard_inventory; // defaults to true
|
||||
bool dim_background; // defaults to false, because most scenes overwrite the whole screen
|
||||
|
||||
} scenes[MAX_STACKED_SCENES];
|
||||
extern int scene_depth; // number of stacked scenes
|
||||
|
|
8
game.cpp
8
game.cpp
|
@ -39,7 +39,7 @@ void scene_setup(scene *me, int scene, int fromscene) {
|
|||
create_player(me, 424, 675);
|
||||
break;
|
||||
}
|
||||
top_scene.navmesh = &navmesh_lobby;
|
||||
me->navmesh = &navmesh_lobby;
|
||||
if(fromscene == -1) {
|
||||
push_scene_textbox("Welcome\n\nto\n\ntestgame");
|
||||
}
|
||||
|
@ -58,12 +58,14 @@ void scene_setup(scene *me, int scene, int fromscene) {
|
|||
create_player(me, 424, 675);
|
||||
break;
|
||||
}
|
||||
top_scene.navmesh = &navmesh_managers_office;
|
||||
me->navmesh = &navmesh_managers_office;
|
||||
break;
|
||||
case SCENE_MANAGERS_OFFICE_SAFE:
|
||||
scene_add_object(me, OBJID_BACKGROUND, 248, 0, 787, BGHEIGHT, _binary_sprite_managers_office_safe_raw_start);
|
||||
scene_add_object(me, OBJID_CLOSE_MODAL, 0, 0, 248, 800, nullptr);
|
||||
scene_add_object(me, OBJID_CLOSE_MODAL, 1035, 0, 1280-1035, 800, nullptr);
|
||||
me->dim_background = true;
|
||||
me->use_standard_inventory = false;
|
||||
break;
|
||||
case SCENE_BASEMENT:
|
||||
scene_add_object(me, OBJID_BACKGROUND, 0, 0, BGWIDTH, BGHEIGHT, _binary_sprite_basement_raw_start);
|
||||
|
@ -76,7 +78,7 @@ void scene_setup(scene *me, int scene, int fromscene) {
|
|||
create_player(me, 424, 675);
|
||||
break;
|
||||
}
|
||||
top_scene.navmesh = &navmesh_basement;
|
||||
me->navmesh = &navmesh_basement;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -507,6 +507,13 @@ bool deliver_script_wakeup(int wakeupMode, int wakeupArg1, int wakeupType, int a
|
|||
}
|
||||
|
||||
void standard_scene_render(scene *s) {
|
||||
if(s->dim_background) {
|
||||
uint32_t *ptr = curfb;
|
||||
for(int i = 0; i < 1280*800; i++, ptr++) {
|
||||
*ptr = (*ptr >> 2) & 0x3f3f3f;
|
||||
}
|
||||
}
|
||||
|
||||
struct object *objects = s->objects;
|
||||
for(int i = 0; i < MAX_OBJECTS_PER_SCENE; i++) {
|
||||
if(objects[i].id != 0 && objects[i].pixels) {
|
||||
|
|
Loading…
Reference in New Issue