Integrate stairway1 and hallwayb1-3 into game and fix missing player start point
parent
5a6b51be77
commit
4b565aabb5
59
game.cpp
59
game.cpp
|
@ -14,7 +14,8 @@ extern const char _binary_sprite_item_pager_raw_start[];
|
||||||
|
|
||||||
extern const char _binary_sprite_stickman_raw_start[];
|
extern const char _binary_sprite_stickman_raw_start[];
|
||||||
|
|
||||||
extern const struct level_predef_data predef_basement, predef_lobby, predef_managers_office, predef_cloakroom, predef_hallway1, predef_hallway2, predef_hallway3;
|
extern const struct level_predef_data predef_basement, predef_lobby, predef_managers_office, predef_cloakroom, predef_hallway1, predef_hallway2, predef_hallway3,
|
||||||
|
predef_stairway1, predef_hallwayb1, predef_hallwayb2, predef_hallwayb3;
|
||||||
|
|
||||||
static void create_player(scene *me, int x, int y) {
|
static void create_player(scene *me, int x, int y) {
|
||||||
const int WIDTH=51, HEIGHT=111;
|
const int WIDTH=51, HEIGHT=111;
|
||||||
|
@ -88,6 +89,22 @@ void scene_setup(scene *me, int scene, int fromscene) {
|
||||||
scene_load_predef(me, &predef_hallway3);
|
scene_load_predef(me, &predef_hallway3);
|
||||||
create_player_startpt(me, fromscene);
|
create_player_startpt(me, fromscene);
|
||||||
break;
|
break;
|
||||||
|
case SCENE_STAIRWAY1:
|
||||||
|
scene_load_predef(me, &predef_stairway1);
|
||||||
|
create_player_startpt(me, fromscene);
|
||||||
|
break;
|
||||||
|
case SCENE_HALLWAY_B1:
|
||||||
|
scene_load_predef(me, &predef_hallwayb1);
|
||||||
|
create_player_startpt(me, fromscene);
|
||||||
|
break;
|
||||||
|
case SCENE_HALLWAY_B2:
|
||||||
|
scene_load_predef(me, &predef_hallwayb2);
|
||||||
|
create_player_startpt(me, fromscene);
|
||||||
|
break;
|
||||||
|
case SCENE_HALLWAY_B3:
|
||||||
|
scene_load_predef(me, &predef_hallwayb3);
|
||||||
|
create_player_startpt(me, fromscene);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -253,6 +270,9 @@ void onclick(int curscene, struct object *obj) {
|
||||||
case OBJID_NEXT_ROOM:
|
case OBJID_NEXT_ROOM:
|
||||||
start_player_walk_to_point_then_transition_scene(obj->x + obj->width/2, obj->y + obj->height, SCENE_HALLWAY2);
|
start_player_walk_to_point_then_transition_scene(obj->x + obj->width/2, obj->y + obj->height, SCENE_HALLWAY2);
|
||||||
return;
|
return;
|
||||||
|
case OBJID_GO_LEFT:
|
||||||
|
start_player_walk_to_point_then_transition_scene(obj->x + obj->width/2, obj->y + obj->height, SCENE_STAIRWAY1);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case SCENE_HALLWAY2:
|
case SCENE_HALLWAY2:
|
||||||
|
@ -272,6 +292,43 @@ void onclick(int curscene, struct object *obj) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case SCENE_STAIRWAY1:
|
||||||
|
switch(obj->id) {
|
||||||
|
case OBJID_STAIRWAY1_TOP:
|
||||||
|
start_player_walk_to_point_then_transition_scene(obj->x + obj->width/2, obj->y + obj->height, SCENE_HALLWAY_B2);
|
||||||
|
return;
|
||||||
|
case OBJID_STAIRWAY1_BOTTOM:
|
||||||
|
start_player_walk_to_point_then_transition_scene(obj->x + obj->width/2, obj->y + obj->height, SCENE_HALLWAY1);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case SCENE_HALLWAY_B1:
|
||||||
|
switch(obj->id) {
|
||||||
|
case OBJID_GO_RIGHT:
|
||||||
|
start_player_walk_to_point_then_transition_scene(obj->x + obj->width/2, obj->y + obj->height, SCENE_HALLWAY_B2);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case SCENE_HALLWAY_B2:
|
||||||
|
switch(obj->id) {
|
||||||
|
case OBJID_GO_LEFT:
|
||||||
|
start_player_walk_to_point_then_transition_scene(obj->x + obj->width/2, obj->y + obj->height, SCENE_HALLWAY_B1);
|
||||||
|
return;
|
||||||
|
case OBJID_GO_RIGHT:
|
||||||
|
start_player_walk_to_point_then_transition_scene(obj->x + obj->width/2, obj->y + obj->height, SCENE_HALLWAY_B3);
|
||||||
|
return;
|
||||||
|
case OBJID_LEAVE_ROOM:
|
||||||
|
start_player_walk_to_point_then_transition_scene(obj->x + obj->width/2, obj->y + obj->height, SCENE_STAIRWAY1);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case SCENE_HALLWAY_B3:
|
||||||
|
switch(obj->id) {
|
||||||
|
case OBJID_GO_LEFT:
|
||||||
|
start_player_walk_to_point_then_transition_scene(obj->x + obj->width/2, obj->y + obj->height, SCENE_HALLWAY_B2);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<map version="1.9" tiledversion="1.9.2" orientation="orthogonal" renderorder="right-down" width="34" height="25" tilewidth="32" tileheight="32" infinite="0" nextlayerid="6" nextobjectid="16">
|
<map version="1.9" tiledversion="1.9.2" orientation="orthogonal" renderorder="right-down" width="34" height="25" tilewidth="32" tileheight="32" infinite="0" nextlayerid="6" nextobjectid="17">
|
||||||
<imagelayer id="2" name="Image Layer 1">
|
<imagelayer id="2" name="Image Layer 1">
|
||||||
<image source="../build/default/hallway1.png" width="1066" height="800"/>
|
<image source="../build/default/hallway1.png" width="1066" height="800"/>
|
||||||
</imagelayer>
|
</imagelayer>
|
||||||
|
@ -46,5 +46,8 @@
|
||||||
<object id="13" name="OBJID_PLAYER_START+SCENE_HALLWAY2" x="552" y="80">
|
<object id="13" name="OBJID_PLAYER_START+SCENE_HALLWAY2" x="552" y="80">
|
||||||
<point/>
|
<point/>
|
||||||
</object>
|
</object>
|
||||||
|
<object id="16" name="OBJID_PLAYER_START+SCENE_STAIRWAY1" x="467" y="257">
|
||||||
|
<point/>
|
||||||
|
</object>
|
||||||
</objectgroup>
|
</objectgroup>
|
||||||
</map>
|
</map>
|
||||||
|
|
Loading…
Reference in New Issue