@@ -3046,7 +3046,10 @@ void Game::processClientEvents(CameraOrientation *cam)
3046
3046
3047
3047
for ( ; event.type != CE_NONE; event = client->getClientEvent ()) {
3048
3048
3049
- if (event.type == CE_PLAYER_DAMAGE && client->getHP () != 0 ) {
3049
+ switch (event.type ) {
3050
+ case CE_PLAYER_DAMAGE:
3051
+ if (client->getHP () == 0 )
3052
+ break ;
3050
3053
if (client->moddingEnabled ()) {
3051
3054
client->getScript ()->on_damage_taken (event.player_damage .amount );
3052
3055
}
@@ -3058,21 +3061,25 @@ void Game::processClientEvents(CameraOrientation *cam)
3058
3061
player->hurt_tilt_strength =
3059
3062
rangelim (event.player_damage .amount / 4 , 1.0 , 4.0 );
3060
3063
3061
- MtEvent *e = new SimpleTriggerEvent (" PlayerDamage" );
3062
- client->event ()->put (e);
3063
- } else if (event.type == CE_PLAYER_FORCE_MOVE) {
3064
+ client->event ()->put (new SimpleTriggerEvent (" PlayerDamage" ));
3065
+ break ;
3066
+
3067
+ case CE_PLAYER_FORCE_MOVE:
3064
3068
cam->camera_yaw = event.player_force_move .yaw ;
3065
3069
cam->camera_pitch = event.player_force_move .pitch ;
3066
- } else if (event.type == CE_DEATHSCREEN) {
3070
+ break ;
3071
+
3072
+ case CE_DEATHSCREEN:
3067
3073
// This should be enabled for death formspec in builtin
3068
3074
client->getScript ()->on_death ();
3069
3075
3070
3076
/* Handle visualization */
3071
3077
runData.damage_flash = 0 ;
3072
3078
player->hurt_tilt_timer = 0 ;
3073
3079
player->hurt_tilt_strength = 0 ;
3080
+ break ;
3074
3081
3075
- } else if (event. type == CE_SHOW_FORMSPEC) {
3082
+ case CE_SHOW_FORMSPEC:
3076
3083
if (*(event.show_formspec .formspec ) == " " ) {
3077
3084
if (current_formspec && ( *(event.show_formspec .formname ) == " " || *(event.show_formspec .formname ) == cur_formname) ){
3078
3085
current_formspec->quitMenu ();
@@ -3088,53 +3095,64 @@ void Game::processClientEvents(CameraOrientation *cam)
3088
3095
cur_formname = *(event.show_formspec .formname );
3089
3096
}
3090
3097
3091
- delete (event.show_formspec .formspec );
3092
- delete (event.show_formspec .formname );
3093
- } else if (event.type == CE_SHOW_LOCAL_FORMSPEC) {
3094
- FormspecFormSource *fs_src = new FormspecFormSource (*event.show_formspec .formspec );
3095
- LocalFormspecHandler *txt_dst = new LocalFormspecHandler (*event.show_formspec .formname , client);
3096
- create_formspec_menu (¤t_formspec, client, device, &input->joystick ,
3097
- fs_src, txt_dst);
3098
3098
delete event.show_formspec .formspec ;
3099
3099
delete event.show_formspec .formname ;
3100
- } else if ((event.type == CE_SPAWN_PARTICLE) ||
3101
- (event.type == CE_ADD_PARTICLESPAWNER) ||
3102
- (event.type == CE_DELETE_PARTICLESPAWNER)) {
3100
+ break ;
3101
+
3102
+ case CE_SHOW_LOCAL_FORMSPEC:
3103
+ {
3104
+ FormspecFormSource *fs_src = new FormspecFormSource (*event.show_formspec .formspec );
3105
+ LocalFormspecHandler *txt_dst = new LocalFormspecHandler (*event.show_formspec .formname , client);
3106
+ create_formspec_menu (¤t_formspec, client, device, &input->joystick ,
3107
+ fs_src, txt_dst);
3108
+ }
3109
+ delete event.show_formspec .formspec ;
3110
+ delete event.show_formspec .formname ;
3111
+ break ;
3112
+
3113
+ case CE_SPAWN_PARTICLE:
3114
+ case CE_ADD_PARTICLESPAWNER:
3115
+ case CE_DELETE_PARTICLESPAWNER:
3103
3116
client->getParticleManager ()->handleParticleEvent (&event, client,
3104
3117
smgr, player);
3105
- } else if (event.type == CE_HUDADD) {
3106
- u32 id = event.hudadd .id ;
3107
- HudElement *e = player->getHud (id);
3108
-
3109
- if (e != NULL ) {
3110
- delete event.hudadd .pos ;
3111
- delete event.hudadd .name ;
3112
- delete event.hudadd .scale ;
3113
- delete event.hudadd .text ;
3114
- delete event.hudadd .align ;
3115
- delete event.hudadd .offset ;
3116
- delete event.hudadd .world_pos ;
3117
- delete event.hudadd .size ;
3118
- continue ;
3119
- }
3118
+ break ;
3119
+
3120
+ case CE_HUDADD:
3121
+ {
3122
+ u32 id = event.hudadd .id ;
3123
+
3124
+ HudElement *e = player->getHud (id);
3125
+
3126
+ if (e != NULL ) {
3127
+ delete event.hudadd .pos ;
3128
+ delete event.hudadd .name ;
3129
+ delete event.hudadd .scale ;
3130
+ delete event.hudadd .text ;
3131
+ delete event.hudadd .align ;
3132
+ delete event.hudadd .offset ;
3133
+ delete event.hudadd .world_pos ;
3134
+ delete event.hudadd .size ;
3135
+ continue ;
3136
+ }
3120
3137
3121
- e = new HudElement;
3122
- e->type = (HudElementType)event.hudadd .type ;
3123
- e->pos = *event.hudadd .pos ;
3124
- e->name = *event.hudadd .name ;
3125
- e->scale = *event.hudadd .scale ;
3126
- e->text = *event.hudadd .text ;
3127
- e->number = event.hudadd .number ;
3128
- e->item = event.hudadd .item ;
3129
- e->dir = event.hudadd .dir ;
3130
- e->align = *event.hudadd .align ;
3131
- e->offset = *event.hudadd .offset ;
3132
- e->world_pos = *event.hudadd .world_pos ;
3133
- e->size = *event.hudadd .size ;
3134
-
3135
- u32 new_id = player->addHud (e);
3136
- // if this isn't true our huds aren't consistent
3137
- sanity_check (new_id == id);
3138
+ e = new HudElement;
3139
+ e->type = (HudElementType)event.hudadd .type ;
3140
+ e->pos = *event.hudadd .pos ;
3141
+ e->name = *event.hudadd .name ;
3142
+ e->scale = *event.hudadd .scale ;
3143
+ e->text = *event.hudadd .text ;
3144
+ e->number = event.hudadd .number ;
3145
+ e->item = event.hudadd .item ;
3146
+ e->dir = event.hudadd .dir ;
3147
+ e->align = *event.hudadd .align ;
3148
+ e->offset = *event.hudadd .offset ;
3149
+ e->world_pos = *event.hudadd .world_pos ;
3150
+ e->size = *event.hudadd .size ;
3151
+
3152
+ u32 new_id = player->addHud (e);
3153
+ // if this isn't true our huds aren't consistent
3154
+ sanity_check (new_id == id);
3155
+ }
3138
3156
3139
3157
delete event.hudadd .pos ;
3140
3158
delete event.hudadd .name ;
@@ -3144,74 +3162,84 @@ void Game::processClientEvents(CameraOrientation *cam)
3144
3162
delete event.hudadd .offset ;
3145
3163
delete event.hudadd .world_pos ;
3146
3164
delete event.hudadd .size ;
3147
- } else if (event.type == CE_HUDRM) {
3148
- HudElement *e = player->removeHud (event.hudrm .id );
3149
-
3150
- if (e != NULL )
3151
- delete (e);
3152
- } else if (event.type == CE_HUDCHANGE) {
3153
- u32 id = event.hudchange .id ;
3154
- HudElement *e = player->getHud (id);
3155
-
3156
- if (e == NULL ) {
3157
- delete event.hudchange .v3fdata ;
3158
- delete event.hudchange .v2fdata ;
3159
- delete event.hudchange .sdata ;
3160
- delete event.hudchange .v2s32data ;
3161
- continue ;
3165
+ break ;
3166
+
3167
+ case CE_HUDRM:
3168
+ {
3169
+ HudElement *e = player->removeHud (event.hudrm .id );
3170
+
3171
+ if (e != NULL )
3172
+ delete e;
3162
3173
}
3174
+ break ;
3163
3175
3164
- switch (event. hudchange . stat ) {
3165
- case HUD_STAT_POS:
3166
- e-> pos = * event.hudchange .v2fdata ;
3167
- break ;
3176
+ case CE_HUDCHANGE:
3177
+ {
3178
+ u32 id = event.hudchange .id ;
3179
+ HudElement *e = player-> getHud (id) ;
3168
3180
3169
- case HUD_STAT_NAME:
3170
- e->name = *event.hudchange .sdata ;
3171
- break ;
3181
+ if (e == NULL ) {
3182
+ delete event.hudchange .v3fdata ;
3183
+ delete event.hudchange .v2fdata ;
3184
+ delete event.hudchange .sdata ;
3185
+ delete event.hudchange .v2s32data ;
3186
+ continue ;
3187
+ }
3172
3188
3173
- case HUD_STAT_SCALE:
3174
- e->scale = *event.hudchange .v2fdata ;
3175
- break ;
3189
+ switch (event.hudchange .stat ) {
3190
+ case HUD_STAT_POS:
3191
+ e->pos = *event.hudchange .v2fdata ;
3192
+ break ;
3176
3193
3177
- case HUD_STAT_TEXT :
3178
- e->text = *event.hudchange .sdata ;
3179
- break ;
3194
+ case HUD_STAT_NAME :
3195
+ e->name = *event.hudchange .sdata ;
3196
+ break ;
3180
3197
3181
- case HUD_STAT_NUMBER :
3182
- e->number = event.hudchange .data ;
3183
- break ;
3198
+ case HUD_STAT_SCALE :
3199
+ e->scale = * event.hudchange .v2fdata ;
3200
+ break ;
3184
3201
3185
- case HUD_STAT_ITEM :
3186
- e->item = event.hudchange .data ;
3187
- break ;
3202
+ case HUD_STAT_TEXT :
3203
+ e->text = * event.hudchange .sdata ;
3204
+ break ;
3188
3205
3189
- case HUD_STAT_DIR :
3190
- e->dir = event.hudchange .data ;
3191
- break ;
3206
+ case HUD_STAT_NUMBER :
3207
+ e->number = event.hudchange .data ;
3208
+ break ;
3192
3209
3193
- case HUD_STAT_ALIGN :
3194
- e->align = * event.hudchange .v2fdata ;
3195
- break ;
3210
+ case HUD_STAT_ITEM :
3211
+ e->item = event.hudchange .data ;
3212
+ break ;
3196
3213
3197
- case HUD_STAT_OFFSET :
3198
- e->offset = * event.hudchange .v2fdata ;
3199
- break ;
3214
+ case HUD_STAT_DIR :
3215
+ e->dir = event.hudchange .data ;
3216
+ break ;
3200
3217
3201
- case HUD_STAT_WORLD_POS :
3202
- e->world_pos = *event.hudchange .v3fdata ;
3203
- break ;
3218
+ case HUD_STAT_ALIGN :
3219
+ e->align = *event.hudchange .v2fdata ;
3220
+ break ;
3204
3221
3205
- case HUD_STAT_SIZE:
3206
- e->size = *event.hudchange .v2s32data ;
3207
- break ;
3222
+ case HUD_STAT_OFFSET:
3223
+ e->offset = *event.hudchange .v2fdata ;
3224
+ break ;
3225
+
3226
+ case HUD_STAT_WORLD_POS:
3227
+ e->world_pos = *event.hudchange .v3fdata ;
3228
+ break ;
3229
+
3230
+ case HUD_STAT_SIZE:
3231
+ e->size = *event.hudchange .v2s32data ;
3232
+ break ;
3233
+ }
3208
3234
}
3209
3235
3210
3236
delete event.hudchange .v3fdata ;
3211
3237
delete event.hudchange .v2fdata ;
3212
3238
delete event.hudchange .sdata ;
3213
3239
delete event.hudchange .v2s32data ;
3214
- } else if (event.type == CE_SET_SKY) {
3240
+ break ;
3241
+
3242
+ case CE_SET_SKY:
3215
3243
sky->setVisible (false );
3216
3244
3217
3245
if (skybox) {
@@ -3245,10 +3273,18 @@ void Game::processClientEvents(CameraOrientation *cam)
3245
3273
delete event.set_sky .bgcolor ;
3246
3274
delete event.set_sky .type ;
3247
3275
delete event.set_sky .params ;
3248
- } else if (event.type == CE_OVERRIDE_DAY_NIGHT_RATIO) {
3249
- bool enable = event.override_day_night_ratio .do_override ;
3250
- u32 value = event.override_day_night_ratio .ratio_f * 1000 ;
3251
- client->getEnv ().setDayNightRatioOverride (enable, value);
3276
+ break ;
3277
+
3278
+ case CE_OVERRIDE_DAY_NIGHT_RATIO:
3279
+ client->getEnv ().setDayNightRatioOverride (
3280
+ event.override_day_night_ratio .do_override ,
3281
+ event.override_day_night_ratio .ratio_f * 1000 );
3282
+ break ;
3283
+
3284
+ default :
3285
+ // unknown or unhandled type
3286
+ break ;
3287
+
3252
3288
}
3253
3289
}
3254
3290
}
0 commit comments