void set_engine_view(struct PlayerInfo *player, long val) { switch ( val ) { case PVM_EmptyView: player->acamera = &player->cameras[CamIV_Isometric]; // Allow view mode 0 only for non-local-human players if (!is_my_player(player)) break; // If it's local human player, then setting this mode is an error // no break default: ERRORLOG("Invalid view mode %d",(int)val); val = PVM_CreatureView; // no break case PVM_CreatureView: player->acamera = &player->cameras[CamIV_FirstPerson]; if (!is_my_player(player)) break; lens_mode = 2; set_sprite_view_3d(); S3DSetLineOfSightFunction(dummy_sound_line_of_sight); S3DSetDeadzoneRadius(0); LbMouseSetPosition((MyScreenWidth/pixel_size) >> 1,(MyScreenHeight/pixel_size) >> 1); break; case PVM_IsometricView: player->acamera = &player->cameras[CamIV_Isometric]; if (!is_my_player(player)) break; lens_mode = 0; set_sprite_view_isometric(); S3DSetLineOfSightFunction(dummy_sound_line_of_sight); S3DSetDeadzoneRadius(1280); break; case PVM_ParchmentView: player->acamera = &player->cameras[CamIV_Parchment]; if (!is_my_player(player)) break; S3DSetLineOfSightFunction(dummy_sound_line_of_sight); S3DSetDeadzoneRadius(1280); break; case PVM_ParchFadeIn: case PVM_ParchFadeOut: // In fade states, keep the settings unchanged break; case PVM_FrontView: player->acamera = &player->cameras[CamIV_FrontView]; if (!is_my_player(player)) break; lens_mode = 0; set_sprite_view_isometric(); S3DSetLineOfSightFunction(dummy_sound_line_of_sight); S3DSetDeadzoneRadius(1280); break; } player->view_mode = val; }
void set_engine_view(struct PlayerInfo *player, long val) { //_DK_set_engine_view(player, val); switch ( val ) { case 0: player->acamera = &player->cameras[0]; // Allow view mode 0 only for non-local-human players if (!is_my_player(player)) break; // If it's local human player, then setting this mode is an error default: ERRORLOG("Invalid view mode %d",(int)val); val = 1; case 1: player->acamera = &player->cameras[1]; if (!is_my_player(player)) break; lens_mode = 2; set_sprite_view_3d(); S3DSetLineOfSightFunction(dummy_sound_line_of_sight); S3DSetDeadzoneRadius(0); LbMouseSetPosition((MyScreenWidth/pixel_size) >> 1,(MyScreenHeight/pixel_size) >> 1); break; case 2: player->acamera = &player->cameras[0]; if (!is_my_player(player)) break; lens_mode = 0; set_sprite_view_isometric(); S3DSetLineOfSightFunction(dummy_sound_line_of_sight); S3DSetDeadzoneRadius(1280); break; case 3: player->acamera = &player->cameras[2]; if (!is_my_player(player)) break; S3DSetLineOfSightFunction(dummy_sound_line_of_sight); S3DSetDeadzoneRadius(1280); break; case 5: player->acamera = &player->cameras[3]; if (!is_my_player(player)) break; lens_mode = 0; set_sprite_view_isometric(); S3DSetLineOfSightFunction(dummy_sound_line_of_sight); S3DSetDeadzoneRadius(1280); break; } player->view_mode = val; }