]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
take3: format 903 files martin-t/uncrustified2 496/head
authorMartin Taibr <taibr.martin@gmail.com>
Sun, 24 Sep 2017 05:17:56 +0000 (07:17 +0200)
committerMartin Taibr <taibr.martin@gmail.com>
Sun, 24 Sep 2017 05:17:56 +0000 (07:17 +0200)
503 files changed:
qcsrc/client/announcer.qc
qcsrc/client/bgmscript.qc
qcsrc/client/bgmscript.qh
qcsrc/client/commands/cl_cmd.qh
qcsrc/client/csqc_constants.qh
qcsrc/client/csqcmodel_hooks.qh
qcsrc/client/hud/hud.qc
qcsrc/client/hud/hud_config.qc
qcsrc/client/hud/hud_config.qh
qcsrc/client/hud/panel/centerprint.qc
qcsrc/client/hud/panel/chat.qc
qcsrc/client/hud/panel/engineinfo.qc
qcsrc/client/hud/panel/healtharmor.qc
qcsrc/client/hud/panel/notify.qc
qcsrc/client/hud/panel/physics.qc
qcsrc/client/hud/panel/powerups.qc
qcsrc/client/hud/panel/pressedkeys.qc
qcsrc/client/hud/panel/timer.qc
qcsrc/client/hud/panel/vote.qc
qcsrc/client/main.qh
qcsrc/client/mapvoting.qc
qcsrc/client/mutators/events.qh
qcsrc/client/player_skeleton.qc
qcsrc/client/player_skeleton.qh
qcsrc/client/shownames.qc
qcsrc/client/shownames.qh
qcsrc/client/teamradar.qh
qcsrc/client/wall.qc
qcsrc/client/wall.qh
qcsrc/common/anim.qc
qcsrc/common/animdecide.qc
qcsrc/common/animdecide.qh
qcsrc/common/campaign_file.qc
qcsrc/common/campaign_setup.qc
qcsrc/common/command/command.qh
qcsrc/common/command/generic.qc
qcsrc/common/command/generic.qh
qcsrc/common/command/markup.qc
qcsrc/common/command/reg.qh
qcsrc/common/command/rpn.qc
qcsrc/common/csqcmodel_settings.qh
qcsrc/common/deathtypes/all.qh
qcsrc/common/debug.qh
qcsrc/common/effects/all.qc
qcsrc/common/effects/all.qh
qcsrc/common/effects/effect.qh
qcsrc/common/effects/effectinfo.qc
qcsrc/common/effects/qc/casings.qc
qcsrc/common/effects/qc/globalsound.qc
qcsrc/common/effects/qc/globalsound.qh
qcsrc/common/effects/qc/lightningarc.qc
qcsrc/common/effects/qc/modeleffects.qc
qcsrc/common/effects/qc/rubble.qh
qcsrc/common/gamemodes/gamemode/nexball/nexball.qh
qcsrc/common/gamemodes/gamemode/nexball/sv_weapon.qc
qcsrc/common/gamemodes/gamemode/onslaught/onslaught.qh
qcsrc/common/gamemodes/gamemode/onslaught/sv_onslaught.qh
qcsrc/common/gamemodes/sv_rules.qc
qcsrc/common/gamemodes/sv_rules.qh
qcsrc/common/impulses/all.qh
qcsrc/common/items/all.qc
qcsrc/common/items/item.qh
qcsrc/common/items/item/ammo.qh
qcsrc/common/items/item/armor.qh
qcsrc/common/items/item/health.qh
qcsrc/common/items/item/jetpack.qh
qcsrc/common/items/item/pickup.qc
qcsrc/common/items/item/pickup.qh
qcsrc/common/items/item/powerup.qh
qcsrc/common/minigames/cl_minigames.qh
qcsrc/common/minigames/cl_minigames_hud.qc
qcsrc/common/minigames/minigames.qc
qcsrc/common/minigames/minigames.qh
qcsrc/common/minigames/sv_minigames.qh
qcsrc/common/models/all.qh
qcsrc/common/monsters/monster/zombie.qc
qcsrc/common/monsters/monster/zombie.qh
qcsrc/common/monsters/sv_spawn.qc
qcsrc/common/monsters/sv_spawn.qh
qcsrc/common/mutators/events.qh
qcsrc/common/mutators/mutator/bloodloss/sv_bloodloss.qc
qcsrc/common/mutators/mutator/breakablehook/sv_breakablehook.qc
qcsrc/common/mutators/mutator/buffs/buffs.qh
qcsrc/common/mutators/mutator/buffs/cl_buffs.qc
qcsrc/common/mutators/mutator/buffs/sv_buffs.qc
qcsrc/common/mutators/mutator/buffs/sv_buffs.qh
qcsrc/common/mutators/mutator/bugrigs/bugrigs.qc
qcsrc/common/mutators/mutator/campcheck/sv_campcheck.qc
qcsrc/common/mutators/mutator/cloaked/sv_cloaked.qc
qcsrc/common/mutators/mutator/damagetext/sv_damagetext.qc
qcsrc/common/mutators/mutator/damagetext/ui_damagetext.qc
qcsrc/common/mutators/mutator/doublejump/doublejump.qc
qcsrc/common/mutators/mutator/globalforces/_mod.qh
qcsrc/common/mutators/mutator/globalforces/sv_globalforces.qc
qcsrc/common/mutators/mutator/hook/sv_hook.qc
qcsrc/common/mutators/mutator/instagib/items.qh
qcsrc/common/mutators/mutator/instagib/sv_instagib.qc
qcsrc/common/mutators/mutator/invincibleproj/sv_invincibleproj.qc
qcsrc/common/mutators/mutator/itemstime/itemstime.qc
qcsrc/common/mutators/mutator/melee_only/sv_melee_only.qc
qcsrc/common/mutators/mutator/midair/sv_midair.qc
qcsrc/common/mutators/mutator/multijump/multijump.qc
qcsrc/common/mutators/mutator/nades/nades.qh
qcsrc/common/mutators/mutator/nades/net.qc
qcsrc/common/mutators/mutator/new_toys/sv_new_toys.qc
qcsrc/common/mutators/mutator/physical_items/sv_physical_items.qc
qcsrc/common/mutators/mutator/pinata/sv_pinata.qc
qcsrc/common/mutators/mutator/random_gravity/sv_random_gravity.qc
qcsrc/common/mutators/mutator/rocketflying/sv_rocketflying.qc
qcsrc/common/mutators/mutator/rocketminsta/sv_rocketminsta.qc
qcsrc/common/mutators/mutator/sandbox/sv_sandbox.qc
qcsrc/common/mutators/mutator/sandbox/sv_sandbox.qh
qcsrc/common/mutators/mutator/superspec/sv_superspec.qc
qcsrc/common/mutators/mutator/touchexplode/sv_touchexplode.qc
qcsrc/common/mutators/mutator/vampire/sv_vampire.qc
qcsrc/common/mutators/mutator/vampirehook/sv_vampirehook.qc
qcsrc/common/mutators/mutator/walljump/walljump.qc
qcsrc/common/mutators/mutator/waypoints/all.qh
qcsrc/common/mutators/mutator/waypoints/waypointsprites.qh
qcsrc/common/mutators/mutator/weaponarena_random/sv_weaponarena_random.qc
qcsrc/common/net_notice.qc
qcsrc/common/notifications/all.qc
qcsrc/common/physics/movelib.qc
qcsrc/common/physics/movelib.qh
qcsrc/common/physics/movetypes/follow.qc
qcsrc/common/physics/movetypes/step.qc
qcsrc/common/physics/movetypes/toss.qc
qcsrc/common/physics/movetypes/walk.qc
qcsrc/common/sounds/all.qh
qcsrc/common/sounds/sound.qh
qcsrc/common/state.qh
qcsrc/common/triggers/func/bobbing.qc
qcsrc/common/triggers/func/conveyor.qc
qcsrc/common/triggers/func/conveyor.qh
qcsrc/common/triggers/func/door.qc
qcsrc/common/triggers/func/door_rotating.qc
qcsrc/common/triggers/func/door_secret.qc
qcsrc/common/triggers/func/fourier.qc
qcsrc/common/triggers/func/pendulum.qc
qcsrc/common/triggers/func/plat.qc
qcsrc/common/triggers/func/pointparticles.qc
qcsrc/common/triggers/func/rainsnow.qc
qcsrc/common/triggers/func/rotating.qc
qcsrc/common/triggers/func/train.qc
qcsrc/common/triggers/func/vectormamamam.qc
qcsrc/common/triggers/include.qc
qcsrc/common/triggers/include.qh
qcsrc/common/triggers/misc/corner.qc
qcsrc/common/triggers/misc/follow.qc
qcsrc/common/triggers/misc/laser.qc
qcsrc/common/triggers/platforms.qc
qcsrc/common/triggers/subs.qc
qcsrc/common/triggers/subs.qh
qcsrc/common/triggers/target/changelevel.qc
qcsrc/common/triggers/target/kill.qc
qcsrc/common/triggers/target/levelwarp.qc
qcsrc/common/triggers/target/location.qc
qcsrc/common/triggers/target/music.qc
qcsrc/common/triggers/target/music.qh
qcsrc/common/triggers/target/spawn.qc
qcsrc/common/triggers/target/speaker.qc
qcsrc/common/triggers/target/voicescript.qc
qcsrc/common/triggers/trigger/counter.qc
qcsrc/common/triggers/trigger/delay.qc
qcsrc/common/triggers/trigger/disablerelay.qc
qcsrc/common/triggers/trigger/flipflop.qc
qcsrc/common/triggers/trigger/gamestart.qc
qcsrc/common/triggers/trigger/gravity.qc
qcsrc/common/triggers/trigger/heal.qc
qcsrc/common/triggers/trigger/hurt.qc
qcsrc/common/triggers/trigger/impulse.qc
qcsrc/common/triggers/trigger/keylock.qc
qcsrc/common/triggers/trigger/keylock.qh
qcsrc/common/triggers/trigger/magicear.qc
qcsrc/common/triggers/trigger/monoflop.qc
qcsrc/common/triggers/trigger/multivibrator.qc
qcsrc/common/triggers/trigger/relay_activators.qc
qcsrc/common/triggers/trigger/relay_if.qc
qcsrc/common/triggers/trigger/secret.qc
qcsrc/common/triggers/trigger/swamp.qc
qcsrc/common/triggers/trigger/swamp.qh
qcsrc/common/triggers/trigger/viewloc.qc
qcsrc/common/triggers/triggers.qc
qcsrc/common/triggers/triggers.qh
qcsrc/common/turrets/all.qh
qcsrc/common/turrets/checkpoint.qc
qcsrc/common/turrets/config.qc
qcsrc/common/turrets/config.qh
qcsrc/common/turrets/sv_turrets.qh
qcsrc/common/turrets/targettrigger.qc
qcsrc/common/turrets/turret/ewheel.qc
qcsrc/common/turrets/turret/ewheel.qh
qcsrc/common/turrets/turret/ewheel_weapon.qc
qcsrc/common/turrets/turret/flac.qc
qcsrc/common/turrets/turret/flac.qh
qcsrc/common/turrets/turret/flac_weapon.qc
qcsrc/common/turrets/turret/fusionreactor.qc
qcsrc/common/turrets/turret/hellion.qc
qcsrc/common/turrets/turret/hellion.qh
qcsrc/common/turrets/turret/hellion_weapon.qc
qcsrc/common/turrets/turret/hk.qc
qcsrc/common/turrets/turret/hk.qh
qcsrc/common/turrets/turret/hk_weapon.qc
qcsrc/common/turrets/turret/machinegun.qc
qcsrc/common/turrets/turret/machinegun.qh
qcsrc/common/turrets/turret/machinegun_weapon.qc
qcsrc/common/turrets/turret/mlrs.qc
qcsrc/common/turrets/turret/mlrs.qh
qcsrc/common/turrets/turret/mlrs_weapon.qc
qcsrc/common/turrets/turret/phaser.qc
qcsrc/common/turrets/turret/phaser.qh
qcsrc/common/turrets/turret/phaser_weapon.qc
qcsrc/common/turrets/turret/plasma.qh
qcsrc/common/turrets/turret/plasma_dual.qh
qcsrc/common/turrets/turret/plasma_weapon.qc
qcsrc/common/turrets/turret/tesla.qc
qcsrc/common/turrets/turret/tesla.qh
qcsrc/common/turrets/turret/tesla_weapon.qc
qcsrc/common/turrets/turret/walker.qc
qcsrc/common/turrets/turret/walker.qh
qcsrc/common/turrets/turret/walker_weapon.qc
qcsrc/common/turrets/util.qc
qcsrc/common/vehicles/all.qh
qcsrc/common/vehicles/cl_vehicles.qc
qcsrc/common/vehicles/sv_vehicles.qh
qcsrc/common/vehicles/vehicle/bumblebee.qc
qcsrc/common/vehicles/vehicle/bumblebee.qh
qcsrc/common/vehicles/vehicle/racer.qc
qcsrc/common/vehicles/vehicle/racer.qh
qcsrc/common/vehicles/vehicle/racer_weapon.qc
qcsrc/common/vehicles/vehicle/raptor.qc
qcsrc/common/vehicles/vehicle/raptor.qh
qcsrc/common/vehicles/vehicle/raptor_weapons.qc
qcsrc/common/vehicles/vehicle/spiderbot.qc
qcsrc/common/vehicles/vehicle/spiderbot.qh
qcsrc/common/vehicles/vehicle/spiderbot_weapons.qc
qcsrc/common/viewloc.qc
qcsrc/common/weapons/calculations.qc
qcsrc/common/weapons/calculations.qh
qcsrc/common/weapons/config.qc
qcsrc/common/weapons/config.qh
qcsrc/common/weapons/weapon/fireball.qc
qcsrc/common/weapons/weapon/hook.qc
qcsrc/common/weapons/weapon/shockwave.qc
qcsrc/common/weapons/weapon/tuba.qh
qcsrc/ecs/lib.qh
qcsrc/ecs/systems/cl_physics.qc
qcsrc/ecs/systems/sv_physics.qc
qcsrc/lib/accumulate.qh
qcsrc/lib/angle.qc
qcsrc/lib/bits.qh
qcsrc/lib/bool.qh
qcsrc/lib/color.qh
qcsrc/lib/compiler.qh
qcsrc/lib/counting.qh
qcsrc/lib/csqcmodel/cl_model.qc
qcsrc/lib/csqcmodel/cl_model.qh
qcsrc/lib/csqcmodel/cl_player.qc
qcsrc/lib/csqcmodel/cl_player.qh
qcsrc/lib/csqcmodel/common.qh
qcsrc/lib/csqcmodel/settings.qh
qcsrc/lib/csqcmodel/sv_model.qc
qcsrc/lib/csqcmodel/sv_model.qh
qcsrc/lib/cvar.qh
qcsrc/lib/defer.qh
qcsrc/lib/enumclass.qh
qcsrc/lib/file.qh
qcsrc/lib/functional.qh
qcsrc/lib/i18n.qh
qcsrc/lib/int.qh
qcsrc/lib/iter.qh
qcsrc/lib/json.qc
qcsrc/lib/linkedlist.qh
qcsrc/lib/log.qh
qcsrc/lib/map.qh
qcsrc/lib/markdown.qh
qcsrc/lib/matrix/command.qc
qcsrc/lib/matrix/matrix.qc
qcsrc/lib/nil.qh
qcsrc/lib/noise.qh
qcsrc/lib/p2mathlib.qc
qcsrc/lib/p99.qh
qcsrc/lib/progname.qh
qcsrc/lib/random.qc
qcsrc/lib/random.qh
qcsrc/lib/registry.qh
qcsrc/lib/replicate.qh
qcsrc/lib/sort.qh
qcsrc/lib/sortlist.qh
qcsrc/lib/static.qh
qcsrc/lib/string.qh
qcsrc/lib/struct.qh
qcsrc/lib/test.qc
qcsrc/lib/test.qh
qcsrc/lib/urllib.qc
qcsrc/lib/urllib.qh
qcsrc/lib/warpzone/anglestransform.qc
qcsrc/lib/warpzone/anglestransform.qh
qcsrc/lib/warpzone/client.qc
qcsrc/lib/warpzone/common.qc
qcsrc/lib/warpzone/common.qh
qcsrc/lib/warpzone/mathlib.qc
qcsrc/lib/warpzone/mathlib.qh
qcsrc/lib/warpzone/server.qc
qcsrc/lib/warpzone/server.qh
qcsrc/lib/warpzone/util_server.qc
qcsrc/lib/yenc.qh
qcsrc/menu/anim/animation.qc
qcsrc/menu/anim/animhost.qc
qcsrc/menu/anim/easing.qc
qcsrc/menu/anim/keyframe.qc
qcsrc/menu/gamesettings.qh
qcsrc/menu/item/borderimage.qc
qcsrc/menu/item/checkbox.qc
qcsrc/menu/item/checkbox.qh
qcsrc/menu/item/dialog.qc
qcsrc/menu/item/dialog.qh
qcsrc/menu/item/label.qc
qcsrc/menu/item/modalcontroller.qc
qcsrc/menu/item/radiobutton.qc
qcsrc/menu/item/tab.qh
qcsrc/menu/item/textslider.qc
qcsrc/menu/menu.qc
qcsrc/menu/skin.qh
qcsrc/menu/xonotic/button.qc
qcsrc/menu/xonotic/campaign.qc
qcsrc/menu/xonotic/charmap.qc
qcsrc/menu/xonotic/checkbox.qc
qcsrc/menu/xonotic/checkbox_slider_invalid.qc
qcsrc/menu/xonotic/checkbox_string.qc
qcsrc/menu/xonotic/colorbutton.qc
qcsrc/menu/xonotic/commandbutton.qc
qcsrc/menu/xonotic/commandbutton.qh
qcsrc/menu/xonotic/credits.qc
qcsrc/menu/xonotic/crosshairpicker.qc
qcsrc/menu/xonotic/crosshairpreview.qc
qcsrc/menu/xonotic/cvarlist.qc
qcsrc/menu/xonotic/datasource.qc
qcsrc/menu/xonotic/datasource.qh
qcsrc/menu/xonotic/demolist.qc
qcsrc/menu/xonotic/demolist.qh
qcsrc/menu/xonotic/dialog_credits.qc
qcsrc/menu/xonotic/dialog_firstrun.qc
qcsrc/menu/xonotic/dialog_hudpanel_ammo.qc
qcsrc/menu/xonotic/dialog_hudpanel_centerprint.qc
qcsrc/menu/xonotic/dialog_hudpanel_chat.qc
qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.qc
qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.qc
qcsrc/menu/xonotic/dialog_hudpanel_infomessages.qc
qcsrc/menu/xonotic/dialog_hudpanel_itemstime.qc
qcsrc/menu/xonotic/dialog_hudpanel_notification.qc
qcsrc/menu/xonotic/dialog_hudpanel_physics.qc
qcsrc/menu/xonotic/dialog_hudpanel_powerups.qc
qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.qc
qcsrc/menu/xonotic/dialog_hudpanel_quickmenu.qc
qcsrc/menu/xonotic/dialog_hudpanel_radar.qc
qcsrc/menu/xonotic/dialog_hudpanel_score.qc
qcsrc/menu/xonotic/dialog_hudpanel_timer.qc
qcsrc/menu/xonotic/dialog_hudpanel_vote.qc
qcsrc/menu/xonotic/dialog_hudpanel_weapons.qc
qcsrc/menu/xonotic/dialog_hudsetup_exit.qc
qcsrc/menu/xonotic/dialog_multiplayer.qc
qcsrc/menu/xonotic/dialog_multiplayer_create.qh
qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.qc
qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.qc
qcsrc/menu/xonotic/dialog_multiplayer_join.qc
qcsrc/menu/xonotic/dialog_multiplayer_media_demo.qc
qcsrc/menu/xonotic/dialog_multiplayer_media_demo_startconfirm.qc
qcsrc/menu/xonotic/dialog_multiplayer_media_demo_timeconfirm.qc
qcsrc/menu/xonotic/dialog_multiplayer_media_musicplayer.qc
qcsrc/menu/xonotic/dialog_multiplayer_media_screenshot.qc
qcsrc/menu/xonotic/dialog_multiplayer_media_screenshot_viewer.qc
qcsrc/menu/xonotic/dialog_multiplayer_profile.qc
qcsrc/menu/xonotic/dialog_multiplayer_profile.qh
qcsrc/menu/xonotic/dialog_quit.qc
qcsrc/menu/xonotic/dialog_sandboxtools.qc
qcsrc/menu/xonotic/dialog_settings.qc
qcsrc/menu/xonotic/dialog_settings_audio.qc
qcsrc/menu/xonotic/dialog_settings_audio.qh
qcsrc/menu/xonotic/dialog_settings_effects.qc
qcsrc/menu/xonotic/dialog_settings_effects.qh
qcsrc/menu/xonotic/dialog_settings_game_crosshair.qc
qcsrc/menu/xonotic/dialog_settings_game_hud.qc
qcsrc/menu/xonotic/dialog_settings_game_hudconfirm.qc
qcsrc/menu/xonotic/dialog_settings_game_messages.qc
qcsrc/menu/xonotic/dialog_settings_game_view.qc
qcsrc/menu/xonotic/dialog_settings_game_weapons.qc
qcsrc/menu/xonotic/dialog_settings_input.qc
qcsrc/menu/xonotic/dialog_settings_input.qh
qcsrc/menu/xonotic/dialog_settings_input_userbind.qc
qcsrc/menu/xonotic/dialog_settings_misc.qc
qcsrc/menu/xonotic/dialog_settings_misc_cvars.qc
qcsrc/menu/xonotic/dialog_settings_misc_reset.qc
qcsrc/menu/xonotic/dialog_settings_user.qc
qcsrc/menu/xonotic/dialog_settings_user_languagewarning.qc
qcsrc/menu/xonotic/dialog_settings_video.qc
qcsrc/menu/xonotic/dialog_settings_video.qh
qcsrc/menu/xonotic/dialog_singleplayer.qc
qcsrc/menu/xonotic/dialog_singleplayer_winner.qc
qcsrc/menu/xonotic/dialog_teamselect.qc
qcsrc/menu/xonotic/dialog_uid2name.qc
qcsrc/menu/xonotic/gametypelist.qc
qcsrc/menu/xonotic/hudskinlist.qc
qcsrc/menu/xonotic/inputbox.qc
qcsrc/menu/xonotic/inputbox.qh
qcsrc/menu/xonotic/languagelist.qc
qcsrc/menu/xonotic/languagelist.qh
qcsrc/menu/xonotic/maplist.qc
qcsrc/menu/xonotic/nexposee.qc
qcsrc/menu/xonotic/playerlist.qc
qcsrc/menu/xonotic/playlist.qc
qcsrc/menu/xonotic/radiobutton.qc
qcsrc/menu/xonotic/screenshotlist.qc
qcsrc/menu/xonotic/serverlist.qc
qcsrc/menu/xonotic/serverlist.qh
qcsrc/menu/xonotic/skinlist.qc
qcsrc/menu/xonotic/slider.qc
qcsrc/menu/xonotic/slider_decibels.qc
qcsrc/menu/xonotic/slider_particles.qc
qcsrc/menu/xonotic/slider_picmip.qc
qcsrc/menu/xonotic/slider_picmip.qh
qcsrc/menu/xonotic/slider_resolution.qc
qcsrc/menu/xonotic/slider_sbfadetime.qc
qcsrc/menu/xonotic/soundlist.qc
qcsrc/menu/xonotic/statslist.qc
qcsrc/menu/xonotic/statslist.qh
qcsrc/menu/xonotic/tabcontroller.qc
qcsrc/menu/xonotic/textslider.qc
qcsrc/menu/xonotic/textslider.qh
qcsrc/menu/xonotic/util.qh
qcsrc/menu/xonotic/weaponarenacheckbox.qc
qcsrc/menu/xonotic/weaponslist.qc
qcsrc/server-testcase/framework.qc
qcsrc/server/antilag.qc
qcsrc/server/bot/default/aim.qh
qcsrc/server/bot/default/scripting.qc
qcsrc/server/bot/default/scripting.qh
qcsrc/server/campaign.qc
qcsrc/server/cheats.qh
qcsrc/server/client.qh
qcsrc/server/command/banning.qc
qcsrc/server/command/banning.qh
qcsrc/server/command/common.qc
qcsrc/server/command/common.qh
qcsrc/server/command/getreplies.qc
qcsrc/server/command/radarmap.qc
qcsrc/server/command/reg.qh
qcsrc/server/compat/halflife.qc
qcsrc/server/compat/quake.qc
qcsrc/server/compat/quake2.qc
qcsrc/server/compat/quake3.qc
qcsrc/server/compat/wop.qc
qcsrc/server/g_damage.qh
qcsrc/server/g_hook.qc
qcsrc/server/g_hook.qh
qcsrc/server/g_lights.qc
qcsrc/server/g_subs.qc
qcsrc/server/g_subs.qh
qcsrc/server/g_world.qh
qcsrc/server/ipban.qc
qcsrc/server/item_key.qc
qcsrc/server/item_key.qh
qcsrc/server/mapvoting.qc
qcsrc/server/mutators/loader.qc
qcsrc/server/mutators/mutator/gamemode_assault.qh
qcsrc/server/mutators/mutator/gamemode_ca.qh
qcsrc/server/mutators/mutator/gamemode_ctf.qh
qcsrc/server/mutators/mutator/gamemode_cts.qh
qcsrc/server/mutators/mutator/gamemode_deathmatch.qh
qcsrc/server/mutators/mutator/gamemode_domination.qh
qcsrc/server/mutators/mutator/gamemode_freezetag.qh
qcsrc/server/mutators/mutator/gamemode_invasion.qh
qcsrc/server/mutators/mutator/gamemode_keepaway.qh
qcsrc/server/mutators/mutator/gamemode_keyhunt.qh
qcsrc/server/mutators/mutator/gamemode_lms.qc
qcsrc/server/mutators/mutator/gamemode_lms.qh
qcsrc/server/mutators/mutator/gamemode_race.qh
qcsrc/server/pathlib/costs.qc
qcsrc/server/pathlib/debug.qc
qcsrc/server/pathlib/expandnode.qc
qcsrc/server/pathlib/main.qc
qcsrc/server/pathlib/main.qh
qcsrc/server/pathlib/movenode.qc
qcsrc/server/pathlib/path_waypoint.qc
qcsrc/server/pathlib/pathlib.qh
qcsrc/server/pathlib/utility.qc
qcsrc/server/pathlib/utility.qh
qcsrc/server/playerdemo.qc
qcsrc/server/round_handler.qc
qcsrc/server/round_handler.qh
qcsrc/server/steerlib.qc
qcsrc/server/steerlib.qh
qcsrc/server/sys-pre.qh
qcsrc/server/teamplay.qh
qcsrc/server/tests.qc
qcsrc/server/weapons/common.qc
qcsrc/server/weapons/common.qh
qcsrc/server/weapons/hitplot.qc
qcsrc/server/weapons/selection.qc
qcsrc/server/weapons/selection.qh
qcsrc/server/weapons/tracing.qh
qcsrc/server/weapons/weaponstats.qc
qcsrc/server/weapons/weaponstats.qh

index 87c8dcc4ea8a41aae43dfdf86d53d239e0d79a9c..bc82508c76bed7a86b9737c99bd2baa0c3af5a16 100644 (file)
@@ -21,45 +21,41 @@ void Announcer_Countdown(entity this)
 {
        float starttime = STAT(GAMESTARTTIME);
        float roundstarttime = STAT(ROUNDSTARTTIME);
-       if(roundstarttime == -1)
-       {
+       if (roundstarttime == -1) {
                Local_Notification(MSG_CENTER, CENTER_COUNTDOWN_ROUNDSTOP);
                delete(this);
                announcer_countdown = NULL;
                return;
        }
-       if(roundstarttime >= starttime)
+       if (roundstarttime >= starttime) {
                starttime = roundstarttime;
-       if(starttime <= time && roundstarttime != starttime) // game start time has passed
+       }
+       if (starttime <= time && roundstarttime != starttime) { // game start time has passed
                announcer_5min = announcer_1min = false; // reset maptime announcers now as well
-
+       }
        float countdown = (starttime - time);
        float countdown_rounded = floor(0.5 + countdown);
 
-       if(countdown <= 0) // countdown has finished, starttime is now
-       {
+       if (countdown <= 0) { // countdown has finished, starttime is now
                Local_Notification(MSG_CENTER, CENTER_COUNTDOWN_BEGIN);
                Local_Notification(MSG_MULTI, MULTI_COUNTDOWN_BEGIN);
                delete(this);
                announcer_countdown = NULL;
                return;
-       }
-       else // countdown is still going
-       {
-               // if concomitant countdown to round start overrides countdown to game start
-               if(roundstarttime == starttime)
-               {
+       } else { // countdown is still going
+                    // if concomitant countdown to round start overrides countdown to game start
+               if (roundstarttime == starttime) {
                        Local_Notification(MSG_CENTER, CENTER_COUNTDOWN_ROUNDSTART, countdown_rounded);
                        Notification annce_num = Announcer_PickNumber(CNT_ROUNDSTART, countdown_rounded);
-                       if(annce_num != NULL)
+                       if (annce_num != NULL) {
                                Local_Notification(MSG_ANNCE, annce_num);
-               }
-               else
-               {
+                       }
+               } else {
                        Local_Notification(MSG_CENTER, CENTER_COUNTDOWN_GAMESTART, countdown_rounded);
                        Notification annce_num = Announcer_PickNumber(CNT_GAMESTART, countdown_rounded);
-                       if(annce_num != NULL)
+                       if (annce_num != NULL) {
                                Local_Notification(MSG_ANNCE, annce_num);
+                       }
                }
 
                this.nextthink = (starttime - (countdown - 1));
@@ -73,20 +69,18 @@ void Announcer_Countdown(entity this)
  * timelimit, fraglimit and game_starttime! Requires engine changes (remove STAT_TIMELIMIT
  * and STAT_FRAGLIMIT to be auto-sent)
  */
- float previous_game_starttime;
+float previous_game_starttime;
 void Announcer_Gamestart()
 {
        float startTime = STAT(GAMESTARTTIME);
        float roundstarttime = STAT(ROUNDSTARTTIME);
-       if(roundstarttime > startTime)
+       if (roundstarttime > startTime) {
                startTime = roundstarttime;
-       if(intermission)
-       {
-               if(announcer_countdown)
-               {
+       }
+       if (intermission) {
+               if (announcer_countdown) {
                        centerprint_kill(ORDINAL(CPID_ROUND));
-                       if(announcer_countdown)
-                       {
+                       if (announcer_countdown) {
                                delete(announcer_countdown);
                                announcer_countdown = NULL;
                        }
@@ -94,58 +88,61 @@ void Announcer_Gamestart()
                return;
        }
 
-       if(previous_game_starttime != startTime)
-       {
-               if(time < startTime)
-               {
-                       if (!announcer_countdown)
-                       {
+       if (previous_game_starttime != startTime) {
+               if (time < startTime) {
+                       if (!announcer_countdown) {
                                announcer_countdown = new(announcer_countdown);
                                setthink(announcer_countdown, Announcer_Countdown);
                        }
 
-                       if(time + 5.0 < startTime) // if connecting to server while restart was active don't always play prepareforbattle
-                       if(time > announcer_countdown.nextthink) // don't play it again if countdown was already going
-                               Local_Notification(MSG_ANNCE, ANNCE_PREPARE);
+                       if (time + 5.0 < startTime) { // if connecting to server while restart was active don't always play prepareforbattle
+                               if (time > announcer_countdown.nextthink) { // don't play it again if countdown was already going
+                                       Local_Notification(MSG_ANNCE, ANNCE_PREPARE);
+                               }
+                       }
 
-                       announcer_countdown.nextthink = startTime - floor(startTime - time); //synchronize nextthink to startTime
+                       announcer_countdown.nextthink = startTime - floor(startTime - time); // synchronize nextthink to startTime
                }
        }
 
        previous_game_starttime = startTime;
 }
 
-#define ANNOUNCER_CHECKMINUTE(minute) MACRO_BEGIN \
-       if(announcer_##minute##min) { \
-               if(timeleft > minute * 60) \
-                       announcer_##minute##min = false; \
-       } else { \
-               if(timeleft < minute * 60 && timeleft > minute * 60 - 1) { \
-                       announcer_##minute##min = true; \
-                       Local_Notification(MSG_ANNCE, ANNCE_REMAINING_MIN_##minute); \
+#define ANNOUNCER_CHECKMINUTE(minute) \
+       MACRO_BEGIN \
+               if (announcer_##minute##min) { \
+                       if (timeleft > minute * 60) { \
+                               announcer_##minute##min = false; \
+                       } \
+               } else { \
+                       if (timeleft < minute * 60 && timeleft > minute * 60 - 1) { \
+                               announcer_##minute##min = true; \
+                               Local_Notification(MSG_ANNCE, ANNCE_REMAINING_MIN_##minute); \
+                       } \
                } \
-       } \
-MACRO_END
+       MACRO_END
 
 void Announcer_Time()
 {
        float timeleft;
-       if(warmup_stage)
-       {
+       if (warmup_stage) {
                float warmup_timelimit = STAT(WARMUP_TIMELIMIT);
-               if(warmup_timelimit > 0)
+               if (warmup_timelimit > 0) {
                        timeleft = max(0, warmup_timelimit - time);
-               else
+               } else {
                        timeleft = 0;
-       }
-       else
+               }
+       } else {
                timeleft = max(0, STAT(TIMELIMIT) * 60 + STAT(GAMESTARTTIME) - time);
+       }
 
-       if(autocvar_cl_announcer_maptime >= 2)
+       if (autocvar_cl_announcer_maptime >= 2) {
                ANNOUNCER_CHECKMINUTE(5);
+       }
 
-       if((autocvar_cl_announcer_maptime == 1) || (autocvar_cl_announcer_maptime == 3))
+       if ((autocvar_cl_announcer_maptime == 1) || (autocvar_cl_announcer_maptime == 3)) {
                ANNOUNCER_CHECKMINUTE(1);
+       }
 }
 
 void Announcer()
index 2db9e54cf1af01dfd8bf9e0348a204f11d9e4f47..36be15ac959c218b276994b97f1686a13edbc1f8 100644 (file)
@@ -11,12 +11,12 @@ float bgmscriptbuf;
 float bgmscriptbufsize;
 float bgmscriptbufloaded;
 
-class(BGMScript) .float bgmscriptline;
-class(BGMScript) .float bgmscriptline0;
-class(BGMScript) .float bgmscriptvolume;
-class(BGMScript) .float bgmscripttime;
-class(BGMScript) .float bgmscriptstate;
-class(BGMScript) .float bgmscriptstatetime;
+class(BGMScript).float bgmscriptline;
+class(BGMScript).float bgmscriptline0;
+class(BGMScript).float bgmscriptvolume;
+class(BGMScript).float bgmscripttime;
+class(BGMScript).float bgmscriptstate;
+class(BGMScript).float bgmscriptstatetime;
 
 float GetAttackDecaySustainAmplitude(float a, float d, float s, float t)
 {
@@ -25,16 +25,21 @@ float GetAttackDecaySustainAmplitude(float a, float d, float s, float t)
        //   decay: from 1 to s, in time d
        //   sustain: s
 
-       if(t < 0)
+       if (t < 0) {
                return 0;
+       }
 
-       if(a)
-               if(t <= a)
+       if (a) {
+               if (t <= a) {
                        return t / a;
+               }
+       }
 
-       if(d)
-               if(t <= a + d)
+       if (d) {
+               if (t <= a + d) {
                        return ((t - a) / d) * (s - 1) + 1;
+               }
+       }
 
        return s;
 }
@@ -43,19 +48,21 @@ float GetReleaseAmplitude(float d, float s, float r, float t)
 {
        float decayval, releaseval;
 
-       if(!r)
+       if (!r) {
                return 0;
+       }
 
-       if(t > r)
+       if (t > r) {
                return 0;
+       }
 
        releaseval = s * (1 - t / r);
 
-       if(t < -d)
+       if (t < -d) {
                return 1;
+       }
 
-       if(t < 0 && t >= -d)
-       {
+       if (t < 0 && t >= -d) {
                // pre-time decay
                // value is s at time  0
                //          1 at time -d
@@ -75,16 +82,17 @@ float GetReleaseTime(float d, float s, float r, float amp)
 {
        float decaytime, releasetime;
 
-       if(!s)
+       if (!s) {
                return 0;
+       }
 
        // if amp > s, we may be in the attack or in the prolonged decay curve
        releasetime = (1 - amp / s) * r;
 
-       if(amp > s)
-       {
-               if(s == 1) // gracefully handle division by zero here
+       if (amp > s) {
+               if (s == 1) { // gracefully handle division by zero here
                        return 0;
+               }
 
                // pre-time decay
                // value is s at time  0
@@ -104,11 +112,11 @@ void BGMScript_Init()
        bgmscriptbufloaded = 1;
        s = strcat("maps/", mi_shortname, ".bgs");
        fh = fopen(s, FILE_READ);
-       if(fh < 0)
+       if (fh < 0) {
                return;
+       }
        bgmscriptbuf = buf_create();
-       while((s = fgets(fh)))
-       {
+       while ((s = fgets(fh))) {
                bufstr_set(bgmscriptbuf, bgmscriptbufsize, s);
                ++bgmscriptbufsize;
        }
@@ -119,10 +127,10 @@ void BGMScript_InitEntity(entity e)
 {
        float l;
        string m;
-       if(e.bgmscript != "")
-       {
-               if(!bgmscriptbufloaded)
+       if (e.bgmscript != "") {
+               if (!bgmscriptbufloaded) {
                        BGMScript_Init();
+               }
 
                float i;
 
@@ -130,14 +138,13 @@ void BGMScript_InitEntity(entity e)
                l = strlen(m);
 
                e.bgmscriptline0 = -1;
-               for(i = 0; i < bgmscriptbufsize; ++i)
-               {
-                       if(substring(bufstr_get(bgmscriptbuf, i), 0, l) == m)
+               for (i = 0; i < bgmscriptbufsize; ++i) {
+                       if (substring(bufstr_get(bgmscriptbuf, i), 0, l) == m) {
                                break;
+                       }
                }
                e.bgmscriptline = e.bgmscriptline0 = i;
-               if(i >= bgmscriptbufsize)
-               {
+               if (i >= bgmscriptbufsize) {
                        LOG_INFOF("ERROR: bgmscript does not define %s", e.bgmscript);
                        strunzone(e.bgmscript);
                        e.bgmscript = string_null;
@@ -147,10 +154,9 @@ void BGMScript_InitEntity(entity e)
 
 float GetCurrentAmplitude(entity e, float trel)
 {
-       if(e.bgmscriptstate)
+       if (e.bgmscriptstate) {
                return GetAttackDecaySustainAmplitude(e.bgmscriptattack, e.bgmscriptdecay, e.bgmscriptsustain, trel) * e.bgmscriptvolume;
-       else
-       {
+       } else {
 #ifdef CONSTANT_SPEED_DECAY
                return GetReleaseAmplitude(e.bgmscriptdecay, e.bgmscriptsustain * e.bgmscriptvolume, e.bgmscriptrelease, trel);
 #else
@@ -161,10 +167,9 @@ float GetCurrentAmplitude(entity e, float trel)
 
 float GetTimeForAmplitude(entity e, float amp)
 {
-       if(e.bgmscriptstate)
+       if (e.bgmscriptstate) {
                return GetAttackTime(e.bgmscriptattack, amp / e.bgmscriptvolume);
-       else
-       {
+       } else {
 #ifdef CONSTANT_SPEED_DECAY
                return GetReleaseTime(e.bgmscriptdecay, e.bgmscriptsustain * e.bgmscriptvolume, e.bgmscriptrelease, amp);
 #else
@@ -177,19 +182,21 @@ float doBGMScript(entity e)
 {
        float amp, vel;
 
-       if(e.bgmscript == "")
+       if (e.bgmscript == "") {
                return 1;
+       }
 
-       if(autocvar_bgmvolume <= 0)
+       if (autocvar_bgmvolume <= 0) {
                return -1;
+       }
 
        e.just_toggled = false;
 
-       if(bgmtime < 0)
+       if (bgmtime < 0) {
                return -1;
+       }
 
-       if(bgmtime < e.bgmscripttime)
-       {
+       if (bgmtime < e.bgmscripttime) {
                amp = GetCurrentAmplitude(e, e.bgmscripttime - e.bgmscriptstatetime + drawframetime);
 
                e.bgmscriptline = e.bgmscriptline0;
@@ -202,16 +209,12 @@ float doBGMScript(entity e)
        }
 
        // find the CURRENT line
-       for (;;)
-       {
+       for ( ; ; ) {
                tokenize_console(bufstr_get(bgmscriptbuf, e.bgmscriptline));
-               if(stof(argv(1)) >= bgmtime || argv(0) != e.bgmscript)
-               {
+               if (stof(argv(1)) >= bgmtime || argv(0) != e.bgmscript) {
                        e.bgmscripttime = bgmtime;
                        return GetCurrentAmplitude(e, bgmtime - e.bgmscriptstatetime);
-               }
-               else if(bgmtime >= stof(argv(1)))
-               {
+               } else if (bgmtime >= stof(argv(1))) {
                        e.bgmscriptline += 1;
                        e.bgmscripttime = stof(argv(1));
 
@@ -219,16 +222,14 @@ float doBGMScript(entity e)
 
                        // time code reached!
                        vel = stof(argv(2));
-                       if(vel > 0)
-                       {
+                       if (vel > 0) {
                                e.just_toggled = e.bgmscriptstate = true;
                                e.bgmscriptvolume = vel;
-                       }
-                       else
+                       } else {
                                e.just_toggled = e.bgmscriptstate = false;
+                       }
 
                        e.bgmscriptstatetime = e.bgmscripttime - GetTimeForAmplitude(e, amp);
                }
        }
 }
-
index 18b0d5ee4231c5c9e95998fdad5be86331b0b1e8..2ab3364c865b75dd45672f5cda060500eb9500cb 100644 (file)
@@ -1,13 +1,13 @@
 #pragma once
 
 entityclass(BGMScript);
-class(BGMScript) .string bgmscript;
-class(BGMScript) .float bgmscriptattack;
-class(BGMScript) .float bgmscriptdecay;
-class(BGMScript) .float bgmscriptsustain;
-class(BGMScript) .float bgmscriptrelease;
+class(BGMScript).string bgmscript;
+class(BGMScript).float bgmscriptattack;
+class(BGMScript).float bgmscriptdecay;
+class(BGMScript).float bgmscriptsustain;
+class(BGMScript).float bgmscriptrelease;
 
-class(BGMScript) .float just_toggled;
+class(BGMScript).float just_toggled;
 
 #ifdef CSQC
 void BGMScript_InitEntity(entity e);
index f1be4315fe5df1caeaaca2b6e29b62031bae2001..2fc5bf1ed61152d0553ad6ddf801ddc708c31df5 100644 (file)
@@ -14,11 +14,12 @@ REGISTRY_SORT(CLIENT_COMMANDS)
 #define CLIENT_COMMAND(id, description) \
        CLASS(clientcommand_##id, Command) \
                ATTRIB(clientcommand_##id, m_name, string, #id); \
-       ATTRIB(clientcommand_##id, m_description, string, description); \
+               ATTRIB(clientcommand_##id, m_description, string, description); \
        ENDCLASS(clientcommand_##id) \
-    REGISTER(CLIENT_COMMANDS, CMD_CL, id, m_id, NEW(clientcommand_##id)); \
+       REGISTER(CLIENT_COMMANDS, CMD_CL, id, m_id, NEW(clientcommand_##id)); \
        METHOD(clientcommand_##id, m_invokecmd, void(clientcommand_##id this, int request, entity caller, int arguments, string command))
 
-STATIC_INIT(CLIENT_COMMANDS_aliases) {
+STATIC_INIT(CLIENT_COMMANDS_aliases)
+{
        FOREACH(CLIENT_COMMANDS, true, localcmd(sprintf("alias %1$s \"%2$s %1$s ${* ?}\"\n", it.m_name, "qc_cmd_cl")));
 }
index d8906b12ba466a2f0bef24b191e4935e0e30a58e..4889003d8256c172d829872d65ddc3be9c7fdb9e 100644 (file)
 #pragma once
 
 // Mask Constants (set .drawmask on entities; use R_AddEntities to add all entities based on mask)
-const int              MASK_ENGINE                                             = BIT(0);
-const int              MASK_ENGINEVIEWMODELS                   = BIT(1);
-const int              MASK_NORMAL                                             = BIT(2);
+const int       MASK_ENGINE                     = BIT(0);
+const int       MASK_ENGINEVIEWMODELS           = BIT(1);
+const int       MASK_NORMAL                     = BIT(2);
 
 // Renderflag Constants (used for CSQC entities)
-const int              RF_VIEWMODEL                                    = BIT(0);
-const int              RF_EXTERNALMODEL                                = BIT(1);
-const int              RF_DEPTHHACK                                    = BIT(2);
-const int              RF_ADDITIVE                                             = BIT(3);
-const int              RF_USEAXIS                                              = BIT(4);
+const int       RF_VIEWMODEL                    = BIT(0);
+const int       RF_EXTERNALMODEL                = BIT(1);
+const int       RF_DEPTHHACK                    = BIT(2);
+const int       RF_ADDITIVE                     = BIT(3);
+const int       RF_USEAXIS                      = BIT(4);
 
 // Viewflag Constants (use with R_SetView)
-const int              VF_MIN                                                  = 1;    //(vector)
-const int              VF_MIN_X                                                = 2;    //(float)
-const int              VF_MIN_Y                                                = 3;    //(float)
-const int              VF_SIZE                                                 = 4;    //(vector) (viewport size)
-const int              VF_SIZE_Y                                               = 5;    //(float)
-const int              VF_SIZE_X                                               = 6;    //(float)
-const int              VF_VIEWPORT                                             = 7;    //(vector, vector)
-const int              VF_FOV                                                  = 8;    //(vector)
-const int              VF_FOVX                                                 = 9;    //(float)
-const int              VF_FOVY                                                 = 10;   //(float)
-const int              VF_ORIGIN                                               = 11;   //(vector)
-const int              VF_ORIGIN_X                                             = 12;   //(float)
-const int              VF_ORIGIN_Y                                             = 13;   //(float)
-const int              VF_ORIGIN_Z                                             = 14;   //(float)
-const int              VF_ANGLES                                               = 15;   //(vector)
-const int              VF_ANGLES_X                                             = 16;   //(float)
-const int              VF_ANGLES_Y                                             = 17;   //(float)
-const int              VF_ANGLES_Z                                             = 18;   //(float)
-const int              VF_DRAWWORLD                                    = 19;   //(float)
-const int              VF_DRAWENGINEHUD                                = 20;   //(float)
-const int              VF_DRAWCROSSHAIR                                = 21;   //(float)
-const int              VF_PERSPECTIVE                                  = 200;  //(float)
-
-const int              VF_CL_VIEWANGLES                                = 33;   //(vector)
-const int              VF_CL_VIEWANGLES_X                              = 34;   //(float)
-const int              VF_CL_VIEWANGLES_Y                              = 35;   //(float)
-const int              VF_CL_VIEWANGLES_Z                              = 36;   //(float)
+const int       VF_MIN                          = 1;   // (vector)
+const int       VF_MIN_X                        = 2;   // (float)
+const int       VF_MIN_Y                        = 3;   // (float)
+const int       VF_SIZE                         = 4;   // (vector) (viewport size)
+const int       VF_SIZE_Y                       = 5;   // (float)
+const int       VF_SIZE_X                       = 6;   // (float)
+const int       VF_VIEWPORT                     = 7;   // (vector, vector)
+const int       VF_FOV                          = 8;   // (vector)
+const int       VF_FOVX                         = 9;   // (float)
+const int       VF_FOVY                         = 10;  // (float)
+const int       VF_ORIGIN                       = 11;  // (vector)
+const int       VF_ORIGIN_X                     = 12;  // (float)
+const int       VF_ORIGIN_Y                     = 13;  // (float)
+const int       VF_ORIGIN_Z                     = 14;  // (float)
+const int       VF_ANGLES                       = 15;  // (vector)
+const int       VF_ANGLES_X                     = 16;  // (float)
+const int       VF_ANGLES_Y                     = 17;  // (float)
+const int       VF_ANGLES_Z                     = 18;  // (float)
+const int       VF_DRAWWORLD                    = 19;  // (float)
+const int       VF_DRAWENGINEHUD                = 20;  // (float)
+const int       VF_DRAWCROSSHAIR                = 21;  // (float)
+const int       VF_PERSPECTIVE                  = 200; // (float)
+
+const int       VF_CL_VIEWANGLES                = 33;  // (vector)
+const int       VF_CL_VIEWANGLES_X              = 34;  // (float)
+const int       VF_CL_VIEWANGLES_Y              = 35;  // (float)
+const int       VF_CL_VIEWANGLES_Z              = 36;  // (float)
 
 // Quake-style Point Contents
-const int              CONTENT_EMPTY                                   = -1;
-const int              CONTENT_SOLID                                   = -2;
-const int              CONTENT_WATER                                   = -3;
-const int              CONTENT_SLIME                                   = -4;
-const int              CONTENT_LAVA                                    = -5;
-const int              CONTENT_SKY                                             = -6;
+const int       CONTENT_EMPTY                   = -1;
+const int       CONTENT_SOLID                   = -2;
+const int       CONTENT_WATER                   = -3;
+const int       CONTENT_SLIME                   = -4;
+const int       CONTENT_LAVA                    = -5;
+const int       CONTENT_SKY                     = -6;
 
 // Vector / Hull Constants
-const vector   VEC_1                                                   = '1 1 1';
-const vector   VEC_0                                                   = '0 0 0';
-const vector   VEC_M1                                                  = '-1 -1 -1';
+const vector    VEC_1                           = '1 1 1';
+const vector    VEC_0                           = '0 0 0';
+const vector    VEC_M1                          = '-1 -1 -1';
 
-const vector   VEC_HULL_MIN                                    = '-16 -16 -24';
-const vector   VEC_HULL_MAX                                    = '16 16 32';
+const vector    VEC_HULL_MIN                    = '-16 -16 -24';
+const vector    VEC_HULL_MAX                    = '16 16 32';
 
 // Effect Constants
-const int      EF_NODRAW                                               = BIT(4);
-const int      EF_ADDITIVE                                             = BIT(5);
-const int      EF_BLUE                                                 = BIT(6);
-const int      EF_RED                                                  = BIT(7);
-const int      EF_FULLBRIGHT                                   = BIT(9);
-const int      EF_FLAME                                                = BIT(10);
-const int      EF_STARDUST                                             = BIT(11);
-const int      EF_NOSHADOW                                             = BIT(12);
-const int      EF_NODEPTHTEST                                  = BIT(13);
+const int   EF_NODRAW                       = BIT(4);
+const int   EF_ADDITIVE                     = BIT(5);
+const int   EF_BLUE                         = BIT(6);
+const int   EF_RED                          = BIT(7);
+const int   EF_FULLBRIGHT                   = BIT(9);
+const int   EF_FLAME                        = BIT(10);
+const int   EF_STARDUST                     = BIT(11);
+const int   EF_NOSHADOW                     = BIT(12);
+const int   EF_NODEPTHTEST                  = BIT(13);
 
 // Quake Player Flag Constants
-const int      PFL_ONGROUND                                    = BIT(0);
-const int      PFL_CROUCH                                              = BIT(1);
-const int      PFL_DEAD                                                = BIT(2);
-const int      PFL_GIBBED                                              = BIT(3);
+const int   PFL_ONGROUND                    = BIT(0);
+const int   PFL_CROUCH                      = BIT(1);
+const int   PFL_DEAD                        = BIT(2);
+const int   PFL_GIBBED                      = BIT(3);
 
 // Quake Temporary Entity Constants
-const int              TE_SPIKE                                                = 0;
-const int              TE_SUPERSPIKE                                   = 1;
-const int              TE_GUNSHOT                                              = 2;
-const int              TE_EXPLOSION                                    = 3;
-const int              TE_TAREXPLOSION                                 = 4;
-const int              TE_LIGHTNING1                                   = 5;
-const int              TE_LIGHTNING2                                   = 6;
-const int              TE_WIZSPIKE                                             = 7;
-const int              TE_KNIGHTSPIKE                                  = 8;
-const int              TE_LIGHTNING3                                   = 9;
-const int              TE_LAVASPLASH                                   = 10;
-const int              TE_TELEPORT                                             = 11;
-const int      TE_EXPLOSION2                                   = 12;
+const int       TE_SPIKE                        = 0;
+const int       TE_SUPERSPIKE                   = 1;
+const int       TE_GUNSHOT                      = 2;
+const int       TE_EXPLOSION                    = 3;
+const int       TE_TAREXPLOSION                 = 4;
+const int       TE_LIGHTNING1                   = 5;
+const int       TE_LIGHTNING2                   = 6;
+const int       TE_WIZSPIKE                     = 7;
+const int       TE_KNIGHTSPIKE                  = 8;
+const int       TE_LIGHTNING3                   = 9;
+const int       TE_LAVASPLASH                   = 10;
+const int       TE_TELEPORT                     = 11;
+const int   TE_EXPLOSION2                   = 12;
 // Darkplaces Additions
-const int      TE_EXPLOSIONRGB                                 = 53;
-const int              TE_GUNSHOTQUAD                                  = 57;
-const int              TE_EXPLOSIONQUAD                                = 70;
+const int   TE_EXPLOSIONRGB                 = 53;
+const int       TE_GUNSHOTQUAD                  = 57;
+const int       TE_EXPLOSIONQUAD                = 70;
 
 // Math Constants
-const int      EXTRA_LOW                                               = -99999999;
-const int      EXTRA_HIGH                                              = 99999999;
+const int   EXTRA_LOW                       = -99999999;
+const int   EXTRA_HIGH                      = 99999999;
 
 // Frik File Constants
-const int              FILE_READ                                               = 0;
-const int              FILE_APPEND                                             = 1;
-const int              FILE_WRITE                                              = 2;
+const int       FILE_READ                       = 0;
+const int       FILE_APPEND                     = 1;
+const int       FILE_WRITE                      = 2;
 
 // Button values used by input_buttons
 const int BUTTON_ATTACK = BIT(0);
@@ -123,16 +123,16 @@ const int BUTTON_14 = BIT(16);
 const int BUTTON_15 = BIT(17);
 const int BUTTON_16 = BIT(18);
 
-const int SOLID_NOT            = 0; // no interaction with other objects
-const int SOLID_TRIGGER        = 1; // touch on edge, but not blocking
-const int SOLID_BBOX           = 2; // touch on edge, block
-const int SOLID_SLIDEBOX       = 3; // touch on edge, but not an onground
-const int SOLID_BSP            = 4; // bsp clip, touch on edge, block
-const int SOLID_CORPSE         = 5; // same as SOLID_BBOX, except it behaves as SOLID_NOT against SOLID_SLIDEBOX objects (players/monsters)
+const int SOLID_NOT         = 0; // no interaction with other objects
+const int SOLID_TRIGGER     = 1; // touch on edge, but not blocking
+const int SOLID_BBOX        = 2; // touch on edge, block
+const int SOLID_SLIDEBOX    = 3; // touch on edge, but not an onground
+const int SOLID_BSP         = 4; // bsp clip, touch on edge, block
+const int SOLID_CORPSE  = 5;     // same as SOLID_BBOX, except it behaves as SOLID_NOT against SOLID_SLIDEBOX objects (players/monsters)
 
-const int MOVE_NORMAL = 0; // same as false
-const int MOVE_NOMONSTERS = 1; // same as true
-const int MOVE_MISSILE = 2; // save as movement with .move_movetype == MOVETYPE_FLYMISSILE
+const int MOVE_NORMAL = 0;       // same as false
+const int MOVE_NOMONSTERS = 1;   // same as true
+const int MOVE_MISSILE = 2;      // save as movement with .move_movetype == MOVETYPE_FLYMISSILE
 const int MOVE_HITMODEL = 4;
 const int MOVE_WORLDONLY = 3;
 
index 56a3fb4a549097a12295e15ce5c409b7b7e12cfe..735b591314486b5af38697a9d2fc7b844841197d 100644 (file)
@@ -10,14 +10,14 @@ const int EF_DYNAMICMODELLIGHT = BIT(17);
 const int EF_RESTARTANIM_BIT   = BIT(20);
 const int EF_TELEPORT_BIT      = BIT(21);
 
-const int MF_ROCKET  =  BIT(0);  // leave a trail
-const int MF_GRENADE =  BIT(1);  // leave a trail
-const int MF_GIB     =  BIT(2);  // leave a trail
-const int MF_ROTATE  =  BIT(3);  // rotate (bonus items)
-const int MF_TRACER  =  BIT(4);  // green split trail
-const int MF_ZOMGIB  =  BIT(5);  // small blood trail
-const int MF_TRACER2 =  BIT(6);  // orange split trail
-const int MF_TRACER3 =  BIT(7);  // purple trail
+const int MF_ROCKET  =  BIT(0); // leave a trail
+const int MF_GRENADE =  BIT(1); // leave a trail
+const int MF_GIB     =  BIT(2); // leave a trail
+const int MF_ROTATE  =  BIT(3); // rotate (bonus items)
+const int MF_TRACER  =  BIT(4); // green split trail
+const int MF_ZOMGIB  =  BIT(5); // small blood trail
+const int MF_TRACER2 =  BIT(6); // orange split trail
+const int MF_TRACER3 =  BIT(7); // purple trail
 
 .int csqcmodel_effects;
 .int csqcmodel_modelflags;
index 9bcdd3d6624422a18a245423dc2f44589d6a090c..b347577434440a416013a00a8031c4b1942f91bd 100644 (file)
@@ -25,91 +25,85 @@ Misc HUD functions
 ==================
 */
 
-vector HUD_Get_Num_Color (float hp, float maxvalue)
+vector HUD_Get_Num_Color(float hp, float maxvalue)
 {
        float blinkingamt;
        vector color;
-       if(hp >= maxvalue) {
-               color.x = sin(2*M_PI*time);
+       if (hp >= maxvalue) {
+               color.x = sin(2 * M_PI * time);
                color.y = 1;
-               color.z = sin(2*M_PI*time);
-       }
-       else if(hp > maxvalue * 0.75) {
-               color.x = 0.4 - (hp-150)*0.02 * 0.4; //red value between 0.4 -> 0
-               color.y = 0.9 + (hp-150)*0.02 * 0.1; // green value between 0.9 -> 1
+               color.z = sin(2 * M_PI * time);
+       } else if (hp > maxvalue * 0.75) {
+               color.x = 0.4 - (hp - 150) * 0.02 * 0.4; // red value between 0.4 -> 0
+               color.y = 0.9 + (hp - 150) * 0.02 * 0.1; // green value between 0.9 -> 1
                color.z = 0;
-       }
-       else if(hp > maxvalue * 0.5) {
-               color.x = 1 - (hp-100)*0.02 * 0.6; //red value between 1 -> 0.4
-               color.y = 1 - (hp-100)*0.02 * 0.1; // green value between 1 -> 0.9
-               color.z = 1 - (hp-100)*0.02; // blue value between 1 -> 0
-       }
-       else if(hp > maxvalue * 0.25) {
+       } else if (hp > maxvalue * 0.5) {
+               color.x = 1 - (hp - 100) * 0.02 * 0.6;   // red value between 1 -> 0.4
+               color.y = 1 - (hp - 100) * 0.02 * 0.1;   // green value between 1 -> 0.9
+               color.z = 1 - (hp - 100) * 0.02;         // blue value between 1 -> 0
+       } else if (hp > maxvalue * 0.25) {
                color.x = 1;
                color.y = 1;
-               color.z = 0.2 + (hp-50)*0.02 * 0.8; // blue value between 0.2 -> 1
-       }
-       else if(hp > maxvalue * 0.1) {
+               color.z = 0.2 + (hp - 50) * 0.02 * 0.8;    // blue value between 0.2 -> 1
+       } else if (hp > maxvalue * 0.1) {
                color.x = 1;
-               color.y = (hp-20)*90/27/100; // green value between 0 -> 1
-               color.z = (hp-20)*90/27/100 * 0.2; // blue value between 0 -> 0.2
-       }
-       else {
+               color.y = (hp - 20) * 90 / 27 / 100;       // green value between 0 -> 1
+               color.z = (hp - 20) * 90 / 27 / 100 * 0.2; // blue value between 0 -> 0.2
+       } else {
                color.x = 1;
                color.y = 0;
                color.z = 0;
        }
 
-       blinkingamt = (1 - hp/maxvalue/0.25);
-       if(blinkingamt > 0)
-       {
-               color.x = color.x - color.x * blinkingamt * sin(2*M_PI*time);
-               color.y = color.y - color.y * blinkingamt * sin(2*M_PI*time);
-               color.z = color.z - color.z * blinkingamt * sin(2*M_PI*time);
+       blinkingamt = (1 - hp / maxvalue / 0.25);
+       if (blinkingamt > 0) {
+               color.x = color.x - color.x * blinkingamt * sin(2 * M_PI * time);
+               color.y = color.y - color.y * blinkingamt * sin(2 * M_PI * time);
+               color.z = color.z - color.z * blinkingamt * sin(2 * M_PI * time);
        }
        return color;
 }
 
 float HUD_GetRowCount(int item_count, vector size, float item_aspect)
 {
-    TC(int, item_count);
+       TC(int, item_count);
        float aspect = size_y / size_x;
        return bound(1, floor((sqrt(4 * item_aspect * aspect * item_count + aspect * aspect) + aspect + 0.5) / 2), item_count);
 }
 
 vector HUD_GetTableSize_BestItemAR(int item_count, vector psize, float item_aspect)
 {
-    TC(int, item_count);
+       TC(int, item_count);
        float columns, rows;
        float ratio, best_ratio = 0;
        float best_columns = 1, best_rows = 1;
        bool vertical = (psize.x / psize.y >= item_aspect);
-       if(vertical)
-       {
+       if (vertical) {
                psize = eX * psize.y + eY * psize.x;
                item_aspect = 1 / item_aspect;
        }
 
        rows = ceil(sqrt(item_count));
-       columns = ceil(item_count/rows);
-       while(columns >= 1)
-       {
-               ratio = (psize.x/columns) / (psize.y/rows);
-               if(ratio > item_aspect)
+       columns = ceil(item_count / rows);
+       while (columns >= 1) {
+               ratio = (psize.x / columns) / (psize.y / rows);
+               if (ratio > item_aspect) {
                        ratio = item_aspect * item_aspect / ratio;
+               }
 
-               if(ratio <= best_ratio)
+               if (ratio <= best_ratio) {
                        break; // ratio starts decreasing by now, skip next configurations
-
+               }
                best_columns = columns;
                best_rows = rows;
                best_ratio = ratio;
 
-               if(columns == 1)
+               if (columns == 1) {
                        break;
+               }
 
                --columns;
-               rows = ceil(item_count/columns);
+               rows = ceil(item_count / columns);
        }
 
        return (vertical) ? vec2(best_rows, best_columns) : vec2(best_columns, best_rows);
@@ -124,8 +118,7 @@ HUD panels
 void HUD_Panel_LoadCvars()
 {
        // NOTE: in hud_configure mode cvars must be reloaded every frame
-       if (panel.update_time <= time)
-       {
+       if (panel.update_time <= time) {
                panel_pos = stov(cvar_string(strcat("hud_panel_", panel.panel_name, "_pos")));
                panel_size = stov(cvar_string(strcat("hud_panel_", panel.panel_name, "_size")));
                HUD_Panel_ScalePosSize();
@@ -136,8 +129,7 @@ void HUD_Panel_LoadCvars()
                panel_bg_border_str = cvar_string(strcat("hud_panel_", panel.panel_name, "_bg_border"));
                panel_bg_padding_str = cvar_string(strcat("hud_panel_", panel.panel_name, "_bg_padding"));
                HUD_Panel_GetBg();
-               if (panel.current_panel_bg != "0")
-               {
+               if (panel.current_panel_bg != "0") {
                        HUD_Panel_GetBgAlpha();
                        HUD_Panel_GetBorder();
                }
@@ -147,10 +139,9 @@ void HUD_Panel_LoadCvars()
                HUD_Panel_GetPadding();
                panel.current_panel_bg_alpha = panel_bg_alpha;
                panel.current_panel_fg_alpha = panel_fg_alpha;
-               if (hud_configure_menu_open == 2 && panel == highlightedPanel)
+               if (hud_configure_menu_open == 2 && panel == highlightedPanel) {
                        HUD_Panel_UpdatePosSize_ForMenu();
-               else
-               {
+               } else {
                        panel_bg_alpha *= hud_fade_alpha * panel_fade_alpha;
                        panel_fg_alpha *= hud_fade_alpha * panel_fade_alpha;
                }
@@ -174,44 +165,45 @@ void HUD_Panel_LoadCvars()
        panel_fg_alpha = panel.current_panel_fg_alpha * hud_fade_alpha * panel_fade_alpha;
 }
 
-//basically the same code of draw_ButtonPicture and draw_VertButtonPicture for the menu
+// basically the same code of draw_ButtonPicture and draw_VertButtonPicture for the menu
 void HUD_Panel_DrawProgressBar(vector theOrigin, vector theSize, string pic, float length_ratio, bool vertical, float baralign, vector theColor, float theAlpha, int drawflag)
 {
-    TC(bool, vertical); TC(int, drawflag);
-       if(!length_ratio || !theAlpha)
+       TC(bool, vertical);
+       TC(int, drawflag);
+       if (!length_ratio || !theAlpha) {
                return;
-       if(length_ratio > 1)
+       }
+       if (length_ratio > 1) {
                length_ratio = 1;
-       if (baralign == 3)
-       {
-               if(length_ratio < -1)
-                       length_ratio = -1;
        }
-       else if(length_ratio < 0)
+       if (baralign == 3) {
+               if (length_ratio < -1) {
+                       length_ratio = -1;
+               }
+       } else if (length_ratio < 0) {
                return;
+       }
 
        theOrigin = HUD_Shift(theOrigin);
        theSize = HUD_Scale(theSize);
 
        vector square;
        vector width, height;
-       if(vertical) {
+       if (vertical) {
                pic = strcat(hud_skin_path, "/", pic, "_vertical");
-               if(precache_pic(pic) == "") {
+               if (precache_pic(pic) == "") {
                        pic = "gfx/hud/default/progressbar_vertical";
                }
 
-        if (baralign == 1) // bottom align
+               if (baralign == 1) { // bottom align
                        theOrigin.y += (1 - length_ratio) * theSize.y;
-        else if (baralign == 2) // center align
-            theOrigin.y += 0.5 * (1 - length_ratio) * theSize.y;
-        else if (baralign == 3) // center align, positive values down, negative up
-               {
+               } else if (baralign == 2) { // center align
+                       theOrigin.y += 0.5 * (1 - length_ratio) * theSize.y;
+               } else if (baralign == 3) { // center align, positive values down, negative up
                        theSize.y *= 0.5;
-                       if (length_ratio > 0)
+                       if (length_ratio > 0) {
                                theOrigin.y += theSize.y;
-                       else
-                       {
+                       } else {
                                theOrigin.y += (1 + length_ratio) * theSize.y;
                                length_ratio = -length_ratio;
                        }
@@ -221,17 +213,14 @@ void HUD_Panel_DrawProgressBar(vector theOrigin, vector theSize, string pic, flo
                vector bH;
                width = eX * theSize.x;
                height = eY * theSize.y;
-               if(theSize.y <= theSize.x * 2)
-               {
+               if (theSize.y <= theSize.x * 2) {
                        // button not high enough
                        // draw just upper and lower part then
                        square = eY * theSize.y * 0.5;
                        bH = eY * (0.25 * theSize.y / (theSize.x * 2));
                        drawsubpic(theOrigin,          square + width, pic, '0 0 0', eX + bH, theColor, theAlpha, drawflag);
                        drawsubpic(theOrigin + square, square + width, pic, eY - bH, eX + bH, theColor, theAlpha, drawflag);
-               }
-               else
-               {
+               } else {
                        square = eY * theSize.x;
                        drawsubpic(theOrigin,                   width   +     square, pic, '0 0    0', '1 0.25 0', theColor, theAlpha, drawflag);
                        drawsubpic(theOrigin +          square, theSize - 2 * square, pic, '0 0.25 0', '1 0.5  0', theColor, theAlpha, drawflag);
@@ -239,21 +228,19 @@ void HUD_Panel_DrawProgressBar(vector theOrigin, vector theSize, string pic, flo
                }
        } else {
                pic = strcat(hud_skin_path, "/", pic);
-               if(precache_pic(pic) == "") {
+               if (precache_pic(pic) == "") {
                        pic = "gfx/hud/default/progressbar";
                }
 
-               if (baralign == 1) // right align
+               if (baralign == 1) // right align
                        theOrigin.x += (1 - length_ratio) * theSize.x;
-        else if (baralign == 2) // center align
-            theOrigin.x += 0.5 * (1 - length_ratio) * theSize.x;
-        else if (baralign == 3) // center align, positive values on the right, negative on the left
-               {
+               } else if (baralign == 2) { // center align
+                       theOrigin.x += 0.5 * (1 - length_ratio) * theSize.x;
+               } else if (baralign == 3) { // center align, positive values on the right, negative on the left
                        theSize.x *= 0.5;
-                       if (length_ratio > 0)
+                       if (length_ratio > 0) {
                                theOrigin.x += theSize.x;
-                       else
-                       {
+                       } else {
                                theOrigin.x += (1 + length_ratio) * theSize.x;
                                length_ratio = -length_ratio;
                        }
@@ -263,17 +250,14 @@ void HUD_Panel_DrawProgressBar(vector theOrigin, vector theSize, string pic, flo
                vector bW;
                width = eX * theSize.x;
                height = eY * theSize.y;
-               if(theSize.x <= theSize.y * 2)
-               {
+               if (theSize.x <= theSize.y * 2) {
                        // button not wide enough
                        // draw just left and right part then
                        square = eX * theSize.x * 0.5;
                        bW = eX * (0.25 * theSize.x / (theSize.y * 2));
                        drawsubpic(theOrigin,          square + height, pic, '0 0 0', eY + bW, theColor, theAlpha, drawflag);
                        drawsubpic(theOrigin + square, square + height, pic, eX - bW, eY + bW, theColor, theAlpha, drawflag);
-               }
-               else
-               {
+               } else {
                        square = eX * theSize.y;
                        drawsubpic(theOrigin,                  height  +     square, pic, '0    0 0', '0.25 1 0', theColor, theAlpha, drawflag);
                        drawsubpic(theOrigin +         square, theSize - 2 * square, pic, '0.25 0 0', '0.5  1 0', theColor, theAlpha, drawflag);
@@ -284,57 +268,53 @@ void HUD_Panel_DrawProgressBar(vector theOrigin, vector theSize, string pic, flo
 
 void HUD_Panel_DrawHighlight(vector pos, vector mySize, vector color, float theAlpha, int drawflag)
 {
-    TC(int, drawflag);
-       if(!theAlpha)
+       TC(int, drawflag);
+       if (!theAlpha) {
                return;
+       }
 
        pos = HUD_Shift(pos);
        mySize = HUD_Scale(mySize);
 
        string pic;
        pic = strcat(hud_skin_path, "/num_leading");
-       if(precache_pic(pic) == "") {
+       if (precache_pic(pic) == "") {
                pic = "gfx/hud/default/num_leading";
        }
 
        drawsubpic(pos, eX * min(mySize.x * 0.5, mySize.y) + eY * mySize.y, pic, '0 0 0', '0.25 1 0', color, theAlpha, drawflag);
-       if(mySize.x/mySize.y > 2)
+       if (mySize.x / mySize.y > 2) {
                drawsubpic(pos + eX * mySize.y, eX * (mySize.x - 2 * mySize.y) + eY * mySize.y, pic, '0.25 0 0', '0.5 1 0', color, theAlpha, drawflag);
+       }
        drawsubpic(pos + eX * mySize.x - eX * min(mySize.x * 0.5, mySize.y), eX * min(mySize.x * 0.5, mySize.y) + eY * mySize.y, pic, '0.75 0 0', '0.25 1 0', color, theAlpha, drawflag);
 }
 
 void DrawNumIcon_expanding(vector myPos, vector mySize, float theTime, string icon, bool vertical, int icon_right_align, vector color, float theAlpha, float fadelerp)
 {
-    TC(bool, vertical); TC(int, icon_right_align);
+       TC(bool, vertical);
+       TC(int, icon_right_align);
        vector newPos = '0 0 0', newSize = '0 0 0';
        vector picpos, numpos;
 
-       if (vertical)
-       {
-               if(mySize.y/mySize.x > 2)
-               {
+       if (vertical) {
+               if (mySize.y / mySize.x > 2) {
                        newSize.y = 2 * mySize.x;
                        newSize.x = mySize.x;
 
                        newPos.y = myPos.y + (mySize.y - newSize.y) / 2;
                        newPos.x = myPos.x;
-               }
-               else
-               {
-                       newSize.x = 1/2 * mySize.y;
+               } else {
+                       newSize.x = 1 / 2 * mySize.y;
                        newSize.y = mySize.y;
 
                        newPos.x = myPos.x + (mySize.x - newSize.x) / 2;
                        newPos.y = myPos.y;
                }
 
-               if(icon_right_align)
-               {
+               if (icon_right_align) {
                        numpos = newPos;
                        picpos = newPos + eY * newSize.x;
-               }
-               else
-               {
+               } else {
                        picpos = newPos;
                        numpos = newPos + eY * newSize.x;
                }
@@ -349,30 +329,24 @@ void DrawNumIcon_expanding(vector myPos, vector mySize, float theTime, string ic
                return;
        }
 
-       if(mySize.x/mySize.y > 3)
-       {
+       if (mySize.x / mySize.y > 3) {
                newSize.x = 3 * mySize.y;
                newSize.y = mySize.y;
 
                newPos.x = myPos.x + (mySize.x - newSize.x) / 2;
                newPos.y = myPos.y;
-       }
-       else
-       {
-               newSize.y = 1/3 * mySize.x;
+       } else {
+               newSize.y = 1 / 3 * mySize.x;
                newSize.x = mySize.x;
 
                newPos.y = myPos.y + (mySize.y - newSize.y) / 2;
                newPos.x = myPos.x;
        }
 
-       if(icon_right_align) // right align
-       {
+       if (icon_right_align) { // right align
                numpos = newPos;
                picpos = newPos + eX * 2 * newSize.y;
-       }
-       else // left align
-       {
+       } else { // left align
                numpos = newPos + eX * newSize.y;
                picpos = newPos;
        }
@@ -385,7 +359,8 @@ void DrawNumIcon_expanding(vector myPos, vector mySize, float theTime, string ic
 
 void DrawNumIcon(vector myPos, vector mySize, float theTime, string icon, bool vertical, int icon_right_align, vector color, float theAlpha)
 {
-    TC(bool, vertical); TC(int, icon_right_align);
+       TC(bool, vertical);
+       TC(int, icon_right_align);
        DrawNumIcon_expanding(myPos, mySize, theTime, icon, vertical, icon_right_align, color, theAlpha, 0);
 }
 
@@ -399,12 +374,12 @@ void CSQC_BUMBLE_GUN_HUD();
 
 void HUD_Vehicle()
 {
-       if(autocvar__hud_configure) return;
-       if(intermission == 2) return;
+       if (autocvar__hud_configure) { return; }
+       if (intermission == 2) { return; }
 
-       if(hud == HUD_BUMBLEBEE_GUN)
+       if (hud == HUD_BUMBLEBEE_GUN) {
                CSQC_BUMBLE_GUN_HUD();
-       else {
+       else {
                Vehicle info = Vehicles_from(hud);
                info.vr_hud(info);
        }
@@ -413,10 +388,10 @@ void HUD_Vehicle()
 void HUD_Panel_Draw(entity panent)
 {
        panel = panent;
-       if (autocvar__hud_configure)
-       {
-               if (!(panel.panel_configflags & PANEL_CONFIG_MAIN))
+       if (autocvar__hud_configure) {
+               if (!(panel.panel_configflags & PANEL_CONFIG_MAIN)) {
                        return;
+               }
                panel_fade_alpha = 1;
                Hud_Panel_GetPanelEnabled();
                panel.panel_draw();
@@ -424,28 +399,26 @@ void HUD_Panel_Draw(entity panent)
        }
 
        bool draw_allowed = false;
-       if (active_minigame && HUD_MinigameMenu_IsOpened())
-       {
-               if (panel.panel_showflags & PANEL_SHOW_MINIGAME)
+       if (active_minigame && HUD_MinigameMenu_IsOpened()) {
+               if (panel.panel_showflags & PANEL_SHOW_MINIGAME) {
                        draw_allowed = true;
-       }
-       else if(intermission == 2)
-       {
-               if(panel.panel_showflags & PANEL_SHOW_MAPVOTE)
+               }
+       } else if (intermission == 2) {
+               if (panel.panel_showflags & PANEL_SHOW_MAPVOTE) {
                        draw_allowed = true;
-       }
-       else if (panel.panel_showflags & PANEL_SHOW_MAINGAME)
+               }
+       } else if (panel.panel_showflags & PANEL_SHOW_MAINGAME) {
                draw_allowed = true;
+       }
 
-       if (draw_allowed)
-       {
-               if (panel.panel_showflags & PANEL_SHOW_WITH_SB)
+       if (draw_allowed) {
+               if (panel.panel_showflags & PANEL_SHOW_WITH_SB) {
                        panel_fade_alpha = 1;
-               else
-               {
+               } else {
                        panel_fade_alpha = 1 - scoreboard_fade_alpha;
-                       if(!panel_fade_alpha)
+                       if (!panel_fade_alpha) {
                                return;
+                       }
                }
                panel.panel_draw();
        }
@@ -454,30 +427,33 @@ void HUD_Panel_Draw(entity panent)
 void HUD_Reset()
 {
        // reset gametype specific icons
-       if(gametype.m_modicons_reset)
+       if (gametype.m_modicons_reset) {
                gametype.m_modicons_reset();
+       }
 }
 
 float autocvar_hud_dynamic_shake = 1;
 float autocvar_hud_dynamic_shake_damage_max = 130;
 float autocvar_hud_dynamic_shake_damage_min = 10;
 float autocvar_hud_dynamic_shake_scale = 0.2;
-float hud_dynamic_shake_x[10] = {0,    1, -0.7,  0.5, -0.3,  0.2, -0.1,  0.1,  0.0, 0};
-float hud_dynamic_shake_y[10] = {0,  0.4,  0.8, -0.2, -0.6,  0.0,  0.3,  0.1, -0.1, 0};
+float hud_dynamic_shake_x[10] = { 0,    1, -0.7,  0.5, -0.3,  0.2, -0.1,  0.1,  0.0, 0 };
+float hud_dynamic_shake_y[10] = { 0,  0.4,  0.8, -0.2, -0.6,  0.0,  0.3,  0.1, -0.1, 0 };
 bool Hud_Shake_Update()
 {
-       if(time - hud_dynamic_shake_time < 0)
+       if (time - hud_dynamic_shake_time < 0) {
                return false;
+       }
 
        float anim_speed = 17 + 9 * hud_dynamic_shake_factor;
        float elapsed_time = (time - hud_dynamic_shake_time) * anim_speed;
        int i = floor(elapsed_time);
-       if(i >= 9)
+       if (i >= 9) {
                return false;
+       }
 
        float f = elapsed_time - i;
-       hud_dynamic_shake_realofs.x = (1 - f) * hud_dynamic_shake_x[i] + f * hud_dynamic_shake_x[i+1];
-       hud_dynamic_shake_realofs.y = (1 - f) * hud_dynamic_shake_y[i] + f * hud_dynamic_shake_y[i+1];
+       hud_dynamic_shake_realofs.x = (1 - f) * hud_dynamic_shake_x[i] + f * hud_dynamic_shake_x[i + 1];
+       hud_dynamic_shake_realofs.y = (1 - f) * hud_dynamic_shake_y[i] + f * hud_dynamic_shake_y[i + 1];
        hud_dynamic_shake_realofs.z = 0;
        hud_dynamic_shake_realofs *= hud_dynamic_shake_factor * autocvar_hud_dynamic_shake_scale;
        hud_dynamic_shake_realofs.x = bound(-0.1, hud_dynamic_shake_realofs.x, 0.1) * vid_conwidth;
@@ -493,8 +469,7 @@ void Hud_Dynamic_Frame()
        hud_scale_current = '1 1 0';
        hud_shift_current = '0 0 0';
 
-       if (autocvar_hud_dynamic_follow)
-       {
+       if (autocvar_hud_dynamic_follow) {
                entity view = CSQCModel_server2csqc(player_localentnum - 1);
                calc_followmodel_ofs(view);
                ofs = -cl_followmodel_ofs * autocvar_hud_dynamic_follow_scale;
@@ -502,9 +477,9 @@ void Hud_Dynamic_Frame()
                ofs.y *= autocvar_hud_dynamic_follow_scale_xyz.x;
                ofs.z *= autocvar_hud_dynamic_follow_scale_xyz.y;
 
-               if (fabs(ofs.x) < 0.001) ofs.x = 0;
-               if (fabs(ofs.y) < 0.001) ofs.y = 0;
-               if (fabs(ofs.z) < 0.001) ofs.z = 0;
+               if (fabs(ofs.x) < 0.001) { ofs.x = 0; }
+               if (fabs(ofs.y) < 0.001) { ofs.y = 0; }
+               if (fabs(ofs.z) < 0.001) { ofs.z = 0; }
                ofs.x = bound(-0.1, ofs.x, 0.1);
                ofs.y = bound(-0.1, ofs.y, 0.1);
                ofs.z = bound(-0.1, ofs.z, 0.1);
@@ -517,40 +492,36 @@ void Hud_Dynamic_Frame()
                hud_scale_current.y = hud_scale_current.x;
        }
 
-       if(autocvar_hud_dynamic_shake > 0)
-       {
+       if (autocvar_hud_dynamic_shake > 0) {
                static float old_health = 0;
                float health = max(-1, STAT(HEALTH));
-               if(hud_dynamic_shake_factor == -1) // don't allow the effect for this frame
-               {
+               if (hud_dynamic_shake_factor == -1) { // don't allow the effect for this frame
                        hud_dynamic_shake_factor = 0;
                        old_health = health;
-               }
-               else
-               {
+               } else {
                        float new_hud_dynamic_shake_factor = 0;
                        if (old_health - health >= autocvar_hud_dynamic_shake_damage_min
                                && autocvar_hud_dynamic_shake_damage_max > autocvar_hud_dynamic_shake_damage_min
-                               && old_health > 0 && !intermission)
-                       {
+                               && old_health > 0 && !intermission) {
                                float m = max(autocvar_hud_dynamic_shake_damage_min, 1);
                                new_hud_dynamic_shake_factor = (old_health - health - m) / (autocvar_hud_dynamic_shake_damage_max - m);
-                               if(new_hud_dynamic_shake_factor >= 1)
+                               if (new_hud_dynamic_shake_factor >= 1) {
                                        new_hud_dynamic_shake_factor = 1;
-                               if(new_hud_dynamic_shake_factor >= hud_dynamic_shake_factor)
-                               {
+                               }
+                               if (new_hud_dynamic_shake_factor >= hud_dynamic_shake_factor) {
                                        hud_dynamic_shake_factor = new_hud_dynamic_shake_factor;
                                        hud_dynamic_shake_time = time;
                                }
                        }
                        old_health = health;
-                       if(hud_dynamic_shake_factor)
-                               if(!Hud_Shake_Update())
+                       if (hud_dynamic_shake_factor) {
+                               if (!Hud_Shake_Update()) {
                                        hud_dynamic_shake_factor = 0;
+                               }
+                       }
                }
 
-               if(hud_dynamic_shake_factor > 0)
-               {
+               if (hud_dynamic_shake_factor > 0) {
                        hud_shift_current.x += hud_dynamic_shake_realofs.x;
                        hud_shift_current.y += hud_dynamic_shake_realofs.y;
                }
@@ -565,63 +536,63 @@ void Hud_Dynamic_Frame()
 void HUD_Main()
 {
        int i;
-       if(hud_configure_menu_open == 1)
+       if (hud_configure_menu_open == 1) {
                hud_fade_alpha = 1;
-       else
+       } else {
                hud_fade_alpha = 1 - autocvar__menu_alpha;
+       }
 
        HUD_Configure_Frame();
 
-       if(scoreboard_fade_alpha == 1)
-               if(autocvar__menu_alpha == 1)
+       if (scoreboard_fade_alpha == 1) {
+               if (autocvar__menu_alpha == 1) {
                        return;
+               }
+       }
 
        // Drawing stuff
-       if (hud_skin_prev != autocvar_hud_skin)
-       {
-               if (hud_skin_path)
+       if (hud_skin_prev != autocvar_hud_skin) {
+               if (hud_skin_path) {
                        strunzone(hud_skin_path);
+               }
                hud_skin_path = strzone(strcat("gfx/hud/", autocvar_hud_skin));
-               if (hud_skin_prev)
+               if (hud_skin_prev) {
                        strunzone(hud_skin_prev);
+               }
                hud_skin_prev = strzone(autocvar_hud_skin);
        }
 
        // draw the dock
-       if(autocvar_hud_dock != "" && autocvar_hud_dock != "0")
-       {
+       if (autocvar_hud_dock != "" && autocvar_hud_dock != "0") {
                int f;
                vector color;
                float hud_dock_color_team = autocvar_hud_dock_color_team;
-               if((teamplay) && hud_dock_color_team) {
-                       if(autocvar__hud_configure && myteam == NUM_SPECTATOR)
+               if ((teamplay) && hud_dock_color_team) {
+                       if (autocvar__hud_configure && myteam == NUM_SPECTATOR) {
                                color = '1 0 0' * hud_dock_color_team;
-                       else
+                       } else {
                                color = myteamcolors * hud_dock_color_team;
-               }
-               else if(autocvar_hud_configure_teamcolorforced && autocvar__hud_configure && hud_dock_color_team) {
+                       }
+               } else if (autocvar_hud_configure_teamcolorforced && autocvar__hud_configure && hud_dock_color_team) {
                        color = '1 0 0' * hud_dock_color_team;
-               }
-               else
-               {
+               } else {
                        string hud_dock_color = autocvar_hud_dock_color;
-                       if(hud_dock_color == "shirt") {
+                       if (hud_dock_color == "shirt") {
                                f = entcs_GetClientColors(current_player);
                                color = colormapPaletteColor(floor(f / 16), 0);
-                       }
-                       else if(hud_dock_color == "pants") {
+                       } else if (hud_dock_color == "pants") {
                                f = entcs_GetClientColors(current_player);
                                color = colormapPaletteColor(f % 16, 1);
-                       }
-                       else
+                       } else {
                                color = stov(hud_dock_color);
+                       }
                }
 
                string pic;
                pic = strcat(hud_skin_path, "/", autocvar_hud_dock);
-               if(precache_pic(pic) == "") {
+               if (precache_pic(pic) == "") {
                        pic = strcat(hud_skin_path, "/dock_medium");
-                       if(precache_pic(pic) == "") {
+                       if (precache_pic(pic) == "") {
                                pic = "gfx/hud/default/dock_medium";
                        }
                }
@@ -629,66 +600,76 @@ void HUD_Main()
        }
 
        // cache the panel order into the panel_order array
-       if(autocvar__hud_panelorder != hud_panelorder_prev) {
-               for(i = 0; i < hud_panels_COUNT; ++i)
+       if (autocvar__hud_panelorder != hud_panelorder_prev) {
+               for (i = 0; i < hud_panels_COUNT; ++i) {
                        panel_order[i] = -1;
+               }
                string s = "";
                int p_num;
                bool warning = false;
                int argc = tokenize_console(autocvar__hud_panelorder);
-               if (argc > hud_panels_COUNT)
+               if (argc > hud_panels_COUNT) {
                        warning = true;
-               //first detect wrong/missing panel numbers
-               for(i = 0; i < hud_panels_COUNT; ++i) {
+               }
+               // first detect wrong/missing panel numbers
+               for (i = 0; i < hud_panels_COUNT; ++i) {
                        p_num = stoi(argv(i));
-                       if (p_num >= 0 && p_num < hud_panels_COUNT) { //correct panel number?
-                               if (panel_order[p_num] == -1) //found for the first time?
+                       if (p_num >= 0 && p_num < hud_panels_COUNT) { // correct panel number?
+                               if (panel_order[p_num] == -1) { // found for the first time?
                                        s = strcat(s, ftos(p_num), " ");
-                               panel_order[p_num] = 1; //mark as found
-                       }
-                       else
+                               }
+                               panel_order[p_num] = 1; // mark as found
+                       } else {
                                warning = true;
+                       }
                }
-               for(i = 0; i < hud_panels_COUNT; ++i) {
+               for (i = 0; i < hud_panels_COUNT; ++i) {
                        if (panel_order[i] == -1) {
                                warning = true;
-                               s = strcat(s, ftos(i), " "); //add missing panel number
+                               s = strcat(s, ftos(i), " "); // add missing panel number
                        }
                }
-               if (warning)
+               if (warning) {
                        LOG_TRACE("Automatically fixed wrong/missing panel numbers in _hud_panelorder");
+               }
 
                cvar_set("_hud_panelorder", s);
-               if(hud_panelorder_prev)
+               if (hud_panelorder_prev) {
                        strunzone(hud_panelorder_prev);
+               }
                hud_panelorder_prev = strzone(s);
 
-               //now properly set panel_order
+               // now properly set panel_order
                tokenize_console(s);
-               for(i = 0; i < hud_panels_COUNT; ++i) {
+               for (i = 0; i < hud_panels_COUNT; ++i) {
                        panel_order[i] = stof(argv(i));
                }
        }
 
        hud_draw_maximized = 0;
        // draw panels in the order specified by panel_order array
-       for(i = hud_panels_COUNT - 1; i >= 0; --i)
+       for (i = hud_panels_COUNT - 1; i >= 0; --i) {
                HUD_Panel_Draw(hud_panels_from(panel_order[i]));
+       }
 
        HUD_Vehicle();
 
        hud_draw_maximized = 1; // panels that may be maximized must check this var
        // draw maximized panels on top
-       if(hud_panel_radar_maximized)
+       if (hud_panel_radar_maximized) {
                HUD_Panel_Draw(HUD_PANEL(RADAR));
-       if(autocvar__con_chat_maximized)
+       }
+       if (autocvar__con_chat_maximized) {
                HUD_Panel_Draw(HUD_PANEL(CHAT));
-       if(hud_panel_quickmenu)
+       }
+       if (hud_panel_quickmenu) {
                HUD_Panel_Draw(HUD_PANEL(QUICKMENU));
+       }
        HUD_Panel_Draw(HUD_PANEL(SCOREBOARD));
 
-       if (intermission == 2)
+       if (intermission == 2) {
                HUD_Reset();
+       }
 
        HUD_Configure_PostDraw();
 
index ec07ee4095a30e3c1c462f25fae034882e87b123..91dd84900917bb6f0612f707e0790b52490d579d 100644 (file)
@@ -16,8 +16,7 @@ void HUD_Panel_ExportCfg(string cfgname)
        string filename = strcat("hud_", autocvar_hud_skin, "_", cfgname, ".cfg");
        string str = "";
        fh = fopen(filename, FILE_WRITE);
-       if(fh >= 0)
-       {
+       if (fh >= 0) {
                HUD_Write("//title \n");
                HUD_Write("//author \n");
                HUD_Write("\n");
@@ -61,8 +60,7 @@ void HUD_Panel_ExportCfg(string cfgname)
                HUD_Write("\n");
 
                // common cvars for all panels
-               for (int i = 0; i < hud_panels_COUNT; ++i)
-               {
+               for (int i = 0; i < hud_panels_COUNT; ++i) {
                        panel = hud_panels_from(i);
 
                        HUD_Write_PanelCvar("_pos");
@@ -73,7 +71,7 @@ void HUD_Panel_ExportCfg(string cfgname)
                        HUD_Write_PanelCvar("_bg_alpha");
                        HUD_Write_PanelCvar("_bg_border");
                        HUD_Write_PanelCvar("_bg_padding");
-                       switch(panel) {
+                       switch (panel) {
                                case HUD_PANEL_WEAPONS:
                                        HUD_Write_Cvar("hud_panel_weapons_accuracy");
                                        HUD_Write_Cvar("hud_panel_weapons_label");
@@ -241,15 +239,14 @@ void HUD_Panel_ExportCfg(string cfgname)
 
                LOG_INFOF(_("^2Successfully exported to %s! (Note: It's saved in data/data/)"), filename);
                fclose(fh);
-       }
-       else
+       } else {
                LOG_INFOF(_("^1Couldn't write to %s"), filename);
+       }
 }
 
 void HUD_Configure_Exit_Force()
 {
-       if (hud_configure_menu_open)
-       {
+       if (hud_configure_menu_open) {
                hud_configure_menu_open = 0;
                localcmd("togglemenu\n");
        }
@@ -264,23 +261,27 @@ vector HUD_Panel_CheckMove(vector myPos, vector mySize)
        int i;
        for (i = 0; i < hud_panels_COUNT; ++i) {
                panel = hud_panels_from(i);
-               if(!(panel.panel_configflags & PANEL_CONFIG_MAIN)) continue;
-               if(panel == highlightedPanel) continue;
+               if (!(panel.panel_configflags & PANEL_CONFIG_MAIN)) { continue; }
+               if (panel == highlightedPanel) { continue; }
                HUD_Panel_UpdatePosSize();
-               if(!panel_enabled) continue;
+               if (!panel_enabled) { continue; }
 
                panel_pos -= '1 1 0' * panel_bg_border;
                panel_size += '2 2 0' * panel_bg_border;
 
-               if(myPos.y + mySize.y < panel_pos.y)
+               if (myPos.y + mySize.y < panel_pos.y) {
                        continue;
-               if(myPos.y > panel_pos.y + panel_size.y)
+               }
+               if (myPos.y > panel_pos.y + panel_size.y) {
                        continue;
+               }
 
-               if(myPos.x + mySize.x < panel_pos.x)
+               if (myPos.x + mySize.x < panel_pos.x) {
                        continue;
-               if(myPos.x > panel_pos.x + panel_size.x)
+               }
+               if (myPos.x > panel_pos.x + panel_size.x) {
                        continue;
+               }
 
                // OK, there IS a collision.
 
@@ -290,36 +291,33 @@ vector HUD_Panel_CheckMove(vector myPos, vector mySize)
                targCenter.x = panel_pos.x + 0.5 * panel_size.x;
                targCenter.y = panel_pos.y + 0.5 * panel_size.y;
 
-               if(myCenter.x < targCenter.x && myCenter.y < targCenter.y) // top left (of the target panel)
-               {
-                       if(myPos.x + mySize.x - panel_pos.x < myPos.y + mySize.y - panel_pos.y) // push it to the side
+               if (myCenter.x < targCenter.x && myCenter.y < targCenter.y) { // top left (of the target panel)
+                       if (myPos.x + mySize.x - panel_pos.x < myPos.y + mySize.y - panel_pos.y) { // push it to the side
                                myTarget.x = panel_pos.x - mySize.x;
-                       else // push it upwards
+                       } else { // push it upwards
                                myTarget.y = panel_pos.y - mySize.y;
-               }
-               else if(myCenter.x > targCenter.x && myCenter.y < targCenter.y) // top right
-               {
-                       if(panel_pos.x + panel_size.x - myPos.x < myPos.y + mySize.y - panel_pos.y) // push it to the side
+                       }
+               } else if (myCenter.x > targCenter.x && myCenter.y < targCenter.y) { // top right
+                       if (panel_pos.x + panel_size.x - myPos.x < myPos.y + mySize.y - panel_pos.y) { // push it to the side
                                myTarget.x = panel_pos.x + panel_size.x;
-                       else // push it upwards
+                       } else { // push it upwards
                                myTarget.y = panel_pos.y - mySize.y;
-               }
-               else if(myCenter.x < targCenter.x && myCenter.y > targCenter.y) // bottom left
-               {
-                       if(myPos.x + mySize.x - panel_pos.x < panel_pos.y + panel_size.y - myPos.y) // push it to the side
+                       }
+               } else if (myCenter.x < targCenter.x && myCenter.y > targCenter.y) { // bottom left
+                       if (myPos.x + mySize.x - panel_pos.x < panel_pos.y + panel_size.y - myPos.y) { // push it to the side
                                myTarget.x = panel_pos.x - mySize.x;
-                       else // push it downwards
+                       } else { // push it downwards
                                myTarget.y = panel_pos.y + panel_size.y;
-               }
-               else if(myCenter.x > targCenter.x && myCenter.y > targCenter.y) // bottom right
-               {
-                       if(panel_pos.x + panel_size.x - myPos.x < panel_pos.y + panel_size.y - myPos.y) // push it to the side
+                       }
+               } else if (myCenter.x > targCenter.x && myCenter.y > targCenter.y) { // bottom right
+                       if (panel_pos.x + panel_size.x - myPos.x < panel_pos.y + panel_size.y - myPos.y) { // push it to the side
                                myTarget.x = panel_pos.x + panel_size.x;
-                       else // push it downwards
+                       } else { // push it downwards
                                myTarget.y = panel_pos.y + panel_size.y;
+                       }
                }
-               //if(cvar("hud_configure_checkcollisions_debug"))
-                       //drawfill(panel_pos, panel_size, '1 1 0', .3, DRAWFLAG_NORMAL);
+               // if(cvar("hud_configure_checkcollisions_debug"))
+               // drawfill(panel_pos, panel_size, '1 1 0', .3, DRAWFLAG_NORMAL);
        }
 
        return myTarget;
@@ -332,39 +330,40 @@ void HUD_Panel_SetPos(vector pos)
        vector mySize;
        mySize = panel_size;
 
-       //if(cvar("hud_configure_checkcollisions_debug"))
-               //drawfill(pos, mySize, '1 1 1', .2, DRAWFLAG_NORMAL);
+       // if(cvar("hud_configure_checkcollisions_debug"))
+       // drawfill(pos, mySize, '1 1 1', .2, DRAWFLAG_NORMAL);
 
-       if(autocvar_hud_configure_grid)
-       {
-               pos.x = floor((pos.x/vid_conwidth)/hud_configure_gridSize.x + 0.5) * hud_configure_realGridSize.x;
-               pos.y = floor((pos.y/vid_conheight)/hud_configure_gridSize.y + 0.5) * hud_configure_realGridSize.y;
+       if (autocvar_hud_configure_grid) {
+               pos.x = floor((pos.x / vid_conwidth) / hud_configure_gridSize.x + 0.5) * hud_configure_realGridSize.x;
+               pos.y = floor((pos.y / vid_conheight) / hud_configure_gridSize.y + 0.5) * hud_configure_realGridSize.y;
        }
 
-       if(hud_configure_checkcollisions)
+       if (hud_configure_checkcollisions) {
                pos = HUD_Panel_CheckMove(pos, mySize);
+       }
 
        pos.x = bound(0, pos.x, vid_conwidth - mySize.x);
        pos.y = bound(0, pos.y, vid_conheight - mySize.y);
 
        string s;
-       s = strcat(ftos(pos.x/vid_conwidth), " ", ftos(pos.y/vid_conheight));
+       s = strcat(ftos(pos.x / vid_conwidth), " ", ftos(pos.y / vid_conheight));
 
        cvar_set(strcat("hud_panel_", highlightedPanel.panel_name, "_pos"), s);
 }
 
 // check if resize will result in panel being moved into another panel. If so, return snapped vector, otherwise return the given vector
-vector HUD_Panel_CheckResize(vector mySize, vector resizeorigin) {
+vector HUD_Panel_CheckResize(vector mySize, vector resizeorigin)
+{
        vector targEndPos;
        vector dist;
-       float ratio = mySize.x/mySize.y;
+       float ratio = mySize.x / mySize.y;
        int i;
        for (i = 0; i < hud_panels_COUNT; ++i) {
                panel = hud_panels_from(i);
-               if(!(panel.panel_configflags & PANEL_CONFIG_MAIN)) continue;
-               if(panel == highlightedPanel) continue;
+               if (!(panel.panel_configflags & PANEL_CONFIG_MAIN)) { continue; }
+               if (panel == highlightedPanel) { continue; }
                HUD_Panel_UpdatePosSize();
-               if(!panel_enabled) continue;
+               if (!panel_enabled) { continue; }
 
                panel_pos -= '1 1 0' * panel_bg_border;
                panel_size += '2 2 0' * panel_bg_border;
@@ -372,20 +371,24 @@ vector HUD_Panel_CheckResize(vector mySize, vector resizeorigin) {
                targEndPos = panel_pos + panel_size;
 
                // resizeorigin is WITHIN target panel, just abort any collision testing against that particular panel to produce expected behaviour!
-               if(resizeorigin.x > panel_pos.x && resizeorigin.x < targEndPos.x && resizeorigin.y > panel_pos.y && resizeorigin.y < targEndPos.y)
+               if (resizeorigin.x > panel_pos.x && resizeorigin.x < targEndPos.x && resizeorigin.y > panel_pos.y && resizeorigin.y < targEndPos.y) {
                        continue;
+               }
 
-               if (resizeCorner == 1)
-               {
+               if (resizeCorner == 1) {
                        // check if this panel is on our way
-                       if (resizeorigin.x <= panel_pos.x)
+                       if (resizeorigin.x <= panel_pos.x) {
                                continue;
-                       if (resizeorigin.y <= panel_pos.y)
+                       }
+                       if (resizeorigin.y <= panel_pos.y) {
                                continue;
-                       if (targEndPos.x <= resizeorigin.x - mySize.x)
+                       }
+                       if (targEndPos.x <= resizeorigin.x - mySize.x) {
                                continue;
-                       if (targEndPos.y <= resizeorigin.y - mySize.y)
+                       }
+                       if (targEndPos.y <= resizeorigin.y - mySize.y) {
                                continue;
+                       }
 
                        // there is a collision:
                        // detect which side of the panel we are facing is actually limiting the resizing
@@ -395,67 +398,77 @@ vector HUD_Panel_CheckResize(vector mySize, vector resizeorigin) {
                        // in this case between resizeorigin (bottom-right point) and the bottom-right point of the panel
                        dist.x = resizeorigin.x - targEndPos.x;
                        dist.y = resizeorigin.y - targEndPos.y;
-                       if (dist.y <= 0 || dist.x / dist.y > ratio)
+                       if (dist.y <= 0 || dist.x / dist.y > ratio) {
                                mySize.x = min(mySize.x, dist.x);
-                       else
+                       } else {
                                mySize.y = min(mySize.y, dist.y);
-               }
-               else if (resizeCorner == 2)
-               {
-                       if (resizeorigin.x >= targEndPos.x)
+                       }
+               } else if (resizeCorner == 2) {
+                       if (resizeorigin.x >= targEndPos.x) {
                                continue;
-                       if (resizeorigin.y <= panel_pos.y)
+                       }
+                       if (resizeorigin.y <= panel_pos.y) {
                                continue;
-                       if (panel_pos.x >= resizeorigin.x + mySize.x)
+                       }
+                       if (panel_pos.x >= resizeorigin.x + mySize.x) {
                                continue;
-                       if (targEndPos.y <= resizeorigin.y - mySize.y)
+                       }
+                       if (targEndPos.y <= resizeorigin.y - mySize.y) {
                                continue;
+                       }
 
                        dist.x = panel_pos.x - resizeorigin.x;
                        dist.y = resizeorigin.y - targEndPos.y;
-                       if (dist.y <= 0 || dist.x / dist.y > ratio)
+                       if (dist.y <= 0 || dist.x / dist.y > ratio) {
                                mySize.x = min(mySize.x, dist.x);
-                       else
+                       } else {
                                mySize.y = min(mySize.y, dist.y);
-               }
-               else if (resizeCorner == 3)
-               {
-                       if (resizeorigin.x <= panel_pos.x)
+                       }
+               } else if (resizeCorner == 3) {
+                       if (resizeorigin.x <= panel_pos.x) {
                                continue;
-                       if (resizeorigin.y >= targEndPos.y)
+                       }
+                       if (resizeorigin.y >= targEndPos.y) {
                                continue;
-                       if (targEndPos.x <= resizeorigin.x - mySize.x)
+                       }
+                       if (targEndPos.x <= resizeorigin.x - mySize.x) {
                                continue;
-                       if (panel_pos.y >= resizeorigin.y + mySize.y)
+                       }
+                       if (panel_pos.y >= resizeorigin.y + mySize.y) {
                                continue;
+                       }
 
                        dist.x = resizeorigin.x - targEndPos.x;
                        dist.y = panel_pos.y - resizeorigin.y;
-                       if (dist.y <= 0 || dist.x / dist.y > ratio)
+                       if (dist.y <= 0 || dist.x / dist.y > ratio) {
                                mySize.x = min(mySize.x, dist.x);
-                       else
+                       } else {
                                mySize.y = min(mySize.y, dist.y);
-               }
-               else if (resizeCorner == 4)
-               {
-                       if (resizeorigin.x >= targEndPos.x)
+                       }
+               } else if (resizeCorner == 4) {
+                       if (resizeorigin.x >= targEndPos.x) {
                                continue;
-                       if (resizeorigin.y >= targEndPos.y)
+                       }
+                       if (resizeorigin.y >= targEndPos.y) {
                                continue;
-                       if (panel_pos.x >= resizeorigin.x + mySize.x)
+                       }
+                       if (panel_pos.x >= resizeorigin.x + mySize.x) {
                                continue;
-                       if (panel_pos.y >= resizeorigin.y + mySize.y)
+                       }
+                       if (panel_pos.y >= resizeorigin.y + mySize.y) {
                                continue;
+                       }
 
                        dist.x = panel_pos.x - resizeorigin.x;
                        dist.y = panel_pos.y - resizeorigin.y;
-                       if (dist.y <= 0 || dist.x / dist.y > ratio)
+                       if (dist.y <= 0 || dist.x / dist.y > ratio) {
                                mySize.x = min(mySize.x, dist.x);
-                       else
+                       } else {
                                mySize.y = min(mySize.y, dist.y);
+                       }
                }
-               //if(cvar("hud_configure_checkcollisions_debug"))
-                       //drawfill(panel_pos, panel_size, '1 1 0', .3, DRAWFLAG_NORMAL);
+               // if(cvar("hud_configure_checkcollisions_debug"))
+               // drawfill(panel_pos, panel_size, '1 1 0', .3, DRAWFLAG_NORMAL);
        }
 
        return mySize;
@@ -472,8 +485,7 @@ void HUD_Panel_SetPosSize(vector mySize)
        mySize.x = max(0.025 * vid_conwidth, mySize.x);
        mySize.y = max(0.025 * vid_conheight, mySize.y);
 
-       if(highlightedPanel == HUD_PANEL(CHAT)) // some panels have their own restrictions, like the chat panel (which actually only moves the engine chat print around). Looks bad if it's too small.
-       {
+       if (highlightedPanel == HUD_PANEL(CHAT)) { // some panels have their own restrictions, like the chat panel (which actually only moves the engine chat print around). Looks bad if it's too small.
                mySize.x = max(17 * autocvar_con_chatsize, mySize.x);
                mySize.y = max(2 * autocvar_con_chatsize + 2 * panel_bg_padding, mySize.y);
        }
@@ -482,13 +494,13 @@ void HUD_Panel_SetPosSize(vector mySize)
        // -----------------+
 
        // we need to know pos at this stage, but it might still change later if we hit a screen edge/other panel (?)
-       if(resizeCorner == 1) {
+       if (resizeCorner == 1) {
                myPos.x = resizeorigin.x - mySize.x;
                myPos.y = resizeorigin.y - mySize.y;
-       } else if(resizeCorner == 2) {
+       } else if (resizeCorner == 2) {
                myPos.x = resizeorigin.x;
                myPos.y = resizeorigin.y - mySize.y;
-       } else if(resizeCorner == 3) {
+       } else if (resizeCorner == 3) {
                myPos.x = resizeorigin.x - mySize.x;
                myPos.y = resizeorigin.y;
        } else { // resizeCorner == 4
@@ -497,42 +509,46 @@ void HUD_Panel_SetPosSize(vector mySize)
        }
 
        // left/top screen edges
-       if(myPos.x < 0)
+       if (myPos.x < 0) {
                mySize.x = mySize.x + myPos.x;
-       if(myPos.y < 0)
+       }
+       if (myPos.y < 0) {
                mySize.y = mySize.y + myPos.y;
+       }
 
        // bottom/right screen edges
-       if(myPos.x + mySize.x > vid_conwidth)
+       if (myPos.x + mySize.x > vid_conwidth) {
                mySize.x = vid_conwidth - myPos.x;
-       if(myPos.y + mySize.y > vid_conheight)
+       }
+       if (myPos.y + mySize.y > vid_conheight) {
                mySize.y = vid_conheight - myPos.y;
+       }
 
-       //if(cvar("hud_configure_checkcollisions_debug"))
-               //drawfill(myPos, mySize, '1 1 1', .2, DRAWFLAG_NORMAL);
+       // if(cvar("hud_configure_checkcollisions_debug"))
+       // drawfill(myPos, mySize, '1 1 1', .2, DRAWFLAG_NORMAL);
 
        // before checkresize, otherwise panel can be snapped partially inside another panel or panel aspect ratio can be broken
-       if(autocvar_hud_configure_grid)
-       {
-               mySize.x = floor((mySize.x/vid_conwidth)/hud_configure_gridSize.x + 0.5) * hud_configure_realGridSize.x;
-               mySize.y = floor((mySize.y/vid_conheight)/hud_configure_gridSize.y + 0.5) * hud_configure_realGridSize.y;
+       if (autocvar_hud_configure_grid) {
+               mySize.x = floor((mySize.x / vid_conwidth) / hud_configure_gridSize.x + 0.5) * hud_configure_realGridSize.x;
+               mySize.y = floor((mySize.y / vid_conheight) / hud_configure_gridSize.y + 0.5) * hud_configure_realGridSize.y;
        }
 
-       if(hud_configure_checkcollisions)
+       if (hud_configure_checkcollisions) {
                mySize = HUD_Panel_CheckResize(mySize, resizeorigin);
+       }
 
        // minimum panel size cap, do this once more so we NEVER EVER EVER have a panel smaller than this, JUST IN CASE above code still makes the panel eg negative (impossible to resize back without changing cvars manually then)
        mySize.x = max(0.025 * vid_conwidth, mySize.x);
        mySize.y = max(0.025 * vid_conheight, mySize.y);
 
        // do another pos check, as size might have changed by now
-       if(resizeCorner == 1) {
+       if (resizeCorner == 1) {
                myPos.x = resizeorigin.x - mySize.x;
                myPos.y = resizeorigin.y - mySize.y;
-       } else if(resizeCorner == 2) {
+       } else if (resizeCorner == 2) {
                myPos.x = resizeorigin.x;
                myPos.y = resizeorigin.y - mySize.y;
-       } else if(resizeCorner == 3) {
+       } else if (resizeCorner == 3) {
                myPos.x = resizeorigin.x - mySize.x;
                myPos.y = resizeorigin.y;
        } else { // resizeCorner == 4
@@ -540,14 +556,14 @@ void HUD_Panel_SetPosSize(vector mySize)
                myPos.y = resizeorigin.y;
        }
 
-       //if(cvar("hud_configure_checkcollisions_debug"))
-               //drawfill(myPos, mySize, '0 1 0', .3, DRAWFLAG_NORMAL);
+       // if(cvar("hud_configure_checkcollisions_debug"))
+       // drawfill(myPos, mySize, '0 1 0', .3, DRAWFLAG_NORMAL);
 
        string s;
-       s = strcat(ftos(mySize.x/vid_conwidth), " ", ftos(mySize.y/vid_conheight));
+       s = strcat(ftos(mySize.x / vid_conwidth), " ", ftos(mySize.y / vid_conheight));
        cvar_set(strcat("hud_panel_", highlightedPanel.panel_name, "_size"), s);
 
-       s = strcat(ftos(myPos.x/vid_conwidth), " ", ftos(myPos.y/vid_conheight));
+       s = strcat(ftos(myPos.x / vid_conwidth), " ", ftos(myPos.y / vid_conheight));
        cvar_set(strcat("hud_panel_", highlightedPanel.panel_name, "_pos"), s);
 }
 
@@ -555,39 +571,38 @@ float pressed_key_time;
 vector highlightedPanel_initial_pos, highlightedPanel_initial_size;
 void HUD_Panel_Arrow_Action(float nPrimary)
 {
-       if(!highlightedPanel)
+       if (!highlightedPanel) {
                return;
+       }
 
        hud_configure_checkcollisions = (!(hudShiftState & S_CTRL) && autocvar_hud_configure_checkcollisions);
 
        float step;
-       if(autocvar_hud_configure_grid)
-       {
-               if (nPrimary == K_UPARROW || nPrimary == K_DOWNARROW)
-               {
-                       if (hudShiftState & S_SHIFT)
+       if (autocvar_hud_configure_grid) {
+               if (nPrimary == K_UPARROW || nPrimary == K_DOWNARROW) {
+                       if (hudShiftState & S_SHIFT) {
                                step = hud_configure_realGridSize.y;
-                       else
+                       } else {
                                step = 2 * hud_configure_realGridSize.y;
-               }
-               else
-               {
-                       if (hudShiftState & S_SHIFT)
+                       }
+               } else {
+                       if (hudShiftState & S_SHIFT) {
                                step = hud_configure_realGridSize.x;
-                       else
+                       } else {
                                step = 2 * hud_configure_realGridSize.x;
+                       }
                }
-       }
-       else
-       {
-               if (nPrimary == K_UPARROW || nPrimary == K_DOWNARROW)
+       } else {
+               if (nPrimary == K_UPARROW || nPrimary == K_DOWNARROW) {
                        step = vid_conheight;
-               else
+               } else {
                        step = vid_conwidth;
-               if (hudShiftState & S_SHIFT)
+               }
+               if (hudShiftState & S_SHIFT) {
                        step = (step / 256); // more precision
-               else
+               } else {
                        step = (step / 64) * (1 + 2 * (time - pressed_key_time));
+               }
        }
 
        panel = highlightedPanel;
@@ -596,16 +611,16 @@ void HUD_Panel_Arrow_Action(float nPrimary)
        highlightedPanel_initial_pos = panel_pos;
        highlightedPanel_initial_size = panel_size;
 
-       if (hudShiftState & S_ALT) // resize
-       {
-               if(nPrimary == K_UPARROW)
+       if (hudShiftState & S_ALT) { // resize
+               if (nPrimary == K_UPARROW) {
                        resizeCorner = 1;
-               else if(nPrimary == K_RIGHTARROW)
+               } else if (nPrimary == K_RIGHTARROW) {
                        resizeCorner = 2;
-               else if(nPrimary == K_LEFTARROW)
+               } else if (nPrimary == K_LEFTARROW) {
                        resizeCorner = 3;
-               else // if(nPrimary == K_DOWNARROW)
+               } else { // if(nPrimary == K_DOWNARROW)
                        resizeCorner = 4;
+               }
 
                // ctrl+arrow reduces the size, instead of increasing it
                // Note that ctrl disables collisions check too, but it's fine
@@ -618,32 +633,31 @@ void HUD_Panel_Arrow_Action(float nPrimary)
                vector mySize;
                mySize = panel_size;
                panel_click_resizeorigin = panel_pos;
-               if(resizeCorner == 1) {
+               if (resizeCorner == 1) {
                        panel_click_resizeorigin += mySize;
                        mySize.y += step;
-               } else if(resizeCorner == 2) {
+               } else if (resizeCorner == 2) {
                        panel_click_resizeorigin.y += mySize.y;
                        mySize.x += step;
-               } else if(resizeCorner == 3) {
+               } else if (resizeCorner == 3) {
                        panel_click_resizeorigin.x += mySize.x;
                        mySize.x += step;
                } else { // resizeCorner == 4
                        mySize.y += step;
                }
                HUD_Panel_SetPosSize(mySize);
-       }
-       else // move
-       {
+       } else { // move
                vector pos;
                pos = panel_pos;
-               if(nPrimary == K_UPARROW)
+               if (nPrimary == K_UPARROW) {
                        pos.y -= step;
-               else if(nPrimary == K_DOWNARROW)
+               } else if (nPrimary == K_DOWNARROW) {
                        pos.y += step;
-               else if(nPrimary == K_LEFTARROW)
+               } else if (nPrimary == K_LEFTARROW) {
                        pos.x -= step;
-               else // if(nPrimary == K_RIGHTARROW)
+               } else { // if(nPrimary == K_RIGHTARROW)
                        pos.x += step;
+               }
 
                HUD_Panel_SetPos(pos);
        }
@@ -651,8 +665,7 @@ void HUD_Panel_Arrow_Action(float nPrimary)
        panel = highlightedPanel;
        HUD_Panel_UpdatePosSize();
 
-       if (highlightedPanel_initial_pos != panel_pos || highlightedPanel_initial_size != panel_size)
-       {
+       if (highlightedPanel_initial_pos != panel_pos || highlightedPanel_initial_size != panel_size) {
                // backup!
                panel_pos_backup = highlightedPanel_initial_pos;
                panel_size_backup = highlightedPanel_initial_size;
@@ -668,21 +681,23 @@ float tab_backward;
 void HUD_Panel_FirstInDrawQ(float id);
 void reset_tab_panels()
 {
-       for (int i = 0; i < hud_panels_COUNT; ++i)
+       for (int i = 0; i < hud_panels_COUNT; ++i) {
                tab_panels[i] = NULL;
+       }
 }
 float HUD_Panel_InputEvent(float bInputType, float nPrimary, float nSecondary)
 {
        string s;
 
-       if(bInputType == 2)
+       if (bInputType == 2) {
                return false;
+       }
 
-       if(!autocvar__hud_configure)
+       if (!autocvar__hud_configure) {
                return false;
+       }
 
-       if(bInputType == 3)
-       {
+       if (bInputType == 3) {
                mousepos.x = nPrimary;
                mousepos.y = nSecondary;
                return true;
@@ -690,8 +705,7 @@ float HUD_Panel_InputEvent(float bInputType, float nPrimary, float nSecondary)
 
        // block any input while a menu dialog is fading
        // don't block mousepos read as it leads to cursor jumps in the interaction with the menu
-       if(autocvar__menu_alpha)
-       {
+       if (autocvar__menu_alpha) {
                hudShiftState = 0;
                mouseClicked = 0;
                return true;
@@ -703,30 +717,26 @@ float HUD_Panel_InputEvent(float bInputType, float nPrimary, float nSecondary)
 
        bool hit_con_bind = false;
        int i;
-       for (i = 0; i < keys; ++i)
-       {
-               if(nPrimary == stof(argv(i)))
+       for (i = 0; i < keys; ++i) {
+               if (nPrimary == stof(argv(i))) {
                        hit_con_bind = true;
+               }
        }
 
-       if(bInputType == 0) {
-               if(nPrimary == K_ALT) hudShiftState |= S_ALT;
-               if(nPrimary == K_CTRL) hudShiftState |= S_CTRL;
-               if(nPrimary == K_SHIFT) hudShiftState |= S_SHIFT;
-       }
-       else if(bInputType == 1) {
-               if(nPrimary == K_ALT) hudShiftState -= (hudShiftState & S_ALT);
-               if(nPrimary == K_CTRL) hudShiftState -= (hudShiftState & S_CTRL);
-               if(nPrimary == K_SHIFT) hudShiftState -= (hudShiftState & S_SHIFT);
+       if (bInputType == 0) {
+               if (nPrimary == K_ALT) { hudShiftState |= S_ALT; }
+               if (nPrimary == K_CTRL) { hudShiftState |= S_CTRL; }
+               if (nPrimary == K_SHIFT) { hudShiftState |= S_SHIFT; }
+       } else if (bInputType == 1) {
+               if (nPrimary == K_ALT) { hudShiftState -= (hudShiftState & S_ALT); }
+               if (nPrimary == K_CTRL) { hudShiftState -= (hudShiftState & S_CTRL); }
+               if (nPrimary == K_SHIFT) { hudShiftState -= (hudShiftState & S_SHIFT); }
        }
 
-       if(nPrimary == K_CTRL)
-       {
-               if (bInputType == 1) //ctrl has been released
-               {
-                       if (tab_panel)
-                       {
-                               //switch to selected panel
+       if (nPrimary == K_CTRL) {
+               if (bInputType == 1) { // ctrl has been released
+                       if (tab_panel) {
+                               // switch to selected panel
                                highlightedPanel = tab_panel;
                                highlightedAction = 0;
                                HUD_Panel_FirstInDrawQ(highlightedPanel.panel_id);
@@ -736,38 +746,35 @@ float HUD_Panel_InputEvent(float bInputType, float nPrimary, float nSecondary)
                }
        }
 
-       if(nPrimary == K_MOUSE1)
-       {
-               if(bInputType == 0) // key pressed
+       if (nPrimary == K_MOUSE1) {
+               if (bInputType == 0) { // key pressed
                        mouseClicked |= S_MOUSE1;
-               else if(bInputType == 1) // key released
+               } else if (bInputType == 1) { // key released
                        mouseClicked -= (mouseClicked & S_MOUSE1);
-       }
-       else if(nPrimary == K_MOUSE2)
-       {
-               if(bInputType == 0) // key pressed
+               }
+       } else if (nPrimary == K_MOUSE2) {
+               if (bInputType == 0) { // key pressed
                        mouseClicked |= S_MOUSE2;
-               else if(bInputType == 1) // key released
+               } else if (bInputType == 1) { // key released
                        mouseClicked -= (mouseClicked & S_MOUSE2);
-       }
-       else if(nPrimary == K_ESCAPE)
-       {
-               if (bInputType == 1)
+               }
+       } else if (nPrimary == K_ESCAPE) {
+               if (bInputType == 1) {
                        return true;
+               }
                hud_configure_menu_open = 1;
                localcmd("menu_showhudexit\n");
-       }
-       else if(nPrimary == K_BACKSPACE && hudShiftState & S_CTRL)
-       {
-               if (bInputType == 1)
+       } else if (nPrimary == K_BACKSPACE && hudShiftState & S_CTRL) {
+               if (bInputType == 1) {
                        return true;
-               if (!hud_configure_menu_open)
+               }
+               if (!hud_configure_menu_open) {
                        cvar_set("_hud_configure", "0");
-       }
-       else if(nPrimary == K_TAB && hudShiftState & S_CTRL) // switch panel
-       {
-               if (bInputType == 1 || mouseClicked)
+               }
+       } else if (nPrimary == K_TAB && hudShiftState & S_CTRL) { // switch panel
+               if (bInputType == 1 || mouseClicked) {
                        return true;
+               }
 
                // FIXME minor bug: if a panel is highlighted, has the same pos_x and
                // lays in the same level of another panel then the next consecutive
@@ -775,22 +782,19 @@ float HUD_Panel_InputEvent(float bInputType, float nPrimary, float nSecondary)
 
                entity starting_panel;
                entity old_tab_panel = tab_panel;
-               if (!tab_panel) //first press of TAB
-               {
-                       if (highlightedPanel)
-                       {
+               if (!tab_panel) { // first press of TAB
+                       if (highlightedPanel) {
                                panel = highlightedPanel;
                                HUD_Panel_UpdatePosSize();
-                       }
-                       else
+                       } else {
                                panel_pos = '0 0 0';
+                       }
                        starting_panel = highlightedPanel;
-                       tab_panel_pos = panel_pos; //to compute level
-               }
-               else
-               {
-                       if ( ((!tab_backward) && (hudShiftState & S_SHIFT)) || (tab_backward && !(hudShiftState & S_SHIFT)) ) //tab direction changed?
+                       tab_panel_pos = panel_pos; // to compute level
+               } else {
+                       if (((!tab_backward) && (hudShiftState & S_SHIFT)) || (tab_backward && !(hudShiftState & S_SHIFT))) { // tab direction changed?
                                reset_tab_panels();
+                       }
                        starting_panel = tab_panel;
                }
                tab_backward = (hudShiftState & S_SHIFT);
@@ -799,52 +803,48 @@ float HUD_Panel_InputEvent(float bInputType, float nPrimary, float nSecondary)
                vector candidate_pos = '0 0 0';
                const float LEVELS_NUM = 4;
                float level_height = vid_conheight / LEVELS_NUM;
-LABEL(find_tab_panel)
-               level = floor(tab_panel_pos.y / level_height) * level_height; //starting level
+               LABEL(find_tab_panel)
+               level = floor(tab_panel_pos.y / level_height) * level_height; // starting level
                candidate_pos.x = (!tab_backward) ? vid_conwidth : 0;
                start_posX = tab_panel_pos.x;
                tab_panel = NULL;
-               k=0;
-               while(++k)
-               {
-                       for(i = 0; i < hud_panels_COUNT; ++i)
-                       {
+               k = 0;
+               while (++k) {
+                       for (i = 0; i < hud_panels_COUNT; ++i) {
                                panel = hud_panels_from(i);
-                               if(!(panel.panel_configflags & PANEL_CONFIG_MAIN))
+                               if (!(panel.panel_configflags & PANEL_CONFIG_MAIN)) {
                                        continue;
-                               if (panel == tab_panels[i] || panel == starting_panel)
+                               }
+                               if (panel == tab_panels[i] || panel == starting_panel) {
                                        continue;
+                               }
                                HUD_Panel_UpdatePosSize();
-                               if (panel_pos.y >= level && (panel_pos.y - level) < level_height)
-                               if (  ( !tab_backward && panel_pos.x >= start_posX && (panel_pos.x < candidate_pos.x || (panel_pos.x == candidate_pos.x && panel_pos.y <= candidate_pos.y)) )
-                                       || ( tab_backward && panel_pos.x <= start_posX && (panel_pos.x > candidate_pos.x || (panel_pos.x == candidate_pos.x && panel_pos.y >= candidate_pos.y)) )  )
-                               {
-                                       tab_panel = panel;
-                                       tab_panel_pos = candidate_pos = panel_pos;
+                               if (panel_pos.y >= level && (panel_pos.y - level) < level_height) {
+                                       if ((!tab_backward && panel_pos.x >= start_posX && (panel_pos.x < candidate_pos.x || (panel_pos.x == candidate_pos.x && panel_pos.y <= candidate_pos.y)))
+                                               || (tab_backward && panel_pos.x <= start_posX && (panel_pos.x > candidate_pos.x || (panel_pos.x == candidate_pos.x && panel_pos.y >= candidate_pos.y)))) {
+                                               tab_panel = panel;
+                                               tab_panel_pos = candidate_pos = panel_pos;
+                                       }
                                }
                        }
-                       if (tab_panel)
+                       if (tab_panel) {
                                break;
-                       if (k == LEVELS_NUM) //tab_panel not found
-                       {
+                       }
+                       if (k == LEVELS_NUM) { // tab_panel not found
                                reset_tab_panels();
-                               if (!old_tab_panel)
-                               {
+                               if (!old_tab_panel) {
                                        tab_panel = NULL;
                                        return true;
                                }
                                starting_panel = old_tab_panel;
                                old_tab_panel = NULL;
-                               goto find_tab_panel; //u must find tab_panel!
+                               goto find_tab_panel; // u must find tab_panel!
                        }
-                       if (!tab_backward)
-                       {
+                       if (!tab_backward) {
                                level = (level + level_height) % vid_conheight;
                                start_posX = 0;
                                candidate_pos.x = vid_conwidth;
-                       }
-                       else
-                       {
+                       } else {
                                level = (level - level_height) % vid_conheight;
                                start_posX = vid_conwidth;
                                candidate_pos.x = 0;
@@ -852,103 +852,98 @@ LABEL(find_tab_panel)
                }
 
                tab_panels[tab_panel.panel_id] = tab_panel;
-       }
-       else if(nPrimary == K_SPACE && hudShiftState & S_CTRL) // enable/disable highlighted panel or dock
-       {
-               if (bInputType == 1 || mouseClicked)
+       } else if (nPrimary == K_SPACE && hudShiftState & S_CTRL) { // enable/disable highlighted panel or dock
+               if (bInputType == 1 || mouseClicked) {
                        return true;
+               }
 
-               if (highlightedPanel)
-               {
-                       if(panel.panel_configflags & PANEL_CONFIG_CANBEOFF)
+               if (highlightedPanel) {
+                       if (panel.panel_configflags & PANEL_CONFIG_CANBEOFF) {
                                cvar_set(strcat("hud_panel_", highlightedPanel.panel_name), ftos(!cvar(strcat("hud_panel_", highlightedPanel.panel_name))));
-               }
-               else
+                       }
+               } else {
                        cvar_set(strcat("hud_dock"), (autocvar_hud_dock == "") ? "dock" : "");
-       }
-       else if(nPrimary == 'c' && hudShiftState & S_CTRL) // copy highlighted panel size
-       {
-               if (bInputType == 1 || mouseClicked)
+               }
+       } else if (nPrimary == 'c' && hudShiftState & S_CTRL) { // copy highlighted panel size
+               if (bInputType == 1 || mouseClicked) {
                        return true;
+               }
 
-               if (highlightedPanel)
-               {
+               if (highlightedPanel) {
                        panel = highlightedPanel;
                        HUD_Panel_UpdatePosSize();
                        panel_size_copied = panel_size;
                }
-       }
-       else if(nPrimary == 'v' && hudShiftState & S_CTRL) // past copied size on the highlighted panel
-       {
-               if (bInputType == 1 || mouseClicked)
+       } else if (nPrimary == 'v' && hudShiftState & S_CTRL) { // past copied size on the highlighted panel
+               if (bInputType == 1 || mouseClicked) {
                        return true;
+               }
 
-               if (panel_size_copied == '0 0 0' || !highlightedPanel)
+               if (panel_size_copied == '0 0 0' || !highlightedPanel) {
                        return true;
+               }
 
                panel = highlightedPanel;
                HUD_Panel_UpdatePosSize();
 
                // reduce size if it'd go beyond screen boundaries
                vector tmp_size = panel_size_copied;
-               if (panel_pos.x + panel_size_copied.x > vid_conwidth)
+               if (panel_pos.x + panel_size_copied.x > vid_conwidth) {
                        tmp_size.x = vid_conwidth - panel_pos.x;
-               if (panel_pos.y + panel_size_copied.y > vid_conheight)
+               }
+               if (panel_pos.y + panel_size_copied.y > vid_conheight) {
                        tmp_size.y = vid_conheight - panel_pos.y;
+               }
 
-               if (panel_size == tmp_size)
+               if (panel_size == tmp_size) {
                        return true;
+               }
 
                // backup first!
                panel_pos_backup = panel_pos;
                panel_size_backup = panel_size;
                highlightedPanel_backup = highlightedPanel;
 
-               s = strcat(ftos(tmp_size.x/vid_conwidth), " ", ftos(tmp_size.y/vid_conheight));
+               s = strcat(ftos(tmp_size.x / vid_conwidth), " ", ftos(tmp_size.y / vid_conheight));
                cvar_set(strcat("hud_panel_", highlightedPanel.panel_name, "_size"), s);
-       }
-       else if(nPrimary == 'z' && hudShiftState & S_CTRL) // undo last action
-       {
-               if (bInputType == 1 || mouseClicked)
+       } else if (nPrimary == 'z' && hudShiftState & S_CTRL) { // undo last action
+               if (bInputType == 1 || mouseClicked) {
                        return true;
-               //restore previous values
-               if (highlightedPanel_backup)
-               {
-                       s = strcat(ftos(panel_pos_backup.x/vid_conwidth), " ", ftos(panel_pos_backup.y/vid_conheight));
+               }
+               // restore previous values
+               if (highlightedPanel_backup) {
+                       s = strcat(ftos(panel_pos_backup.x / vid_conwidth), " ", ftos(panel_pos_backup.y / vid_conheight));
                        cvar_set(strcat("hud_panel_", highlightedPanel_backup.panel_name, "_pos"), s);
-                       s = strcat(ftos(panel_size_backup.x/vid_conwidth), " ", ftos(panel_size_backup.y/vid_conheight));
+                       s = strcat(ftos(panel_size_backup.x / vid_conwidth), " ", ftos(panel_size_backup.y / vid_conheight));
                        cvar_set(strcat("hud_panel_", highlightedPanel_backup.panel_name, "_size"), s);
                        highlightedPanel_backup = NULL;
                }
-       }
-       else if(nPrimary == 's' && hudShiftState & S_CTRL) // save config
-       {
-               if (bInputType == 1 || mouseClicked)
+       } else if (nPrimary == 's' && hudShiftState & S_CTRL) { // save config
+               if (bInputType == 1 || mouseClicked) {
                        return true;
+               }
                localcmd("hud save myconfig\n");
-       }
-       else if(nPrimary == K_UPARROW || nPrimary == K_DOWNARROW || nPrimary == K_LEFTARROW || nPrimary == K_RIGHTARROW)
-       {
-               if (bInputType == 1)
-               {
+       } else if (nPrimary == K_UPARROW || nPrimary == K_DOWNARROW || nPrimary == K_LEFTARROW || nPrimary == K_RIGHTARROW) {
+               if (bInputType == 1) {
                        pressed_key_time = 0;
                        return true;
-               }
-               else if (pressed_key_time == 0)
+               } else if (pressed_key_time == 0) {
                        pressed_key_time = time;
+               }
 
-               if (!mouseClicked)
-                       HUD_Panel_Arrow_Action(nPrimary); //move or resize panel
-       }
-       else if(nPrimary == K_ENTER || nPrimary == K_SPACE || nPrimary == K_KP_ENTER)
-       {
-               if (bInputType == 1)
+               if (!mouseClicked) {
+                       HUD_Panel_Arrow_Action(nPrimary); // move or resize panel
+               }
+       } else if (nPrimary == K_ENTER || nPrimary == K_SPACE || nPrimary == K_KP_ENTER) {
+               if (bInputType == 1) {
                        return true;
-               if (highlightedPanel)
+               }
+               if (highlightedPanel) {
                        HUD_Panel_EnableMenu();
-       }
-       else if(hit_con_bind || nPrimary == K_PAUSE)
+               }
+       } else if (hit_con_bind || nPrimary == K_PAUSE) {
                return false;
+       }
 
        return true;
 }
@@ -956,40 +951,34 @@ LABEL(find_tab_panel)
 float HUD_Panel_Check_Mouse_Pos(float allow_move)
 {
        int i, j = 0;
-       while(j < hud_panels_COUNT)
-       {
+       while (j < hud_panels_COUNT) {
                i = panel_order[j];
                j += 1;
 
                panel = hud_panels_from(i);
-               if(!(panel.panel_configflags & PANEL_CONFIG_MAIN)) continue;
+               if (!(panel.panel_configflags & PANEL_CONFIG_MAIN)) { continue; }
                HUD_Panel_UpdatePosSize();
 
                float border = max(8, panel_bg_border); // FORCED border so a small border size doesn't mean you can't resize
 
                // move
-               if(allow_move && mousepos.x > panel_pos.x && mousepos.y > panel_pos.y && mousepos.x < panel_pos.x + panel_size.x && mousepos.y < panel_pos.y + panel_size.y)
-               {
+               if (allow_move && mousepos.x > panel_pos.x && mousepos.y > panel_pos.y && mousepos.x < panel_pos.x + panel_size.x && mousepos.y < panel_pos.y + panel_size.y) {
                        return 1;
                }
                // resize from topleft border
-               else if(mousepos.x >= panel_pos.x - border && mousepos.y >= panel_pos.y - border && mousepos.x <= panel_pos.x + 0.5 * panel_size.x && mousepos.y <= panel_pos.y + 0.5 * panel_size.y)
-               {
+               else if (mousepos.x >= panel_pos.x - border && mousepos.y >= panel_pos.y - border && mousepos.x <= panel_pos.x + 0.5 * panel_size.x && mousepos.y <= panel_pos.y + 0.5 * panel_size.y) {
                        return 2;
                }
                // resize from topright border
-               else if(mousepos.x >= panel_pos.x + 0.5 * panel_size.x && mousepos.y >= panel_pos.y - border && mousepos.x <= panel_pos.x + panel_size.x + border && mousepos.y <= panel_pos.y + 0.5 * panel_size.y)
-               {
+               else if (mousepos.x >= panel_pos.x + 0.5 * panel_size.x && mousepos.y >= panel_pos.y - border && mousepos.x <= panel_pos.x + panel_size.x + border && mousepos.y <= panel_pos.y + 0.5 * panel_size.y) {
                        return 3;
                }
                // resize from bottomleft border
-               else if(mousepos.x >= panel_pos.x - border && mousepos.y >= panel_pos.y + 0.5 * panel_size.y && mousepos.x <= panel_pos.x + 0.5 * panel_size.x && mousepos.y <= panel_pos.y + panel_size.y + border)
-               {
+               else if (mousepos.x >= panel_pos.x - border && mousepos.y >= panel_pos.y + 0.5 * panel_size.y && mousepos.x <= panel_pos.x + 0.5 * panel_size.x && mousepos.y <= panel_pos.y + panel_size.y + border) {
                        return 3;
                }
                // resize from bottomright border
-               else if(mousepos.x >= panel_pos.x + 0.5 * panel_size.x && mousepos.y >= panel_pos.y + 0.5 * panel_size.y && mousepos.x <= panel_pos.x + panel_size.x + border && mousepos.y <= panel_pos.y + panel_size.y + border)
-               {
+               else if (mousepos.x >= panel_pos.x + 0.5 * panel_size.x && mousepos.y >= panel_pos.y + 0.5 * panel_size.y && mousepos.x <= panel_pos.x + panel_size.x + border && mousepos.y <= panel_pos.y + panel_size.y + border) {
                        return 2;
                }
        }
@@ -1002,35 +991,33 @@ void HUD_Panel_FirstInDrawQ(float id)
        int i;
        int place = -1;
        // find out where in the array our current id is, save into place
-       for(i = 0; i < hud_panels_COUNT; ++i)
-       {
-               if(panel_order[i] == id)
-               {
+       for (i = 0; i < hud_panels_COUNT; ++i) {
+               if (panel_order[i] == id) {
                        place = i;
                        break;
                }
        }
        // place last if we didn't find a place for it yet (probably new panel, or screwed up cvar)
-       if(place == -1)
+       if (place == -1) {
                place = hud_panels_COUNT - 1;
+       }
 
        // move all ids up by one step in the array until "place"
-       for(i = place; i > 0; --i)
-       {
-               panel_order[i] = panel_order[i-1];
+       for (i = place; i > 0; --i) {
+               panel_order[i] = panel_order[i - 1];
        }
        // now save the new top id
        panel_order[0] = id;
 
        // let's save them into the cvar by some strcat trickery
        string s = "";
-       for(i = 0; i < hud_panels_COUNT; ++i)
-       {
+       for (i = 0; i < hud_panels_COUNT; ++i) {
                s = strcat(s, ftos(panel_order[i]), " ");
        }
        cvar_set("_hud_panelorder", s);
-       if(hud_panelorder_prev)
+       if (hud_panelorder_prev) {
                strunzone(hud_panelorder_prev);
+       }
        hud_panelorder_prev = strzone(autocvar__hud_panelorder); // prevent HUD_Main from doing useless update, we already updated here
 }
 
@@ -1038,21 +1025,20 @@ void HUD_Panel_Highlight(float allow_move)
 {
        int i, j = 0;
 
-       while(j < hud_panels_COUNT)
-       {
+       while (j < hud_panels_COUNT) {
                i = panel_order[j];
                j += 1;
 
                panel = hud_panels_from(i);
-               if(!(panel.panel_configflags & PANEL_CONFIG_MAIN))
+               if (!(panel.panel_configflags & PANEL_CONFIG_MAIN)) {
                        continue;
+               }
                HUD_Panel_UpdatePosSize();
 
                float border = max(8, panel_bg_border); // FORCED border so a small border size doesn't mean you can't resize
 
                // move
-               if(allow_move && mousepos.x > panel_pos.x && mousepos.y > panel_pos.y && mousepos.x < panel_pos.x + panel_size.x && mousepos.y < panel_pos.y + panel_size.y)
-               {
+               if (allow_move && mousepos.x > panel_pos.x && mousepos.y > panel_pos.y && mousepos.x < panel_pos.x + panel_size.x && mousepos.y < panel_pos.y + panel_size.y) {
                        highlightedPanel = hud_panels_from(i);
                        HUD_Panel_FirstInDrawQ(i);
                        highlightedAction = 1;
@@ -1060,8 +1046,7 @@ void HUD_Panel_Highlight(float allow_move)
                        return;
                }
                // resize from topleft border
-               else if(mousepos.x >= panel_pos.x - border && mousepos.y >= panel_pos.y - border && mousepos.x <= panel_pos.x + 0.5 * panel_size.x && mousepos.y <= panel_pos.y + 0.5 * panel_size.y)
-               {
+               else if (mousepos.x >= panel_pos.x - border && mousepos.y >= panel_pos.y - border && mousepos.x <= panel_pos.x + 0.5 * panel_size.x && mousepos.y <= panel_pos.y + 0.5 * panel_size.y) {
                        highlightedPanel = hud_panels_from(i);
                        HUD_Panel_FirstInDrawQ(i);
                        highlightedAction = 2;
@@ -1071,8 +1056,7 @@ void HUD_Panel_Highlight(float allow_move)
                        return;
                }
                // resize from topright border
-               else if(mousepos.x >= panel_pos.x + 0.5 * panel_size.x && mousepos.y >= panel_pos.y - border && mousepos.x <= panel_pos.x + panel_size.x + border && mousepos.y <= panel_pos.y + 0.5 * panel_size.y)
-               {
+               else if (mousepos.x >= panel_pos.x + 0.5 * panel_size.x && mousepos.y >= panel_pos.y - border && mousepos.x <= panel_pos.x + panel_size.x + border && mousepos.y <= panel_pos.y + 0.5 * panel_size.y) {
                        highlightedPanel = hud_panels_from(i);
                        HUD_Panel_FirstInDrawQ(i);
                        highlightedAction = 2;
@@ -1083,8 +1067,7 @@ void HUD_Panel_Highlight(float allow_move)
                        return;
                }
                // resize from bottomleft border
-               else if(mousepos.x >= panel_pos.x - border && mousepos.y >= panel_pos.y + 0.5 * panel_size.y && mousepos.x <= panel_pos.x + 0.5 * panel_size.x && mousepos.y <= panel_pos.y + panel_size.y + border)
-               {
+               else if (mousepos.x >= panel_pos.x - border && mousepos.y >= panel_pos.y + 0.5 * panel_size.y && mousepos.x <= panel_pos.x + 0.5 * panel_size.x && mousepos.y <= panel_pos.y + panel_size.y + border) {
                        highlightedPanel = hud_panels_from(i);
                        HUD_Panel_FirstInDrawQ(i);
                        highlightedAction = 2;
@@ -1095,8 +1078,7 @@ void HUD_Panel_Highlight(float allow_move)
                        return;
                }
                // resize from bottomright border
-               else if(mousepos.x >= panel_pos.x + 0.5 * panel_size.x && mousepos.y >= panel_pos.y + 0.5 * panel_size.y && mousepos.x <= panel_pos.x + panel_size.x + border && mousepos.y <= panel_pos.y + panel_size.y + border)
-               {
+               else if (mousepos.x >= panel_pos.x + 0.5 * panel_size.x && mousepos.y >= panel_pos.y + 0.5 * panel_size.y && mousepos.x <= panel_pos.x + panel_size.x + border && mousepos.y <= panel_pos.y + panel_size.y + border) {
                        highlightedPanel = hud_panels_from(i);
                        HUD_Panel_FirstInDrawQ(i);
                        highlightedAction = 2;
@@ -1118,81 +1100,70 @@ void HUD_Panel_EnableMenu()
 float mouse_over_panel;
 void HUD_Panel_Mouse()
 {
-       if(autocvar__menu_alpha == 1)
+       if (autocvar__menu_alpha == 1) {
                return;
+       }
 
-       if (!autocvar_hud_cursormode)
+       if (!autocvar_hud_cursormode) {
                update_mousepos();
+       }
 
-       if(mouseClicked)
-       {
-               if(prevMouseClicked == 0)
-               {
-                       if (tab_panel)
-                       {
-                               //stop ctrl-tab selection
+       if (mouseClicked) {
+               if (prevMouseClicked == 0) {
+                       if (tab_panel) {
+                               // stop ctrl-tab selection
                                tab_panel = NULL;
                                reset_tab_panels();
                        }
                        HUD_Panel_Highlight(mouseClicked & S_MOUSE1); // sets highlightedPanel, highlightedAction, panel_click_distance, panel_click_resizeorigin
-                                                                       // and calls HUD_Panel_UpdatePosSize() for the highlighted panel
-                       if (highlightedPanel)
-                       {
+                       // and calls HUD_Panel_UpdatePosSize() for the highlighted panel
+                       if (highlightedPanel) {
                                highlightedPanel_initial_pos = panel_pos;
                                highlightedPanel_initial_size = panel_size;
                        }
                        // doubleclick check
-                       if ((mouseClicked & S_MOUSE1) && time - prevMouseClickedTime < 0.4 && highlightedPanel && prevMouseClickedPos == mousepos)
-                       {
+                       if ((mouseClicked & S_MOUSE1) && time - prevMouseClickedTime < 0.4 && highlightedPanel && prevMouseClickedPos == mousepos) {
                                mouseClicked = 0; // to prevent spam, I guess.
                                HUD_Panel_EnableMenu();
-                       }
-                       else
-                       {
-                               if (mouseClicked & S_MOUSE1)
-                               {
+                       } else {
+                               if (mouseClicked & S_MOUSE1) {
                                        prevMouseClickedTime = time;
                                        prevMouseClickedPos = mousepos;
                                }
                                mouse_over_panel = HUD_Panel_Check_Mouse_Pos(mouseClicked & S_MOUSE1);
                        }
-               }
-               else
-               {
+               } else {
                        panel = highlightedPanel;
                        HUD_Panel_UpdatePosSize();
                }
 
-               if (highlightedPanel)
-               {
+               if (highlightedPanel) {
                        drawfill(panel_pos - '1 1 0' * panel_bg_border, panel_size + '2 2 0' * panel_bg_border, '1 1 1', .1, DRAWFLAG_NORMAL);
-                       if (highlightedPanel_initial_pos != panel_pos || highlightedPanel_initial_size != panel_size)
-                       {
+                       if (highlightedPanel_initial_pos != panel_pos || highlightedPanel_initial_size != panel_size) {
                                hud_configure_checkcollisions = (!(hudShiftState & S_CTRL) && autocvar_hud_configure_checkcollisions);
                                // backup!
                                panel_pos_backup = highlightedPanel_initial_pos;
                                panel_size_backup = highlightedPanel_initial_size;
                                highlightedPanel_backup = highlightedPanel;
-                       }
-                       else
+                       } else {
                                // in case the clicked panel is inside another panel and we aren't
                                // moving it, avoid the immediate "fix" of its position/size
                                // (often unwanted and hateful) by disabling collisions check
                                hud_configure_checkcollisions = false;
+                       }
                }
 
-               if(highlightedAction == 1)
+               if (highlightedAction == 1) {
                        HUD_Panel_SetPos(mousepos - panel_click_distance);
-               else if(highlightedAction == 2)
-               {
+               } else if (highlightedAction == 2) {
                        vector mySize = '0 0 0';
-                       if(resizeCorner == 1) {
+                       if (resizeCorner == 1) {
                                mySize.x = panel_click_resizeorigin.x - (mousepos.x - panel_click_distance.x);
                                mySize.y = panel_click_resizeorigin.y - (mousepos.y - panel_click_distance.y);
-                       } else if(resizeCorner == 2) {
+                       } else if (resizeCorner == 2) {
                                mySize.x = mousepos.x + panel_click_distance.x - panel_click_resizeorigin.x;
                                mySize.y = panel_click_distance.y + panel_click_resizeorigin.y - mousepos.y;
-                       } else if(resizeCorner == 3) {
+                       } else if (resizeCorner == 3) {
                                mySize.x = panel_click_resizeorigin.x + panel_click_distance.x - mousepos.x;
                                mySize.y = mousepos.y + panel_click_distance.y - panel_click_resizeorigin.y;
                        } else { // resizeCorner == 4
@@ -1201,37 +1172,38 @@ void HUD_Panel_Mouse()
                        }
                        HUD_Panel_SetPosSize(mySize);
                }
-       }
-       else
-       {
-               if(prevMouseClicked)
+       } else {
+               if (prevMouseClicked) {
                        highlightedAction = 0;
-               if(hud_configure_menu_open == 2)
+               }
+               if (hud_configure_menu_open == 2) {
                        mouse_over_panel = 0;
-               else
+               } else {
                        mouse_over_panel = HUD_Panel_Check_Mouse_Pos(true);
-               if (mouse_over_panel && !tab_panel)
+               }
+               if (mouse_over_panel && !tab_panel) {
                        drawfill(panel_pos - '1 1 0' * panel_bg_border, panel_size + '2 2 0' * panel_bg_border, '1 1 1', .1, DRAWFLAG_NORMAL);
+               }
        }
        // draw cursor after performing move/resize to have the panel pos/size updated before mouse_over_panel
        float cursor_alpha = 1 - autocvar__menu_alpha;
 
-       if(!mouse_over_panel)
+       if (!mouse_over_panel) {
                draw_cursor_normal(mousepos, '1 1 1', cursor_alpha);
-       else if(mouse_over_panel == 1)
+       } else if (mouse_over_panel == 1) {
                draw_cursor(mousepos, '0.5 0.5 0', "/cursor_move", '1 1 1', cursor_alpha);
-       else if(mouse_over_panel == 2)
+       } else if (mouse_over_panel == 2) {
                draw_cursor(mousepos, '0.5 0.5 0', "/cursor_resize", '1 1 1', cursor_alpha);
-       else
+       } else {
                draw_cursor(mousepos, '0.5 0.5 0', "/cursor_resize2", '1 1 1', cursor_alpha);
+       }
 
        prevMouseClicked = mouseClicked;
 }
 void HUD_Configure_DrawGrid()
 {
        float i;
-       if(autocvar_hud_configure_grid && autocvar_hud_configure_grid_alpha)
-       {
+       if (autocvar_hud_configure_grid && autocvar_hud_configure_grid_alpha) {
                hud_configure_gridSize.x = bound(0.005, cvar("hud_configure_grid_xsize"), 0.2);
                hud_configure_gridSize.y = bound(0.005, cvar("hud_configure_grid_ysize"), 0.2);
                hud_configure_realGridSize.x = hud_configure_gridSize.x * vid_conwidth;
@@ -1239,12 +1211,14 @@ void HUD_Configure_DrawGrid()
                vector s;
                // x-axis
                s = vec2(1, vid_conheight);
-               for(i = 1; i < 1/hud_configure_gridSize.x; ++i)
+               for (i = 1; i < 1 / hud_configure_gridSize.x; ++i) {
                        drawfill(eX * i * hud_configure_realGridSize.x, s, '0.5 0.5 0.5', autocvar_hud_configure_grid_alpha, DRAWFLAG_NORMAL);
+               }
                // y-axis
                s = vec2(vid_conwidth, 1);
-               for(i = 1; i < 1/hud_configure_gridSize.y; ++i)
+               for (i = 1; i < 1 / hud_configure_gridSize.y; ++i) {
                        drawfill(eY * i * hud_configure_realGridSize.y, s, '0.5 0.5 0.5', autocvar_hud_configure_grid_alpha, DRAWFLAG_NORMAL);
+               }
        }
 }
 
@@ -1252,39 +1226,38 @@ float _menu_alpha_prev;
 void HUD_Configure_Frame()
 {
        int i;
-       if(autocvar__hud_configure)
-       {
-               if(isdemo() || intermission == 2 || scoreboard_active)
-               {
+       if (autocvar__hud_configure) {
+               if (isdemo() || intermission == 2 || scoreboard_active) {
                        HUD_Configure_Exit_Force();
                        return;
                }
 
-               if(!hud_configure_prev)
-               {
-                       if(autocvar_hud_cursormode)
+               if (!hud_configure_prev) {
+                       if (autocvar_hud_cursormode) {
                                setcursormode(1);
+                       }
                        hudShiftState = 0;
-                       for(i = hud_panels_COUNT - 1; i >= 0; --i)
+                       for (i = hud_panels_COUNT - 1; i >= 0; --i) {
                                hud_panels_from(panel_order[i]).update_time = time;
+                       }
                }
 
                // NOTE this check is necessary because _menu_alpha isn't updated the frame the menu gets enabled
-               if(autocvar__menu_alpha != _menu_alpha_prev)
-               {
-                       if(autocvar__menu_alpha == 0)
+               if (autocvar__menu_alpha != _menu_alpha_prev) {
+                       if (autocvar__menu_alpha == 0) {
                                hud_configure_menu_open = 0;
+                       }
                        _menu_alpha_prev = autocvar__menu_alpha;
                }
 
                HUD_Configure_DrawGrid();
-       }
-       else if(hud_configure_prev)
-       {
-               if(hud_configure_menu_open)
+       } else if (hud_configure_prev) {
+               if (hud_configure_menu_open) {
                        hud_configure_menu_open = 0;
-               if(autocvar_hud_cursormode)
+               }
+               if (autocvar_hud_cursormode) {
                        setcursormode(0);
+               }
                hud_dynamic_shake_factor = -1;
        }
 }
@@ -1305,16 +1278,13 @@ void HUD_Panel_HlBorder(float myBorder, vector color, float theAlpha)
 
 void HUD_Configure_PostDraw()
 {
-       if(autocvar__hud_configure)
-       {
-               if(tab_panel)
-               {
+       if (autocvar__hud_configure) {
+               if (tab_panel) {
                        panel = tab_panel;
                        HUD_Panel_UpdatePosSize();
                        drawfill(panel_pos - '1 1 0' * panel_bg_border, panel_size + '2 2 0' * panel_bg_border, '1 1 1', .2, DRAWFLAG_NORMAL);
                }
-               if(highlightedPanel)
-               {
+               if (highlightedPanel) {
                        panel = highlightedPanel;
                        HUD_Panel_UpdatePosSize();
                        HUD_Panel_HlBorder(panel_bg_border * hlBorderSize, '0 0.5 1', 0.4 * (1 - autocvar__menu_alpha));
index 6ab64f6aed2a7548f5b51dc36bbb012713c8c9e7..6561b48fde87d5623983051a2226d5a4d5d0690b 100644 (file)
@@ -4,7 +4,7 @@ const int S_MOUSE1 = 1;
 const int S_MOUSE2 = 2;
 const int S_MOUSE3 = 4;
 int mouseClicked;
-int prevMouseClicked; // previous state
+int prevMouseClicked;       // previous state
 float prevMouseClickedTime; // time during previous left mouse click, to check for doubleclicks
 vector prevMouseClickedPos; // pos during previous left mouse click, to check for doubleclicks
 
index a92bdc69234a1dac1f90762cd8a74243f986c17d..7b28f9914ec351eaa96f19b3dfa6e208e79f5d2a 100644 (file)
@@ -20,74 +20,80 @@ bool centerprint_showing;
 
 void centerprint_generic(int new_id, string strMessage, float duration, int countdown_num)
 {
-    TC(int, new_id); TC(int, countdown_num);
-       //printf("centerprint_generic(%d, '%s^7', %d, %d);\n", new_id, strMessage, duration, countdown_num);
+       TC(int, new_id);
+       TC(int, countdown_num);
+       // printf("centerprint_generic(%d, '%s^7', %d, %d);\n", new_id, strMessage, duration, countdown_num);
        int i, j;
 
-       if(strMessage == "" && new_id == 0)
+       if (strMessage == "" && new_id == 0) {
                return;
+       }
 
        // strip trailing newlines
        j = strlen(strMessage) - 1;
-       while(substring(strMessage, j, 1) == "\n" && j >= 0)
+       while (substring(strMessage, j, 1) == "\n" && j >= 0) {
                --j;
-       if (j < strlen(strMessage) - 1)
+       }
+       if (j < strlen(strMessage) - 1) {
                strMessage = substring(strMessage, 0, j + 1);
+       }
 
-       if(strMessage == "" && new_id == 0)
+       if (strMessage == "" && new_id == 0) {
                return;
+       }
 
        // strip leading newlines
        j = 0;
-       while(substring(strMessage, j, 1) == "\n" && j < strlen(strMessage))
+       while (substring(strMessage, j, 1) == "\n" && j < strlen(strMessage)) {
                ++j;
-       if (j > 0)
+       }
+       if (j > 0) {
                strMessage = substring(strMessage, j, strlen(strMessage) - j);
+       }
 
-       if(strMessage == "" && new_id == 0)
+       if (strMessage == "" && new_id == 0) {
                return;
+       }
 
-       if (!centerprint_showing)
+       if (!centerprint_showing) {
                centerprint_showing = true;
+       }
 
-       for (i=0, j=cpm_index; i<CENTERPRINT_MAX_MSGS; ++i, ++j)
-       {
-               if (j == CENTERPRINT_MAX_MSGS)
+       for (i = 0, j = cpm_index; i < CENTERPRINT_MAX_MSGS; ++i, ++j) {
+               if (j == CENTERPRINT_MAX_MSGS) {
                        j = 0;
-               if (new_id && new_id == centerprint_msgID[j])
-               {
-                       if (strMessage == "" && centerprint_messages[j] != "" && centerprint_countdown_num[j] == 0)
-                       {
+               }
+               if (new_id && new_id == centerprint_msgID[j]) {
+                       if (strMessage == "" && centerprint_messages[j] != "" && centerprint_countdown_num[j] == 0) {
                                // fade out the current msg (duration and countdown_num are ignored)
                                centerprint_time[j] = min(5, autocvar_hud_panel_centerprint_fade_out);
                                centerprint_expire_time[j] = -1; // don't use the variable time here!
                                return;
                        }
-                       break; // found a msg with the same id, at position j
+                       break;                               // found a msg with the same id, at position j
                }
        }
 
-       if (i == CENTERPRINT_MAX_MSGS)
-       {
+       if (i == CENTERPRINT_MAX_MSGS) {
                // a msg with the same id was not found, add the msg at the next position
                --cpm_index;
-               if (cpm_index == -1)
+               if (cpm_index == -1) {
                        cpm_index = CENTERPRINT_MAX_MSGS - 1;
+               }
                j = cpm_index;
        }
-       if(centerprint_messages[j])
+       if (centerprint_messages[j]) {
                strunzone(centerprint_messages[j]);
+       }
        centerprint_messages[j] = strzone(strMessage);
        centerprint_msgID[j] = new_id;
-       if (duration < 0)
-       {
+       if (duration < 0) {
                centerprint_time[j] = -1;
                centerprint_expire_time[j] = -1; // don't use the variable time here!
-       }
-       else
-       {
-               if(duration == 0)
+       } else {
+               if (duration == 0) {
                        duration = max(1, autocvar_hud_panel_centerprint_time);
+               }
                centerprint_time[j] = duration;
                centerprint_expire_time[j] = -1; // don't use the variable time here!
        }
@@ -96,7 +102,7 @@ void centerprint_generic(int new_id, string strMessage, float duration, int coun
 
 void centerprint_kill(int id)
 {
-    TC(int, id);
+       TC(int, id);
        centerprint_generic(id, "", 0, 0);
 }
 
@@ -107,90 +113,83 @@ void centerprint_hud(string strMessage)
 
 void reset_centerprint_messages()
 {
-       for (int i=0; i<CENTERPRINT_MAX_MSGS; ++i)
-       {
+       for (int i = 0; i < CENTERPRINT_MAX_MSGS; ++i) {
                centerprint_expire_time[i] = 0;
                centerprint_time[i] = 1;
                centerprint_msgID[i] = 0;
-               if(centerprint_messages[i])
+               if (centerprint_messages[i]) {
                        strunzone(centerprint_messages[i]);
+               }
                centerprint_messages[i] = string_null;
        }
 }
 float hud_configure_cp_generation_time;
-void HUD_CenterPrint ()
+void HUD_CenterPrint()
 {
-       if(!autocvar__hud_configure)
-       {
-               if(!autocvar_hud_panel_centerprint) return;
+       if (!autocvar__hud_configure) {
+               if (!autocvar_hud_panel_centerprint) { return; }
 
-               if(hud_configure_prev)
+               if (hud_configure_prev) {
                        reset_centerprint_messages();
-       }
-       else
-       {
-               if(!hud_configure_prev)
-               {
+               }
+       } else {
+               if (!hud_configure_prev) {
                        reset_centerprint_messages();
                        hud_configure_cp_generation_time = time; // show a message immediately
                }
-               if (time > hud_configure_cp_generation_time)
-               {
-                       if(highlightedPanel == HUD_PANEL(CENTERPRINT))
-                       {
+               if (time > hud_configure_cp_generation_time) {
+                       if (highlightedPanel == HUD_PANEL(CENTERPRINT)) {
                                float r;
                                r = random();
-                               if (r > 0.8)
-                                       centerprint_generic(floor(r*1000), strcat(sprintf("^3Countdown message at time %s", seconds_tostring(time)), ", seconds left: ^COUNT"), 1, 10);
-                               else if (r > 0.55)
+                               if (r > 0.8) {
+                                       centerprint_generic(floor(r * 1000), strcat(sprintf("^3Countdown message at time %s", seconds_tostring(time)), ", seconds left: ^COUNT"), 1, 10);
+                               } else if (r > 0.55) {
                                        centerprint_generic(0, sprintf("^1Multiline message at time %s that\n^1lasts longer than normal", seconds_tostring(time)), 20, 0);
-                               else
+                               } else {
                                        centerprint_hud(sprintf("Message at time %s", seconds_tostring(time)));
-                               hud_configure_cp_generation_time = time + 1 + random()*4;
-                       }
-                       else
-                       {
+                               }
+                               hud_configure_cp_generation_time = time + 1 + random() * 4;
+                       } else {
                                centerprint_generic(0, sprintf("Centerprint message", seconds_tostring(time)), 10, 0);
-                               hud_configure_cp_generation_time = time + 10 - random()*3;
+                               hud_configure_cp_generation_time = time + 10 - random() * 3;
                        }
                }
        }
 
        HUD_Panel_LoadCvars();
 
-       if ( HUD_Radar_Clickable() )
-       {
-               if (hud_panel_radar_bottom >= 0.96 * vid_conheight)
+       if (HUD_Radar_Clickable()) {
+               if (hud_panel_radar_bottom >= 0.96 * vid_conheight) {
                        return;
+               }
 
                panel_pos.x = 0.5 * (vid_conwidth - panel_size.x);
                panel_pos.y = hud_panel_radar_bottom;
                panel_size.y = min(panel_size.y, vid_conheight - hud_panel_radar_bottom);
-       }
-       else if(!autocvar__hud_configure && scoreboard_fade_alpha)
-       {
+       } else if (!autocvar__hud_configure && scoreboard_fade_alpha) {
                // move the panel below the scoreboard
-               if (scoreboard_bottom >= 0.96 * vid_conheight)
+               if (scoreboard_bottom >= 0.96 * vid_conheight) {
                        return;
+               }
                vector target_pos = vec2(0.5 * (vid_conwidth - panel_size.x), scoreboard_bottom);
-               if(target_pos.y > panel_pos.y)
-               {
+               if (target_pos.y > panel_pos.y) {
                        panel_pos = panel_pos + (target_pos - panel_pos) * sqrt(scoreboard_fade_alpha);
                        panel_size.y = min(panel_size.y, vid_conheight - scoreboard_bottom);
                }
        }
 
-       if (autocvar_hud_panel_centerprint_dynamichud)
+       if (autocvar_hud_panel_centerprint_dynamichud) {
                HUD_Scale_Enable();
-       else
+       } else {
                HUD_Scale_Disable();
+       }
        HUD_Panel_DrawBg();
 
-       if (!centerprint_showing)
+       if (!centerprint_showing) {
                return;
+       }
 
-       if(panel_bg_padding)
-       {
+       if (panel_bg_padding) {
                panel_pos += '1 1 0' * panel_bg_padding;
                panel_size -= '2 2 0' * panel_bg_padding;
        }
@@ -201,9 +200,9 @@ void HUD_CenterPrint ()
        // entries = bound(1, floor(CENTERPRINT_MAX_ENTRIES * 4 * panel_size_y/panel_size_x), CENTERPRINT_MAX_ENTRIES);
        // height = panel_size_y/entries;
        // fontsize = '1 1 0' * height;
-       height = vid_conheight/50 * autocvar_hud_panel_centerprint_fontscale;
+       height = vid_conheight / 50 * autocvar_hud_panel_centerprint_fontscale;
        fontsize = '1 1 0' * height;
-       entries = bound(1, floor(panel_size.y/height), CENTERPRINT_MAX_ENTRIES);
+       entries = bound(1, floor(panel_size.y / height), CENTERPRINT_MAX_ENTRIES);
 
        int i, j, k, n, g;
        float a, sz, align, current_msg_posY = 0, msg_size;
@@ -212,58 +211,61 @@ void HUD_CenterPrint ()
        bool all_messages_expired = true;
 
        pos = panel_pos;
-       if (autocvar_hud_panel_centerprint_flip)
+       if (autocvar_hud_panel_centerprint_flip) {
                pos.y += panel_size.y;
+       }
        align = bound(0, autocvar_hud_panel_centerprint_align, 1);
-       for (g=0, i=0, j=cpm_index; i<CENTERPRINT_MAX_MSGS; ++i, ++j)
-       {
-               if (j == CENTERPRINT_MAX_MSGS)
+       for (g = 0, i = 0, j = cpm_index; i < CENTERPRINT_MAX_MSGS; ++i, ++j) {
+               if (j == CENTERPRINT_MAX_MSGS) {
                        j = 0;
-               if (centerprint_expire_time[j] == -1)
-               {
+               }
+               if (centerprint_expire_time[j] == -1) {
                        // here we are sure the time variable is not altered by CSQC_Ent_Update
                        centerprint_expire_time[j] = time;
-                       if (centerprint_time[j] > 0)
+                       if (centerprint_time[j] > 0) {
                                centerprint_expire_time[j] += centerprint_time[j];
+                       }
                }
-               if (centerprint_expire_time[j] <= time)
-               {
-                       if (centerprint_countdown_num[j] && centerprint_time[j] > 0)
-                       {
+               if (centerprint_expire_time[j] <= time) {
+                       if (centerprint_countdown_num[j] && centerprint_time[j] > 0) {
                                centerprint_countdown_num[j] = centerprint_countdown_num[j] - 1;
-                               if (centerprint_countdown_num[j] == 0)
+                               if (centerprint_countdown_num[j] == 0) {
                                        continue;
+                               }
                                centerprint_expire_time[j] = centerprint_expire_time[j] + centerprint_time[j];
-                       }
-                       else if(centerprint_time[j] != -1)
+                       } else if (centerprint_time[j] != -1) {
                                continue;
+                       }
                }
 
                all_messages_expired = false;
 
                // fade the centerprint_hud in/out
-               if(centerprint_time[j] < 0)  // Expired but forced. Expire time is the fade-in time.
+               if (centerprint_time[j] < 0) {                                                            // Expired but forced. Expire time is the fade-in time.
                        a = (time - centerprint_expire_time[j]) / max(0.0001, autocvar_hud_panel_centerprint_fade_in);
-               else if(centerprint_expire_time[j] - autocvar_hud_panel_centerprint_fade_out > time)  // Regularily printed. Not fading out yet.
+               } else if (centerprint_expire_time[j] - autocvar_hud_panel_centerprint_fade_out > time) { // Regularily printed. Not fading out yet.
                        a = (time - (centerprint_expire_time[j] - centerprint_time[j])) / max(0.0001, autocvar_hud_panel_centerprint_fade_in);
-               else // Expiring soon, so fade it out.
+               } else {                                                                                  // Expiring soon, so fade it out.
                        a = (centerprint_expire_time[j] - time) / max(0.0001, autocvar_hud_panel_centerprint_fade_out);
+               }
 
-               if(centerprint_msgID[j] == CPID_TIMEIN)
+               if (centerprint_msgID[j] == CPID_TIMEIN) {
                        a = 1;
+               }
 
                // while counting down show it anyway in order to hold the current message position
-               if (a <= 0.5/255.0 && centerprint_countdown_num[j] == 0)  // Guaranteed invisible - don't show.
+               if (a <= 0.5 / 255.0 && centerprint_countdown_num[j] == 0) { // Guaranteed invisible - don't show.
                        continue;
-               if (a > 1)
+               }
+               if (a > 1) {
                        a = 1;
+               }
 
                // set the size from fading in/out before subsequent fading
                sz = autocvar_hud_panel_centerprint_fade_minfontsize + a * (1 - autocvar_hud_panel_centerprint_fade_minfontsize);
 
                // also fade it based on positioning
-               if(autocvar_hud_panel_centerprint_fade_subsequent)
-               {
+               if (autocvar_hud_panel_centerprint_fade_subsequent) {
                        // pass one: all messages after the first have half alpha
                        a = a * bound(autocvar_hud_panel_centerprint_fade_subsequent_passone_minalpha, (1 - (g / max(1, autocvar_hud_panel_centerprint_fade_subsequent_passone))), 1);
                        // pass two: after that, gradually lower alpha even more for each message
@@ -275,80 +277,74 @@ void HUD_CenterPrint ()
                sz = sz * (autocvar_hud_panel_centerprint_fade_subsequent_minfontsize + a * (1 - autocvar_hud_panel_centerprint_fade_subsequent_minfontsize));
                drawfontscale = hud_scale * sz;
 
-               if (centerprint_countdown_num[j])
+               if (centerprint_countdown_num[j]) {
                        n = tokenizebyseparator(strreplace("^COUNT", count_seconds(centerprint_countdown_num[j]), centerprint_messages[j]), "\n");
-               else
+               } else {
                        n = tokenizebyseparator(centerprint_messages[j], "\n");
+               }
 
-               if (autocvar_hud_panel_centerprint_flip)
-               {
+               if (autocvar_hud_panel_centerprint_flip) {
                        // check if the message can be entirely shown
-                       for(k = 0; k < n; ++k)
-                       {
+                       for (k = 0; k < n; ++k) {
                                getWrappedLine_remaining = argv(k);
-                               while(getWrappedLine_remaining)
-                               {
+                               while (getWrappedLine_remaining) {
                                        ts = getWrappedLine(panel_size.x * hud_scale.x * sz, fontsize, stringwidth_colors);
-                                       if (ts != "")
+                                       if (ts != "") {
                                                pos.y -= fontsize.y;
-                                       else
-                                               pos.y -= fontsize.y * CENTERPRINT_SPACING/2;
+                                       } else {
+                                               pos.y -= fontsize.y * CENTERPRINT_SPACING / 2;
+                                       }
                                }
                        }
                        current_msg_posY = pos.y; // save starting pos (first line) of the current message
                }
 
                msg_size = pos.y;
-               for(k = 0; k < n; ++k)
-               {
+               for (k = 0; k < n; ++k) {
                        getWrappedLine_remaining = argv(k);
-                       while(getWrappedLine_remaining)
-                       {
+                       while (getWrappedLine_remaining) {
                                ts = getWrappedLine(panel_size.x * hud_scale.x * sz, fontsize, stringwidth_colors);
-                               if (ts != "")
-                               {
-                                       if (align)
+                               if (ts != "") {
+                                       if (align) {
                                                pos.x = panel_pos.x + (panel_size.x - stringwidth(ts, true, fontsize) * sz) * align;
-                                       if (a > 0.5/255.0)  // Otherwise guaranteed invisible - don't show. This is checked a second time after some multiplications with other factors were done so temporary changes of these cannot cause flicker.
+                                       }
+                                       if (a > 0.5 / 255.0) { // Otherwise guaranteed invisible - don't show. This is checked a second time after some multiplications with other factors were done so temporary changes of these cannot cause flicker.
                                                drawcolorcodedstring(pos + eY * 0.5 * (1 - sz * hud_scale.x) * fontsize.y, ts, fontsize, a, DRAWFLAG_NORMAL);
+                                       }
                                        pos.y += fontsize.y;
+                               } else {
+                                       pos.y += fontsize.y * CENTERPRINT_SPACING / 2;
                                }
-                               else
-                                       pos.y += fontsize.y * CENTERPRINT_SPACING/2;
                        }
                }
 
                ++g; // move next position number up
 
                msg_size = pos.y - msg_size;
-               if (autocvar_hud_panel_centerprint_flip)
-               {
+               if (autocvar_hud_panel_centerprint_flip) {
                        pos.y = current_msg_posY - CENTERPRINT_SPACING * fontsize.y;
-                       if (a < 1 && centerprint_msgID[j] == 0) // messages with id can be replaced just after they are faded out, so never move over them the next messages
+                       if (a < 1 && centerprint_msgID[j] == 0) // messages with id can be replaced just after they are faded out, so never move over them the next messages
                                pos.y += (msg_size + CENTERPRINT_SPACING * fontsize.y) * (1 - sqrt(sz));
+                       }
 
-                       if (pos.y < panel_pos.y) // check if the next message can be shown
-                       {
+                       if (pos.y < panel_pos.y) { // check if the next message can be shown
                                drawfontscale = hud_scale;
                                return;
                        }
-               }
-               else
-               {
+               } else {
                        pos.y += CENTERPRINT_SPACING * fontsize.y;
-                       if (a < 1 && centerprint_msgID[j] == 0) // messages with id can be replaced just after they are faded out, so never move over them the next messages
+                       if (a < 1 && centerprint_msgID[j] == 0) // messages with id can be replaced just after they are faded out, so never move over them the next messages
                                pos.y -= (msg_size + CENTERPRINT_SPACING * fontsize.y) * (1 - sqrt(sz));
+                       }
 
-                       if(pos.y > panel_pos.y + panel_size.y - fontsize.y) // check if the next message can be shown
-                       {
+                       if (pos.y > panel_pos.y + panel_size.y - fontsize.y) { // check if the next message can be shown
                                drawfontscale = hud_scale;
                                return;
                        }
                }
        }
        drawfontscale = hud_scale;
-       if (all_messages_expired)
-       {
+       if (all_messages_expired) {
                centerprint_showing = false;
                reset_centerprint_messages();
        }
index 74d4b6d0f49462f522298e276770244dc54e278a..e5dd27529fd71197ff68dd6710bd29e88008fbde 100644 (file)
@@ -8,20 +8,16 @@
 
 void HUD_Chat()
 {
-       if(!autocvar__hud_configure)
-       {
-               if (!autocvar_hud_panel_chat)
-               {
-                       if (!autocvar_con_chatrect)
+       if (!autocvar__hud_configure) {
+               if (!autocvar_hud_panel_chat) {
+                       if (!autocvar_con_chatrect) {
                                cvar_set("con_chatrect", "0");
+                       }
                        return;
                }
-               if(autocvar__con_chat_maximized)
-               {
-                       if(!hud_draw_maximized) return;
-               }
-               else if(chat_panel_modified)
-               {
+               if (autocvar__con_chat_maximized) {
+                       if (!hud_draw_maximized) { return; }
+               } else if (chat_panel_modified) {
                        panel.update_time = time; // forces reload of panel attributes
                        chat_panel_modified = false;
                }
@@ -29,8 +25,7 @@ void HUD_Chat()
 
        HUD_Panel_LoadCvars();
 
-       if(intermission == 2)
-       {
+       if (intermission == 2) {
                // reserve some more space to the mapvote panel
                // by resizing and moving chat panel to the bottom
                panel_size.y = min(panel_size.y, vid_conheight * 0.2);
@@ -38,18 +33,18 @@ void HUD_Chat()
                chat_posy = panel_pos.y;
                chat_sizey = panel_size.y;
        }
-       if(autocvar__con_chat_maximized && !autocvar__hud_configure) // draw at full screen height if maximized
-       {
+       if (autocvar__con_chat_maximized && !autocvar__hud_configure) { // draw at full screen height if maximized
                panel_pos.y = panel_bg_border;
                panel_size.y = vid_conheight - panel_bg_border * 2;
-               if(panel.current_panel_bg == "0") // force a border when maximized
-               {
+               if (panel.current_panel_bg == "0") { // force a border when maximized
                        string panel_bg;
                        panel_bg = strcat(hud_skin_path, "/border_default");
-                       if(precache_pic(panel_bg) == "")
+                       if (precache_pic(panel_bg) == "") {
                                panel_bg = "gfx/hud/default/border_default";
-                       if(panel.current_panel_bg)
+                       }
+                       if (panel.current_panel_bg) {
                                strunzone(panel.current_panel_bg);
+                       }
                        panel.current_panel_bg = strzone(panel_bg);
                        chat_panel_modified = true;
                }
@@ -64,28 +59,26 @@ void HUD_Chat()
        HUD_Scale_Disable();
        HUD_Panel_DrawBg();
 
-       if(panel_bg_padding)
-       {
+       if (panel_bg_padding) {
                pos += '1 1 0' * panel_bg_padding;
                mySize -= '2 2 0' * panel_bg_padding;
        }
 
-       if (!autocvar_con_chatrect)
+       if (!autocvar_con_chatrect) {
                cvar_set("con_chatrect", "1");
+       }
 
-       cvar_set("con_chatrect_x", ftos(pos.x/vid_conwidth));
-       cvar_set("con_chatrect_y", ftos(pos.y/vid_conheight));
+       cvar_set("con_chatrect_x", ftos(pos.x / vid_conwidth));
+       cvar_set("con_chatrect_y", ftos(pos.y / vid_conheight));
 
-       cvar_set("con_chatwidth", ftos(mySize.x/vid_conwidth));
-       cvar_set("con_chat", ftos(floor(mySize.y/autocvar_con_chatsize - 0.5)));
+       cvar_set("con_chatwidth", ftos(mySize.x / vid_conwidth));
+       cvar_set("con_chat", ftos(floor(mySize.y / autocvar_con_chatsize - 0.5)));
 
-       if(autocvar__hud_configure)
-       {
+       if (autocvar__hud_configure) {
                vector chatsize = '1 1 0' * autocvar_con_chatsize;
                cvar_set("con_chatrect_x", "9001"); // over 9000, we'll fake it instead for more control over alpha and such
                string str = textShortenToWidth(_("^3Player^7: This is the chat area."), mySize.x, chatsize, stringwidth_colors);
-               for(int i = 0; i < autocvar_con_chat; ++i)
-               {
+               for (int i = 0; i < autocvar_con_chat; ++i) {
                        // engine displays chat text at full alpha
                        drawcolorcodedstring(pos, str, chatsize, 1, DRAWFLAG_NORMAL);
                        pos.y += chatsize.y;
index ed7966c16ea1431fe0bfcbdeab2f2386f96897cb..c735e3017123e2c21c3e10ebd9061e94e1f15e79 100644 (file)
@@ -17,9 +17,8 @@ float autocvar_hud_panel_engineinfo_framecounter_exponentialmovingaverage_new_we
 float autocvar_hud_panel_engineinfo_framecounter_exponentialmovingaverage_instantupdate_change_threshold;
 void HUD_EngineInfo()
 {
-       if(!autocvar__hud_configure)
-       {
-               if(!autocvar_hud_panel_engineinfo) return;
+       if (!autocvar__hud_configure) {
+               if (!autocvar_hud_panel_engineinfo) { return; }
        }
 
        HUD_Panel_LoadCvars();
@@ -27,47 +26,43 @@ void HUD_EngineInfo()
        pos = panel_pos;
        mySize = panel_size;
 
-       if (autocvar_hud_panel_engineinfo_dynamichud)
+       if (autocvar_hud_panel_engineinfo_dynamichud) {
                HUD_Scale_Enable();
-       else
+       } else {
                HUD_Scale_Disable();
+       }
        HUD_Panel_DrawBg();
-       if(panel_bg_padding)
-       {
+       if (panel_bg_padding) {
                pos += '1 1 0' * panel_bg_padding;
                mySize -= '2 2 0' * panel_bg_padding;
        }
 
        float currentTime = gettime(GETTIME_REALTIME);
-       if(autocvar_hud_panel_engineinfo_framecounter_exponentialmovingaverage)
-       {
+       if (autocvar_hud_panel_engineinfo_framecounter_exponentialmovingaverage) {
                float currentframetime = currentTime - prevfps_time;
-               frametimeavg = (frametimeavg + frametimeavg1 + frametimeavg2 + currentframetime)/4; // average three frametimes into framecounter for slightly more stable fps readings :P
+               frametimeavg = (frametimeavg + frametimeavg1 + frametimeavg2 + currentframetime) / 4; // average three frametimes into framecounter for slightly more stable fps readings :P
                frametimeavg2 = frametimeavg1;
                frametimeavg1 = frametimeavg;
 
                float weight;
                weight = autocvar_hud_panel_engineinfo_framecounter_exponentialmovingaverage_new_weight;
-               if(currentframetime > 0.0001) // filter out insane values which sometimes seem to occur and throw off the average? If you are getting 10,000 fps or more, then you don't need a framerate counter.
-               {
-                       if(fabs(prevfps - (1/frametimeavg)) > prevfps * autocvar_hud_panel_engineinfo_framecounter_exponentialmovingaverage_instantupdate_change_threshold) // if there was a big jump in fps, just force prevfps at current (1/currentframetime) to make big updates instant
-                               prevfps = (1/currentframetime);
-                       prevfps = (1 - weight) * prevfps + weight * (1/frametimeavg); // framecounter just used so there's no need for a new variable, think of it as "frametime average"
+               if (currentframetime > 0.0001) { // filter out insane values which sometimes seem to occur and throw off the average? If you are getting 10,000 fps or more, then you don't need a framerate counter.
+                       if (fabs(prevfps - (1 / frametimeavg)) > prevfps * autocvar_hud_panel_engineinfo_framecounter_exponentialmovingaverage_instantupdate_change_threshold) { // if there was a big jump in fps, just force prevfps at current (1/currentframetime) to make big updates instant
+                               prevfps = (1 / currentframetime);
+                       }
+                       prevfps = (1 - weight) * prevfps + weight * (1 / frametimeavg); // framecounter just used so there's no need for a new variable, think of it as "frametime average"
                }
                prevfps_time = currentTime;
-       }
-       else
-       {
+       } else {
                framecounter += 1;
-               if(currentTime - prevfps_time > autocvar_hud_panel_engineinfo_framecounter_time)
-               {
-                       prevfps = framecounter/(currentTime - prevfps_time);
+               if (currentTime - prevfps_time > autocvar_hud_panel_engineinfo_framecounter_time) {
+                       prevfps = framecounter / (currentTime - prevfps_time);
                        framecounter = 0;
                        prevfps_time = currentTime;
                }
        }
 
        vector color;
-       color = HUD_Get_Num_Color (prevfps, 100);
+       color = HUD_Get_Num_Color(prevfps, 100);
        drawstring_aspect(pos, sprintf(_("FPS: %.*f"), autocvar_hud_panel_engineinfo_framecounter_decimals, prevfps), mySize, color, panel_fg_alpha, DRAWFLAG_NORMAL);
 }
index 4c08ef900f02283ddd9fe24ca545f59334ffa31f..7125ca132054d2b457f5125b64d8427b85c97ec7 100644 (file)
 void HUD_HealthArmor()
 {
        int armor, health, fuel;
-       if(!autocvar__hud_configure)
-       {
-               if((!autocvar_hud_panel_healtharmor) || (spectatee_status == -1))
+       if (!autocvar__hud_configure) {
+               if ((!autocvar_hud_panel_healtharmor) || (spectatee_status == -1)) {
                        return;
-               if(hud != HUD_NORMAL) return;
+               }
+               if (hud != HUD_NORMAL) { return; }
 
                health = STAT(HEALTH);
-               if(health <= 0)
-               {
+               if (health <= 0) {
                        health = 0;
                        prev_health = -1;
-                       if(autocvar_hud_panel_healtharmor_hide_ondeath)
+                       if (autocvar_hud_panel_healtharmor_hide_ondeath) {
                                return;
+                       }
                }
                armor = STAT(ARMOR);
 
                // code to check for spectatee_status changes is in ENT_CLIENT_CLIENTDATA
                // prev_p_health and prev_health can be set to -1 there
 
-               if (prev_p_health == -1)
-               {
+               if (prev_p_health == -1) {
                        // no effect
                        health_beforedamage = 0;
                        armor_beforedamage = 0;
@@ -42,19 +41,15 @@ void HUD_HealthArmor()
                        old_p_armor = armor;
                        prev_p_health = health;
                        prev_p_armor = armor;
-               }
-               else if (prev_health == -1)
-               {
-                       //start the load effect
+               } else if (prev_health == -1) {
+                       // start the load effect
                        health_damagetime = 0;
                        armor_damagetime = 0;
                        prev_health = 0;
                        prev_armor = 0;
                }
                fuel = STAT(FUEL);
-       }
-       else
-       {
+       } else {
                health = 150;
                armor = 75;
                fuel = 20;
@@ -68,13 +63,13 @@ void HUD_HealthArmor()
        pos = panel_pos;
        mySize = panel_size;
 
-       if (autocvar_hud_panel_healtharmor_dynamichud)
+       if (autocvar_hud_panel_healtharmor_dynamichud) {
                HUD_Scale_Enable();
-       else
+       } else {
                HUD_Scale_Disable();
+       }
        HUD_Panel_DrawBg();
-       if(panel_bg_padding)
-       {
+       if (panel_bg_padding) {
                pos += '1 1 0' * panel_bg_padding;
                mySize -= '2 2 0' * panel_bg_padding;
        }
@@ -84,8 +79,7 @@ void HUD_HealthArmor()
 
        int maxhealth = autocvar_hud_panel_healtharmor_maxhealth;
        int maxarmor = autocvar_hud_panel_healtharmor_maxarmor;
-       if(autocvar_hud_panel_healtharmor_combined) // combined health and armor display
-       {
+       if (autocvar_hud_panel_healtharmor_combined) { // combined health and armor display
                vector v;
                v = healtharmor_maxdamage(health, armor, armorblockpercent, DEATH_WEAPON.m_id);
 
@@ -93,62 +87,59 @@ void HUD_HealthArmor()
 
                float maxtotal = maxhealth + maxarmor;
                string biggercount;
-               if(v.z) // NOT fully armored
-               {
+               if (v.z) { // NOT fully armored
                        biggercount = "health";
-                       if(autocvar_hud_panel_healtharmor_progressbar)
-                               HUD_Panel_DrawProgressBar(pos, mySize, autocvar_hud_panel_healtharmor_progressbar_health, hp/maxtotal, 0, (baralign == 1 || baralign == 2), autocvar_hud_progressbar_health_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
-                       if(armor && autocvar_hud_panel_healtharmor_text)
+                       if (autocvar_hud_panel_healtharmor_progressbar) {
+                               HUD_Panel_DrawProgressBar(pos, mySize, autocvar_hud_panel_healtharmor_progressbar_health, hp / maxtotal, 0, (baralign == 1 || baralign == 2), autocvar_hud_progressbar_health_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
+                       }
+                       if (armor && autocvar_hud_panel_healtharmor_text) {
                                drawpic_aspect_skin(pos + eX * mySize.x - eX * 0.5 * mySize.y, "armor", '0.5 0.5 0' * mySize.y, '1 1 1', panel_fg_alpha * armor / health, DRAWFLAG_NORMAL);
-               }
-               else
-               {
+                       }
+               } else {
                        biggercount = "armor";
-                       if(autocvar_hud_panel_healtharmor_progressbar)
-                               HUD_Panel_DrawProgressBar(pos, mySize, autocvar_hud_panel_healtharmor_progressbar_armor, hp/maxtotal, 0, (baralign == 1 || baralign == 2), autocvar_hud_progressbar_armor_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
-                       if(health && autocvar_hud_panel_healtharmor_text)
+                       if (autocvar_hud_panel_healtharmor_progressbar) {
+                               HUD_Panel_DrawProgressBar(pos, mySize, autocvar_hud_panel_healtharmor_progressbar_armor, hp / maxtotal, 0, (baralign == 1 || baralign == 2), autocvar_hud_progressbar_armor_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
+                       }
+                       if (health && autocvar_hud_panel_healtharmor_text) {
                                drawpic_aspect_skin(pos + eX * mySize.x - eX * 0.5 * mySize.y, "health", '0.5 0.5 0' * mySize.y, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL);
+                       }
                }
-               if(autocvar_hud_panel_healtharmor_text)
+               if (autocvar_hud_panel_healtharmor_text) {
                        DrawNumIcon(pos, mySize, hp, biggercount, 0, iconalign, HUD_Get_Num_Color(hp, maxtotal), 1);
+               }
 
-               if(fuel)
-                       HUD_Panel_DrawProgressBar(pos, vec2(mySize.x, 0.2 * mySize.y), "progressbar", fuel/100, 0, (baralign == 1 || baralign == 3), autocvar_hud_progressbar_fuel_color, panel_fg_alpha * 0.8, DRAWFLAG_NORMAL);
-       }
-       else
-       {
-               float panel_ar = mySize.x/mySize.y;
+               if (fuel) {
+                       HUD_Panel_DrawProgressBar(pos, vec2(mySize.x, 0.2 * mySize.y), "progressbar", fuel / 100, 0, (baralign == 1 || baralign == 3), autocvar_hud_progressbar_fuel_color, panel_fg_alpha * 0.8, DRAWFLAG_NORMAL);
+               }
+       } else {
+               float panel_ar = mySize.x / mySize.y;
                bool is_vertical = (panel_ar < 1);
                vector health_offset = '0 0 0', armor_offset = '0 0 0';
-               if (panel_ar >= 4 || (panel_ar >= 1/4 && panel_ar < 1))
-               {
+               if (panel_ar >= 4 || (panel_ar >= 1 / 4 && panel_ar < 1)) {
                        mySize.x *= 0.5;
-                       if (autocvar_hud_panel_healtharmor_flip)
+                       if (autocvar_hud_panel_healtharmor_flip) {
                                health_offset.x = mySize.x;
-                       else
+                       } else {
                                armor_offset.x = mySize.x;
-               }
-               else
-               {
+                       }
+               } else {
                        mySize.y *= 0.5;
-                       if (autocvar_hud_panel_healtharmor_flip)
+                       if (autocvar_hud_panel_healtharmor_flip) {
                                health_offset.y = mySize.y;
-                       else
+                       } else {
                                armor_offset.y = mySize.y;
+                       }
                }
 
                bool health_baralign, armor_baralign, fuel_baralign;
                bool health_iconalign, armor_iconalign;
-               if (autocvar_hud_panel_healtharmor_flip)
-               {
+               if (autocvar_hud_panel_healtharmor_flip) {
                        armor_baralign = (autocvar_hud_panel_healtharmor_baralign == 2 || autocvar_hud_panel_healtharmor_baralign == 1);
                        health_baralign = (autocvar_hud_panel_healtharmor_baralign == 3 || autocvar_hud_panel_healtharmor_baralign == 1);
                        fuel_baralign = health_baralign;
                        armor_iconalign = (autocvar_hud_panel_healtharmor_iconalign == 2 || autocvar_hud_panel_healtharmor_iconalign == 1);
                        health_iconalign = (autocvar_hud_panel_healtharmor_iconalign == 3 || autocvar_hud_panel_healtharmor_iconalign == 1);
-               }
-               else
-               {
+               } else {
                        health_baralign = (autocvar_hud_panel_healtharmor_baralign == 2 || autocvar_hud_panel_healtharmor_baralign == 1);
                        armor_baralign = (autocvar_hud_panel_healtharmor_baralign == 3 || autocvar_hud_panel_healtharmor_baralign == 1);
                        fuel_baralign = armor_baralign;
@@ -156,119 +147,111 @@ void HUD_HealthArmor()
                        armor_iconalign = (autocvar_hud_panel_healtharmor_iconalign == 3 || autocvar_hud_panel_healtharmor_iconalign == 1);
                }
 
-               //if(health)
+               // if(health)
                {
-                       if(autocvar_hud_panel_healtharmor_progressbar)
-                       {
+                       if (autocvar_hud_panel_healtharmor_progressbar) {
                                float p_health, pain_health_alpha;
                                p_health = health;
                                pain_health_alpha = 1;
-                               if (autocvar_hud_panel_healtharmor_progressbar_gfx)
-                               {
-                                       if (autocvar_hud_panel_healtharmor_progressbar_gfx_smooth > 0)
-                                       {
-                                               if (fabs(prev_health - health) >= autocvar_hud_panel_healtharmor_progressbar_gfx_smooth)
-                                               {
-                                                       if (time - old_p_healthtime < 1)
+                               if (autocvar_hud_panel_healtharmor_progressbar_gfx) {
+                                       if (autocvar_hud_panel_healtharmor_progressbar_gfx_smooth > 0) {
+                                               if (fabs(prev_health - health) >= autocvar_hud_panel_healtharmor_progressbar_gfx_smooth) {
+                                                       if (time - old_p_healthtime < 1) {
                                                                old_p_health = prev_p_health;
-                                                       else
+                                                       } else {
                                                                old_p_health = prev_health;
+                                                       }
                                                        old_p_healthtime = time;
                                                }
-                                               if (time - old_p_healthtime < 1)
-                                               {
+                                               if (time - old_p_healthtime < 1) {
                                                        p_health += (old_p_health - health) * (1 - (time - old_p_healthtime));
                                                        prev_p_health = p_health;
                                                }
                                        }
-                                       if (autocvar_hud_panel_healtharmor_progressbar_gfx_damage > 0)
-                                       {
-                                               if (prev_health - health >= autocvar_hud_panel_healtharmor_progressbar_gfx_damage)
-                                               {
-                                                       if (time - health_damagetime >= 1)
+                                       if (autocvar_hud_panel_healtharmor_progressbar_gfx_damage > 0) {
+                                               if (prev_health - health >= autocvar_hud_panel_healtharmor_progressbar_gfx_damage) {
+                                                       if (time - health_damagetime >= 1) {
                                                                health_beforedamage = prev_health;
+                                                       }
                                                        health_damagetime = time;
                                                }
-                                               if (time - health_damagetime < 1)
-                                               {
-                                                       float health_damagealpha = 1 - (time - health_damagetime)*(time - health_damagetime);
-                                                       HUD_Panel_DrawProgressBar(pos + health_offset, mySize, autocvar_hud_panel_healtharmor_progressbar_health, health_beforedamage/maxhealth, is_vertical, health_baralign, autocvar_hud_progressbar_health_color, autocvar_hud_progressbar_alpha * panel_fg_alpha * health_damagealpha, DRAWFLAG_NORMAL);
+                                               if (time - health_damagetime < 1) {
+                                                       float health_damagealpha = 1 - (time - health_damagetime) * (time - health_damagetime);
+                                                       HUD_Panel_DrawProgressBar(pos + health_offset, mySize, autocvar_hud_panel_healtharmor_progressbar_health, health_beforedamage / maxhealth, is_vertical, health_baralign, autocvar_hud_progressbar_health_color, autocvar_hud_progressbar_alpha * panel_fg_alpha * health_damagealpha, DRAWFLAG_NORMAL);
                                                }
                                        }
                                        prev_health = health;
 
-                                       if (health <= autocvar_hud_panel_healtharmor_progressbar_gfx_lowhealth)
-                                       {
+                                       if (health <= autocvar_hud_panel_healtharmor_progressbar_gfx_lowhealth) {
                                                float BLINK_FACTOR = 0.15;
                                                float BLINK_BASE = 0.85;
                                                float BLINK_FREQ = 9;
                                                pain_health_alpha = BLINK_BASE + BLINK_FACTOR * cos(time * BLINK_FREQ);
                                        }
                                }
-                               HUD_Panel_DrawProgressBar(pos + health_offset, mySize, autocvar_hud_panel_healtharmor_progressbar_health, p_health/maxhealth, is_vertical, health_baralign, autocvar_hud_progressbar_health_color, autocvar_hud_progressbar_alpha * panel_fg_alpha * pain_health_alpha, DRAWFLAG_NORMAL);
+                               HUD_Panel_DrawProgressBar(pos + health_offset, mySize, autocvar_hud_panel_healtharmor_progressbar_health, p_health / maxhealth, is_vertical, health_baralign, autocvar_hud_progressbar_health_color, autocvar_hud_progressbar_alpha * panel_fg_alpha * pain_health_alpha, DRAWFLAG_NORMAL);
                        }
-                       if(autocvar_hud_panel_healtharmor_text)
+                       if (autocvar_hud_panel_healtharmor_text) {
                                DrawNumIcon(pos + health_offset, mySize, health, "health", is_vertical, health_iconalign, HUD_Get_Num_Color(health, maxhealth), 1);
+                       }
                }
 
-               //if(armor)
+               // if(armor)
                {
                        float p_armor = armor;
-                       if(autocvar_hud_panel_healtharmor_progressbar)
-                       {
-                               if (autocvar_hud_panel_healtharmor_progressbar_gfx)
-                               {
-                                       if (autocvar_hud_panel_healtharmor_progressbar_gfx_smooth > 0)
-                                       {
-                                               if (fabs(prev_armor - armor) >= autocvar_hud_panel_healtharmor_progressbar_gfx_smooth)
-                                               {
-                                                       if (time - old_p_armortime < 1)
+                       if (autocvar_hud_panel_healtharmor_progressbar) {
+                               if (autocvar_hud_panel_healtharmor_progressbar_gfx) {
+                                       if (autocvar_hud_panel_healtharmor_progressbar_gfx_smooth > 0) {
+                                               if (fabs(prev_armor - armor) >= autocvar_hud_panel_healtharmor_progressbar_gfx_smooth) {
+                                                       if (time - old_p_armortime < 1) {
                                                                old_p_armor = prev_p_armor;
-                                                       else
+                                                       } else {
                                                                old_p_armor = prev_armor;
+                                                       }
                                                        old_p_armortime = time;
                                                }
-                                               if (time - old_p_armortime < 1)
-                                               {
+                                               if (time - old_p_armortime < 1) {
                                                        p_armor += (old_p_armor - armor) * (1 - (time - old_p_armortime));
                                                        prev_p_armor = p_armor;
                                                }
                                        }
-                                       if (autocvar_hud_panel_healtharmor_progressbar_gfx_damage > 0)
-                                       {
-                                               if (prev_armor - armor >= autocvar_hud_panel_healtharmor_progressbar_gfx_damage)
-                                               {
-                                                       if (time - armor_damagetime >= 1)
+                                       if (autocvar_hud_panel_healtharmor_progressbar_gfx_damage > 0) {
+                                               if (prev_armor - armor >= autocvar_hud_panel_healtharmor_progressbar_gfx_damage) {
+                                                       if (time - armor_damagetime >= 1) {
                                                                armor_beforedamage = prev_armor;
+                                                       }
                                                        armor_damagetime = time;
                                                }
-                                               if (time - armor_damagetime < 1)
-                                               {
-                                                       float armor_damagealpha = 1 - (time - armor_damagetime)*(time - armor_damagetime);
-                                                       HUD_Panel_DrawProgressBar(pos + armor_offset, mySize, autocvar_hud_panel_healtharmor_progressbar_armor, armor_beforedamage/maxarmor, is_vertical, armor_baralign, autocvar_hud_progressbar_armor_color, autocvar_hud_progressbar_alpha * panel_fg_alpha * armor_damagealpha, DRAWFLAG_NORMAL);
+                                               if (time - armor_damagetime < 1) {
+                                                       float armor_damagealpha = 1 - (time - armor_damagetime) * (time - armor_damagetime);
+                                                       HUD_Panel_DrawProgressBar(pos + armor_offset, mySize, autocvar_hud_panel_healtharmor_progressbar_armor, armor_beforedamage / maxarmor, is_vertical, armor_baralign, autocvar_hud_progressbar_armor_color, autocvar_hud_progressbar_alpha * panel_fg_alpha * armor_damagealpha, DRAWFLAG_NORMAL);
                                                }
                                        }
                                        prev_armor = armor;
                                }
-                               if(p_armor)
-                                       HUD_Panel_DrawProgressBar(pos + armor_offset, mySize, autocvar_hud_panel_healtharmor_progressbar_armor, p_armor/maxarmor, is_vertical, armor_baralign, autocvar_hud_progressbar_armor_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
+                               if (p_armor) {
+                                       HUD_Panel_DrawProgressBar(pos + armor_offset, mySize, autocvar_hud_panel_healtharmor_progressbar_armor, p_armor / maxarmor, is_vertical, armor_baralign, autocvar_hud_progressbar_armor_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
+                               }
+                       }
+                       if (!autocvar_hud_panel_healtharmor_progressbar || p_armor) {
+                               if (autocvar_hud_panel_healtharmor_text) {
+                                       DrawNumIcon(pos + armor_offset, mySize, armor, "armor", is_vertical, armor_iconalign, HUD_Get_Num_Color(armor, maxarmor), 1);
+                               }
                        }
-                       if(!autocvar_hud_panel_healtharmor_progressbar || p_armor)
-                       if(autocvar_hud_panel_healtharmor_text)
-                               DrawNumIcon(pos + armor_offset, mySize, armor, "armor", is_vertical, armor_iconalign, HUD_Get_Num_Color(armor, maxarmor), 1);
                }
 
-               if(fuel)
-               {
-                       if (is_vertical)
-                               mySize.x *= 0.2 / 2; //if vertical always halve x to not cover too much numbers with 3 digits
-                       else
+               if (fuel) {
+                       if (is_vertical) {
+                               mySize.x *= 0.2 / 2; // if vertical always halve x to not cover too much numbers with 3 digits
+                       } else {
                                mySize.y *= 0.2;
-                       if (panel_ar >= 4)
-                               mySize.x *= 2; //restore full panel size
-                       else if (panel_ar < 1/4)
-                               mySize.y *= 2; //restore full panel size
-                       HUD_Panel_DrawProgressBar(pos, mySize, "progressbar", fuel/100, is_vertical, fuel_baralign, autocvar_hud_progressbar_fuel_color, panel_fg_alpha * 0.8, DRAWFLAG_NORMAL);
+                       }
+                       if (panel_ar >= 4) {
+                               mySize.x *= 2; // restore full panel size
+                       } else if (panel_ar < 1 / 4) {
+                               mySize.y *= 2; // restore full panel size
+                       }
+                       HUD_Panel_DrawProgressBar(pos, mySize, "progressbar", fuel / 100, is_vertical, fuel_baralign, autocvar_hud_progressbar_fuel_color, panel_fg_alpha * 0.8, DRAWFLAG_NORMAL);
                }
        }
 
index 82690bee73a3d494a84a69762f7749f75806ce49..c377197240ad8811adef400997b7c88cca705ac3 100644 (file)
@@ -7,33 +7,35 @@
 
 void HUD_Notify_Push(string icon, string attacker, string victim)
 {
-       if (icon == "")
+       if (icon == "") {
                return;
+       }
 
        ++notify_count;
        --notify_index;
 
-       if (notify_index == -1)
-               notify_index = NOTIFY_MAX_ENTRIES-1;
+       if (notify_index == -1) {
+               notify_index = NOTIFY_MAX_ENTRIES - 1;
+       }
 
        // Free old strings
-       if (notify_attackers[notify_index])
+       if (notify_attackers[notify_index]) {
                strunzone(notify_attackers[notify_index]);
+       }
 
-       if (notify_victims[notify_index])
+       if (notify_victims[notify_index]) {
                strunzone(notify_victims[notify_index]);
+       }
 
-       if (notify_icons[notify_index])
+       if (notify_icons[notify_index]) {
                strunzone(notify_icons[notify_index]);
+       }
 
        // Allocate new strings
-       if (victim != "")
-       {
+       if (victim != "") {
                notify_attackers[notify_index] = strzone(attacker);
                notify_victims[notify_index] = strzone(victim);
-       }
-       else
-       {
+       } else {
                // In case of a notification without a victim, the attacker
                // is displayed on the victim's side. Instead of special
                // treatment later on, we can simply switch them here.
@@ -47,28 +49,32 @@ void HUD_Notify_Push(string icon, string attacker, string victim)
 
 void HUD_Notify()
 {
-       if (!autocvar__hud_configure)
-               if (!autocvar_hud_panel_notify)
+       if (!autocvar__hud_configure) {
+               if (!autocvar_hud_panel_notify) {
                        return;
+               }
+       }
 
        HUD_Panel_LoadCvars();
 
-       if (autocvar_hud_panel_notify_dynamichud)
+       if (autocvar_hud_panel_notify_dynamichud) {
                HUD_Scale_Enable();
-       else
+       } else {
                HUD_Scale_Disable();
+       }
        HUD_Panel_DrawBg();
 
-       if (!autocvar__hud_configure)
-               if (notify_count == 0)
+       if (!autocvar__hud_configure) {
+               if (notify_count == 0) {
                        return;
+               }
+       }
 
        vector pos, size;
        pos  = panel_pos;
        size = panel_size;
 
-       if (panel_bg_padding)
-       {
+       if (panel_bg_padding) {
                pos  += '1 1 0' * panel_bg_padding;
                size -= '2 2 0' * panel_bg_padding;
        }
@@ -95,53 +101,46 @@ void HUD_Notify()
        int i, j, count, step, limit;
        float alpha;
 
-       if (autocvar_hud_panel_notify_flip)
-       {
+       if (autocvar_hud_panel_notify_flip) {
                // Order items from the top down
                i = 0;
                step = +1;
                limit = entry_count;
-       }
-       else
-       {
+       } else {
                // Order items from the bottom up
                i = entry_count - 1;
                step = -1;
                limit = -1;
        }
 
-       for (j = notify_index, count = 0; i != limit; i += step, ++j, ++count)
-       {
-               if(autocvar__hud_configure)
-               {
+       for (j = notify_index, count = 0; i != limit; i += step, ++j, ++count) {
+               if (autocvar__hud_configure) {
                        attacker = sprintf(_("Player %d"), count + 1);
                        victim = sprintf(_("Player %d"), count + 2);
                        icon = Weapons_from(min(WEP_FIRST + count * 2, WEP_LAST)).model2;
                        alpha = bound(0, 1.2 - count / entry_count, 1);
-               }
-               else
-               {
-                       if (j == NOTIFY_MAX_ENTRIES)
+               } else {
+                       if (j == NOTIFY_MAX_ENTRIES) {
                                j = 0;
+                       }
 
-                       if (notify_times[j] + fade_start > time)
+                       if (notify_times[j] + fade_start > time) {
                                alpha = 1;
-                       else if (fade_time != 0)
-                       {
+                       } else if (fade_time != 0) {
                                alpha = bound(0, (notify_times[j] + fade_start + fade_time - time) / fade_time, 1);
-                               if (alpha == 0)
+                               if (alpha == 0) {
                                        break;
-                       }
-                       else
+                               }
+                       } else {
                                break;
+                       }
 
                        attacker = notify_attackers[j];
                        victim = notify_victims[j];
                        icon = notify_icons[j];
                }
 
-               if (icon != "" && victim != "")
-               {
+               if (icon != "" && victim != "") {
                        vector name_top = eY * (i * entry_height + 0.5 * (entry_height - font_size.y));
 
                        icon_pos = pos + icon_left + eY * i * entry_height;
@@ -151,8 +150,7 @@ void HUD_Notify()
                        victim_pos = pos + victim_left + name_top;
                        drawcolorcodedstring(victim_pos, victim, font_size, panel_fg_alpha * alpha, DRAWFLAG_NORMAL);
 
-                       if (attacker != "")
-                       {
+                       if (attacker != "") {
                                attacker = textShortenToWidth(ColorTranslateRGB(attacker), name_maxwidth, font_size, stringwidth_colors);
                                attacker_pos = pos + attacker_right - eX * stringwidth(attacker, true, font_size) + name_top;
                                drawcolorcodedstring(attacker_pos, attacker, font_size, panel_fg_alpha * alpha, DRAWFLAG_NORMAL);
index f58b442bcf8e7f34dd65e010dc2c7c7841484a8a..400249eb5473b8fc67403d04ae74ca62abdb6340 100644 (file)
@@ -14,71 +14,72 @@ float acc_prevtime, acc_avg, top_speed, top_speed_time;
 float physics_update_time, discrete_speed, discrete_acceleration;
 void HUD_Physics()
 {
-       if(!autocvar__hud_configure)
-       {
-               if(!autocvar_hud_panel_physics) return;
-               if(spectatee_status == -1 && (autocvar_hud_panel_physics == 1 || autocvar_hud_panel_physics == 3)) return;
-               if(autocvar_hud_panel_physics == 3 && !(gametype == MAPINFO_TYPE_RACE || gametype == MAPINFO_TYPE_CTS)) return;
+       if (!autocvar__hud_configure) {
+               if (!autocvar_hud_panel_physics) { return; }
+               if (spectatee_status == -1 && (autocvar_hud_panel_physics == 1 || autocvar_hud_panel_physics == 3)) { return; }
+               if (autocvar_hud_panel_physics == 3 && !(gametype == MAPINFO_TYPE_RACE || gametype == MAPINFO_TYPE_CTS)) { return; }
        }
 
        HUD_Panel_LoadCvars();
 
        draw_beginBoldFont();
 
-       if (autocvar_hud_panel_physics_dynamichud)
+       if (autocvar_hud_panel_physics_dynamichud) {
                HUD_Scale_Enable();
-       else
+       } else {
                HUD_Scale_Disable();
+       }
        HUD_Panel_DrawBg();
-       if(panel_bg_padding)
-       {
+       if (panel_bg_padding) {
                panel_pos += '1 1 0' * panel_bg_padding;
                panel_size -= '2 2 0' * panel_bg_padding;
        }
 
        float acceleration_progressbar_scale = 0;
-       if(autocvar_hud_panel_physics_progressbar && autocvar_hud_panel_physics_acceleration_progressbar_scale > 1)
+       if (autocvar_hud_panel_physics_progressbar && autocvar_hud_panel_physics_acceleration_progressbar_scale > 1) {
                acceleration_progressbar_scale = autocvar_hud_panel_physics_acceleration_progressbar_scale;
+       }
 
        float text_scale;
-       if (autocvar_hud_panel_physics_text_scale <= 0)
+       if (autocvar_hud_panel_physics_text_scale <= 0) {
                text_scale = 1;
-       else
+       } else {
                text_scale = min(autocvar_hud_panel_physics_text_scale, 1);
+       }
 
-       //compute speed
+       // compute speed
        float speed, conversion_factor = GetSpeedUnitFactor(autocvar_hud_panel_physics_speed_unit);
        string unit = GetSpeedUnit(autocvar_hud_panel_physics_speed_unit);
        vector vel = (csqcplayer ? csqcplayer.velocity : pmove_vel);
 
-       float max_speed = floor( autocvar_hud_panel_physics_speed_max * conversion_factor + 0.5 );
-       if (autocvar__hud_configure)
-               speed = floor( max_speed * 0.65 + 0.5 );
-       else if(autocvar_hud_panel_physics_speed_vertical)
-               speed = floor( vlen(vel) * conversion_factor + 0.5 );
-       else
-               speed = floor( vlen(vel - vel.z * '0 0 1') * conversion_factor + 0.5 );
+       float max_speed = floor(autocvar_hud_panel_physics_speed_max * conversion_factor + 0.5);
+       if (autocvar__hud_configure) {
+               speed = floor(max_speed * 0.65 + 0.5);
+       } else if (autocvar_hud_panel_physics_speed_vertical) {
+               speed = floor(vlen(vel) * conversion_factor + 0.5);
+       } else {
+               speed = floor(vlen(vel - vel.z * '0 0 1') * conversion_factor + 0.5);
+       }
 
-       //compute acceleration
+       // compute acceleration
        float acceleration, f;
-       if (autocvar__hud_configure)
+       if (autocvar__hud_configure) {
                acceleration = autocvar_hud_panel_physics_acceleration_max * 0.3;
-       else
-       {
+       } else {
                // 1 m/s = 0.0254 qu/s; 1 g = 9.80665 m/s^2
                f = time - acc_prevtime;
-               if(autocvar_hud_panel_physics_acceleration_vertical)
+               if (autocvar_hud_panel_physics_acceleration_vertical) {
                        acceleration = (vlen(vel) - vlen(acc_prevspeed));
-               else
+               } else {
                        acceleration = (vlen(vel - '0 0 1' * vel.z) - vlen(acc_prevspeed - '0 0 1' * acc_prevspeed.z));
+               }
 
                acceleration = acceleration * (1 / max(0.0001, f)) * (0.0254 / 9.80665);
 
                acc_prevspeed = vel;
                acc_prevtime = time;
 
-               if(autocvar_hud_panel_physics_acceleration_movingaverage)
-               {
+               if (autocvar_hud_panel_physics_acceleration_movingaverage) {
                        f = bound(0, f * 10, 1);
                        acc_avg = acc_avg * (1 - f) + acceleration * f;
                        acceleration = acc_avg;
@@ -86,79 +87,78 @@ void HUD_Physics()
        }
 
        const int acc_decimals = 2;
-       if(time > physics_update_time)
-       {
+       if (time > physics_update_time) {
                // workaround for ftos_decimals returning a negative 0
-               if(discrete_acceleration > -1 / POW(10, acc_decimals) && discrete_acceleration < 0)
+               if (discrete_acceleration > -1 / POW(10, acc_decimals) && discrete_acceleration < 0) {
                        discrete_acceleration = 0;
+               }
                discrete_acceleration = acceleration;
                discrete_speed = speed;
                physics_update_time += autocvar_hud_panel_physics_update_interval;
-               if(physics_update_time < time)
+               if (physics_update_time < time) {
                        physics_update_time = time + autocvar_hud_panel_physics_update_interval;
+               }
        }
 
-       //compute layout
-       float panel_ar = panel_size.x/panel_size.y;
+       // compute layout
+       float panel_ar = panel_size.x / panel_size.y;
        vector speed_offset = '0 0 0', acceleration_offset = '0 0 0';
-       if (panel_ar >= 5 && !acceleration_progressbar_scale)
-       {
+       if (panel_ar >= 5 && !acceleration_progressbar_scale) {
                panel_size.x *= 0.5;
-               if (autocvar_hud_panel_physics_flip)
+               if (autocvar_hud_panel_physics_flip) {
                        speed_offset.x = panel_size.x;
-               else
+               } else {
                        acceleration_offset.x = panel_size.x;
-       }
-       else
-       {
+               }
+       } else {
                panel_size.y *= 0.5;
-               if (autocvar_hud_panel_physics_flip)
+               if (autocvar_hud_panel_physics_flip) {
                        speed_offset.y = panel_size.y;
-               else
+               } else {
                        acceleration_offset.y = panel_size.y;
+               }
        }
        int speed_baralign, acceleration_baralign;
-       if (autocvar_hud_panel_physics_baralign == 1)
+       if (autocvar_hud_panel_physics_baralign == 1) {
                acceleration_baralign = speed_baralign = 1;
-    else if(autocvar_hud_panel_physics_baralign == 4)
+       } else if (autocvar_hud_panel_physics_baralign == 4) {
                acceleration_baralign = speed_baralign = 2;
-       else if (autocvar_hud_panel_physics_flip)
-       {
+       } else if (autocvar_hud_panel_physics_flip) {
                acceleration_baralign = (autocvar_hud_panel_physics_baralign == 2);
                speed_baralign = (autocvar_hud_panel_physics_baralign == 3);
-       }
-       else
-       {
+       } else {
                speed_baralign = (autocvar_hud_panel_physics_baralign == 2);
                acceleration_baralign = (autocvar_hud_panel_physics_baralign == 3);
        }
-       if (autocvar_hud_panel_physics_acceleration_progressbar_mode == 0)
-               acceleration_baralign = 3; //override hud_panel_physics_baralign value for acceleration
-
-       //draw speed
-       if(speed)
-       if(autocvar_hud_panel_physics_progressbar == 1 || autocvar_hud_panel_physics_progressbar == 2)
-               HUD_Panel_DrawProgressBar(panel_pos + speed_offset, panel_size, "progressbar", speed/max_speed, 0, speed_baralign, autocvar_hud_progressbar_speed_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
+       if (autocvar_hud_panel_physics_acceleration_progressbar_mode == 0) {
+               acceleration_baralign = 3; // override hud_panel_physics_baralign value for acceleration
+       }
+       // draw speed
+       if (speed) {
+               if (autocvar_hud_panel_physics_progressbar == 1 || autocvar_hud_panel_physics_progressbar == 2) {
+                       HUD_Panel_DrawProgressBar(panel_pos + speed_offset, panel_size, "progressbar", speed / max_speed, 0, speed_baralign, autocvar_hud_progressbar_speed_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
+               }
+       }
        vector tmp_offset = '0 0 0', tmp_size = '0 0 0';
-       if (autocvar_hud_panel_physics_text == 1 || autocvar_hud_panel_physics_text == 2)
-       {
+       if (autocvar_hud_panel_physics_text == 1 || autocvar_hud_panel_physics_text == 2) {
                tmp_size.x = panel_size.x * 0.75;
                tmp_size.y = panel_size.y * text_scale;
-               if (speed_baralign)
+               if (speed_baralign) {
                        tmp_offset.x = panel_size.x - tmp_size.x;
-               //else
-                       //tmp_offset_x = 0;
+               }
+               // else
+               // tmp_offset_x = 0;
                tmp_offset.y = (panel_size.y - tmp_size.y) / 2;
                drawstring_aspect(panel_pos + speed_offset + tmp_offset, ftos(discrete_speed), tmp_size, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL);
 
-               //draw speed unit
-               if (speed_baralign)
+               // draw speed unit
+               if (speed_baralign) {
                        tmp_offset.x = 0;
-               else
+               } else {
                        tmp_offset.x = tmp_size.x;
-               if (autocvar_hud_panel_physics_speed_unit_show)
-               {
-                       //tmp_offset_y = 0;
+               }
+               if (autocvar_hud_panel_physics_speed_unit_show) {
+                       // tmp_offset_y = 0;
                        tmp_size.x = panel_size.x * (1 - 0.75);
                        tmp_size.y = panel_size.y * 0.4 * text_scale;
                        tmp_offset.y = (panel_size.y * 0.4 - tmp_size.y) / 2;
@@ -166,104 +166,97 @@ void HUD_Physics()
                }
        }
 
-       //compute and draw top speed
-       if (autocvar_hud_panel_physics_topspeed)
-       if (autocvar_hud_panel_physics_text == 1 || autocvar_hud_panel_physics_text == 2)
-       {
-               if (autocvar__hud_configure)
-               {
-                       top_speed = floor( max_speed * 0.75 + 0.5 );
-                       f = 1;
-               }
-               else
-               {
-                       if (speed >= top_speed)
-                       {
-                               top_speed = speed;
-                               top_speed_time = time;
-                       }
-                       if (top_speed != 0)
-                       {
-                               f = max(1, autocvar_hud_panel_physics_topspeed_time);
-                               // divide by f to make it start from 1
-                               f = cos( ((time - top_speed_time) / f) * PI/2 );
-                       }
-            else //hide top speed 0, it would be stupid
-                               f = 0;
-               }
-               if (f > 0)
-               {
-                       //top speed progressbar peak
-                       if(speed < top_speed)
-                       if(autocvar_hud_panel_physics_progressbar == 1 || autocvar_hud_panel_physics_progressbar == 2)
-                       {
-                               float peak_offsetX;
-                               vector peak_size = '0 0 0';
-                               if (speed_baralign == 0)
-                                       peak_offsetX = min(top_speed, max_speed)/max_speed * panel_size.x;
-                else if (speed_baralign == 1)
-                                       peak_offsetX = (1 - min(top_speed, max_speed)/max_speed) * panel_size.x;
-                else // if (speed_baralign == 2)
-                    peak_offsetX = min(top_speed, max_speed)/max_speed * panel_size.x * 0.5;
-                               peak_size.x = floor(panel_size.x * 0.01 + 1.5);
-                peak_size.y = panel_size.y;
-                if (speed_baralign == 2) // draw two peaks, on both sides
-                {
-                    drawfill(panel_pos + speed_offset + eX * (0.5 * panel_size.x + peak_offsetX - peak_size.x), peak_size, autocvar_hud_progressbar_speed_color, f * autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
-                    drawfill(panel_pos + speed_offset + eX * (0.5 * panel_size.x - peak_offsetX + peak_size.x), peak_size, autocvar_hud_progressbar_speed_color, f * autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
-                }
-                else
-                    drawfill(panel_pos + speed_offset + eX * (peak_offsetX - peak_size.x), peak_size, autocvar_hud_progressbar_speed_color, f * autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
+       // compute and draw top speed
+       if (autocvar_hud_panel_physics_topspeed) {
+               if (autocvar_hud_panel_physics_text == 1 || autocvar_hud_panel_physics_text == 2) {
+                       if (autocvar__hud_configure) {
+                               top_speed = floor(max_speed * 0.75 + 0.5);
+                               f = 1;
+                       } else {
+                               if (speed >= top_speed) {
+                                       top_speed = speed;
+                                       top_speed_time = time;
+                               }
+                               if (top_speed != 0) {
+                                       f = max(1, autocvar_hud_panel_physics_topspeed_time);
+                                       // divide by f to make it start from 1
+                                       f = cos(((time - top_speed_time) / f) * PI / 2);
+                               } else { // hide top speed 0, it would be stupid
+                                       f = 0;
+                               }
                        }
+                       if (f > 0) {
+                               // top speed progressbar peak
+                               if (speed < top_speed) {
+                                       if (autocvar_hud_panel_physics_progressbar == 1 || autocvar_hud_panel_physics_progressbar == 2) {
+                                               float peak_offsetX;
+                                               vector peak_size = '0 0 0';
+                                               if (speed_baralign == 0) {
+                                                       peak_offsetX = min(top_speed, max_speed) / max_speed * panel_size.x;
+                                               } else if (speed_baralign == 1) {
+                                                       peak_offsetX = (1 - min(top_speed, max_speed) / max_speed) * panel_size.x;
+                                               } else { // if (speed_baralign == 2)
+                                                       peak_offsetX = min(top_speed, max_speed) / max_speed * panel_size.x * 0.5;
+                                               }
+                                               peak_size.x = floor(panel_size.x * 0.01 + 1.5);
+                                               peak_size.y = panel_size.y;
+                                               if (speed_baralign == 2) { // draw two peaks, on both sides
+                                                       drawfill(panel_pos + speed_offset + eX * (0.5 * panel_size.x + peak_offsetX - peak_size.x), peak_size, autocvar_hud_progressbar_speed_color, f * autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
+                                                       drawfill(panel_pos + speed_offset + eX * (0.5 * panel_size.x - peak_offsetX + peak_size.x), peak_size, autocvar_hud_progressbar_speed_color, f * autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
+                                               } else {
+                                                       drawfill(panel_pos + speed_offset + eX * (peak_offsetX - peak_size.x), peak_size, autocvar_hud_progressbar_speed_color, f * autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
+                                               }
+                                       }
+                               }
 
-                       //top speed
-                       tmp_offset.y = panel_size.y * 0.4;
-                       tmp_size.x = panel_size.x * (1 - 0.75);
-                       tmp_size.y = (panel_size.y - tmp_offset.y) * text_scale;
-                       tmp_offset.y += (panel_size.y - tmp_offset.y - tmp_size.y) / 2;
-                       drawstring_aspect(panel_pos + speed_offset + tmp_offset, ftos(top_speed), tmp_size, '1 0 0', f * panel_fg_alpha, DRAWFLAG_NORMAL);
+                               // top speed
+                               tmp_offset.y = panel_size.y * 0.4;
+                               tmp_size.x = panel_size.x * (1 - 0.75);
+                               tmp_size.y = (panel_size.y - tmp_offset.y) * text_scale;
+                               tmp_offset.y += (panel_size.y - tmp_offset.y - tmp_size.y) / 2;
+                               drawstring_aspect(panel_pos + speed_offset + tmp_offset, ftos(top_speed), tmp_size, '1 0 0', f * panel_fg_alpha, DRAWFLAG_NORMAL);
+                       } else {
+                               top_speed = 0;
+                       }
                }
-               else
-                       top_speed = 0;
        }
 
-       //draw acceleration
-       if(acceleration)
-       if(autocvar_hud_panel_physics_progressbar == 1 || autocvar_hud_panel_physics_progressbar == 3)
-       {
-               vector progressbar_color;
-               if(acceleration < 0)
-                       progressbar_color = autocvar_hud_progressbar_acceleration_neg_color;
-               else
-                       progressbar_color = autocvar_hud_progressbar_acceleration_color;
+       // draw acceleration
+       if (acceleration) {
+               if (autocvar_hud_panel_physics_progressbar == 1 || autocvar_hud_panel_physics_progressbar == 3) {
+                       vector progressbar_color;
+                       if (acceleration < 0) {
+                               progressbar_color = autocvar_hud_progressbar_acceleration_neg_color;
+                       } else {
+                               progressbar_color = autocvar_hud_progressbar_acceleration_color;
+                       }
 
-               f = acceleration/autocvar_hud_panel_physics_acceleration_max;
-               if (autocvar_hud_panel_physics_acceleration_progressbar_nonlinear)
-                       f = (f >= 0 ? sqrt(f) : -sqrt(-f));
+                       f = acceleration / autocvar_hud_panel_physics_acceleration_max;
+                       if (autocvar_hud_panel_physics_acceleration_progressbar_nonlinear) {
+                               f = (f >= 0 ? sqrt(f) : -sqrt(-f));
+                       }
 
-               if (acceleration_progressbar_scale) // allow progressbar to go out of panel bounds
-               {
-                       tmp_size = acceleration_progressbar_scale * panel_size.x * eX + panel_size.y * eY;
+                       if (acceleration_progressbar_scale) { // allow progressbar to go out of panel bounds
+                               tmp_size = acceleration_progressbar_scale * panel_size.x * eX + panel_size.y * eY;
 
-                       if (acceleration_baralign == 1)
-                               tmp_offset.x = panel_size.x - tmp_size.x;
-                       else if (acceleration_baralign == 2 || acceleration_baralign == 3)
-                               tmp_offset.x = (panel_size.x - tmp_size.x) / 2;
-                       else
-                               tmp_offset.x = 0;
-                       tmp_offset.y = 0;
-               }
-               else
-               {
-                       tmp_size = panel_size;
-                       tmp_offset = '0 0 0';
-               }
+                               if (acceleration_baralign == 1) {
+                                       tmp_offset.x = panel_size.x - tmp_size.x;
+                               } else if (acceleration_baralign == 2 || acceleration_baralign == 3) {
+                                       tmp_offset.x = (panel_size.x - tmp_size.x) / 2;
+                               } else {
+                                       tmp_offset.x = 0;
+                               }
+                               tmp_offset.y = 0;
+                       } else {
+                               tmp_size = panel_size;
+                               tmp_offset = '0 0 0';
+                       }
 
-               HUD_Panel_DrawProgressBar(panel_pos + acceleration_offset + tmp_offset, tmp_size, "accelbar", f, 0, acceleration_baralign, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
+                       HUD_Panel_DrawProgressBar(panel_pos + acceleration_offset + tmp_offset, tmp_size, "accelbar", f, 0, acceleration_baralign, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
+               }
        }
 
-       if(autocvar_hud_panel_physics_text == 1 || autocvar_hud_panel_physics_text == 3)
-       {
+       if (autocvar_hud_panel_physics_text == 1 || autocvar_hud_panel_physics_text == 3) {
                tmp_size.x = panel_size.x;
                tmp_size.y = panel_size.y * text_scale;
                tmp_offset.x = 0;
index dd574cf9b039c4b69d6654792a36525e7c54ba57..d79e1bf5f8399ecb94b926859a985e7e4aa2857a 100644 (file)
@@ -20,21 +20,25 @@ int powerupItemsCount;
 void resetPowerupItems()
 {
        entity item;
-       for(item = powerupItems; item; item = item.chain)
+       for (item = powerupItems; item; item = item.chain) {
                item.count = 0;
+       }
 
        powerupItemsCount = 0;
 }
 
 void addPowerupItem(string name, string icon, vector color, float currentTime, float lifeTime)
 {
-       if(!powerupItems)
+       if (!powerupItems) {
                powerupItems = spawn();
+       }
 
        entity item;
-       for(item = powerupItems; item.count; item = item.chain)
-               if(!item.chain)
+       for (item = powerupItems; item.count; item = item.chain) {
+               if (!item.chain) {
                        item.chain = spawn();
+               }
+       }
 
        item.message  = name;
        item.netname  = icon;
@@ -47,17 +51,23 @@ void addPowerupItem(string name, string icon, vector color, float currentTime, f
 
 int getPowerupItemAlign(int align, int column, int row, int columns, int rows, bool isVertical)
 {
-    TC(int, align); TC(int, column); TC(int, row); TC(int, columns); TC(int, rows); TC(bool, isVertical);
-       if(align < 2)
+       TC(int, align);
+       TC(int, column);
+       TC(int, row);
+       TC(int, columns);
+       TC(int, rows);
+       TC(bool, isVertical);
+       if (align < 2) {
                return align;
+       }
 
        bool isTop    =  isVertical && rows > 1 && row == 0;
-       bool isBottom =  isVertical && rows > 1 && row == rows-1;
+       bool isBottom =  isVertical && rows > 1 && row == rows - 1;
        bool isLeft   = !isVertical && columns > 1 && column == 0;
-       bool isRight  = !isVertical && columns > 1 && column == columns-1;
+       bool isRight  = !isVertical && columns > 1 && column == columns - 1;
 
-       if(isTop    || isLeft)  return (align == 2) ? 1 : 0;
-       if(isBottom || isRight) return (align == 2) ? 0 : 1;
+       if (isTop    || isLeft) { return (align == 2) ? 1 : 0; }
+       if (isBottom || isRight) { return (align == 2) ? 0 : 1; }
 
        return 2;
 }
@@ -69,27 +79,28 @@ void HUD_Powerups()
        float strengthTime, shieldTime, superTime;
 
        // Initialize items
-       if(!autocvar__hud_configure)
-       {
-               if((!autocvar_hud_panel_powerups) || (spectatee_status == -1))
+       if (!autocvar__hud_configure) {
+               if ((!autocvar_hud_panel_powerups) || (spectatee_status == -1)) {
                        return;
-               if(STAT(HEALTH) <= 0 && autocvar_hud_panel_powerups_hide_ondeath)
+               }
+               if (STAT(HEALTH) <= 0 && autocvar_hud_panel_powerups_hide_ondeath) {
                        return;
-               //if(!(allItems & (ITEM_Strength.m_itemid | ITEM_Shield.m_itemid | IT_SUPERWEAPON)) && !allBuffs) return;
+               }
+               // if(!(allItems & (ITEM_Strength.m_itemid | ITEM_Shield.m_itemid | IT_SUPERWEAPON)) && !allBuffs) return;
 
                strengthTime = bound(0, STAT(STRENGTH_FINISHED) - time, 99);
                shieldTime = bound(0, STAT(INVINCIBLE_FINISHED) - time, 99);
                superTime = bound(0, STAT(SUPERWEAPONS_FINISHED) - time, 99);
 
-               if(allItems & IT_UNLIMITED_SUPERWEAPONS)
+               if (allItems & IT_UNLIMITED_SUPERWEAPONS) {
                        superTime = 99;
+               }
 
                // Prevent stuff to show up on mismatch that will be fixed next frame
-               if(!(allItems & IT_SUPERWEAPON))
+               if (!(allItems & IT_SUPERWEAPON)) {
                        superTime = 0;
-       }
-       else
-       {
+               }
+       } else {
                strengthTime = 15;
                shieldTime = 27;
                superTime = 13;
@@ -99,25 +110,30 @@ void HUD_Powerups()
        // Add items to linked list
        resetPowerupItems();
 
-       if(strengthTime)
+       if (strengthTime) {
                addPowerupItem("Strength", "strength", autocvar_hud_progressbar_strength_color, strengthTime, 30);
-       if(shieldTime)
+       }
+       if (shieldTime) {
                addPowerupItem("Shield", "shield", autocvar_hud_progressbar_shield_color, shieldTime, 30);
-       if(superTime)
+       }
+       if (superTime) {
                addPowerupItem("Superweapons", "superweapons", autocvar_hud_progressbar_superweapons_color, superTime, 30);
+       }
 
        MUTATOR_CALLHOOK(HUD_Powerups_add);
 
-       if(!powerupItemsCount)
+       if (!powerupItemsCount) {
                return;
+       }
 
        // Draw panel background
        HUD_Panel_LoadCvars();
 
-       if (autocvar_hud_panel_powerups_dynamichud)
+       if (autocvar_hud_panel_powerups_dynamichud) {
                HUD_Scale_Enable();
-       else
+       } else {
                HUD_Scale_Disable();
+       }
        HUD_Panel_DrawBg();
 
        // Set drawing area
@@ -125,8 +141,7 @@ void HUD_Powerups()
        vector size = panel_size;
        bool isVertical = size.y > size.x;
 
-       if(panel_bg_padding)
-       {
+       if (panel_bg_padding) {
                pos += '1 1 0' * panel_bg_padding;
                size -= '2 2 0' * panel_bg_padding;
        }
@@ -138,31 +153,24 @@ void HUD_Powerups()
        int rows = 0, r;
        int i = 1;
 
-       do
-       {
+       do {
                c = floor(powerupItemsCount / i);
                r = ceil(powerupItemsCount / c);
-               a = isVertical ? (size.y/r) / (size.x/c) : (size.x/c) / (size.y/r);
+               a = isVertical ? (size.y / r) / (size.x / c) : (size.x / c) / (size.y / r);
 
-               if(i == 1 || fabs(DESIRED_ASPECT - a) < fabs(DESIRED_ASPECT - aspect))
-               {
+               if (i == 1 || fabs(DESIRED_ASPECT - a) < fabs(DESIRED_ASPECT - aspect)) {
                        aspect = a;
                        columns = c;
                        rows = r;
                }
-       }
-       while(++i <= powerupItemsCount);
+       } while (++i <= powerupItemsCount);
 
        // Prevent single items from getting too wide
-       if(powerupItemsCount == 1 && aspect > DESIRED_ASPECT)
-       {
-               if(isVertical)
-               {
+       if (powerupItemsCount == 1 && aspect > DESIRED_ASPECT) {
+               if (isVertical) {
                        size.y *= 0.5;
                        pos.y += size.y * 0.5;
-               }
-               else
-               {
+               } else {
                        size.x *= 0.5;
                        pos.x += size.x * 0.5;
                }
@@ -179,43 +187,37 @@ void HUD_Powerups()
        int row = 0;
 
        draw_beginBoldFont();
-       for(entity item = powerupItems; item.count; item = item.chain)
-       {
+       for (entity item = powerupItems; item.count; item = item.chain) {
                itemPos = vec2(pos.x + column * itemSize.x, pos.y + row * itemSize.y);
 
                // Draw progressbar
-               if(autocvar_hud_panel_powerups_progressbar)
-               {
+               if (autocvar_hud_panel_powerups_progressbar) {
                        align = getPowerupItemAlign(autocvar_hud_panel_powerups_baralign, column, row, columns, rows, isVertical);
                        HUD_Panel_DrawProgressBar(itemPos, itemSize, "progressbar", item.count / item.lifetime, isVertical, align, item.colormod, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
                }
 
                // Draw icon and text
-               if(autocvar_hud_panel_powerups_text)
-               {
+               if (autocvar_hud_panel_powerups_text) {
                        align = getPowerupItemAlign(autocvar_hud_panel_powerups_iconalign, column, row, columns, rows, isVertical);
                        fullSeconds = ceil(item.count);
                        textColor = '0.6 0.6 0.6' + (item.colormod * 0.4);
 
-                       if(item.count > 1)
+                       if (item.count > 1) {
                                DrawNumIcon(itemPos, itemSize, fullSeconds, item.netname, isVertical, align, textColor, panel_fg_alpha);
-                       if(item.count <= 5)
+                       }
+                       if (item.count <= 5) {
                                DrawNumIcon_expanding(itemPos, itemSize, fullSeconds, item.netname, isVertical, align, textColor, panel_fg_alpha, bound(0, (fullSeconds - item.count) / 0.5, 1));
+                       }
                }
 
                // Determine next section
-               if(isVertical)
-               {
-                       if(++column >= columns)
-                       {
+               if (isVertical) {
+                       if (++column >= columns) {
                                column = 0;
                                ++row;
                        }
-               }
-               else
-               {
-                       if(++row >= rows)
-                       {
+               } else {
+                       if (++row >= rows) {
                                row = 0;
                                ++column;
                        }
index b4da1dd7d69ce1e867524405b8dd53f9ecd6f0ce..23cee51f64b8c426ae3e9553f9e60af54f6dbab1 100644 (file)
@@ -8,10 +8,9 @@
 
 void HUD_PressedKeys()
 {
-       if(!autocvar__hud_configure)
-       {
-               if(!autocvar_hud_panel_pressedkeys) return;
-               if(spectatee_status <= 0 && autocvar_hud_panel_pressedkeys < 2) return;
+       if (!autocvar__hud_configure) {
+               if (!autocvar_hud_panel_pressedkeys) { return; }
+               if (spectatee_status <= 0 && autocvar_hud_panel_pressedkeys < 2) { return; }
        }
 
        HUD_Panel_LoadCvars();
@@ -19,32 +18,28 @@ void HUD_PressedKeys()
        pos = panel_pos;
        mySize = panel_size;
 
-       if (autocvar_hud_panel_pressedkeys_dynamichud)
+       if (autocvar_hud_panel_pressedkeys_dynamichud) {
                HUD_Scale_Enable();
-       else
+       } else {
                HUD_Scale_Disable();
+       }
        HUD_Panel_DrawBg();
-       if(panel_bg_padding)
-       {
+       if (panel_bg_padding) {
                pos += '1 1 0' * panel_bg_padding;
                mySize -= '2 2 0' * panel_bg_padding;
        }
 
        // force custom aspect
        float aspect = autocvar_hud_panel_pressedkeys_aspect;
-       if(aspect)
-       {
+       if (aspect) {
                vector newSize = '0 0 0';
-               if(mySize.x/mySize.y > aspect)
-               {
+               if (mySize.x / mySize.y > aspect) {
                        newSize.x = aspect * mySize.y;
                        newSize.y = mySize.y;
 
                        pos.x = pos.x + (mySize.x - newSize.x) / 2;
-               }
-               else
-               {
-                       newSize.y = 1/aspect * mySize.x;
+               } else {
+                       newSize.y = 1 / aspect * mySize.x;
                        newSize.x = mySize.x;
 
                        pos.y = pos.y + (mySize.y - newSize.y) / 2;
@@ -55,8 +50,7 @@ void HUD_PressedKeys()
        vector keysize = vec2(mySize.x / 3, mySize.y / (3 - !autocvar_hud_panel_pressedkeys_attack));
        int pressedkeys = STAT(PRESSED_KEYS);
 
-       if(autocvar_hud_panel_pressedkeys_attack)
-       {
+       if (autocvar_hud_panel_pressedkeys_attack) {
                drawpic_aspect_skin(pos + eX * keysize.x * 0.5, ((pressedkeys & KEY_ATCK) ? "key_atck_inv.tga" : "key_atck.tga"), keysize, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL);
                drawpic_aspect_skin(pos + eX * keysize.x * 1.5, ((pressedkeys & KEY_ATCK2) ? "key_atck_inv.tga" : "key_atck.tga"), keysize, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL);
                pos.y += keysize.y;
index 0dcbb70dba3cfe067d51160d74b2c26d8be70196..d9fa90669490424921c95d81d8c5ed92de57eb49 100644 (file)
@@ -8,9 +8,8 @@
 
 void HUD_Timer()
 {
-       if(!autocvar__hud_configure)
-       {
-               if(!autocvar_hud_panel_timer) return;
+       if (!autocvar__hud_configure) {
+               if (!autocvar_hud_panel_timer) { return; }
        }
 
        HUD_Panel_LoadCvars();
@@ -21,13 +20,13 @@ void HUD_Timer()
        pos = panel_pos;
        mySize = panel_size;
 
-       if (autocvar_hud_panel_timer_dynamichud)
+       if (autocvar_hud_panel_timer_dynamichud) {
                HUD_Scale_Enable();
-       else
+       } else {
                HUD_Scale_Disable();
+       }
        HUD_Panel_DrawBg();
-       if(panel_bg_padding)
-       {
+       if (panel_bg_padding) {
                pos += '1 1 0' * panel_bg_padding;
                mySize -= '2 2 0' * panel_bg_padding;
        }
@@ -43,36 +42,38 @@ void HUD_Timer()
        minutesLeft = floor(timeleft / 60);
 
        float warmup_timeleft = 0;
-       if(warmup_stage)
-       {
+       if (warmup_stage) {
                float warmup_timelimit = STAT(WARMUP_TIMELIMIT);
-               if(warmup_timelimit > 0)
+               if (warmup_timelimit > 0) {
                        warmup_timeleft = max(0, warmup_timelimit - time);
-               else if(warmup_timelimit == 0)
+               } else if (warmup_timelimit == 0) {
                        warmup_timeleft = timeleft;
+               }
                warmup_timeleft = ceil(warmup_timeleft);
        }
 
        vector timer_color;
-       if(intermission_time || minutesLeft >= 5 || warmup_stage || timelimit == 0)
-               timer_color = '1 1 1'; //white
-       else if(minutesLeft >= 1)
-               timer_color = '1 1 0'; //yellow
-       else
-               timer_color = '1 0 0'; //red
-
+       if (intermission_time || minutesLeft >= 5 || warmup_stage || timelimit == 0) {
+               timer_color = '1 1 1'; // white
+       } else if (minutesLeft >= 1) {
+               timer_color = '1 1 0'; // yellow
+       } else {
+               timer_color = '1 0 0'; // red
+       }
        if (intermission_time) {
                timer = seconds_tostring(max(0, floor(intermission_time - STAT(GAMESTARTTIME))));
        } else if (autocvar_hud_panel_timer_increment || (!warmup_stage && timelimit == 0) || (warmup_stage && warmup_timeleft <= 0)) {
-               if (time < STAT(GAMESTARTTIME))
-                       timer = seconds_tostring(0); //while restart is still active, show 00:00
-               else
+               if (time < STAT(GAMESTARTTIME)) {
+                       timer = seconds_tostring(0); // while restart is still active, show 00:00
+               } else {
                        timer = seconds_tostring(floor(time - STAT(GAMESTARTTIME)));
+               }
        } else {
-               if(warmup_stage)
+               if (warmup_stage) {
                        timer = seconds_tostring(warmup_timeleft);
-               else
+               } else {
                        timer = seconds_tostring(timeleft);
+               }
        }
 
        drawstring_aspect(pos, timer, mySize, timer_color, panel_fg_alpha, DRAWFLAG_NORMAL);
index 15e18e8f445a2b86f7ed9af851c332a856b99e4c..90161b9a195bfd6784a3c982e4f8647bdf4d7234 100644 (file)
@@ -9,42 +9,40 @@
 
 void HUD_Vote()
 {
-       if(autocvar_cl_allow_uid2name == -1 && (gametype == MAPINFO_TYPE_CTS || gametype == MAPINFO_TYPE_RACE || (serverflags & SERVERFLAG_PLAYERSTATS)))
-       {
+       if (autocvar_cl_allow_uid2name == -1 && (gametype == MAPINFO_TYPE_CTS || gametype == MAPINFO_TYPE_RACE || (serverflags & SERVERFLAG_PLAYERSTATS))) {
                // this dialog gets overriden by the uid2name menu dialog, if it exists
                // TODO remove this client side uid2name dialog in the next release
-               if(!autocvar__menu_alpha)
+               if (!autocvar__menu_alpha) {
                        uid2name_dialog = 0;
+               }
 
-               if (!uid2name_dialog)
+               if (!uid2name_dialog) {
                        localcmd("menu_cmd directmenu Uid2Name\n");
+               }
 
                vote_active = 1;
-               if (autocvar__hud_configure)
-               {
+               if (autocvar__hud_configure) {
                        vote_yescount = 0;
                        vote_nocount = 0;
                        LOG_INFO(_("^1You must answer before entering hud configure mode"));
                        cvar_set("_hud_configure", "0");
                }
-               if(vote_called_vote)
+               if (vote_called_vote) {
                        strunzone(vote_called_vote);
+               }
                vote_called_vote = strzone(_("^2Name ^7instead of \"^1Anonymous player^7\" in stats"));
                uid2name_dialog = 1;
        }
 
-       if(!autocvar__hud_configure)
-       {
-               if(!autocvar_hud_panel_vote) return;
+       if (!autocvar__hud_configure) {
+               if (!autocvar_hud_panel_vote) { return; }
                /*
                if(cvar("hud_panel_vote_test")) {
-                       if(vote_called_vote) strunzone(vote_called_vote); vote_called_vote = strzone("^1test the vote panel");
-                       vote_active = true; vote_yescount = 3; vote_nocount = 2; vote_needed = 4;
+                   if(vote_called_vote) strunzone(vote_called_vote); vote_called_vote = strzone("^1test the vote panel");
+                   vote_active = true; vote_yescount = 3; vote_nocount = 2; vote_needed = 4;
                } else vote_active = false;
                */
-       }
-       else
-       {
+       } else {
                vote_yescount = 3;
                vote_nocount = 2;
                vote_needed = 4;
@@ -52,31 +50,33 @@ void HUD_Vote()
 
        string s;
        float a;
-       if(vote_active != vote_prev) {
+       if (vote_active != vote_prev) {
                vote_change = time;
                vote_prev = vote_active;
        }
 
-       if(vote_active || autocvar__hud_configure)
+       if (vote_active || autocvar__hud_configure) {
                vote_alpha = bound(0, (time - vote_change) * 2, 1);
-       else
+       } else {
                vote_alpha = bound(0, 1 - (time - vote_change) * 2, 1);
+       }
 
        a = vote_alpha * (vote_highlighted ? autocvar_hud_panel_vote_alreadyvoted_alpha : 1);
-       if(a <= 0)
+       if (a <= 0) {
                return;
-       //panel_fade_alpha *= a;
+       }
+       // panel_fade_alpha *= a;
        // nothing can hide this panel, not even the menu
        float hud_fade_alpha_save = hud_fade_alpha;
-       if(uid2name_dialog && autocvar__menu_alpha)
+       if (uid2name_dialog && autocvar__menu_alpha) {
                hud_fade_alpha = 0;
-       else
+       } else {
                hud_fade_alpha = a;
+       }
        HUD_Panel_LoadCvars();
        hud_fade_alpha = hud_fade_alpha_save;
 
-       if(uid2name_dialog)
-       {
+       if (uid2name_dialog) {
                panel_pos = vec2(0.3 * vid_conwidth, 0.1 * vid_conheight);
                panel_size = vec2(0.4 * vid_conwidth, 0.3 * vid_conheight);
        }
@@ -85,30 +85,27 @@ void HUD_Vote()
        pos = panel_pos;
        mySize = panel_size;
 
-       if (autocvar_hud_panel_vote_dynamichud)
+       if (autocvar_hud_panel_vote_dynamichud) {
                HUD_Scale_Enable();
-       else
+       } else {
                HUD_Scale_Disable();
+       }
        HUD_Panel_DrawBg();
 
-       if(panel_bg_padding)
-       {
+       if (panel_bg_padding) {
                pos += '1 1 0' * panel_bg_padding;
                mySize -= '2 2 0' * panel_bg_padding;
        }
 
        // always force 3:1 aspect
        vector newSize = '0 0 0';
-       if(mySize.x/mySize.y > 3)
-       {
+       if (mySize.x / mySize.y > 3) {
                newSize.x = 3 * mySize.y;
                newSize.y = mySize.y;
 
                pos.x = pos.x + (mySize.x - newSize.x) / 2;
-       }
-       else
-       {
-               newSize.y = 1/3 * mySize.x;
+       } else {
+               newSize.y = 1 / 3 * mySize.x;
                newSize.x = mySize.x;
 
                pos.y = pos.y + (mySize.y - newSize.y) / 2;
@@ -116,45 +113,44 @@ void HUD_Vote()
        mySize = newSize;
 
        s = _("A vote has been called for:");
-       if(uid2name_dialog)
+       if (uid2name_dialog) {
                s = _("Allow servers to store and display your name?");
-       drawstring_aspect(pos, s, vec2(mySize.x, (2/8) * mySize.y), '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL);
-       s = textShortenToWidth(ColorTranslateRGB(vote_called_vote), mySize.x, '1 1 0' * mySize.y * (1/8), stringwidth_colors);
-       if(autocvar__hud_configure)
+       }
+       drawstring_aspect(pos, s, vec2(mySize.x, (2 / 8) * mySize.y), '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL);
+       s = textShortenToWidth(ColorTranslateRGB(vote_called_vote), mySize.x, '1 1 0' * mySize.y * (1 / 8), stringwidth_colors);
+       if (autocvar__hud_configure) {
                s = _("^1Configure the HUD");
-       drawcolorcodedstring_aspect(pos + eY * (2/8) * mySize.y, s, vec2(mySize.x, (1.75/8) * mySize.y), panel_fg_alpha, DRAWFLAG_NORMAL);
+       }
+       drawcolorcodedstring_aspect(pos + eY * (2 / 8) * mySize.y, s, vec2(mySize.x, (1.75 / 8) * mySize.y), panel_fg_alpha, DRAWFLAG_NORMAL);
 
        // print the yes/no counts
        s = sprintf("^2%s ^7(%d)", getcommandkey_forcename(_("Yes"), "vyes"), vote_yescount);
-       drawcolorcodedstring_aspect(pos + eY * (4/8) * mySize.y, s, vec2(0.5 * mySize.x, (1.5/8) * mySize.y), panel_fg_alpha, DRAWFLAG_NORMAL);
+       drawcolorcodedstring_aspect(pos + eY * (4 / 8) * mySize.y, s, vec2(0.5 * mySize.x, (1.5 / 8) * mySize.y), panel_fg_alpha, DRAWFLAG_NORMAL);
        s = sprintf("^1%s ^7(%d)", getcommandkey_forcename(_("No"), "vno"), vote_nocount);
-       drawcolorcodedstring_aspect(pos + vec2(0.5 * mySize.x, (4/8) * mySize.y), s, vec2(0.5 * mySize.x, (1.5/8) * mySize.y), panel_fg_alpha, DRAWFLAG_NORMAL);
+       drawcolorcodedstring_aspect(pos + vec2(0.5 * mySize.x, (4 / 8) * mySize.y), s, vec2(0.5 * mySize.x, (1.5 / 8) * mySize.y), panel_fg_alpha, DRAWFLAG_NORMAL);
 
-       pos.y += (5/8) * mySize.y;
-       vector tmp_size = vec2(mySize.x, (3/8) * mySize.y);
+       pos.y += (5 / 8) * mySize.y;
+       vector tmp_size = vec2(mySize.x, (3 / 8) * mySize.y);
        // draw the progress bar backgrounds
        drawpic_skin(pos, "voteprogress_back", tmp_size, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL);
 
        // draw the highlights
-       if(vote_highlighted == 1) {
+       if (vote_highlighted == 1) {
                drawsetcliparea(pos.x, pos.y, mySize.x * 0.5, mySize.y);
                drawpic_skin(pos, "voteprogress_voted", tmp_size, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL);
-       }
-       else if(vote_highlighted == -1) {
+       } else if (vote_highlighted == -1) {
                drawsetcliparea(pos.x + 0.5 * mySize.x, pos.y, mySize.x * 0.5, mySize.y);
                drawpic_skin(pos, "voteprogress_voted", tmp_size, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL);
        }
 
        // draw the progress bars
-       if(vote_yescount && vote_needed)
-       {
-               drawsetcliparea(pos.x, pos.y, mySize.x * 0.5 * (vote_yescount/vote_needed), mySize.y);
+       if (vote_yescount && vote_needed) {
+               drawsetcliparea(pos.x, pos.y, mySize.x * 0.5 * (vote_yescount / vote_needed), mySize.y);
                drawpic_skin(pos, "voteprogress_prog", tmp_size, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL);
        }
 
-       if(vote_nocount && vote_needed)
-       {
-               drawsetcliparea(pos.x + mySize.x - mySize.x * 0.5 * (vote_nocount/vote_needed), pos.y, mySize.x * 0.5, mySize.y);
+       if (vote_nocount && vote_needed) {
+               drawsetcliparea(pos.x + mySize.x - mySize.x * 0.5 * (vote_nocount / vote_needed), pos.y, mySize.x * 0.5, mySize.y);
                drawpic_skin(pos, "voteprogress_prog", tmp_size, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL);
        }
 
index a2f4d18bba97e2ef4070fe83ac362d83dd462404..39cd863613adb3efa49e041cd3dccaedfab58704 100644 (file)
@@ -36,18 +36,30 @@ entity teamslots[17];    // 17 teams (including "spectator team")
 
 .void(entity) draw;
 IntrusiveList g_drawables;
-STATIC_INIT(g_drawables) { g_drawables = IL_NEW(); }
+STATIC_INIT(g_drawables)
+{
+       g_drawables = IL_NEW();
+}
 .void(entity) draw2d;
 IntrusiveList g_drawables_2d;
-STATIC_INIT(g_drawables_2d) { g_drawables_2d = IL_NEW(); }
+STATIC_INIT(g_drawables_2d)
+{
+       g_drawables_2d = IL_NEW();
+}
 .void(entity) entremove;
 float drawframetime;
 vector view_origin, view_forward, view_right, view_up;
 
 IntrusiveList g_radarlinks;
-STATIC_INIT(g_radarlinks) { g_radarlinks = IL_NEW(); }
+STATIC_INIT(g_radarlinks)
+{
+       g_radarlinks = IL_NEW();
+}
 IntrusiveList g_radaricons;
-STATIC_INIT(g_radaricons) { g_radaricons = IL_NEW(); }
+STATIC_INIT(g_radaricons)
+{
+       g_radaricons = IL_NEW();
+}
 
 bool button_zoom;
 bool spectatorbutton_zoom;
@@ -74,7 +86,7 @@ float current_zoomfraction;
 float cs_project_is_b0rked;
 float vid_width, vid_height, vid_pixelheight;
 
-float camera_active;           // Demo camera is active if set to true
+float camera_active; // Demo camera is active if set to true
 float chase_active_backup;
 float camera_roll;
 vector camera_direction;
@@ -88,7 +100,7 @@ const float ALPHA_MIN_VISIBLE = 0.003;
 float armorblockpercent;
 float damagepush_speedfactor;
 
-//hooks
+// hooks
 int calledhooks;
 const int HOOK_START =    1;
 const int HOOK_END =      2;
index 87b6d585b38c769cd8d20d65d0be24ad3303d52d..dcca466c6ddae9048b33cad6ed148d60c3bf7f10 100644 (file)
@@ -43,20 +43,20 @@ int n_ssdirs;
 
 string MapVote_FormatMapItem(int id, string map, float _count, float maxwidth, vector fontsize)
 {
-    TC(int, id);
+       TC(int, id);
        string pre, post;
-       pre = sprintf("%d. ", id+1);
-       if(mv_detail)
-       {
-               if(_count == 1)
+       pre = sprintf("%d. ", id + 1);
+       if (mv_detail) {
+               if (_count == 1) {
                        post = _(" (1 vote)");
-               else if(_count >= 0 && (mv_flags[id] & GTV_AVAILABLE))
+               } else if (_count >= 0 && (mv_flags[id] & GTV_AVAILABLE)) {
                        post = sprintf(_(" (%d votes)"), _count);
-               else
+               } else {
                        post = "";
-       }
-       else
+               }
+       } else {
                post = "";
+       }
        maxwidth -= stringwidth(pre, false, fontsize) + stringwidth(post, false, fontsize);
        map = textShortenToWidth(map, maxwidth, fontsize, stringwidth_nocolors);
        return strcat(pre, map, post);
@@ -64,28 +64,31 @@ string MapVote_FormatMapItem(int id, string map, float _count, float maxwidth, v
 
 vector MapVote_RGB(int id)
 {
-    TC(int, id);
-       if(!(mv_flags[id] & GTV_AVAILABLE))
+       TC(int, id);
+       if (!(mv_flags[id] & GTV_AVAILABLE)) {
                return '1 1 1';
-       if(id == mv_ownvote)
+       }
+       if (id == mv_ownvote) {
                return '0 1 0';
-       else if (id == mv_selection)
+       } else if (id == mv_selection) {
                return '1 1 0';
-       else
+       } else {
                return '1 1 1';
+       }
 }
 
 void GameTypeVote_DrawGameTypeItem(vector pos, float maxh, float tsize, string gtype, string pic, float _count, int id)
 {
-    TC(int, id);
+       TC(int, id);
        // Find the correct alpha
        float alpha;
-       if(!(mv_flags_start[id] & GTV_AVAILABLE))
-               alpha = 0.2; // The gametype isn't supported by the map
-       else if ( !(mv_flags[id] & GTV_AVAILABLE) && mv_top2_alpha)
+       if (!(mv_flags_start[id] & GTV_AVAILABLE)) {
+               alpha = 0.2;           // The gametype isn't supported by the map
+       } else if (!(mv_flags[id] & GTV_AVAILABLE) && mv_top2_alpha) {
                alpha = mv_top2_alpha; // Fade away if not one of the top 2 choice
-       else
-               alpha = 1; // Normal, full alpha
+       } else {
+               alpha = 1;             // Normal, full alpha
+       }
        alpha *= panel_fg_alpha;
 
        // Bounding box details
@@ -102,15 +105,13 @@ void GameTypeVote_DrawGameTypeItem(vector pos, float maxh, float tsize, string g
        rect_size.y = maxh + rect_margin;
 
        // Highlight selected item
-       if(id == mv_selection && (mv_flags[id] & GTV_AVAILABLE))
-       {
+       if (id == mv_selection && (mv_flags[id] & GTV_AVAILABLE)) {
                drawfill(rect_pos, rect_size, '1 1 1', 0.1 * panel_fg_alpha, DRAWFLAG_NORMAL);
        }
 
        // Highlight current vote
        vector rgb = MapVote_RGB(id);
-       if(id == mv_ownvote)
-       {
+       if (id == mv_ownvote) {
                drawfill(rect_pos, rect_size, rgb, 0.1 * alpha, DRAWFLAG_NORMAL);
                drawborderlines(autocvar_hud_panel_mapvote_highlight_border, rect_pos, rect_size, rgb, alpha, DRAWFLAG_NORMAL);
        }
@@ -123,8 +124,9 @@ void GameTypeVote_DrawGameTypeItem(vector pos, float maxh, float tsize, string g
 
        // Evaluate the image size
        vector image_size = '1 1 0' * gtv_text_size.x * 3;
-       if ( maxh < image_size.y )
+       if (maxh < image_size.y) {
                image_size = '1 1 0' * maxh;
+       }
        image_size *= 0.8;
        float desc_padding = gtv_text_size.x * 0.6;
        pos.x += image_size.x + desc_padding;
@@ -139,20 +141,16 @@ void GameTypeVote_DrawGameTypeItem(vector pos, float maxh, float tsize, string g
        entity last = title;
        entity next = NULL;
        float nlines = 0;
-       if( thelabel != "")
-       {
-               float i,n = tokenizebyseparator(thelabel, "\n");
-               for(i = 0; i < n && maxh > (nlines+1)*gtv_text_size_small.y; ++i)
-               {
+       if (thelabel != "") {
+               float i, n = tokenizebyseparator(thelabel, "\n");
+               for (i = 0; i < n && maxh > (nlines + 1) * gtv_text_size_small.y; ++i) {
                        getWrappedLine_remaining = argv(i);
-                       while(getWrappedLine_remaining && maxh > (nlines+1)*gtv_text_size_small.y)
-                       {
+                       while (getWrappedLine_remaining && maxh > (nlines + 1) * gtv_text_size_small.y) {
                                ts = getWrappedLine(tsize, gtv_text_size_small, stringwidth_colors);
-                               if (ts != "")
-                               {
+                               if (ts != "") {
                                        next = spawn();
                                        next.message = ts;
-                                       next.origin = pos-offset;
+                                       next.origin = pos - offset;
                                        last.chain = next;
                                        last = next;
                                        pos.y += gtv_text_size_small.y;
@@ -163,21 +161,22 @@ void GameTypeVote_DrawGameTypeItem(vector pos, float maxh, float tsize, string g
        }
 
        // Center the contents in the bounding box
-       maxh -= max(nlines*gtv_text_size_small.y,image_size.y);
-       if ( maxh > 0 )
-               offset.y += maxh/2;
+       maxh -= max(nlines * gtv_text_size_small.y, image_size.y);
+       if (maxh > 0) {
+               offset.y += maxh / 2;
+       }
 
        // Draw the title
        drawstring(offset, title.message, gtv_text_size, rgb, alpha, DRAWFLAG_NORMAL);
 
        // Draw the icon
-       if(pic != "")
-               drawpic('0 1 0'*title_gap+'0.5 0 0'*desc_padding+offset, pic, image_size, '1 1 1', alpha, DRAWFLAG_NORMAL);
+       if (pic != "") {
+               drawpic('0 1 0' * title_gap + '0.5 0 0' * desc_padding + offset, pic, image_size, '1 1 1', alpha, DRAWFLAG_NORMAL);
+       }
 
        // Draw the description
-       for ( last = title.chain; last ; )
-       {
-               drawstring(last.origin+offset, last.message, gtv_text_size_small, '1 1 1', alpha, DRAWFLAG_NORMAL);
+       for (last = title.chain; last; ) {
+               drawstring(last.origin + offset, last.message, gtv_text_size_small, '1 1 1', alpha, DRAWFLAG_NORMAL);
                next = last;
                last = last.chain;
                delete(next);
@@ -189,7 +188,7 @@ void GameTypeVote_DrawGameTypeItem(vector pos, float maxh, float tsize, string g
 
 void MapVote_DrawMapItem(vector pos, float isize, float tsize, string map, string pic, float _count, int id)
 {
-    TC(int, id);
+       TC(int, id);
        vector img_size = '0 0 0';
        string label;
        float text_size;
@@ -206,7 +205,7 @@ void MapVote_DrawMapItem(vector pos, float isize, float tsize, string map, strin
        rect_size.x = tsize + rect_margin;
        rect_size.y = isize + rect_margin;
 
-       float img_ar = 4/3;
+       float img_ar = 4 / 3;
        img_size.x = min(tsize, isize * img_ar);
        img_size.y = img_size.x / img_ar;
        img_size.y -= hud_fontsize.y;
@@ -229,42 +228,41 @@ void MapVote_DrawMapItem(vector pos, float isize, float tsize, string map, strin
        pos.x += (tsize - img_size.x) / 2;
 
        float theAlpha;
-       if (!(mv_flags[id] & GTV_AVAILABLE) && mv_top2_alpha)
+       if (!(mv_flags[id] & GTV_AVAILABLE) && mv_top2_alpha) {
                theAlpha = mv_top2_alpha;
-       else
+       } else {
                theAlpha = 1;
+       }
        theAlpha *= panel_fg_alpha;
 
        // Highlight selected item
-       if(id == mv_selection && (mv_flags[id] & GTV_AVAILABLE))
+       if (id == mv_selection && (mv_flags[id] & GTV_AVAILABLE)) {
                drawfill(rect_pos, rect_size, '1 1 1', 0.1 * panel_fg_alpha, DRAWFLAG_NORMAL);
+       }
 
        // Highlight current vote
        vector rgb = MapVote_RGB(id);
-       if(id == mv_ownvote)
-       {
+       if (id == mv_ownvote) {
                drawfill(rect_pos, rect_size, rgb, 0.1 * theAlpha, DRAWFLAG_NORMAL);
                drawborderlines(autocvar_hud_panel_mapvote_highlight_border, rect_pos, rect_size, rgb, theAlpha, DRAWFLAG_NORMAL);
        }
 
        drawstring(text_pos, label, hud_fontsize, rgb, theAlpha, DRAWFLAG_NORMAL);
 
-       if(pic == "")
-       {
+       if (pic == "") {
                drawfill(pos, img_size, '.5 .5 .5', .7 * theAlpha, DRAWFLAG_NORMAL);
-       }
-       else
-       {
-               if(drawgetimagesize(pic) == '0 0 0')
+       } else {
+               if (drawgetimagesize(pic) == '0 0 0') {
                        drawpic(pos, draw_UseSkinFor("nopreview_map"), img_size, '1 1 1', theAlpha, DRAWFLAG_NORMAL);
-               else
+               } else {
                        drawpic(pos, pic, img_size, '1 1 1', theAlpha, DRAWFLAG_NORMAL);
+               }
        }
 }
 
 void MapVote_DrawAbstain(vector pos, float isize, float tsize, float _count, int id)
 {
-    TC(int, id);
+       TC(int, id);
        vector rgb;
        float text_size;
        string label;
@@ -275,48 +273,49 @@ void MapVote_DrawAbstain(vector pos, float isize, float tsize, float _count, int
 
        text_size = stringwidth(label, false, hud_fontsize);
 
-       pos.x -= text_size*0.5;
+       pos.x -= text_size * 0.5;
        drawstring(pos, label, hud_fontsize, rgb, panel_fg_alpha, DRAWFLAG_NORMAL);
 }
 
 vector MapVote_GridVec(vector gridspec, int i, int m)
 {
-    TC(int, i); TC(int, m);
+       TC(int, i);
+       TC(int, m);
        int r = i % m;
-       return
-               '1 0 0' * (gridspec.x * r)
-               +
-               '0 1 0' * (gridspec.y * (i - r) / m);
+       return '1 0 0' * (gridspec.x * r)
+                  +
+                  '0 1 0' * (gridspec.y * (i - r) / m);
 }
 
 float MapVote_Selection(vector topleft, vector cellsize, float rows, float columns)
 {
-
        float c, r;
 
        mv_mouse_selection = -1;
 
-       for (r = 0; r < rows; ++r)
-               for (c = 0; c < columns; ++c)
-               {
-                       if (mousepos.x >= topleft.x + cellsize.x *  c &&
-                               mousepos.x <= topleft.x + cellsize.x * (c + 1) &&
-                               mousepos.y >= topleft.y + cellsize.y *  r &&
-                               mousepos.y <= topleft.y + cellsize.y * (r + 1))
-                       {
+       for (r = 0; r < rows; ++r) {
+               for (c = 0; c < columns; ++c) {
+                       if (mousepos.x >= topleft.x + cellsize.x *  c
+                               && mousepos.x <= topleft.x + cellsize.x * (c + 1)
+                               && mousepos.y >= topleft.y + cellsize.y *  r
+                               && mousepos.y <= topleft.y + cellsize.y * (r + 1)) {
                                mv_mouse_selection = r * columns + c;
                                break;
                        }
                }
+       }
 
-       if (mv_mouse_selection >= mv_num_maps)
+       if (mv_mouse_selection >= mv_num_maps) {
                mv_mouse_selection = -1;
+       }
 
-       if (mv_abstain && mv_mouse_selection < 0)
+       if (mv_abstain && mv_mouse_selection < 0) {
                mv_mouse_selection = mv_num_maps;
+       }
 
-       if ( mv_selection_keyboard )
+       if (mv_selection_keyboard) {
                return mv_selection;
+       }
 
        return mv_mouse_selection;
 }
@@ -332,30 +331,32 @@ void MapVote_Draw()
        float rows;
        vector dist = '0 0 0';
 
-       //if(intermission != 2) return;
-       if(!mv_active)
+       // if(intermission != 2) return;
+       if (!mv_active) {
                return;
+       }
 
        HUD_Panel_LoadCvars();
 
-       if (!autocvar_hud_cursormode)
-       {
+       if (!autocvar_hud_cursormode) {
                vector mpos = mousepos;
                update_mousepos();
-               if (mpos.x != mousepos.x || mpos.y != mousepos.y)
+               if (mpos.x != mousepos.x || mpos.y != mousepos.y) {
                        mv_selection_keyboard = 0;
+               }
        }
 
-       center = (vid_conwidth - 1)/2;
+       center = (vid_conwidth - 1) / 2;
        xmin = vid_conwidth * 0.08;
        xmax = vid_conwidth - xmin;
        ymin = 20;
        ymax = vid_conheight - ymin;
 
-       if(chat_posy + chat_sizey / 2 < vid_conheight / 2)
+       if (chat_posy + chat_sizey / 2 < vid_conheight / 2) {
                ymin += chat_sizey;
-       else
+       } else {
                ymax -= chat_sizey;
+       }
 
        hud_fontsize = HUD_GetFontsize("hud_fontsize");
 
@@ -370,8 +371,7 @@ void MapVote_Draw()
        drawstring(pos, map, hud_fontsize * 2, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL);
        pos.y += hud_fontsize.y * 2;
 
-       if( mapvote_chosenmap != "" )
-       {
+       if (mapvote_chosenmap != "") {
                pos.y += hud_fontsize.y * 0.25;
                pos.x = center - stringwidth(mapvote_chosenmap, false, hud_fontsize * 1.5) * 0.5;
                drawstring(pos, mapvote_chosenmap, hud_fontsize * 1.5, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL);
@@ -393,14 +393,13 @@ void MapVote_Draw()
        pos.x = xmin;
        ymin = pos.y;
        float abstain_spacing = panel_bg_border + hud_fontsize.y;
-       if(mv_abstain)
-       {
+       if (mv_abstain) {
                mv_num_maps -= 1;
                ymax -= abstain_spacing;
        }
 
        // higher than the image itself ratio for mapvote items to reserve space for long map names
-       int item_aspect = (gametypevote) ? 3/1 : 5/3;
+       int item_aspect = (gametypevote) ? 3 / 1 : 5 / 3;
        vector table_size = HUD_GetTableSize_BestItemAR(mv_num_maps, vec2(xmax - xmin, ymax - ymin), item_aspect);
        mv_columns = table_size.x;
        rows = table_size.y;
@@ -410,23 +409,22 @@ void MapVote_Draw()
 
        // reduce size of too wide items
        tmp = vid_conwidth / 3; // max width
-       if(dist.x > tmp)
-       {
+       if (dist.x > tmp) {
                dist.x = tmp;
                dist.y = min(dist.y, dist.x / item_aspect);
        }
        tmp = vid_conheight / 3; // max height
-       if(dist.y > tmp)
-       {
+       if (dist.y > tmp) {
                dist.y = tmp;
                dist.x = min(dist.x, dist.y * item_aspect);
        }
 
        // reduce size to fix aspect ratio
-       if(dist.x / dist.y > item_aspect)
+       if (dist.x / dist.y > item_aspect) {
                dist.x = dist.y * item_aspect;
-       else
+       } else {
                dist.y = dist.x / item_aspect;
+       }
 
        // adjust table pos and size according to the new size
        float offset;
@@ -443,8 +441,7 @@ void MapVote_Draw()
        panel_size.y = ymax - ymin;
        HUD_Panel_DrawBg();
 
-       if(panel_bg_padding)
-       {
+       if (panel_bg_padding) {
                // FIXME item AR gets slightly changed here...
                // it's rather hard to avoid it at this point
                dist.x -= 2 * panel_bg_padding / mv_columns;
@@ -457,33 +454,36 @@ void MapVote_Draw()
 
        mv_selection = MapVote_Selection(pos, dist, rows, mv_columns);
 
-       if (mv_top2_time)
-               mv_top2_alpha = max(0.2, 1 - (time - mv_top2_time)*(time - mv_top2_time));
+       if (mv_top2_time) {
+               mv_top2_alpha = max(0.2, 1 - (time - mv_top2_time) * (time - mv_top2_time));
+       }
 
-       void (vector, float, float, string, string, float, float) DrawItem;
+       void(vector, float, float, string, string, float, float) DrawItem;
 
-       if(gametypevote)
+       if (gametypevote) {
                DrawItem = GameTypeVote_DrawGameTypeItem;
-       else
+       } else {
                DrawItem = MapVote_DrawMapItem;
+       }
 
-       for(i = 0; i < mv_num_maps; ++i)
-       {
+       for (i = 0; i < mv_num_maps; ++i) {
                tmp = mv_votes[i]; // FTEQCC bug: too many array accesses in the function call screw it up
                map = mv_maps[i];
-               if(mv_preview[i])
+               if (mv_preview[i]) {
                        DrawItem(pos + MapVote_GridVec(dist, i, mv_columns), dist.y, dist.x, map, mv_pics[i], tmp, i);
-               else
+               } else {
                        DrawItem(pos + MapVote_GridVec(dist, i, mv_columns), dist.y, dist.x, map, "", tmp, i);
+               }
        }
 
-       if(mv_abstain)
+       if (mv_abstain) {
                ++mv_num_maps;
+       }
 
-       if(mv_abstain && i < mv_num_maps) {
+       if (mv_abstain && i < mv_num_maps) {
                tmp = mv_votes[i];
                pos.y = ymax + abstain_spacing;
-               pos.x = (xmax+xmin)*0.5;
+               pos.x = (xmax + xmin) * 0.5;
                MapVote_DrawAbstain(pos, dist.x, xmax - xmin, tmp, i);
        }
 
@@ -492,27 +492,27 @@ void MapVote_Draw()
 
 void Cmd_MapVote_MapDownload(int argc)
 {
-    TC(int, argc);
+       TC(int, argc);
        entity pak;
 
-       if(argc != 2 || !mv_pk3list)
-       {
+       if (argc != 2 || !mv_pk3list) {
                LOG_INFO(_("mv_mapdownload: ^3You're not supposed to use this command on your own!"));
                return;
        }
 
        int id = stof(argv(1));
-       for(pak = mv_pk3list; pak; pak = pak.chain)
-               if(pak.sv_entnum == id)
+       for (pak = mv_pk3list; pak; pak = pak.chain) {
+               if (pak.sv_entnum == id) {
                        break;
+               }
+       }
 
-       if(!pak || pak.sv_entnum != id) {
+       if (!pak || pak.sv_entnum != id) {
                LOG_INFO(_("^1Error:^7 Couldn't find pak index."));
                return;
        }
 
-       if(PreviewExists(pak.message))
-       {
+       if (PreviewExists(pak.message)) {
                mv_preview[id] = true;
                return;
        } else {
@@ -523,7 +523,7 @@ void Cmd_MapVote_MapDownload(int argc)
 
 void MapVote_CheckPK3(string pic, string pk3, int id)
 {
-    TC(int, id);
+       TC(int, id);
        entity pak;
        pak = spawn();
        pak.netname = pk3;
@@ -533,25 +533,22 @@ void MapVote_CheckPK3(string pic, string pk3, int id)
        pak.chain = mv_pk3list;
        mv_pk3list = pak;
 
-       if(pk3 != "")
-       {
+       if (pk3 != "") {
                localcmd(strcat("\ncurl --pak ", pk3, "; wait; cl_cmd mv_download ", ftos(id), "\n"));
-       }
-       else
-       {
+       } else {
                Cmd_MapVote_MapDownload(tokenize_console(strcat("mv_download ", ftos(id))));
        }
 }
 
 void MapVote_CheckPic(string pic, string pk3, int id)
 {
-    TC(int, id);
+       TC(int, id);
        // never try to retrieve a pic for the "don't care" 'map'
-       if(mv_abstain && id == mv_num_maps - 1)
+       if (mv_abstain && id == mv_num_maps - 1) {
                return;
+       }
 
-       if(PreviewExists(pic))
-       {
+       if (PreviewExists(pic)) {
                mv_preview[id] = true;
                return;
        }
@@ -561,34 +558,33 @@ void MapVote_CheckPic(string pic, string pk3, int id)
 void MapVote_ReadMask()
 {
        int i;
-       if ( mv_num_maps < 24 )
-       {
+       if (mv_num_maps < 24) {
                int mask;
-               if(mv_num_maps < 8)
+               if (mv_num_maps < 8) {
                        mask = ReadByte();
-               else if(mv_num_maps < 16)
+               } else if (mv_num_maps < 16) {
                        mask = ReadShort();
-               else
+               } else {
                        mask = ReadLong();
+               }
 
-               for(i = 0; i < mv_num_maps; ++i)
-               {
-                       if (mask & BIT(i))
+               for (i = 0; i < mv_num_maps; ++i) {
+                       if (mask & BIT(i)) {
                                mv_flags[i] |= GTV_AVAILABLE;
-                       else
+                       } else {
                                mv_flags[i] &= ~GTV_AVAILABLE;
+                       }
                }
-       }
-       else
-       {
-               for(i = 0; i < mv_num_maps; ++i )
+       } else {
+               for (i = 0; i < mv_num_maps; ++i) {
                        mv_flags[i] = ReadByte();
+               }
        }
 }
 
 void MapVote_ReadOption(int i)
 {
-    TC(int, i);
+       TC(int, i);
        string map = strzone(ReadString());
        string pk3 = strzone(ReadString());
        int j = bound(0, ReadByte(), n_ssdirs - 1);
@@ -605,7 +601,7 @@ void MapVote_ReadOption(int i)
 
 void GameTypeVote_ReadOption(int i)
 {
-    TC(int, i);
+       TC(int, i);
        string gt = strzone(ReadString());
 
        mv_maps[i] = gt;
@@ -613,31 +609,26 @@ void GameTypeVote_ReadOption(int i)
 
        string basetype = "";
 
-       if ( mv_flags[i] & GTV_CUSTOM )
-       {
+       if (mv_flags[i] & GTV_CUSTOM) {
                string name = ReadString();
-               if ( strlen(name) < 1 )
+               if (strlen(name) < 1) {
                        name = gt;
+               }
                mv_pk3[i] = strzone(name);
                mv_desc[i] = strzone(ReadString());
                basetype = strzone(ReadString());
-       }
-       else
-       {
+       } else {
                Gametype type = MapInfo_Type_FromString(gt);
                mv_pk3[i] = strzone(MapInfo_Type_ToText(type));
                mv_desc[i] = MapInfo_Type_Description(type);
        }
 
        string mv_picpath = sprintf("gfx/menu/%s/gametype_%s", autocvar_menu_skin, gt);
-       if(precache_pic(mv_picpath) == "")
-       {
+       if (precache_pic(mv_picpath) == "") {
                mv_picpath = strcat("gfx/menu/default/gametype_", gt);
-               if(precache_pic(mv_picpath) == "")
-               {
+               if (precache_pic(mv_picpath) == "") {
                        mv_picpath = sprintf("gfx/menu/%s/gametype_%s", autocvar_menu_skin, basetype);
-                       if(precache_pic(mv_picpath) == "")
-                       {
+                       if (precache_pic(mv_picpath) == "") {
                                mv_picpath = strcat("gfx/menu/default/gametype_", basetype);
                        }
                }
@@ -650,26 +641,27 @@ void GameTypeVote_ReadOption(int i)
 void MapVote_Init()
 {
        mv_active = 1;
-       if(autocvar_hud_cursormode) setcursormode(1);
-       else mousepos = '0.5 0 0' * vid_conwidth + '0 0.5 0' * vid_conheight;
+       if (autocvar_hud_cursormode) { setcursormode(1); } else { mousepos = '0.5 0 0' * vid_conwidth + '0 0.5 0' * vid_conheight; }
        mv_selection = -1;
        mv_selection_keyboard = 0;
 
        string s;
-       for(n_ssdirs = 0; ; ++n_ssdirs)
-       {
+       for (n_ssdirs = 0; ; ++n_ssdirs) {
                s = ReadString();
-               if(s == "")
+               if (s == "") {
                        break;
-               if(n_ssdirs < NUM_SSDIRS)
+               }
+               if (n_ssdirs < NUM_SSDIRS) {
                        ssdirs[n_ssdirs] = s;
+               }
        }
        n_ssdirs = min(n_ssdirs, NUM_SSDIRS);
 
        mv_num_maps = min(MAPVOTE_COUNT, ReadByte());
        mv_abstain = ReadByte();
-       if(mv_abstain)
+       if (mv_abstain) {
                mv_abstain = 1; // must be 1 for bool-true, makes stuff easier
+       }
        mv_detail = ReadByte();
 
        mv_ownvote = -1;
@@ -677,144 +669,160 @@ void MapVote_Init()
 
        gametypevote = ReadByte();
 
-       if(gametypevote)
-       {
+       if (gametypevote) {
                mapvote_chosenmap = strzone(ReadString());
-               if ( gametypevote == 2 )
+               if (gametypevote == 2) {
                        gametypevote = 0;
+               }
 
-               gtv_text_size = hud_fontsize*1.4;
-               gtv_text_size_small = hud_fontsize*1.1;
+               gtv_text_size = hud_fontsize * 1.4;
+               gtv_text_size_small = hud_fontsize * 1.1;
        }
 
        MapVote_ReadMask();
        int i;
-       for(i = 0; i < mv_num_maps; ++i )
+       for (i = 0; i < mv_num_maps; ++i) {
                mv_flags_start[i] = mv_flags[i];
+       }
 
        // Assume mv_pk3list is NULL, there should only be 1 mapvote per round
        mv_pk3list = NULL; // I'm still paranoid!
 
-       for(i = 0; i < mv_num_maps; ++i)
-       {
+       for (i = 0; i < mv_num_maps; ++i) {
                mv_votes[i] = 0;
 
-               if ( gametypevote )
+               if (gametypevote) {
                        GameTypeVote_ReadOption(i);
-               else
+               } else {
                        MapVote_ReadOption(i);
+               }
        }
 
-       for(i = 0; i < n_ssdirs; ++i)
+       for (i = 0; i < n_ssdirs; ++i) {
                ssdirs[n_ssdirs] = string_null;
+       }
        n_ssdirs = 0;
 }
 
 void MapVote_SendChoice(int index)
 {
-    TC(int, index);
-       localcmd(strcat("\nimpulse ", ftos(index+1), "\n"));
+       TC(int, index);
+       localcmd(strcat("\nimpulse ", ftos(index + 1), "\n"));
 }
 
 int MapVote_MoveLeft(int pos)
 {
-    TC(int, pos);
+       TC(int, pos);
        int imp;
-       if ( pos < 0 )
+       if (pos < 0) {
                imp = mv_num_maps - 1;
-       else
+       } else {
                imp = pos < 1 ? mv_num_maps - 1 : pos - 1;
-       if ( !(mv_flags[imp] & GTV_AVAILABLE) && imp != mv_ownvote )
+       }
+       if (!(mv_flags[imp] & GTV_AVAILABLE) && imp != mv_ownvote) {
                imp = MapVote_MoveLeft(imp);
+       }
        return imp;
 }
 int MapVote_MoveRight(int pos)
 {
-    TC(int, pos);
+       TC(int, pos);
        int imp;
-       if ( pos < 0 )
+       if (pos < 0) {
                imp = 0;
-       else
+       } else {
                imp = pos >= mv_num_maps - 1 ? 0 : pos + 1;
-       if ( !(mv_flags[imp] & GTV_AVAILABLE) && imp != mv_ownvote )
+       }
+       if (!(mv_flags[imp] & GTV_AVAILABLE) && imp != mv_ownvote) {
                imp = MapVote_MoveRight(imp);
+       }
        return imp;
 }
 int MapVote_MoveUp(int pos)
 {
-    TC(int, pos);
+       TC(int, pos);
        int imp;
-       if ( pos < 0 )
+       if (pos < 0) {
                imp = mv_num_maps - 1;
-       else
-       {
+       } else {
                imp = pos - mv_columns;
-               if ( imp < 0 )
-               {
-                       imp = floor(mv_num_maps/mv_columns)*mv_columns + pos % mv_columns;
-                       if ( imp >= mv_num_maps )
+               if (imp < 0) {
+                       imp = floor(mv_num_maps / mv_columns) * mv_columns + pos % mv_columns;
+                       if (imp >= mv_num_maps) {
                                imp -= mv_columns;
+                       }
                }
        }
-       if ( !(mv_flags[imp] & GTV_AVAILABLE) && imp != mv_ownvote )
+       if (!(mv_flags[imp] & GTV_AVAILABLE) && imp != mv_ownvote) {
                imp = MapVote_MoveUp(imp);
+       }
        return imp;
 }
 int MapVote_MoveDown(int pos)
 {
-    TC(int, pos);
+       TC(int, pos);
        int imp;
-       if ( pos < 0 )
+       if (pos < 0) {
                imp = 0;
-       else
-       {
+       } else {
                imp = pos + mv_columns;
-               if ( imp >= mv_num_maps )
+               if (imp >= mv_num_maps) {
                        imp = imp % mv_columns;
+               }
        }
-       if ( !(mv_flags[imp] & GTV_AVAILABLE) && imp != mv_ownvote )
+       if (!(mv_flags[imp] & GTV_AVAILABLE) && imp != mv_ownvote) {
                imp = MapVote_MoveDown(imp);
+       }
        return imp;
 }
 
 float MapVote_InputEvent(int bInputType, float nPrimary, float nSecondary)
 {
-    TC(int, bInputType);
+       TC(int, bInputType);
        float imp;
 
-       if (!mv_active)
+       if (!mv_active) {
                return false;
+       }
 
-       if(bInputType == 3)
-       {
+       if (bInputType == 3) {
                mousepos.x = nPrimary;
                mousepos.y = nSecondary;
                mv_selection_keyboard = 0;
                return true;
        }
 
-       if (bInputType != 0)
+       if (bInputType != 0) {
                return false;
+       }
 
-       if ('0' <= nPrimary && nPrimary <= '9')
-       {
+       if ('0' <= nPrimary && nPrimary <= '9') {
                imp = nPrimary - '0';
-               if (imp == 0) imp = 10;
+               if (imp == 0) { imp = 10; }
                localcmd(strcat("\nimpulse ", ftos(imp), "\n"));
                return true;
        }
-       switch(nPrimary)
-       {
-               case K_KP_1: localcmd("\nimpulse 1\n"); return true;
-               case K_KP_2: localcmd("\nimpulse 2\n"); return true;
-               case K_KP_3: localcmd("\nimpulse 3\n"); return true;
-               case K_KP_4: localcmd("\nimpulse 4\n"); return true;
-               case K_KP_5: localcmd("\nimpulse 5\n"); return true;
-               case K_KP_6: localcmd("\nimpulse 6\n"); return true;
-               case K_KP_7: localcmd("\nimpulse 7\n"); return true;
-               case K_KP_8: localcmd("\nimpulse 8\n"); return true;
-               case K_KP_9: localcmd("\nimpulse 9\n"); return true;
-               case K_KP_0: localcmd("\nimpulse 10\n"); return true;
+       switch (nPrimary) {
+               case K_KP_1: localcmd("\nimpulse 1\n");
+                       return true;
+               case K_KP_2: localcmd("\nimpulse 2\n");
+                       return true;
+               case K_KP_3: localcmd("\nimpulse 3\n");
+                       return true;
+               case K_KP_4: localcmd("\nimpulse 4\n");
+                       return true;
+               case K_KP_5: localcmd("\nimpulse 5\n");
+                       return true;
+               case K_KP_6: localcmd("\nimpulse 6\n");
+                       return true;
+               case K_KP_7: localcmd("\nimpulse 7\n");
+                       return true;
+               case K_KP_8: localcmd("\nimpulse 8\n");
+                       return true;
+               case K_KP_9: localcmd("\nimpulse 9\n");
+                       return true;
+               case K_KP_0: localcmd("\nimpulse 10\n");
+                       return true;
 
                case K_RIGHTARROW:
                        mv_selection_keyboard = 1;
@@ -835,17 +843,16 @@ float MapVote_InputEvent(int bInputType, float nPrimary, float nSecondary)
                case K_KP_ENTER:
                case K_ENTER:
                case K_SPACE:
-                       if ( mv_selection_keyboard )
+                       if (mv_selection_keyboard) {
                                MapVote_SendChoice(mv_selection);
+                       }
                        return true;
        }
 
-       if (nPrimary == K_MOUSE1)
-       {
+       if (nPrimary == K_MOUSE1) {
                mv_selection_keyboard = 0;
                mv_selection = mv_mouse_selection;
-               if (mv_selection >= 0)
-               {
+               if (mv_selection >= 0) {
                        imp = min(mv_selection + 1, mv_num_maps);
                        localcmd(strcat("\nimpulse ", ftos(imp), "\n"));
                        return true;
@@ -864,20 +871,19 @@ void MapVote_UpdateMask()
 void MapVote_UpdateVotes()
 {
        int i;
-       for(i = 0; i < mv_num_maps; ++i)
-       {
-               if(mv_flags[i] & GTV_AVAILABLE)
-               {
-                       if(mv_detail)
+       for (i = 0; i < mv_num_maps; ++i) {
+               if (mv_flags[i] & GTV_AVAILABLE) {
+                       if (mv_detail) {
                                mv_votes[i] = ReadByte();
-                       else
+                       } else {
                                mv_votes[i] = 0;
-               }
-               else
+                       }
+               } else {
                        mv_votes[i] = -1;
+               }
        }
 
-       mv_ownvote = ReadByte()-1;
+       mv_ownvote = ReadByte() - 1;
 }
 
 NET_HANDLE(ENT_CLIENT_MAPVOTE, bool isnew)
@@ -886,14 +892,17 @@ NET_HANDLE(ENT_CLIENT_MAPVOTE, bool isnew)
        int sf = ReadByte();
        return = true;
 
-       if(sf & 1)
+       if (sf & 1) {
                MapVote_Init();
+       }
 
-       if(sf & 2)
+       if (sf & 2) {
                MapVote_UpdateMask();
+       }
 
-       if(sf & 4)
+       if (sf & 4) {
                MapVote_UpdateVotes();
+       }
 }
 
 NET_HANDLE(TE_CSQC_PICTURE, bool isNew)
index 24d634ce8213e05759f7afed13f2f0b011be5146..b8fd467225be195967b04555922b8635326f86f5 100644 (file)
@@ -24,9 +24,9 @@
  * }
  */
 #define EV_CSQC_ConsoleCommand(i, o) \
-       /** command name */ i(string, MUTATOR_ARGV_0_string) \
-       /** argc (also, argv() can be used) */ i(int, MUTATOR_ARGV_1_int) \
-       /** whole command, use only if you really have to */ i(string, MUTATOR_ARGV_2_string) \
+       /** command name */ i(string, MUTATOR_ARGV_0_string) \
+       /** argc (also, argv() can be used) */ i(int, MUTATOR_ARGV_1_int) \
+       /** whole command, use only if you really have to */ i(string, MUTATOR_ARGV_2_string) \
        /**/
 MUTATOR_HOOKABLE(CSQC_ConsoleCommand, EV_CSQC_ConsoleCommand);
 
@@ -77,8 +77,8 @@ MUTATOR_HOOKABLE(ClearModelParams, EV_NO_ARGS);
 
 /** Called when getting the global parameters for a model */
 #define EV_GetModelParams(i, o) \
-       /** input */  i(string, MUTATOR_ARGV_0_string) \
-       /** command */  i(string, MUTATOR_ARGV_1_string) \
+       /** input */ i(string, MUTATOR_ARGV_0_string) \
+       /** command */ i(string, MUTATOR_ARGV_1_string) \
        /**/
 MUTATOR_HOOKABLE(GetModelParams, EV_GetModelParams);
 
@@ -98,7 +98,7 @@ MUTATOR_HOOKABLE(WantEventchase, EV_WantEventchase);
 MUTATOR_HOOKABLE(CustomizeEventchase, EV_CustomizeEventchase);
 
 #define EV_AnnouncerOption(i, o) \
-       /** announcer string */  i(string, MUTATOR_ARGV_0_string) \
+       /** announcer string */ i(string, MUTATOR_ARGV_0_string) \
        /** announcer string */ o(string, MUTATOR_ARGV_0_string) \
        /**/
 MUTATOR_HOOKABLE(AnnouncerOption, EV_AnnouncerOption);
@@ -115,15 +115,15 @@ MUTATOR_HOOKABLE(HUD_Powerups_add, EV_NO_ARGS);
 
 /** Return true to not draw any vortex beam */
 #define EV_Particles_VortexBeam(i, o) \
-       /** beam shot origin */  i(vector, MUTATOR_ARGV_0_vector) \
+       /** beam shot origin */ i(vector, MUTATOR_ARGV_0_vector) \
        /** beam end position */ i(vector, MUTATOR_ARGV_1_vector) \
        /**/
 MUTATOR_HOOKABLE(Particles_VortexBeam, EV_Particles_VortexBeam);
 
 /** Return true to not draw any impact effect */
 #define EV_Weapon_ImpactEffect(i, o) \
-       /** weapon */                   i(entity, MUTATOR_ARGV_0_entity) \
-       /** damage entity */    i(entity, MUTATOR_ARGV_1_entity) \
+       /** weapon */ i(entity, MUTATOR_ARGV_0_entity) \
+       /** damage entity */ i(entity, MUTATOR_ARGV_1_entity) \
        /**/
 MUTATOR_HOOKABLE(Weapon_ImpactEffect, EV_Weapon_ImpactEffect);
 
@@ -136,18 +136,18 @@ MUTATOR_HOOKABLE(HUD_Command, EV_HUD_Command);
 
 /** Draw the grapple hook, allows changing hook texture and colour */
 #define EV_DrawGrapplingHook(i, o) \
-       /** hook */                     i(entity, MUTATOR_ARGV_0_entity) \
-       /** texture */                  i(string, MUTATOR_ARGV_1_string) \
-       /***/                                   o(string, MUTATOR_ARGV_1_string) \
-       /** colour */                   i(vector, MUTATOR_ARGV_2_vector) \
-       /***/                                   o(vector, MUTATOR_ARGV_2_vector) \
-       /** team */                     i(float, MUTATOR_ARGV_3_float) \
+       /** hook */ i(entity, MUTATOR_ARGV_0_entity) \
+       /** texture */ i(string, MUTATOR_ARGV_1_string) \
+       /***/ o(string, MUTATOR_ARGV_1_string) \
+       /** colour */ i(vector, MUTATOR_ARGV_2_vector) \
+       /***/ o(vector, MUTATOR_ARGV_2_vector) \
+       /** team */ i(float, MUTATOR_ARGV_3_float) \
        /**/
 MUTATOR_HOOKABLE(DrawGrapplingHook, EV_DrawGrapplingHook);
 
 /** Called when an entity is updated (either by SVQC networking or PVS) */
 #define EV_Ent_Update(i, o) \
-       /** entity id */                i(entity, MUTATOR_ARGV_0_entity) \
+       /** entity id */ i(entity, MUTATOR_ARGV_0_entity) \
        /** is new to client */ i(bool, MUTATOR_ARGV_1_bool) \
        /**/
 MUTATOR_HOOKABLE(Ent_Update, EV_Ent_Update);
@@ -160,20 +160,20 @@ MUTATOR_HOOKABLE(DrawScoreboard, EV_NO_ARGS);
 
 /** Called when drawing info messages, allows adding new info messages */
 #define EV_DrawInfoMessages(i, o) \
-       /** pos */                          i(vector, MUTATOR_ARGV_0_vector) \
-       /** mySize */                   i(vector, MUTATOR_ARGV_1_vector) \
+       /** pos */ i(vector, MUTATOR_ARGV_0_vector) \
+       /** mySize */ i(vector, MUTATOR_ARGV_1_vector) \
        /**/
 MUTATOR_HOOKABLE(DrawInfoMessages, EV_DrawInfoMessages);
 
 /** Called when drawing info messages, allows adding new info messages */
 #define EV_HUD_WriteCvars(i, o) \
-       /** file */                     i(float, MUTATOR_ARGV_0_float) \
+       /** file */ i(float, MUTATOR_ARGV_0_float) \
        /**/
 MUTATOR_HOOKABLE(HUD_WriteCvars, EV_HUD_WriteCvars);
 
 /** Called when the view model is being animated (setorigin is called after the hook, so you only need to modify origin here if desired) */
 #define EV_DrawViewModel(i, o) \
-       /** entity id */                i(entity, MUTATOR_ARGV_0_entity) \
+       /** entity id */ i(entity, MUTATOR_ARGV_0_entity) \
        /**/
 MUTATOR_HOOKABLE(DrawViewModel, EV_DrawViewModel);
 
@@ -182,15 +182,15 @@ MUTATOR_HOOKABLE(HUD_Contents, EV_NO_ARGS);
 
 /** Return true to disable player model/color forcing */
 #define EV_ForcePlayermodels_Skip(i, o) \
-       /** entity id */                i(entity, MUTATOR_ARGV_0_entity) \
-       /** is local */                 i(bool, MUTATOR_ARGV_1_bool) \
+       /** entity id */ i(entity, MUTATOR_ARGV_0_entity) \
+       /** is local */ i(bool, MUTATOR_ARGV_1_bool) \
        /**/
 MUTATOR_HOOKABLE(ForcePlayermodels_Skip, EV_ForcePlayermodels_Skip);
 
 /** Called when damage info is received on the client, useful for playing explosion effects */
 #define EV_DamageInfo(i, o) \
-       /** entity id */                i(entity, MUTATOR_ARGV_0_entity) \
-       /** death type */               i(int, MUTATOR_ARGV_1_int) \
-       /** hit origin */               i(vector, MUTATOR_ARGV_2_vector) \
+       /** entity id */ i(entity, MUTATOR_ARGV_0_entity) \
+       /** death type */ i(int, MUTATOR_ARGV_1_int) \
+       /** hit origin */ i(vector, MUTATOR_ARGV_2_vector) \
        /**/
 MUTATOR_HOOKABLE(DamageInfo, EV_DamageInfo);
index 55e54d8ac2c641ad49b10bf03a979f0603eff9d3..cb8fce0e9057593fd74dac38831a4d05cf555eb6 100644 (file)
@@ -8,57 +8,61 @@
 
 .float v_angle_save_x;
 
-class(Skeleton) .float skeleton_info_modelindex;
-class(Skeleton) .float skeleton_info_skin;
+class(Skeleton).float skeleton_info_modelindex;
+class(Skeleton).float skeleton_info_skin;
 const int BONETYPE_LOWER = 0;
 const int BONETYPE_UPPER = 1;
 const int MAX_BONES = 128;
-class(Skeleton) .float skeleton_bonetype[MAX_BONES];
-class(Skeleton) .float skeleton_numbones;
+class(Skeleton).float skeleton_bonetype[MAX_BONES];
+class(Skeleton).float skeleton_numbones;
 
 void skeleton_loadinfo(entity e)
 {
        int i;
-       if(e.skeleton_info_modelindex == e.modelindex && e.skeleton_info_skin == e.skin)
+       if (e.skeleton_info_modelindex == e.modelindex && e.skeleton_info_skin == e.skin) {
                return;
+       }
        e.bone_upperbody = 0;
        e.bone_weapon = gettagindex(e, "weapon");
-       if(!e.bone_weapon)
+       if (!e.bone_weapon) {
                e.bone_weapon = gettagindex(e, "tag_weapon");
-       if(!e.bone_weapon)
+       }
+       if (!e.bone_weapon) {
                e.bone_weapon = gettagindex(e, "bip01 r hand");
+       }
        MUTATOR_CALLHOOK(Skeleton_CheckBones, e);
-       for(i = 0; i < MAX_AIM_BONES; ++i)
-       {
+       for (i = 0; i < MAX_AIM_BONES; ++i) {
                e.(bone_aim[i]) = 0;
                e.(bone_aimweight[i]) = 0;
        }
        e.fixbone = 0;
-       if(get_model_parameters(e.model, e.skin))
-       {
-               if(get_model_parameters_bone_upperbody)
+       if (get_model_parameters(e.model, e.skin)) {
+               if (get_model_parameters_bone_upperbody) {
                        e.bone_upperbody = gettagindex(e, get_model_parameters_bone_upperbody);
-               if(e.bone_upperbody)
+               }
+               if (e.bone_upperbody) {
                        e.fixbone = get_model_parameters_fixbone;
-               if(get_model_parameters_bone_weapon)
+               }
+               if (get_model_parameters_bone_weapon) {
                        e.bone_weapon = gettagindex(e, get_model_parameters_bone_weapon);
+               }
                MUTATOR_CALLHOOK(Skeleton_CheckModel, e);
-               for(i = 0; i < MAX_AIM_BONES; ++i)
-               {
-                       if(get_model_parameters_bone_aim[i])
+               for (i = 0; i < MAX_AIM_BONES; ++i) {
+                       if (get_model_parameters_bone_aim[i]) {
                                e.(bone_aim[i]) = gettagindex(e, get_model_parameters_bone_aim[i]);
-                       if(e.bone_aim[i])
+                       }
+                       if (e.bone_aim[i]) {
                                e.(bone_aimweight[i]) = get_model_parameters_bone_aimweight[i];
+                       }
                }
-       }
-       else
+       } else {
                LOG_TRACE("No model parameters for ", e.model);
-       //dprint(e.model, " uses ", ftos(e.bone_upperbody), " ", ftos(e.fixbone), "\n");
+       }
+       // dprint(e.model, " uses ", ftos(e.bone_upperbody), " ", ftos(e.fixbone), "\n");
        get_model_parameters(string_null, 0);
        e.skeleton_info_modelindex = e.modelindex;
        e.skeleton_info_skin = e.skin;
-       if(e.skeletonindex)
-       {
+       if (e.skeletonindex) {
                skel_delete(e.skeletonindex);
                e.skeletonindex = 0;
        }
@@ -69,21 +73,22 @@ void skeleton_markbones(entity e)
        float s = e.skeletonindex;
        float n = (e.skeleton_numbones = skel_get_numbones(s));
        int i;
-       for(i = 1; i <= n; ++i)
-       {
+       for (i = 1; i <= n; ++i) {
                float t = BONETYPE_LOWER;
                int p = skel_get_boneparent(s, i);
-               if(p > 0)
-                       t = e.(skeleton_bonetype[p-1]);
-               if(i == e.bone_upperbody)
+               if (p > 0) {
+                       t = e.(skeleton_bonetype[p - 1]);
+               }
+               if (i == e.bone_upperbody) {
                        t = BONETYPE_UPPER;
-               e.(skeleton_bonetype[i-1]) = t;
+               }
+               e.(skeleton_bonetype[i - 1]) = t;
        }
 }
 
 void skel_set_boneabs(float s, int bone, vector absorg)
 {
-    TC(int, bone);
+       TC(int, bone);
        vector absang = fixedvectoangles2(v_forward, v_up);
 
        vector parentorg = skel_get_boneabs(s, skel_get_boneparent(s, bone));
@@ -104,8 +109,7 @@ void skel_set_boneabs(float s, int bone, vector absorg)
 
 void free_skeleton_from_frames(entity e)
 {
-       if(e.skeletonindex)
-       {
+       if (e.skeletonindex) {
                skel_delete(e.skeletonindex);
                e.skeletonindex = 0;
        }
@@ -113,24 +117,23 @@ void free_skeleton_from_frames(entity e)
 
 void skeleton_from_frames(entity e, bool is_dead)
 {
-    TC(bool, is_dead);
+       TC(bool, is_dead);
        float m = e.modelindex;
-       if(!e.skeletonindex)
-       {
+       if (!e.skeletonindex) {
                e.skeletonindex = skel_create(m);
                skeleton_markbones(e);
        }
        float s = e.skeletonindex;
-       if(!s)
+       if (!s) {
                return;
+       }
        float n = e.skeleton_numbones;
        float savelerpfrac = e.lerpfrac;
        float savelerpfrac3 = e.lerpfrac3;
        float savelerpfrac4 = e.lerpfrac4;
 
        vector fixbone_oldangles = '0 0 0';
-       if(e.fixbone)
-       {
+       if (e.fixbone) {
                // make all bones BONETYPE_UPPER
                e.lerpfrac = 0;
                e.lerpfrac3 = savelerpfrac3 * 2;
@@ -142,60 +145,50 @@ void skeleton_from_frames(entity e, bool is_dead)
                fixbone_oldangles = fixedvectoangles2(v_forward, v_up);
        }
        int bone;
-       for(bone = 0; bone < n; )
-       {
+       for (bone = 0; bone < n; ) {
                float firstbone = bone;
                float bonetype = e.skeleton_bonetype[bone];
-               for(++bone; (bone < n) && (e.skeleton_bonetype[bone] == bonetype); ++bone)
-                       ;
-               if(bonetype == BONETYPE_UPPER)
-               {
+               for (++bone; (bone < n) && (e.skeleton_bonetype[bone] == bonetype); ++bone) {}
+               if (bonetype == BONETYPE_UPPER) {
                        // only show frames 1+3 (upper body)
                        e.lerpfrac = 0;
                        e.lerpfrac3 = savelerpfrac3 * 2;
                        e.lerpfrac4 = 0;
-               }
-               else
-               {
+               } else {
                        // only show frames 2+4 (lower body)
                        e.lerpfrac = savelerpfrac * 2;
                        e.lerpfrac3 = 0;
                        e.lerpfrac4 = savelerpfrac4 * 2;
                }
-               //printf("Run: bone %d to %d, type %d\n", firstbone + 1, bone, bonetype);
-               //printf("frame %d %d %d %d lerpfrac * %d %d %d\n", e.frame, e.frame2, e.frame3, e.frame4, e.lerpfrac, e.lerpfrac3, e.lerpfrac4);
+               // printf("Run: bone %d to %d, type %d\n", firstbone + 1, bone, bonetype);
+               // printf("frame %d %d %d %d lerpfrac * %d %d %d\n", e.frame, e.frame2, e.frame3, e.frame4, e.lerpfrac, e.lerpfrac3, e.lerpfrac4);
                skel_build(s, e, m, 0, firstbone + 1, bone);
        }
        e.lerpfrac = savelerpfrac;
        e.lerpfrac3 = savelerpfrac3;
        e.lerpfrac4 = savelerpfrac4;
 
-       if(e.fixbone)
-       {
+       if (e.fixbone) {
                // FIX IT
                vector org = skel_get_boneabs(s, e.bone_upperbody);
                fixedmakevectors(fixbone_oldangles);
                skel_set_boneabs(s, e.bone_upperbody, org);
        }
 
-       if(!is_dead)
-       {
-               if(e == csqcplayer)
-               {
-                       if(e.move_movetype == MOVETYPE_NONE)
-                       {
-                               if(!e.v_angle_save_x)
+       if (!is_dead) {
+               if (e == csqcplayer) {
+                       if (e.move_movetype == MOVETYPE_NONE) {
+                               if (!e.v_angle_save_x) {
                                        e.v_angle_save_x = input_angles.x;
+                               }
                                e.v_angle_x = e.v_angle_save_x;
-                       }
-                       else
+                       } else {
                                e.v_angle_x = input_angles.x;
+                       }
                }
                int i;
-               for(i = 0; i < MAX_AIM_BONES; ++i)
-               {
-                       if(e.(bone_aim[i]))
-                       {
+               for (i = 0; i < MAX_AIM_BONES; ++i) {
+                       if (e.(bone_aim[i])) {
                                vector aim = '1 0 0' * bound(-90, e.v_angle_x, 90) * e.(bone_aimweight[i]);
                                vector org = skel_get_boneabs(s, e.(bone_aim[i]));
                                vector ang_cur = fixedvectoangles2(v_forward, v_up);
index 8c5969b09fb4db0ae068b7aa50338215be07b2dd..28c0514e64199c157a7feedcda60fa2286105fc7 100644 (file)
@@ -7,8 +7,8 @@ void skeleton_from_frames(entity e, float is_dead);
 void skeleton_loadinfo(entity e);
 
 entityclass(Skeleton);
-class(Skeleton) .float bone_upperbody;
-class(Skeleton) .int bone_weapon;
-class(Skeleton) .float bone_aim[MAX_AIM_BONES];
-class(Skeleton) .float bone_aimweight[MAX_AIM_BONES];
-class(Skeleton) .float fixbone;
+class(Skeleton).float bone_upperbody;
+class(Skeleton).int bone_weapon;
+class(Skeleton).float bone_aim[MAX_AIM_BONES];
+class(Skeleton).float bone_aimweight[MAX_AIM_BONES];
+class(Skeleton).float fixbone;
index 8a7d225bff7bdc319260e5e0648a2aaff9b7aa08..ae184726365975969fafd4f21b49790c730ee18f 100644 (file)
@@ -25,8 +25,7 @@ LinkedList shownames_ent;
 STATIC_INIT(shownames_ent)
 {
        shownames_ent = LL_NEW();
-       for (int i = 0; i < maxclients; ++i)
-       {
+       for (int i = 0; i < maxclients; ++i) {
                entity e = new_pure(shownames_tag);
                e.sv_entnum = i + 1;
                LL_PUSH(shownames_ent, e);
@@ -37,105 +36,88 @@ const float SHOWNAMES_FADESPEED = 4;
 const float SHOWNAMES_FADEDELAY = 0.4;
 void Draw_ShowNames(entity this)
 {
-       if (this.sv_entnum == (current_player + 1))  // self or spectatee
-               if (!(autocvar_hud_shownames_self && autocvar_chase_active)) return;
-       if (!this.sameteam && !autocvar_hud_shownames_enemies) return;
+       if (this.sv_entnum == (current_player + 1)) { // self or spectatee
+               if (!(autocvar_hud_shownames_self && autocvar_chase_active)) { return; } }
+       if (!this.sameteam && !autocvar_hud_shownames_enemies) { return; }
        bool hit;
-       if (!autocvar_hud_shownames_crosshairdistance && this.sameteam)
-       {
+       if (!autocvar_hud_shownames_crosshairdistance && this.sameteam) {
                hit = true;
-       }
-       else
-       {
+       } else {
                traceline(view_origin, this.origin, MOVE_NORMAL, this);
                hit = !(trace_fraction < 1 && (trace_networkentity != this.sv_entnum && trace_ent.entnum != this.sv_entnum));
        }
        // handle tag fading
        int overlap = -1;
        vector o = project_3d_to_2d(this.origin + eZ * autocvar_hud_shownames_offset);
-       if (autocvar_hud_shownames_crosshairdistance)
-       {
+       if (autocvar_hud_shownames_crosshairdistance) {
                float d = autocvar_hud_shownames_crosshairdistance;
                float w = o.x - vid_conwidth / 2;
                float h = o.y - vid_conheight / 2;
-               if (d * d > w * w + h * h) this.pointtime = time;
-               if (this.pointtime + autocvar_hud_shownames_crosshairdistance_time <= time)
+               if (d * d > w * w + h * h) { this.pointtime = time; }
+               if (this.pointtime + autocvar_hud_shownames_crosshairdistance_time <= time) {
                        overlap = 1;
-               else if(!autocvar_hud_shownames_crosshairdistance_antioverlap)
+               } else if (!autocvar_hud_shownames_crosshairdistance_antioverlap) {
                        overlap = 0;
+               }
        }
 
-       if (overlap == -1 && autocvar_hud_shownames_antioverlap)
-       {
+       if (overlap == -1 && autocvar_hud_shownames_antioverlap) {
                // fade tag out if another tag that is closer to you overlaps
                entity entcs = NULL;
                LL_EACH(shownames_ent, it != this, {
                        entcs = entcs_receiver(i);
-                       if (!(entcs && entcs.has_sv_origin))
+                       if (!(entcs && entcs.has_sv_origin)) {
                                continue;
+                       }
                        vector eo = project_3d_to_2d(it.origin);
-                       if (eo.z < 0 || eo.x < 0 || eo.y < 0 || eo.x > vid_conwidth || eo.y > vid_conheight) continue;
+                       if (eo.z < 0 || eo.x < 0 || eo.y < 0 || eo.x > vid_conwidth || eo.y > vid_conheight) { continue; }
                        eo.z = 0;
                        if (vdist((vec2(o) - eo), <, autocvar_hud_shownames_antioverlap_distance)
-                           && vlen2(it.origin - view_origin) < vlen2(this.origin - view_origin))
-                       {
+                       && vlen2(it.origin - view_origin) < vlen2(this.origin - view_origin)) {
                                overlap = 1;
                                break;
                        }
                });
        }
        bool onscreen = (o.z >= 0 && o.x >= 0 && o.y >= 0 && o.x <= vid_conwidth && o.y <= vid_conheight);
-       if (!this.fadedelay) this.fadedelay = time + SHOWNAMES_FADEDELAY;
-       if (this.csqcmodel_isdead)                                                                   // dead player, fade out slowly
-       {
+       if (!this.fadedelay) { this.fadedelay = time + SHOWNAMES_FADEDELAY; }
+       if (this.csqcmodel_isdead) { // dead player, fade out slowly
                this.alpha = max(0, this.alpha - SHOWNAMES_FADESPEED * 0.25 * frametime);
-       }
-       else if (!onscreen || (!this.sameteam && !hit)) // out of view, fade out
-       {
+       } else if (!onscreen || (!this.sameteam && !hit)) { // out of view, fade out
                this.alpha = max(0, this.alpha - SHOWNAMES_FADESPEED * frametime);
-               this.fadedelay = 0;                         // reset fade in delay, enemy has left the view
-       }
-       else if (overlap > 0) // tag overlap detected, fade out
-       {
+               this.fadedelay = 0; // reset fade in delay, enemy has left the view
+       } else if (overlap > 0) { // tag overlap detected, fade out
                this.alpha = max(0, this.alpha - SHOWNAMES_FADESPEED * frametime);
-       }
-       else if (this.sameteam)  // fade in for team mates
-       {
+       } else if (this.sameteam) { // fade in for team mates
                this.alpha = min(1, this.alpha + SHOWNAMES_FADESPEED * frametime);
-       }
-       else if (time > this.fadedelay)  // fade in for enemies
-       {
+       } else if (time > this.fadedelay) { // fade in for enemies
                this.alpha = min(1, this.alpha + SHOWNAMES_FADESPEED * frametime);
        }
        float a = autocvar_hud_shownames_alpha * this.alpha;
        // multiply by player alpha
-       if (!this.sameteam || (this.sv_entnum == player_localentnum))
-       {
+       if (!this.sameteam || (this.sv_entnum == player_localentnum)) {
                float f = entcs_GetAlpha(this.sv_entnum - 1);
-               if (f == 0) f = 1;
-               if (f < 0) f = 0;
+               if (f == 0) { f = 1; }
+               if (f < 0) { f = 0; }
                // FIXME: alpha is negative when dead, breaking death fade
-               if (!this.csqcmodel_isdead) a *= f;
+               if (!this.csqcmodel_isdead) { a *= f; }
        }
-       if (a < ALPHA_MIN_VISIBLE && gametype != MAPINFO_TYPE_CTS) return;
-       if (vdist(this.origin - view_origin, >=, max_shot_distance)) return;
+       if (a < ALPHA_MIN_VISIBLE && gametype != MAPINFO_TYPE_CTS) { return; }
+       if (vdist(this.origin - view_origin, >=, max_shot_distance)) { return; }
        float dist = vlen(this.origin - view_origin);
-       if (autocvar_hud_shownames_maxdistance)
-       {
-               if (dist >= autocvar_hud_shownames_maxdistance) return;
+       if (autocvar_hud_shownames_maxdistance) {
+               if (dist >= autocvar_hud_shownames_maxdistance) { return; }
                float f = autocvar_hud_shownames_maxdistance - autocvar_hud_shownames_mindistance;
                a *= (f - max(0, dist - autocvar_hud_shownames_mindistance)) / f;
        }
-       if (!a) return;
+       if (!a) { return; }
        float resize = 1;
-       if (autocvar_hud_shownames_resize)  // limit resize so its never smaller than 0.5... gets unreadable
-       {
+       if (autocvar_hud_shownames_resize) { // limit resize so its never smaller than 0.5... gets unreadable
                float f = autocvar_hud_shownames_maxdistance - autocvar_hud_shownames_mindistance;
                resize = 0.5 + 0.5 * (f - max(0, dist - autocvar_hud_shownames_mindistance)) / f;
        }
        // draw the sprite image
-       if (o.z >= 0)
-       {
+       if (o.z >= 0) {
                o.z = 0;
                vector mySize = (vec2(autocvar_hud_shownames_aspect, 1)) * autocvar_hud_shownames_fontsize;
                vector myPos = o - vec2(0.5 * mySize.x, mySize.y);
@@ -147,18 +129,15 @@ void Draw_ShowNames(entity this)
                // this is where the origin of the string
                vector namepos = myPos;
                float namewidth = mySize.x;
-               if (autocvar_hud_shownames_status && this.sameteam)
-               {
+               if (autocvar_hud_shownames_status && this.sameteam) {
                        vector pos = namepos + eY * autocvar_hud_shownames_fontsize * resize;
                        vector sz = vec2(0.5 * mySize.x, resize * autocvar_hud_shownames_statusbar_height);
-                       if (this.healthvalue > 0)
-                       {
+                       if (this.healthvalue > 0) {
                                HUD_Panel_DrawProgressBar(pos, sz, "nametag_statusbar",
                                        this.healthvalue / autocvar_hud_panel_healtharmor_maxhealth, false, 1, '1 0 0', a,
                                        DRAWFLAG_NORMAL);
                        }
-                       if (this.armorvalue > 0)
-                       {
+                       if (this.armorvalue > 0) {
                                HUD_Panel_DrawProgressBar(pos + eX * 0.5 * mySize.x, sz, "nametag_statusbar",
                                        this.armorvalue / autocvar_hud_panel_healtharmor_maxarmor, false, 0, '0 1 0', a,
                                        DRAWFLAG_NORMAL);
@@ -166,11 +145,11 @@ void Draw_ShowNames(entity this)
                }
                string s = entcs_GetName(this.sv_entnum - 1);
                if ((autocvar_hud_shownames_decolorize == 1 && teamplay)
-                   || autocvar_hud_shownames_decolorize == 2) s = playername(s, entcs_GetTeam(this.sv_entnum - 1));
+                       || autocvar_hud_shownames_decolorize == 2) { s = playername(s, entcs_GetTeam(this.sv_entnum - 1)); }
                drawfontscale = '1 1 0' * resize;
                s = textShortenToWidth(s, namewidth, '1 1 0' * autocvar_hud_shownames_fontsize, stringwidth_colors);
                float width = stringwidth(s, true, '1 1 0' * autocvar_hud_shownames_fontsize);
-               if (width != namewidth) namepos.x += (namewidth - width) / 2;
+               if (width != namewidth) { namepos.x += (namewidth - width) / 2; }
                drawcolorcodedstring(namepos, s, '1 1 0' * autocvar_hud_shownames_fontsize, a, DRAWFLAG_NORMAL);
                drawfontscale = '1 1 0';
        }
@@ -178,32 +157,28 @@ void Draw_ShowNames(entity this)
 
 void Draw_ShowNames_All()
 {
-       if (!autocvar_hud_shownames) return;
+       if (!autocvar_hud_shownames) { return; }
        LL_EACH(shownames_ent, true, {
                entity entcs = entcs_receiver(i);
-               if (!entcs)
-               {
+               if (!entcs) {
                        make_pure(it);
                        continue;
                }
                make_impure(it);
                assert(getthink(entcs), eprint(entcs));
                getthink(entcs)(entcs);
-               if (!entcs.has_origin) continue;
-               if (entcs.m_entcs_private)
-               {
+               if (!entcs.has_origin) { continue; }
+               if (entcs.m_entcs_private) {
                        it.healthvalue = entcs.healthvalue;
                        it.armorvalue = entcs.armorvalue;
                        it.sameteam = true;
-               }
-               else
-               {
+               } else {
                        it.healthvalue = 0;
                        it.armorvalue = 0;
                        it.sameteam = false;
                }
                bool dead = entcs_IsDead(i) || entcs_IsSpectating(i);
-               if (!it.csqcmodel_isdead) setorigin(it, entcs.origin);
+               if (!it.csqcmodel_isdead) { setorigin(it, entcs.origin); }
                it.csqcmodel_isdead = dead;
                Draw_ShowNames(it);
        });
index 24f6568d26629396ff7322bfae3b97695f545d3d..db919a8516c22f68b75cff09d651055fa999999a 100644 (file)
@@ -1,10 +1,10 @@
 #pragma once
 
 entityclass(ShowNames);
-class(ShowNames) .float healthvalue;
-class(ShowNames) .float armorvalue;
-class(ShowNames) .float sameteam;
-class(ShowNames) .float fadedelay;
-class(ShowNames) .float pointtime;
+class(ShowNames).float healthvalue;
+class(ShowNames).float armorvalue;
+class(ShowNames).float sameteam;
+class(ShowNames).float fadedelay;
+class(ShowNames).float pointtime;
 
 void Draw_ShowNames_All();
index 251c1a53f12a9185f0c5274839479066a4d7e759..91a43753a8253bfcc8a5979e24f8b2b4a7830107 100644 (file)
@@ -4,20 +4,20 @@ const int MAX_TEAMRADAR_TIMES = 32;
 
 entityclass(TeamRadar);
 // to make entities have dots on the team radar
-class(TeamRadar) .float teamradar_icon;
-class(TeamRadar) .float teamradar_times[MAX_TEAMRADAR_TIMES];
-class(TeamRadar) .int teamradar_time_index;
-class(TeamRadar) .vector teamradar_color;
-
-float teamradar_angle; // player yaw angle
-vector teamradar_origin3d_in_texcoord; // player origin
-vector teamradar_origin2d; // 2D origin
-vector teamradar_size2d; // 2D size
+class(TeamRadar).float teamradar_icon;
+class(TeamRadar).float teamradar_times[MAX_TEAMRADAR_TIMES];
+class(TeamRadar).int teamradar_time_index;
+class(TeamRadar).vector teamradar_color;
+
+float teamradar_angle;                                     // player yaw angle
+vector teamradar_origin3d_in_texcoord;                     // player origin
+vector teamradar_origin2d;                                 // 2D origin
+vector teamradar_size2d;                                   // 2D size
 vector teamradar_extraclip_mins, teamradar_extraclip_maxs; // for non-centered radar display
-float teamradar_size; // 2D scale factor
+float teamradar_size;                                      // 2D scale factor
 float v_flipped;
 
-float hud_panel_radar_scale; // window size = ...qu
+float hud_panel_radar_scale;                               // window size = ...qu
 float hud_panel_radar_foreground_alpha;
 float hud_panel_radar_rotation;
 vector hud_panel_radar_size;
@@ -32,7 +32,7 @@ vector teamradar_3dcoord_to_texcoord(vector in);
 
 vector teamradar_texcoord_to_2dcoord(vector in);
 
-vector teamradar_texcoord_to_3dcoord(vector in,float oz);
+vector teamradar_texcoord_to_3dcoord(vector in, float oz);
 
 void draw_teamradar_background(float fg);
 
index a0d66d719e4ab04a201f990fbcb5defd7aa42822..07800d0e178e0e35192f9fce3520368172d62b29 100644 (file)
 
 void Ent_Wall_PreDraw(entity this)
 {
-       if (this.inactive)
-       {
+       if (this.inactive) {
                this.alpha = 0;
-       }
-       else
-       {
+       } else {
                vector org = getpropertyvec(VF_ORIGIN);
-               if(!checkpvs(org, this))
+               if (!checkpvs(org, this)) {
                        this.alpha = 0;
-               else if(this.fade_start || this.fade_end) {
+               } else if (this.fade_start || this.fade_end) {
                        vector offset = '0 0 0';
                        offset_z = this.fade_vertical_offset;
                        float player_dist = vlen(org - this.origin - 0.5 * (this.mins + this.maxs) + offset);
-                       if (this.fade_end == this.fade_start)
-                       {
-                               if (player_dist >= this.fade_start)
+                       if (this.fade_end == this.fade_start) {
+                               if (player_dist >= this.fade_start) {
                                        this.alpha = 0;
-                               else
+                               } else {
                                        this.alpha = 1;
-                       }
-                       else
-                       {
+                               }
+                       } else {
                                this.alpha = (this.alpha_min + this.alpha_max * bound(0,
-                                                          (this.fade_end - player_dist)
-                                                          / (this.fade_end - this.fade_start), 1)) / 100.0;
+                                       (this.fade_end - player_dist)
+                                       / (this.fade_end - this.fade_start), 1)) / 100.0;
                        }
-               }
-               else
-               {
+               } else {
                        this.alpha = 1;
                }
        }
-       if(this.alpha <= 0)
+       if (this.alpha <= 0) {
                this.drawmask = 0;
-       else
+       } else {
                this.drawmask = MASK_NORMAL;
+       }
 }
 
 void Ent_Wall_Draw(entity this)
 {
        float f;
-       var .vector fld;
+       var.vector fld;
 
-       if(this.bgmscriptangular)
+       if (this.bgmscriptangular) {
                fld = angles;
-       else
+       } else {
                fld = origin;
+       }
        this.(fld) = this.saved;
 
-       if(this.lodmodelindex1)
-       {
-               if(autocvar_cl_modeldetailreduction <= 0)
-               {
-                       if(this.lodmodelindex2 && autocvar_cl_modeldetailreduction <= -2)
+       if (this.lodmodelindex1) {
+               if (autocvar_cl_modeldetailreduction <= 0) {
+                       if (this.lodmodelindex2 && autocvar_cl_modeldetailreduction <= -2) {
                                this.modelindex = this.lodmodelindex2;
-                       else if(autocvar_cl_modeldetailreduction <= -1)
+                       } else if (autocvar_cl_modeldetailreduction <= -1) {
                                this.modelindex = this.lodmodelindex1;
-                       else
+                       } else {
                                this.modelindex = this.lodmodelindex0;
-               }
-               else
-               {
+                       }
+               } else {
                        float distance = vlen(NearestPointOnBox(this, view_origin) - view_origin);
                        f = (distance * current_viewzoom + 100.0) * autocvar_cl_modeldetailreduction;
                        f *= 1.0 / bound(0.01, view_quality, 1);
-                       if(this.lodmodelindex2 && f > this.loddistance2)
+                       if (this.lodmodelindex2 && f > this.loddistance2) {
                                this.modelindex = this.lodmodelindex2;
-                       else if(f > this.loddistance1)
+                       } else if (f > this.loddistance1) {
                                this.modelindex = this.lodmodelindex1;
-                       else
+                       } else {
                                this.modelindex = this.lodmodelindex0;
+                       }
                }
        }
 
@@ -92,121 +85,113 @@ void Ent_Wall_Draw(entity this)
        this.saved = this.(fld);
 
        f = doBGMScript(this);
-       if(f >= 0)
-       {
-               if(this.lip < 0) // < 0: alpha goes from 1 to 1-|lip| when toggled (toggling subtracts lip)
+       if (f >= 0) {
+               if (this.lip < 0) { // < 0: alpha goes from 1 to 1-|lip| when toggled (toggling subtracts lip)
                        this.alpha = 1 + this.lip * f;
-               else // > 0: alpha goes from 1-|lip| to 1 when toggled (toggling adds lip)
+               } else { // > 0: alpha goes from 1-|lip| to 1 when toggled (toggling adds lip)
                        this.alpha = 1 - this.lip * (1 - f);
+               }
                this.(fld) = this.(fld) + this.movedir * f;
-       }
-       else
+       } else {
                this.alpha = 1;
+       }
 
-       if(this.alpha >= ALPHA_MIN_VISIBLE)
+       if (this.alpha >= ALPHA_MIN_VISIBLE) {
                this.drawmask = MASK_NORMAL;
-       else
+       } else {
                this.drawmask = 0;
+       }
 }
 
 void Ent_Wall_Remove(entity this)
 {
-       if(this.bgmscript)
+       if (this.bgmscript) {
                strunzone(this.bgmscript);
+       }
        this.bgmscript = string_null;
 }
 
 NET_HANDLE(ENT_CLIENT_WALL, bool isnew)
 {
        int f;
-       var .vector fld;
+       var.vector fld;
 
        InterpolateOrigin_Undo(this);
        this.iflags = IFLAG_ANGLES | IFLAG_ORIGIN;
 
-       if(this.bgmscriptangular)
+       if (this.bgmscriptangular) {
                fld = angles;
-       else
+       } else {
                fld = origin;
+       }
        this.(fld) = this.saved;
 
        f = ReadByte();
 
-       if(f & 1)
-       {
-               if(f & 0x40)
+       if (f & 1) {
+               if (f & 0x40) {
                        this.colormap = ReadShort();
-               else
+               } else {
                        this.colormap = 0;
+               }
                this.skin = ReadByte();
        }
 
-       if(f & 2)
-       {
+       if (f & 2) {
                this.origin_x = ReadCoord();
                this.origin_y = ReadCoord();
                this.origin_z = ReadCoord();
                setorigin(this, this.origin);
        }
 
-       if(f & 4)
-       {
-               if(f & 0x10)
-               {
+       if (f & 4) {
+               if (f & 0x10) {
                        this.angles_x = ReadAngle();
                        this.angles_y = ReadAngle();
                        this.angles_z = ReadAngle();
-               }
-               else
+               } else {
                        this.angles = '0 0 0';
+               }
        }
 
-       if(f & 8)
-       {
-               if(f & 0x80)
-               {
+       if (f & 8) {
+               if (f & 0x80) {
                        this.lodmodelindex0 = ReadShort();
                        this.loddistance1 = ReadShort();
                        this.lodmodelindex1 = ReadShort();
                        this.loddistance2 = ReadShort();
                        this.lodmodelindex2 = ReadShort();
-               }
-               else
-               {
+               } else {
                        this.modelindex = ReadShort();
                        this.loddistance1 = 0;
                        this.loddistance2 = 0;
                }
                this.solid = ReadByte();
                this.scale = ReadShort() / 256.0;
-               if(f & 0x20)
-               {
+               if (f & 0x20) {
                        this.mins_x = ReadCoord();
                        this.mins_y = ReadCoord();
                        this.mins_z = ReadCoord();
                        this.maxs_x = ReadCoord();
                        this.maxs_y = ReadCoord();
                        this.maxs_z = ReadCoord();
-               }
-               else
+               } else {
                        this.mins = this.maxs = '0 0 0';
+               }
                setsize(this, this.mins, this.maxs);
 
-               if(this.bgmscript)
+               if (this.bgmscript) {
                        strunzone(this.bgmscript);
+               }
                this.bgmscript = ReadString();
-               if(substring(this.bgmscript, 0, 1) == "<")
-               {
+               if (substring(this.bgmscript, 0, 1) == "<") {
                        this.bgmscript = strzone(substring(this.bgmscript, 1, -1));
                        this.bgmscriptangular = 1;
-               }
-               else
-               {
+               } else {
                        this.bgmscript = strzone(this.bgmscript);
                        this.bgmscriptangular = 0;
                }
-               if(this.bgmscript != "")
-               {
+               if (this.bgmscript != "") {
                        this.bgmscriptattack = ReadByte() / 64.0;
                        this.bgmscriptdecay = ReadByte() / 64.0;
                        this.bgmscriptsustain = ReadByte() / 255.0;
@@ -233,6 +218,6 @@ NET_HANDLE(ENT_CLIENT_WALL, bool isnew)
 
        this.entremove = Ent_Wall_Remove;
        this.draw = Ent_Wall_Draw;
-       if (isnew) IL_PUSH(g_drawables, this);
+       if (isnew) { IL_PUSH(g_drawables, this); }
        setpredraw(this, Ent_Wall_PreDraw);
 }
index 11aebd0ed5e25df349f6fa12a8288e345e47f27f..b13991abe0f0ea4e23aeb767b73dd90ceebea105 100644 (file)
@@ -1,11 +1,11 @@
 #pragma once
 
 entityclass(Wall);
-class(Wall) .float lip;
-class(Wall) .float bgmscriptangular;
-class(Wall) .int lodmodelindex0, lodmodelindex1, lodmodelindex2;
-class(Wall) .float loddistance1, loddistance2;
-class(Wall) .vector saved;
+class(Wall).float lip;
+class(Wall).float bgmscriptangular;
+class(Wall).int lodmodelindex0, lodmodelindex1, lodmodelindex2;
+class(Wall).float loddistance1, loddistance2;
+class(Wall).vector saved;
 
 // Needed for interactive clientwalls
 .float inactive; // Clientwall disappears when inactive
index 6a4dbe50f064a3786133f3a6ff469e342258bd03..8236976d58dee353c410189f53a1e74e996811de 100644 (file)
@@ -5,24 +5,23 @@
  */
 void anim_set(entity e, vector anim, bool looping, bool override, bool restart)
 {
-       if (!anim) return;  // no animation was given to us! We can't use this.
-
-       if (anim.x == e.animstate_startframe)
-       {
-               if (anim.y == e.animstate_numframes)
-               {
-                       if (anim.z == e.animstate_framerate)
-                       {
-                               if (!restart) return;
-                               if (anim.y == 1)  // ZYM animation
+       if (!anim) {
+               return; // no animation was given to us! We can't use this.
+       }
+       if (anim.x == e.animstate_startframe) {
+               if (anim.y == e.animstate_numframes) {
+                       if (anim.z == e.animstate_framerate) {
+                               if (!restart) { return; }
+                               if (anim.y == 1) { // ZYM animation
                                        BITXOR_ASSIGN(e.effects, EF_RESTARTANIM_BIT);
+                               }
                        }
                }
        }
        e.animstate_startframe = anim.x;
        e.animstate_numframes = anim.y;
        e.animstate_framerate = anim.z;
-       e.animstate_starttime = time - 0.1 * frametime;  // shift it a little bit into the past to prevent float inaccuracy hiccups
+       e.animstate_starttime = time - 0.1 * frametime; // shift it a little bit into the past to prevent float inaccuracy hiccups
        e.animstate_endtime = e.animstate_starttime + e.animstate_numframes / e.animstate_framerate;
        e.animstate_looping = looping;
        e.animstate_override = override;
@@ -35,10 +34,8 @@ void anim_set(entity e, vector anim, bool looping, bool override, bool restart)
  */
 void anim_update(entity e)
 {
-       if (time >= e.animstate_endtime)
-       {
-               if (e.animstate_looping)
-               {
+       if (time >= e.animstate_endtime) {
+               if (e.animstate_looping) {
                        e.animstate_starttime = e.animstate_endtime;
                        e.animstate_endtime = e.animstate_starttime + e.animstate_numframes / e.animstate_framerate;
                }
index b53a9ba0e9cbf6123d7438736785e8206200358a..a532a1fa56f3b9d3e581f47ef087eaa119d63db5 100644 (file)
@@ -3,19 +3,19 @@
 #include <common/monsters/_mod.qh>
 
 #if defined(SVQC)
-    #include "util.qh"
-    #include "../server/defs.qh"
+#include "util.qh"
+#include "../server/defs.qh"
 #endif
 
 bool monsters_animoverride(entity this)
 {
        Monster monster_id = NULL;
        FOREACH(Monsters, it != MON_Null && it.m_model.model_str() == this.model, {
-        monster_id = it;
-        break;
+               monster_id = it;
+               break;
        });
 
-       if(!monster_id) { return false; }
+       if (!monster_id) { return false; }
 
        monster_id.mr_anim(monster_id, this);
 
@@ -50,13 +50,13 @@ bool monsters_animoverride(entity this)
 void animdecide_load_if_needed(entity e)
 {
        int mdlidx = e.modelindex;
-       if (mdlidx == e.animdecide_modelindex) return;
+       if (mdlidx == e.animdecide_modelindex) { return; }
        e.animdecide_modelindex = mdlidx;
 
-       if(substring(e.model, 0, 16) == "models/monsters/")
-       {
-               if(monsters_animoverride(e))
+       if (substring(e.model, 0, 16) == "models/monsters/") {
+               if (monsters_animoverride(e)) {
                        return;
+               }
        }
 
 #define ANIM_VEC(a, frames, rate) anim_vec(ANIM_##a, mdlidx, frames, rate)
@@ -81,7 +81,7 @@ void animdecide_load_if_needed(entity e)
        e.anim_forwardright = animfixfps(e, ANIM_VEC(forwardright, 1, 1), ANIM_VEC(straferight, 1, 1));
        e.anim_forwardleft = animfixfps(e, ANIM_VEC(forwardleft, 1, 1), ANIM_VEC(strafeleft, 1, 1));
        e.anim_backright = animfixfps(e, ANIM_VEC(backright, 1, 1), ANIM_VEC(straferight, 1, 1));
-       e.anim_backleft  = animfixfps(e, ANIM_VEC(backleft , 1, 1), ANIM_VEC(strafeleft, 1, 1));
+       e.anim_backleft  = animfixfps(e, ANIM_VEC(backleft, 1, 1), ANIM_VEC(strafeleft, 1, 1));
        e.anim_melee = animfixfps(e, ANIM_VEC(melee, 1, 1), ANIM_VEC(shoot, 1, 1));
        e.anim_duckwalkbackwards = animfixfps(e, ANIM_VEC(duckwalkbackwards, 1, 1), ANIM_VEC(duckwalk, 1, 1));
        e.anim_duckwalkstrafeleft = animfixfps(e, ANIM_VEC(duckwalkstrafeleft, 1, 1), ANIM_VEC(duckwalk, 1, 1));
@@ -89,7 +89,7 @@ void animdecide_load_if_needed(entity e)
        e.anim_duckwalkforwardright = animfixfps(e, ANIM_VEC(duckwalkforwardright, 1, 1), ANIM_VEC(duckwalk, 1, 1));
        e.anim_duckwalkforwardleft = animfixfps(e, ANIM_VEC(duckwalkforwardleft, 1, 1), ANIM_VEC(duckwalk, 1, 1));
        e.anim_duckwalkbackright = animfixfps(e, ANIM_VEC(duckwalkbackright, 1,  1), ANIM_VEC(duckwalk, 1, 1));
-       e.anim_duckwalkbackleft  = animfixfps(e, ANIM_VEC(duckwalkbackleft , 1,  1), ANIM_VEC(duckwalk, 1, 1));
+       e.anim_duckwalkbackleft  = animfixfps(e, ANIM_VEC(duckwalkbackleft, 1,  1), ANIM_VEC(duckwalk, 1, 1));
 
 #undef ANIM_VEC
 
@@ -106,39 +106,42 @@ const float ANIMPRIO_DEAD = 3;
 vector animdecide_getupperanim(entity e)
 {
        // death etc.
-       if(e.anim_state & ANIMSTATE_FROZEN)
+       if (e.anim_state & ANIMSTATE_FROZEN) {
                return vec3(e.anim_idle.x, e.anim_time, ANIMPRIO_DEAD);
-       if(e.anim_state & ANIMSTATE_DEAD1)
+       }
+       if (e.anim_state & ANIMSTATE_DEAD1) {
                return vec3(e.anim_die1_x, e.anim_time, ANIMPRIO_DEAD);
-       if(e.anim_state & ANIMSTATE_DEAD2)
+       }
+       if (e.anim_state & ANIMSTATE_DEAD2) {
                return vec3(e.anim_die2_x, e.anim_time, ANIMPRIO_DEAD);
+       }
 
        // is there an action?
        vector outframe = '-1 0 0';
        float t, a;
-       if(e.anim_upper_time >= e.anim_upper_implicit_time)
-       {
+       if (e.anim_upper_time >= e.anim_upper_implicit_time) {
                a = e.anim_upper_action;
                t = e.anim_upper_time;
-       }
-       else
-       {
+       } else {
                a = e.anim_upper_implicit_action;
                t = e.anim_upper_implicit_time;
        }
-       switch(a)
-       {
-               case ANIMACTION_DRAW: outframe = e.anim_draw; break;
-               case ANIMACTION_PAIN1: outframe = e.anim_pain1; break;
-               case ANIMACTION_PAIN2: outframe = e.anim_pain2; break;
-               case ANIMACTION_SHOOT: outframe = e.anim_shoot; break;
-               case ANIMACTION_TAUNT: outframe = e.anim_taunt; break;
-               case ANIMACTION_MELEE: outframe = e.anim_melee; break;
+       switch (a) {
+               case ANIMACTION_DRAW: outframe = e.anim_draw;
+                       break;
+               case ANIMACTION_PAIN1: outframe = e.anim_pain1;
+                       break;
+               case ANIMACTION_PAIN2: outframe = e.anim_pain2;
+                       break;
+               case ANIMACTION_SHOOT: outframe = e.anim_shoot;
+                       break;
+               case ANIMACTION_TAUNT: outframe = e.anim_taunt;
+                       break;
+               case ANIMACTION_MELEE: outframe = e.anim_melee;
+                       break;
        }
-       if(outframe.x >= 0)
-       {
-               if(time <= t + outframe.y / outframe.z)
-               {
+       if (outframe.x >= 0) {
+               if (time <= t + outframe.y / outframe.z) {
                        // animation is running!
                        return vec3(outframe.x, t, ANIMPRIO_ACTIVE);
                }
@@ -152,92 +155,89 @@ vector animdecide_getupperanim(entity e)
 vector animdecide_getloweranim(entity e)
 {
        // death etc.
-       if(e.anim_state & ANIMSTATE_FOLLOW)
+       if (e.anim_state & ANIMSTATE_FOLLOW) {
                return vec3(((e.anim_state & ANIMSTATE_DUCK) ? e.anim_duckidle_x : e.anim_idle_x), e.anim_time, ANIMPRIO_DEAD); // dead priority so it's above all
-       if(e.anim_state & ANIMSTATE_FROZEN)
+       }
+       if (e.anim_state & ANIMSTATE_FROZEN) {
                return vec3(e.anim_idle.x, e.anim_time, ANIMPRIO_DEAD);
-       if(e.anim_state & ANIMSTATE_DEAD1)
+       }
+       if (e.anim_state & ANIMSTATE_DEAD1) {
                return vec3(e.anim_die1_x, e.anim_time, ANIMPRIO_DEAD);
-       if(e.anim_state & ANIMSTATE_DEAD2)
+       }
+       if (e.anim_state & ANIMSTATE_DEAD2) {
                return vec3(e.anim_die2_x, e.anim_time, ANIMPRIO_DEAD);
+       }
 
        // is there an action?
        vector outframe = '-1 0 0';
        float t, a;
-       if(e.anim_lower_time >= e.anim_lower_implicit_time)
-       {
+       if (e.anim_lower_time >= e.anim_lower_implicit_time) {
                a = e.anim_lower_action;
                t = e.anim_lower_time;
-       }
-       else
-       {
+       } else {
                a = e.anim_lower_implicit_action;
                t = e.anim_lower_implicit_time;
        }
-       switch(a)
-       {
-               case ANIMACTION_JUMP: if(e.anim_implicit_state & ANIMIMPLICITSTATE_INAIR) { if(e.anim_state & ANIMSTATE_DUCK) outframe = e.anim_duckjump; else outframe = e.anim_jump; } break;
+       switch (a) {
+               case ANIMACTION_JUMP: if (e.anim_implicit_state & ANIMIMPLICITSTATE_INAIR) { if (e.anim_state & ANIMSTATE_DUCK) { outframe = e.anim_duckjump; } else { outframe = e.anim_jump; } } break;
        }
-       if(outframe.x >= 0)
-       {
-               if(time <= t + outframe.y / outframe.z)
-               {
+       if (outframe.x >= 0) {
+               if (time <= t + outframe.y / outframe.z) {
                        // animation is running!
                        return vec3(outframe.x, t, ANIMPRIO_ACTIVE);
                }
        }
        // or, decide the anim by state
        t = max(e.anim_time, e.anim_implicit_time);
-       if(e.anim_state & ANIMSTATE_DUCK)
-       {
-               if(e.anim_implicit_state & ANIMIMPLICITSTATE_INAIR)
+       if (e.anim_state & ANIMSTATE_DUCK) {
+               if (e.anim_implicit_state & ANIMIMPLICITSTATE_INAIR) {
                        return vec3(e.anim_duckjump.x, 0, ANIMPRIO_CROUCH); // play the END of the jump anim
-               else switch(e.anim_implicit_state & (ANIMIMPLICITSTATE_FORWARD | ANIMIMPLICITSTATE_BACKWARDS | ANIMIMPLICITSTATE_LEFT | ANIMIMPLICITSTATE_RIGHT))
-               {
-                       case ANIMIMPLICITSTATE_FORWARD:
-                               return vec3(e.anim_duckwalk.x, t, ANIMPRIO_CROUCH);
-                       case ANIMIMPLICITSTATE_BACKWARDS:
-                               return vec3(e.anim_duckwalkbackwards.x, t, ANIMPRIO_CROUCH);
-                       case ANIMIMPLICITSTATE_RIGHT:
-                               return vec3(e.anim_duckwalkstraferight.x, t, ANIMPRIO_CROUCH);
-                       case ANIMIMPLICITSTATE_LEFT:
-                               return vec3(e.anim_duckwalkstrafeleft.x, t, ANIMPRIO_CROUCH);
-                       case ANIMIMPLICITSTATE_FORWARD | ANIMIMPLICITSTATE_RIGHT:
-                               return vec3(e.anim_duckwalkforwardright.x, t, ANIMPRIO_CROUCH);
-                       case ANIMIMPLICITSTATE_FORWARD | ANIMIMPLICITSTATE_LEFT:
-                               return vec3(e.anim_duckwalkforwardleft.x, t, ANIMPRIO_CROUCH);
-                       case ANIMIMPLICITSTATE_BACKWARDS | ANIMIMPLICITSTATE_RIGHT:
-                               return vec3(e.anim_duckwalkbackright.x, t, ANIMPRIO_CROUCH);
-                       case ANIMIMPLICITSTATE_BACKWARDS | ANIMIMPLICITSTATE_LEFT:
-                               return vec3(e.anim_duckwalkbackleft.x, t, ANIMPRIO_CROUCH);
-                       default:
-                               return vec3(e.anim_duckidle.x, t, ANIMPRIO_CROUCH);
+               } else {
+                       switch (e.anim_implicit_state & (ANIMIMPLICITSTATE_FORWARD | ANIMIMPLICITSTATE_BACKWARDS | ANIMIMPLICITSTATE_LEFT | ANIMIMPLICITSTATE_RIGHT)) {
+                               case ANIMIMPLICITSTATE_FORWARD:
+                                       return vec3(e.anim_duckwalk.x, t, ANIMPRIO_CROUCH);
+                               case ANIMIMPLICITSTATE_BACKWARDS:
+                                       return vec3(e.anim_duckwalkbackwards.x, t, ANIMPRIO_CROUCH);
+                               case ANIMIMPLICITSTATE_RIGHT:
+                                       return vec3(e.anim_duckwalkstraferight.x, t, ANIMPRIO_CROUCH);
+                               case ANIMIMPLICITSTATE_LEFT:
+                                       return vec3(e.anim_duckwalkstrafeleft.x, t, ANIMPRIO_CROUCH);
+                               case ANIMIMPLICITSTATE_FORWARD | ANIMIMPLICITSTATE_RIGHT:
+                                       return vec3(e.anim_duckwalkforwardright.x, t, ANIMPRIO_CROUCH);
+                               case ANIMIMPLICITSTATE_FORWARD | ANIMIMPLICITSTATE_LEFT:
+                                       return vec3(e.anim_duckwalkforwardleft.x, t, ANIMPRIO_CROUCH);
+                               case ANIMIMPLICITSTATE_BACKWARDS | ANIMIMPLICITSTATE_RIGHT:
+                                       return vec3(e.anim_duckwalkbackright.x, t, ANIMPRIO_CROUCH);
+                               case ANIMIMPLICITSTATE_BACKWARDS | ANIMIMPLICITSTATE_LEFT:
+                                       return vec3(e.anim_duckwalkbackleft.x, t, ANIMPRIO_CROUCH);
+                               default:
+                                       return vec3(e.anim_duckidle.x, t, ANIMPRIO_CROUCH);
+                       }
                }
-       }
-       else
-       {
-               if(e.anim_implicit_state & ANIMIMPLICITSTATE_INAIR)
+       } else {
+               if (e.anim_implicit_state & ANIMIMPLICITSTATE_INAIR) {
                        return vec3(e.anim_jump.x, 0, ANIMPRIO_ACTIVE); // play the END of the jump anim
-               else switch(e.anim_implicit_state & (ANIMIMPLICITSTATE_FORWARD | ANIMIMPLICITSTATE_BACKWARDS | ANIMIMPLICITSTATE_LEFT | ANIMIMPLICITSTATE_RIGHT))
-               {
-                       case ANIMIMPLICITSTATE_FORWARD:
-                               return vec3(e.anim_run.x, t, ANIMPRIO_ACTIVE);
-                       case ANIMIMPLICITSTATE_BACKWARDS:
-                               return vec3(e.anim_runbackwards.x, t, ANIMPRIO_ACTIVE);
-                       case ANIMIMPLICITSTATE_RIGHT:
-                               return vec3(e.anim_straferight.x, t, ANIMPRIO_ACTIVE);
-                       case ANIMIMPLICITSTATE_LEFT:
-                               return vec3(e.anim_strafeleft.x, t, ANIMPRIO_ACTIVE);
-                       case ANIMIMPLICITSTATE_FORWARD | ANIMIMPLICITSTATE_RIGHT:
-                               return vec3(e.anim_forwardright.x, t, ANIMPRIO_ACTIVE);
-                       case ANIMIMPLICITSTATE_FORWARD | ANIMIMPLICITSTATE_LEFT:
-                               return vec3(e.anim_forwardleft.x, t, ANIMPRIO_ACTIVE);
-                       case ANIMIMPLICITSTATE_BACKWARDS | ANIMIMPLICITSTATE_RIGHT:
-                               return vec3(e.anim_backright.x, t, ANIMPRIO_ACTIVE);
-                       case ANIMIMPLICITSTATE_BACKWARDS | ANIMIMPLICITSTATE_LEFT:
-                               return vec3(e.anim_backleft.x, t, ANIMPRIO_ACTIVE);
-                       default:
-                               return vec3(e.anim_idle.x, t, ANIMPRIO_IDLE);
+               } else {
+                       switch (e.anim_implicit_state & (ANIMIMPLICITSTATE_FORWARD | ANIMIMPLICITSTATE_BACKWARDS | ANIMIMPLICITSTATE_LEFT | ANIMIMPLICITSTATE_RIGHT)) {
+                               case ANIMIMPLICITSTATE_FORWARD:
+                                       return vec3(e.anim_run.x, t, ANIMPRIO_ACTIVE);
+                               case ANIMIMPLICITSTATE_BACKWARDS:
+                                       return vec3(e.anim_runbackwards.x, t, ANIMPRIO_ACTIVE);
+                               case ANIMIMPLICITSTATE_RIGHT:
+                                       return vec3(e.anim_straferight.x, t, ANIMPRIO_ACTIVE);
+                               case ANIMIMPLICITSTATE_LEFT:
+                                       return vec3(e.anim_strafeleft.x, t, ANIMPRIO_ACTIVE);
+                               case ANIMIMPLICITSTATE_FORWARD | ANIMIMPLICITSTATE_RIGHT:
+                                       return vec3(e.anim_forwardright.x, t, ANIMPRIO_ACTIVE);
+                               case ANIMIMPLICITSTATE_FORWARD | ANIMIMPLICITSTATE_LEFT:
+                                       return vec3(e.anim_forwardleft.x, t, ANIMPRIO_ACTIVE);
+                               case ANIMIMPLICITSTATE_BACKWARDS | ANIMIMPLICITSTATE_RIGHT:
+                                       return vec3(e.anim_backright.x, t, ANIMPRIO_ACTIVE);
+                               case ANIMIMPLICITSTATE_BACKWARDS | ANIMIMPLICITSTATE_LEFT:
+                                       return vec3(e.anim_backleft.x, t, ANIMPRIO_ACTIVE);
+                               default:
+                                       return vec3(e.anim_idle.x, t, ANIMPRIO_IDLE);
+                       }
                }
        }
        // can't get here
@@ -264,30 +264,32 @@ void animdecide_setimplicitstate(entity e, float onground)
        // it slightly less likely to "hit two keys at once", so let's do this
        // here too
 
-       if(vdist(v, >, 10))
-       {
-               if(v.x >  fabs(v.y) * 0.5)
+       if (vdist(v, >, 10)) {
+               if (v.x >  fabs(v.y) * 0.5) {
                        s |= ANIMIMPLICITSTATE_FORWARD;
-               if(v.x < -fabs(v.y) * 0.5)
+               }
+               if (v.x < -fabs(v.y) * 0.5) {
                        s |= ANIMIMPLICITSTATE_BACKWARDS;
-               if(v.y >  fabs(v.x) * 0.5)
+               }
+               if (v.y >  fabs(v.x) * 0.5) {
                        s |= ANIMIMPLICITSTATE_RIGHT;
-               if(v.y < -fabs(v.x) * 0.5)
+               }
+               if (v.y < -fabs(v.x) * 0.5) {
                        s |= ANIMIMPLICITSTATE_LEFT;
+               }
        }
-       if(!onground)
+       if (!onground) {
                s |= ANIMIMPLICITSTATE_INAIR;
+       }
 
        // detect some kinds of otherwise misdetected jumps (ground to air transition)
        // NOTE: currently, in CSQC this is the only jump detection, as the explicit jump action is never called!
-       if(!(e.anim_implicit_state & ANIMIMPLICITSTATE_INAIR) && (s & ANIMIMPLICITSTATE_INAIR))
-       {
+       if (!(e.anim_implicit_state & ANIMIMPLICITSTATE_INAIR) && (s & ANIMIMPLICITSTATE_INAIR)) {
                e.anim_lower_implicit_action = ANIMACTION_JUMP;
                e.anim_lower_implicit_time = time;
        }
 
-       if(s != e.anim_implicit_state)
-       {
+       if (s != e.anim_implicit_state) {
                e.anim_implicit_state = s;
                e.anim_implicit_time = time;
        }
@@ -299,28 +301,29 @@ void animdecide_setframes(entity e, float support_blending, .float fld_frame, .f
        // _z: priority
        vector upper = animdecide_getupperanim(e);
        vector lower = animdecide_getloweranim(e);
-       //print("UPPER: ", vtos(upper), ", LOWER: ", vtos(lower), "\n");
-       if(support_blending)
-       {
-               if(upper.z && !lower.z)
+       // print("UPPER: ", vtos(upper), ", LOWER: ", vtos(lower), "\n");
+       if (support_blending) {
+               if (upper.z && !lower.z) {
                        lower = upper;
-               else if(lower.z && !upper.z)
+               } else if (lower.z && !upper.z) {
                        upper = lower;
-               if(e.frame1time != upper.y || e.frame2time != lower.y)
+               }
+               if (e.frame1time != upper.y || e.frame2time != lower.y) {
                        BITXOR_ASSIGN(e.effects, EF_RESTARTANIM_BIT);
+               }
                e.(fld_frame) = upper.x;
                e.(fld_frame1time) = upper.y;
                e.(fld_frame2) = lower.x;
                e.(fld_frame2time) = lower.y;
-       }
-       else
-       {
-               if(upper.z > lower.z)
+       } else {
+               if (upper.z > lower.z) {
                        lower = upper;
-               else if(lower.z > upper.z)
+               } else if (lower.z > upper.z) {
                        upper = lower;
-               if(e.frame1time != upper.y)
+               }
+               if (e.frame1time != upper.y) {
                        BITXOR_ASSIGN(e.effects, EF_RESTARTANIM_BIT);
+               }
                e.(fld_frame) = upper.x;
                e.(fld_frame1time) = upper.y;
        }
@@ -328,27 +331,30 @@ void animdecide_setframes(entity e, float support_blending, .float fld_frame, .f
 
 void animdecide_setstate(entity e, int newstate, float restart)
 {
-       if(!restart)
-               if(newstate == e.anim_state)
+       if (!restart) {
+               if (newstate == e.anim_state) {
                        return;
+               }
+       }
        e.anim_state = newstate;
        e.anim_time = time;
 }
 void animdecide_setaction(entity e, float action, float restart)
 {
-       if(action < 0)
-       {
-               if(!restart)
-                       if(action == e.anim_lower_action)
+       if (action < 0) {
+               if (!restart) {
+                       if (action == e.anim_lower_action) {
                                return;
+                       }
+               }
                e.anim_lower_action = action;
                e.anim_lower_time = time;
-       }
-       else
-       {
-               if(!restart)
-                       if(action == e.anim_upper_action)
+       } else {
+               if (!restart) {
+                       if (action == e.anim_upper_action) {
                                return;
+                       }
+               }
                e.anim_upper_action = action;
                e.anim_upper_time = time;
        }
index 16feb948c35d5c2264b9bdc21329c531c47ae2d9..7cc9330ee908fa96a438dd09e1e04f8fc63200fe 100644 (file)
@@ -13,7 +13,7 @@ CLASS(Animation, Object)
        {
                FOREACH_WORD(this.m_framenames, true, {
                        int f = frameforname(mdlidx, it);
-                       if (f != -1) return f;
+                       if (f != -1) { return f; }
                });
 #ifdef CSQC
                LOG_DEBUGF("Missing animation for %s: %s", modelnameforindex(mdlidx), this.registered_id);
@@ -29,7 +29,8 @@ REGISTER_REGISTRY(Animations)
 #define ReadAnimation() ReadRegistered(Animations)
 #define REGISTER_ANIMATION(id, framenames) \
        .vector anim_##id; \
-       REGISTER(Animations, ANIM_##id, m_id, NEW(Animation)) { \
+       REGISTER(Animations, ANIM_##id, m_id, NEW(Animation)) \
+       { \
                this.m_framenames = framenames; \
        }
 
@@ -121,9 +122,9 @@ REGISTER_ANIMATION(duckwalkbackleft, "duckwalkbackleft duckbackwardleft groupifi
 
 // explicit anim states (networked)
 void animdecide_setstate(entity e, int newstate, float restart);
-const int ANIMSTATE_DEAD1 = BIT(0); // base frames: die1
-const int ANIMSTATE_DEAD2 = BIT(1); // base frames: die2
-const int ANIMSTATE_DUCK = BIT(2); // turns walk into duckwalk, jump into duckjump, etc.
+const int ANIMSTATE_DEAD1 = BIT(0);  // base frames: die1
+const int ANIMSTATE_DEAD2 = BIT(1);  // base frames: die2
+const int ANIMSTATE_DUCK = BIT(2);   // turns walk into duckwalk, jump into duckjump, etc.
 const int ANIMSTATE_FROZEN = BIT(3); // force idle
 const int ANIMSTATE_FOLLOW = BIT(4); // also force idle
 
@@ -138,7 +139,7 @@ const int ANIMIMPLICITSTATE_JUMPRELEASED = BIT(5);
 // explicit actions (networked); negative values are for lower body
 void animdecide_setaction(entity e, float action, float restart);
 const int ANIMACTION_JUMP = -1; // jump
-const int ANIMACTION_DRAW = 1; // draw
+const int ANIMACTION_DRAW = 1;  // draw
 const int ANIMACTION_PAIN1 = 2; // pain
 const int ANIMACTION_PAIN2 = 3; // pain
 const int ANIMACTION_SHOOT = 4; // shoot
index d3efe77e844a498365a55ce6c264c5a554df0dd7..44dbe7794f0d78abc88aa2bc56d048ad51467aaa 100644 (file)
@@ -2,8 +2,8 @@
 #if defined(CSQC)
 #elif defined(MENUQC)
 #elif defined(SVQC)
-    #include "util.qh"
-    #include "campaign_common.qh"
+#include "util.qh"
+#include "campaign_common.qh"
 #endif
 
 // CampaignFileLoad(offset, n)
@@ -19,8 +19,9 @@ float CampaignFile_Load(int offset, float n)
        string l, a;
        string fn;
 
-       if(n > CAMPAIGN_MAX_ENTRIES)
+       if (n > CAMPAIGN_MAX_ENTRIES) {
                n = CAMPAIGN_MAX_ENTRIES;
+       }
 
        campaign_offset = offset;
        campaign_entries = 0;
@@ -28,51 +29,64 @@ float CampaignFile_Load(int offset, float n)
 
        fn = language_filename(strcat("maps/campaign", campaign_name, ".txt"));
        fh = fopen(fn, FILE_READ);
-       if(fh >= 0)
-       {
-               for(lineno = 0; (l = fgets(fh)); )
-               {
-                       if(strlen(l) == 0)
+       if (fh >= 0) {
+               for (lineno = 0; (l = fgets(fh)); ) {
+                       if (strlen(l) == 0) {
                                continue; // empty line
-                       if(substring(l, 0, 11) == "//campaign:")
+                       }
+                       if (substring(l, 0, 11) == "//campaign:") {
                                campaign_title = substring(l, 11, strlen(l) - 11);
-                       if(substring(l, 0, 2) == "//")
+                       }
+                       if (substring(l, 0, 2) == "//") {
                                continue; // comment
-                       if(substring(l, 0, 12) == "\"//campaign:")
+                       }
+                       if (substring(l, 0, 12) == "\"//campaign:") {
                                campaign_title = substring(l, 12, strlen(l) - 13);
-                       if(substring(l, 0, 3) == "\"//")
-                               continue; // comment
-                       if(lineno >= offset)
-                       {
+                       }
+                       if (substring(l, 0, 3) == "\"//") {
+                               continue;             // comment
+                       }
+                       if (lineno >= offset) {
                                entlen = tokenize(l); // using insane tokenizer for CSV
 
 #define CAMPAIGN_GETARG \
        a = argv(++i); \
-       if(a == ",") \
+       if (a == ",") { \
                a = ""; \
-       else \
+       else \
                ++i
 // What you're seeing here is what people will do when your compiler supports
 // C-style macros but no line continuations.
 
                                i = -1; // starts at -1 so I don't need postincrement; that is, i points to BEFORE the current arg!
-                               CAMPAIGN_GETARG; campaign_gametype[campaign_entries] = strzone(a);
-                               CAMPAIGN_GETARG; campaign_mapname[campaign_entries] = strzone(a);
-                               CAMPAIGN_GETARG; campaign_bots[campaign_entries] = stof(a);
-                               CAMPAIGN_GETARG; campaign_botskill[campaign_entries] = stof(a);
-                               CAMPAIGN_GETARG; campaign_fraglimit[campaign_entries] = stof(a);
-                               CAMPAIGN_GETARG; campaign_timelimit[campaign_entries] = stof(a);
-                               CAMPAIGN_GETARG; campaign_mutators[campaign_entries] = strzone(a);
-                               CAMPAIGN_GETARG; campaign_shortdesc[campaign_entries] = strzone(a);
-                               CAMPAIGN_GETARG; campaign_longdesc[campaign_entries] = strzone(strreplace("\\n", "\n", a));
+                               CAMPAIGN_GETARG;
+                               campaign_gametype[campaign_entries] = strzone(a);
+                               CAMPAIGN_GETARG;
+                               campaign_mapname[campaign_entries] = strzone(a);
+                               CAMPAIGN_GETARG;
+                               campaign_bots[campaign_entries] = stof(a);
+                               CAMPAIGN_GETARG;
+                               campaign_botskill[campaign_entries] = stof(a);
+                               CAMPAIGN_GETARG;
+                               campaign_fraglimit[campaign_entries] = stof(a);
+                               CAMPAIGN_GETARG;
+                               campaign_timelimit[campaign_entries] = stof(a);
+                               CAMPAIGN_GETARG;
+                               campaign_mutators[campaign_entries] = strzone(a);
+                               CAMPAIGN_GETARG;
+                               campaign_shortdesc[campaign_entries] = strzone(a);
+                               CAMPAIGN_GETARG;
+                               campaign_longdesc[campaign_entries] = strzone(strreplace("\\n", "\n", a));
 
-                               if(i > entlen)
+                               if (i > entlen) {
                                        error("syntax error in campaign file: line has not enough fields");
+                               }
 
                                campaign_entries = campaign_entries + 1;
 
-                               if(campaign_entries >= n)
+                               if (campaign_entries >= n) {
                                        break;
+                               }
                        }
                        lineno = lineno + 1;
                }
@@ -86,11 +100,9 @@ float CampaignFile_Load(int offset, float n)
 
 void CampaignFile_Unload()
 {
-       if(campaign_title)
-       {
+       if (campaign_title) {
                strunzone(campaign_title);
-               for(int i = 0; i < campaign_entries; ++i)
-               {
+               for (int i = 0; i < campaign_entries; ++i) {
                        strunzone(campaign_gametype[i]);
                        strunzone(campaign_mapname[i]);
                        strunzone(campaign_mutators[i]);
index 258d47f452bef14facee6dc58a693086b05caded..b33782c1580ba44b512df16af7876046ec7d3192 100644 (file)
@@ -2,19 +2,19 @@
 #if defined(CSQC)
 #elif defined(MENUQC)
 #elif defined(SVQC)
-    #include "campaign_common.qh"
-    #include "mapinfo.qh"
+#include "campaign_common.qh"
+#include "mapinfo.qh"
 #endif
 
 void CampaignSetup(int n)
 {
        localcmd("set g_campaign 1\n");
        localcmd("set _campaign_name \"");
-               localcmd(campaign_name);
-               localcmd("\"\n");
+       localcmd(campaign_name);
+       localcmd("\"\n");
        localcmd("set _campaign_index ");
-               localcmd(ftos(campaign_offset + n));
-               localcmd("\n");
+       localcmd(ftos(campaign_offset + n));
+       localcmd("\n");
        localcmd("disconnect\nmaxplayers 16\n");
        MapInfo_LoadMap(campaign_mapname[n], 1);
 }
index 349d492da82b4169113ecde8989e764f06690f22..26308b89db807514f60b36ea236b14ccbc32fd9c 100644 (file)
@@ -8,6 +8,6 @@ CLASS(Command, Object)
        ATTRIB(Command, m_description, string);
        METHOD(Command, m_invokecmd, void(Command this, int request, entity caller, int arguments, string command))
        {
-        TC(Command, this);
+               TC(Command, this);
        }
 ENDCLASS(Command)
index c58a3df75a50d83e55731bc5955020f999781007..fa8d99ca9ebaca912fe675d5d714b454cd1b4134 100644 (file)
@@ -8,17 +8,17 @@
 #include "../mapinfo.qh"
 
 #ifdef GAMEQC
-       #include "../notifications/all.qh"
+#include "../notifications/all.qh"
 #endif
 
 #ifdef CSQC
-       #include <client/commands/cl_cmd.qh>
+#include <client/commands/cl_cmd.qh>
 #endif
 
 #ifdef SVQC
-       #include <server/command/_mod.qh>
-       #include <common/turrets/config.qh>
-       #include <common/weapons/config.qh>
+#include <server/command/_mod.qh>
+#include <common/turrets/config.qh>
+#include <common/weapons/config.qh>
 #endif
 
 // =========================================================
@@ -33,23 +33,25 @@ void Curl_URI_Get_Callback(int id, float status, string data)
        int i = id - URI_GET_CURL;
        float do_exec = curl_uri_get_exec[i];
        string do_cvar = curl_uri_get_cvar[i];
-       if(status != 0)
-       {
+       if (status != 0) {
                LOG_TRACEF("error: status is %d", status);
-               if(do_cvar)
+               if (do_cvar) {
                        strunzone(do_cvar);
+               }
                return;
        }
-       if(do_exec)
+       if (do_exec) {
                localcmd(data);
-       if(do_cvar)
-       {
+       }
+       if (do_cvar) {
                cvar_set(do_cvar, data);
                strunzone(do_cvar);
        }
-       if(!do_exec)
-               if (!do_cvar)
+       if (!do_exec) {
+               if (!do_cvar) {
                        LOG_INFO(data);
+               }
+       }
 }
 
 
@@ -59,21 +61,16 @@ void Curl_URI_Get_Callback(int id, float status, string data)
 
 void GenericCommand_addtolist(float request, float argc)
 {
-       switch(request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
-                       if(argc >= 2)
-                       {
+                       if (argc >= 2) {
                                string original_cvar = argv(1);
                                string tmp_string = argv(2);
 
-                               if(cvar_string(original_cvar) == "") // cvar was empty
-                               {
+                               if (cvar_string(original_cvar) == "") { // cvar was empty
                                        cvar_set(original_cvar, tmp_string);
-                               }
-                               else // add it to the end of the list if the list doesn't already have it
-                               {
+                               } else { // add it to the end of the list if the list doesn't already have it
                                        FOREACH_WORD(cvar_string(original_cvar), it == tmp_string,
                                        {
                                                return; // already in the list
@@ -99,29 +96,24 @@ void GenericCommand_addtolist(float request, float argc)
 
 void GenericCommand_qc_curl(float request, float argc)
 {
-       switch(request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
                        bool do_exec = false;
                        string do_cvar = string_null;
                        float key = -1;
                        int i;
-                       for(i = 1; i+1 < argc; ++i)
-                       {
-                               if(argv(i) == "--cvar" && i+2 < argc)
-                               {
+                       for (i = 1; i + 1 < argc; ++i) {
+                               if (argv(i) == "--cvar" && i + 2 < argc) {
                                        ++i;
                                        do_cvar = strzone(argv(i));
                                        continue;
                                }
-                               if(argv(i) == "--exec")
-                               {
+                               if (argv(i) == "--exec") {
                                        do_exec = true;
                                        continue;
                                }
-                               if(argv(i) == "--key" && i+2 < argc)
-                               {
+                               if (argv(i) == "--key" && i + 2 < argc) {
                                        ++i;
                                        key = stof(argv(i));
                                        continue;
@@ -135,25 +127,27 @@ void GenericCommand_qc_curl(float request, float argc)
                        ++i;
                        float buf = buf_create();
                        int j;
-                       for(j = 0; i+1 < argc; i += 2)
-                               bufstr_set(buf, ++j, sprintf("%s=%s", uri_escape(argv(i)), uri_escape(argv(i+1))));
-                       if(i < argc)
+                       for (j = 0; i + 1 < argc; i += 2) {
+                               bufstr_set(buf, ++j, sprintf("%s=%s", uri_escape(argv(i)), uri_escape(argv(i + 1))));
+                       }
+                       if (i < argc) {
                                bufstr_set(buf, ++j, sprintf("submit=%s", uri_escape(argv(i))));
+                       }
 
                        float r;
-                       if(j == 0) // no args: GET
+                       if (j == 0) { // no args: GET
                                r = crypto_uri_postbuf(url, URI_GET_CURL + curl_uri_get_pos, string_null, string_null, -1, key);
-                       else // with args: POST
+                       } else { // with args: POST
                                r = crypto_uri_postbuf(url, URI_GET_CURL + curl_uri_get_pos, "application/x-www-form-urlencoded", "&", buf, key);
+                       }
 
-                       if(r)
-                       {
+                       if (r) {
                                curl_uri_get_exec[curl_uri_get_pos] = do_exec;
                                curl_uri_get_cvar[curl_uri_get_pos] = do_cvar;
                                curl_uri_get_pos = (curl_uri_get_pos + 1) % (URI_GET_CURL_END - URI_GET_CURL + 1);
-                       }
-                       else
+                       } else {
                                LOG_INFO(_("error creating curl handle"));
+                       }
 
                        buf_del(buf);
 
@@ -171,34 +165,32 @@ void GenericCommand_qc_curl(float request, float argc)
 
 GENERIC_COMMAND(dumpcommands, "Dump all commands on the program to *_cmd_dump.txt")
 {
-       switch(request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
                        float fh;
                        string filename = strcat(GetProgramCommandPrefix(), "_dump.txt");
                        fh = fopen(filename, FILE_WRITE);
 
-                       if(fh >= 0)
-                       {
-                               #ifdef SVQC
-                                       CMD_Write("dump of server console commands:\n");
-                                       GameCommand_macro_write_aliases(fh);
+                       if (fh >= 0) {
+#ifdef SVQC
+                               CMD_Write("dump of server console commands:\n");
+                               GameCommand_macro_write_aliases(fh);
 
-                                       CMD_Write("\ndump of networked client only commands:\n");
-                                       ClientCommand_macro_write_aliases(fh);
+                               CMD_Write("\ndump of networked client only commands:\n");
+                               ClientCommand_macro_write_aliases(fh);
 
-                                       CMD_Write("\ndump of common commands:\n");
-                                       CommonCommand_macro_write_aliases(fh);
+                               CMD_Write("\ndump of common commands:\n");
+                               CommonCommand_macro_write_aliases(fh);
 
-                                       CMD_Write("\ndump of ban commands:\n");
-                                       BanCommand_macro_write_aliases(fh);
-                               #endif
+                               CMD_Write("\ndump of ban commands:\n");
+                               BanCommand_macro_write_aliases(fh);
+#endif
 
-                               #ifdef CSQC
-                                       CMD_Write("dump of client commands:\n");
-                                       LocalCommand_macro_write_aliases(fh);
-                               #endif
+#ifdef CSQC
+                               CMD_Write("dump of client commands:\n");
+                               LocalCommand_macro_write_aliases(fh);
+#endif
 
                                CMD_Write("\ndump of generic commands:\n");
                                GenericCommand_macro_write_aliases(fh);
@@ -206,9 +198,7 @@ GENERIC_COMMAND(dumpcommands, "Dump all commands on the program to *_cmd_dump.tx
                                LOG_INFO("Completed dump of aliases in ^2data/data/", GetProgramCommandPrefix(), "_dump.txt^7.");
 
                                fclose(fh);
-                       }
-                       else
-                       {
+                       } else {
                                LOG_INFO("^1Error: ^7Could not dump to file!");
                        }
                        return;
@@ -226,33 +216,30 @@ GENERIC_COMMAND(dumpcommands, "Dump all commands on the program to *_cmd_dump.tx
 
 void GenericCommand_maplist(float request, float argc)
 {
-       switch(request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
                        string tmp_string;
                        float i;
 
-                       switch(argv(1))
-                       {
+                       switch (argv(1)) {
                                case "add": // appends new maps to the maplist
                                {
-                                       if(argc == 3)
-                                       {
-                                               if (!fexists(strcat("maps/", argv(2), ".bsp")))
-                                               {
+                                       if (argc == 3) {
+                                               if (!fexists(strcat("maps/", argv(2), ".bsp"))) {
                                                        LOG_INFO("maplist: ERROR: ", argv(2), " does not exist!");
                                                        break;
                                                }
 
-                                               if(cvar_string("g_maplist") == "")
+                                               if (cvar_string("g_maplist") == "") {
                                                        cvar_set("g_maplist", argv(2));
-                                               else
+                                               } else {
                                                        cvar_set("g_maplist", strcat(argv(2), " ", cvar_string("g_maplist")));
+                                               }
 
                                                return;
                                        }
-                                       break; // go to usage
+                                       break;      // go to usage
                                }
 
                                case "cleanup": // scans maplist and only adds back the ones which are really usable
@@ -267,21 +254,22 @@ void GenericCommand_maplist(float request, float argc)
 
                                case "remove": // scans maplist and only adds back whatever maps were not provided in argv(2)
                                {
-                                       if(argc == 3)
-                                       {
+                                       if (argc == 3) {
                                                argc = tokenizebyseparator(cvar_string("g_maplist"), " ");
 
                                                tmp_string = "";
-                                               for(i = 0; i < argc; ++i)
-                                                       if(argv(i) != argv(2))
+                                               for (i = 0; i < argc; ++i) {
+                                                       if (argv(i) != argv(2)) {
                                                                tmp_string = strcat(tmp_string, " ", argv(i));
+                                                       }
+                                               }
 
                                                tmp_string = substring(tmp_string, 1, strlen(tmp_string) - 1);
                                                cvar_set("g_maplist", tmp_string);
 
                                                return;
                                        }
-                                       break; // go to usage
+                                       break;      // go to usage
                                }
 
                                case "shuffle": // randomly shuffle the maplist
@@ -309,8 +297,7 @@ void GenericCommand_maplist(float request, float argc)
 
 void GenericCommand_nextframe(float request, float arguments, string command)
 {
-       switch(request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
                        queue_to_execute_next_frame(substring(command, argv_start_index(1), argv_end_index(-1) - argv_start_index(1)));
@@ -329,12 +316,10 @@ void GenericCommand_nextframe(float request, float arguments, string command)
 
 void GenericCommand_removefromlist(float request, float argc)
 {
-       switch(request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
-                       if(argc == 3)
-                       {
+                       if (argc == 3) {
                                string original_cvar = argv(1);
                                string removal = argv(2);
 
@@ -364,27 +349,36 @@ void GenericCommand_removefromlist(float request, float argc)
 
 void GenericCommand_restartnotifs(float request)
 {
-       switch(request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
-                       #ifdef GAMEQC
-                       int NOTIF_ANNCE_COUNT   = 0; FOREACH(Notifications, it.nent_type == MSG_ANNCE,   { ++NOTIF_ANNCE_COUNT;  });
-                       int NOTIF_INFO_COUNT    = 0; FOREACH(Notifications, it.nent_type == MSG_INFO,    { ++NOTIF_INFO_COUNT;   });
-                       int NOTIF_CENTER_COUNT  = 0; FOREACH(Notifications, it.nent_type == MSG_CENTER,  { ++NOTIF_CENTER_COUNT; });
-                       int NOTIF_MULTI_COUNT   = 0; FOREACH(Notifications, it.nent_type == MSG_MULTI,   { ++NOTIF_MULTI_COUNT;  });
-                       int NOTIF_CHOICE_COUNT  = 0; FOREACH(Notifications, it.nent_type == MSG_CHOICE,  { ++NOTIF_CHOICE_COUNT; });
+#ifdef GAMEQC
+                       int NOTIF_ANNCE_COUNT   = 0;
+                       FOREACH(Notifications, it.nent_type == MSG_ANNCE,   { ++NOTIF_ANNCE_COUNT;
+                               });
+                       int NOTIF_INFO_COUNT    = 0;
+                       FOREACH(Notifications, it.nent_type == MSG_INFO,    { ++NOTIF_INFO_COUNT;
+                               });
+                       int NOTIF_CENTER_COUNT  = 0;
+                       FOREACH(Notifications, it.nent_type == MSG_CENTER,  { ++NOTIF_CENTER_COUNT;
+                               });
+                       int NOTIF_MULTI_COUNT   = 0;
+                       FOREACH(Notifications, it.nent_type == MSG_MULTI,   { ++NOTIF_MULTI_COUNT;
+                               });
+                       int NOTIF_CHOICE_COUNT  = 0;
+                       FOREACH(Notifications, it.nent_type == MSG_CHOICE,  { ++NOTIF_CHOICE_COUNT;
+                               });
                        LOG_INFOF(
-                           (
-                    "Restart_Notifications(): Restarting %d notifications... "
-                    "Counts: MSG_ANNCE = %d, MSG_INFO = %d, MSG_CENTER = %d, MSG_MULTI = %d, MSG_CHOICE = %d"
-                ),
                                (
-                                       NOTIF_ANNCE_COUNT +
-                                       NOTIF_INFO_COUNT +
-                                       NOTIF_CENTER_COUNT +
-                                       NOTIF_MULTI_COUNT +
-                                       NOTIF_CHOICE_COUNT
+                                       "Restart_Notifications(): Restarting %d notifications... "
+                                       "Counts: MSG_ANNCE = %d, MSG_INFO = %d, MSG_CENTER = %d, MSG_MULTI = %d, MSG_CHOICE = %d"
+                               ),
+                               (
+                                       NOTIF_ANNCE_COUNT
+                                       + NOTIF_INFO_COUNT
+                                       + NOTIF_CENTER_COUNT
+                                       + NOTIF_MULTI_COUNT
+                                       + NOTIF_CHOICE_COUNT
                                ),
                                NOTIF_ANNCE_COUNT,
                                NOTIF_INFO_COUNT,
@@ -394,9 +388,9 @@ void GenericCommand_restartnotifs(float request)
                        );
                        Destroy_All_Notifications();
                        CALL_ACCUMULATED_FUNCTION(RegisterNotifications);
-                       #else
+#else
                        LOG_INFO(_("Notification restart command only works with cl_cmd and sv_cmd."));
-                       #endif
+#endif
                        return;
                }
 
@@ -412,17 +406,16 @@ void GenericCommand_restartnotifs(float request)
 
 void GenericCommand_settemp(float request, float argc)
 {
-       switch(request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
-                       if(argc >= 3)
-                       {
+                       if (argc >= 3) {
                                float f = cvar_settemp(argv(1), argv(2));
-                               if(f == 1)
+                               if (f == 1) {
                                        LOG_TRACE("Creating new settemp tracker for ", argv(1), " and setting it to \"", argv(2), "\" temporarily.");
-                               else if(f == -1)
+                               } else if (f == -1) {
                                        LOG_TRACE("Already had a tracker for ", argv(1), ", updating it to \"", argv(2), "\".");
+                               }
                                // else cvar_settemp itself errors out
 
                                return;
@@ -443,16 +436,16 @@ void GenericCommand_settemp(float request, float argc)
 
 void GenericCommand_settemp_restore(float request, float argc)
 {
-       switch(request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
                        float i = cvar_settemp_restore();
 
-                       if(i)
+                       if (i) {
                                LOG_TRACE("Restored ", ftos(i), " temporary cvar settings to their original values.");
-                       else
+                       } else {
                                LOG_TRACE("Nothing to restore.");
+                       }
 
                        return;
                }
@@ -470,18 +463,17 @@ void GenericCommand_settemp_restore(float request, float argc)
 
 void GenericCommand_runtest(float request, float argc)
 {
-       switch(request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
-                       if(argc > 1)
-                       {
+                       if (argc > 1) {
                                float i;
-                               for(i = 1; i < argc; ++i)
+                               for (i = 1; i < argc; ++i) {
                                        TEST_Run(argv(i));
-                       }
-                       else
+                               }
+                       } else {
                                RUN_ALL_TESTS();
+                       }
                        return;
                }
 
@@ -498,36 +490,66 @@ void GenericCommand_runtest(float request, float argc)
 ** ADD ALL NEW COMMANDS TO commands.cfg WITH PROPER ALIASES IN THE SAME FASHION!
 void GenericCommand_(float request)
 {
-       switch(request)
-       {
-               case CMD_REQUEST_COMMAND:
-               {
-
-                       return;
-               }
-
-               default:
-               case CMD_REQUEST_USAGE:
-               {
-                       print(strcat("\nUsage:^3 ", GetProgramCommandPrefix(), " "));
-                       print("  No arguments required.\n");
-                       return;
-               }
-       }
+    switch(request)
+    {
+        case CMD_REQUEST_COMMAND:
+        {
+
+            return;
+        }
+
+        default:
+        case CMD_REQUEST_USAGE:
+        {
+            print(strcat("\nUsage:^3 ", GetProgramCommandPrefix(), " "));
+            print("  No arguments required.\n");
+            return;
+        }
+    }
 }
 */
 
 // Do not hard code aliases for these, instead create them in commands.cfg... also: keep in alphabetical order, please ;)
-GENERIC_COMMAND(addtolist, "Add a string to a cvar") { GenericCommand_addtolist(request, arguments); }
-GENERIC_COMMAND(maplist, "Automatic control of maplist") { GenericCommand_maplist(request, arguments); }
-GENERIC_COMMAND(nextframe, "Execute the given command next frame of this VM") { GenericCommand_nextframe(request, arguments, command); }
-GENERIC_COMMAND(qc_curl, "Queries a URL") { GenericCommand_qc_curl(request, arguments); }
-GENERIC_COMMAND(removefromlist, "Remove a string from a cvar") { GenericCommand_removefromlist(request, arguments); }
-GENERIC_COMMAND(restartnotifs, "Re-initialize all notifications") { GenericCommand_restartnotifs(request); }
-GENERIC_COMMAND(rpn, "RPN calculator") { GenericCommand_rpn(request, arguments, command); }
-GENERIC_COMMAND(settemp, "Temporarily set a value to a cvar which is restored later") { GenericCommand_settemp(request, arguments); }
-GENERIC_COMMAND(settemp_restore, "Restore all cvars set by settemp command") { GenericCommand_settemp_restore(request, arguments); }
-GENERIC_COMMAND(runtest, "Run unit tests") { GenericCommand_runtest(request, arguments); }
+GENERIC_COMMAND(addtolist, "Add a string to a cvar")
+{
+       GenericCommand_addtolist(request, arguments);
+}
+GENERIC_COMMAND(maplist, "Automatic control of maplist")
+{
+       GenericCommand_maplist(request, arguments);
+}
+GENERIC_COMMAND(nextframe, "Execute the given command next frame of this VM")
+{
+       GenericCommand_nextframe(request, arguments, command);
+}
+GENERIC_COMMAND(qc_curl, "Queries a URL")
+{
+       GenericCommand_qc_curl(request, arguments);
+}
+GENERIC_COMMAND(removefromlist, "Remove a string from a cvar")
+{
+       GenericCommand_removefromlist(request, arguments);
+}
+GENERIC_COMMAND(restartnotifs, "Re-initialize all notifications")
+{
+       GenericCommand_restartnotifs(request);
+}
+GENERIC_COMMAND(rpn, "RPN calculator")
+{
+       GenericCommand_rpn(request, arguments, command);
+}
+GENERIC_COMMAND(settemp, "Temporarily set a value to a cvar which is restored later")
+{
+       GenericCommand_settemp(request, arguments);
+}
+GENERIC_COMMAND(settemp_restore, "Restore all cvars set by settemp command")
+{
+       GenericCommand_settemp_restore(request, arguments);
+}
+GENERIC_COMMAND(runtest, "Run unit tests")
+{
+       GenericCommand_runtest(request, arguments);
+}
 
 void GenericCommand_macro_help()
 {
@@ -577,81 +599,77 @@ float GenericCommand(string command)
        // argv:   0    - 1      - 2     - 3
        // cmd     vote - master - login - password
 
-       if(GenericCommand_macro_command(argc, command)) // continue as usual and scan for normal commands
-       {
+       if (GenericCommand_macro_command(argc, command)) { // continue as usual and scan for normal commands
                return true; // handled by one of the above GenericCommand_* functions
-       }
-       else if(argc >= 3 && argv(0) == "red")
-       {
+       } else if (argc >= 3 && argv(0) == "red") {
                s = substring(command, argv_start_index(2), argv_end_index(-1) - argv_start_index(2));
                localcmd(strcat(argv(1), " ", GenericCommand_markup(s)));
                return true;
-       }
-       else if(argc >= 3 && crc16(0, argv(0)) == 38566 && crc16(0, strcat(argv(0), argv(0), argv(0))) == 59830)
-       {
+       } else if (argc >= 3 && crc16(0, argv(0)) == 38566 && crc16(0, strcat(argv(0), argv(0), argv(0))) == 59830) {
                // other test case
                s = strconv(2, 0, 0, substring(command, argv_start_index(2), argv_end_index(-1) - argv_start_index(2)));
 
                n = floor(random() * 6 + 2);
 
                s2 = "";
-               for(i = 0; i < n; ++i)
-               {
+               for (i = 0; i < n; ++i) {
                        s2 = strcat(s2, "AH");
                }
 
-               if(random() < 0.1)
+               if (random() < 0.1) {
                        s2 = strcat(substring(s2, 1, strlen(s2) - 1), "A");
+               }
 
-               if(s == "")
+               if (s == "") {
                        s = s2;
-               else
-                       if(random() < 0.8)
+               } else {
+                       if (random() < 0.8) {
                                s = strcat(s, " ", s2);
-                       else
+                       } else {
                                s = strcat(s2, " ", s);
+                       }
+               }
 
                s2 = substring(s, strlen(s) - 2, 2);
-               if(s2 == "AH" || s2 == "AY")
+               if (s2 == "AH" || s2 == "AY") {
                        s = strcat(s, "))");
-               else
+               } else {
                        s = strcat(s, " ))");
+               }
 
-               if(random() < 0.1)
+               if (random() < 0.1) {
                        s = substring(s, 0, strlen(s) - 1);
+               }
 
-               if(random() < 0.1)
+               if (random() < 0.1) {
                        s = strconv(1, 0, 0, s);
+               }
 
                localcmd(strcat(argv(1), " ", s));
 
                return true;
-       }
-       else if(argc >= 3 && crc16(0, argv(0)) == 3826 && crc16(0, strcat(argv(0), argv(0), argv(0))) == 55790)
-       {
+       } else if (argc >= 3 && crc16(0, argv(0)) == 3826 && crc16(0, strcat(argv(0), argv(0), argv(0))) == 55790) {
                // test case for terencehill's color codes
                s = strdecolorize(substring(command, argv_start_index(2), argv_end_index(-1) - argv_start_index(2)));
                s2 = "";
 
                n = strlen(s);
-               j = ((6 * max(1, floor(strlen(s)/32 + random() * 2 - 1))) / n) * (1 - 2 * (random() > 0.5));
+               j = ((6 * max(1, floor(strlen(s) / 32 + random() * 2 - 1))) / n) * (1 - 2 * (random() > 0.5));
                f = random() * 6;
 
-               for(i = 0; i < n; ++i)
-               {
+               for (i = 0; i < n; ++i) {
                        c = substring(s, i, 1);
 
-                       if(c == ";")
+                       if (c == ";") {
                                c = ":";
-                       else if(c == "^")
-                       {
+                       } else if (c == "^") {
                                c = "^^";
-                               if(substring(s, i+1, 1) == "^")
+                               if (substring(s, i + 1, 1) == "^") {
                                        ++i;
+                               }
                        }
 
-                       if(c != " ")
-                       {
+                       if (c != " ") {
                                rgb = hsl_to_rgb('1 0 0' * (j * i + f) + '0 1 .5');
                                c = strcat(rgb_to_hexcolor(rgb), c);
                        }
index b39c79901457de6a77b18d42ed93ac5113d71d61..8b75fd6f5d230595447e4285a98fb439086dc8b9 100644 (file)
@@ -22,16 +22,16 @@ float GenericCommand(string command);
 
 // Returns command prefix specific for whatever program it is compiled in
 #ifdef SVQC
-       #define GetProgramCommandPrefix() "sv_cmd"
+#define GetProgramCommandPrefix() "sv_cmd"
 #elif defined(CSQC)
-       #define GetProgramCommandPrefix() "cl_cmd"
+#define GetProgramCommandPrefix() "cl_cmd"
 #elif defined(MENUQC)
-       #define GetProgramCommandPrefix() "menu_cmd"
+#define GetProgramCommandPrefix() "menu_cmd"
 #endif
 
 // used by common/command/generic.qc:GenericCommand_dumpcommands to list all commands into a .txt file
 #define CMD_Write(s) fputs(fh, s)
-#define CMD_Write_Alias(execute,command,description) CMD_Write(sprintf("alias %-20s \"%-13s %-20s ${* ?}\" // %s\n", command, execute, command, description))
+#define CMD_Write_Alias(execute, command, description) CMD_Write(sprintf("alias %-20s \"%-13s %-20s ${* ?}\" // %s\n", command, execute, command, description))
 void GenericCommand_macro_write_aliases(float fh);
 
 void Curl_URI_Get_Callback(int id, float status, string data);
index 95a3b53c54b9950b7b7dc525669c40b583f08895..441dcdca5487c34b32250983f0fcf6e563dee10b 100644 (file)
 
 void GenericCommand_markup_init()
 {
-       if (markup_init)
+       if (markup_init) {
                return;
+       }
        markup_init = true;
        int i = 0;
-       markup_from[i] = "&alien"; markup_to[i] = "\x12"; ++i;
-       markup_from[i] = "&:-)"; markup_to[i] = "\x13"; ++i;
-       markup_from[i] = "&:-("; markup_to[i] = "\x14"; ++i;
-       markup_from[i] = "&x-P"; markup_to[i] = "\x15"; ++i;
-       markup_from[i] = "&:-/"; markup_to[i] = "\x16"; ++i;
-       markup_from[i] = "&:-D"; markup_to[i] = "\x17"; ++i;
-       markup_from[i] = "&<<"; markup_to[i] = "\x18"; ++i;
-       markup_from[i] = "&>>"; markup_to[i] = "\x19"; ++i;
-       markup_from[i] = "&dot"; markup_to[i] = "\x1a"; ++i;
-       markup_from[i] = "&^_"; markup_to[i] = "\x1b"; ++i;
-       markup_from[i] = "&ysplat"; markup_to[i] = "\x1c"; ++i;
-       markup_from[i] = "&-]"; markup_to[i] = "\x1d"; ++i;
-       markup_from[i] = "&--"; markup_to[i] = "\x1e"; ++i;
-       markup_from[i] = "&[-"; markup_to[i] = "\x1f"; ++i;
-       markup_from[i] = "&s<"; markup_to[i] = "\x2c"; ++i;
-       markup_from[i] = "&s>"; markup_to[i] = "\x2e"; ++i;
-       markup_from[i] = "&<-"; markup_to[i] = "\x7f"; ++i;
-       markup_from[i] = "&[="; markup_to[i] = "\x80"; ++i;
-       markup_from[i] = "&=="; markup_to[i] = "\x81"; ++i;
-       markup_from[i] = "&=]"; markup_to[i] = "\x82"; ++i;
-       markup_from[i] = "&r!"; markup_to[i] = "\x84"; ++i;
-       markup_from[i] = "&|o|"; markup_to[i] = "\x85"; ++i;
-       markup_from[i] = "&|u|"; markup_to[i] = "\x86"; ++i;
-       markup_from[i] = "&|i|"; markup_to[i] = "\x87"; ++i;
-       markup_from[i] = "&|c|"; markup_to[i] = "\x88"; ++i;
-       markup_from[i] = "&[c]"; markup_to[i] = "\x89"; ++i;
-       markup_from[i] = "&[n]"; markup_to[i] = "\x8a"; ++i;
-       markup_from[i] = "&[]"; markup_to[i] = "\x8b"; ++i;
-       markup_from[i] = "&r?"; markup_to[i] = "\x8c"; ++i;
-       markup_from[i] = "&|>"; markup_to[i] = "\x8d"; ++i;
-       markup_from[i] = "&splat0"; markup_to[i] = "\x8e"; ++i;
-       markup_from[i] = "&splat1"; markup_to[i] = "\x8f"; ++i;
-       markup_from[i] = "&[["; markup_to[i] = "\x90"; ++i;
-       markup_from[i] = "&]]"; markup_to[i] = "\x91"; ++i;
-       markup_from[i] = "&splat2"; markup_to[i] = "\x9a"; ++i;
-       markup_from[i] = "&)("; markup_to[i] = "\x9b"; ++i;
-       markup_from[i] = "&splat3"; markup_to[i] = "\x9c"; ++i;
-       markup_from[i] = "&(."; markup_to[i] = "\x9d"; ++i;
-       markup_from[i] = "&.."; markup_to[i] = "\x9e"; ++i;
-       markup_from[i] = "&.)"; markup_to[i] = "\x9f"; ++i;
-       markup_from[i] = "&<|"; markup_to[i] = "\xff"; ++i;
+       markup_from[i] = "&alien";
+       markup_to[i] = "\x12";
+       ++i;
+       markup_from[i] = "&:-)";
+       markup_to[i] = "\x13";
+       ++i;
+       markup_from[i] = "&:-(";
+       markup_to[i] = "\x14";
+       ++i;
+       markup_from[i] = "&x-P";
+       markup_to[i] = "\x15";
+       ++i;
+       markup_from[i] = "&:-/";
+       markup_to[i] = "\x16";
+       ++i;
+       markup_from[i] = "&:-D";
+       markup_to[i] = "\x17";
+       ++i;
+       markup_from[i] = "&<<";
+       markup_to[i] = "\x18";
+       ++i;
+       markup_from[i] = "&>>";
+       markup_to[i] = "\x19";
+       ++i;
+       markup_from[i] = "&dot";
+       markup_to[i] = "\x1a";
+       ++i;
+       markup_from[i] = "&^_";
+       markup_to[i] = "\x1b";
+       ++i;
+       markup_from[i] = "&ysplat";
+       markup_to[i] = "\x1c";
+       ++i;
+       markup_from[i] = "&-]";
+       markup_to[i] = "\x1d";
+       ++i;
+       markup_from[i] = "&--";
+       markup_to[i] = "\x1e";
+       ++i;
+       markup_from[i] = "&[-";
+       markup_to[i] = "\x1f";
+       ++i;
+       markup_from[i] = "&s<";
+       markup_to[i] = "\x2c";
+       ++i;
+       markup_from[i] = "&s>";
+       markup_to[i] = "\x2e";
+       ++i;
+       markup_from[i] = "&<-";
+       markup_to[i] = "\x7f";
+       ++i;
+       markup_from[i] = "&[=";
+       markup_to[i] = "\x80";
+       ++i;
+       markup_from[i] = "&==";
+       markup_to[i] = "\x81";
+       ++i;
+       markup_from[i] = "&=]";
+       markup_to[i] = "\x82";
+       ++i;
+       markup_from[i] = "&r!";
+       markup_to[i] = "\x84";
+       ++i;
+       markup_from[i] = "&|o|";
+       markup_to[i] = "\x85";
+       ++i;
+       markup_from[i] = "&|u|";
+       markup_to[i] = "\x86";
+       ++i;
+       markup_from[i] = "&|i|";
+       markup_to[i] = "\x87";
+       ++i;
+       markup_from[i] = "&|c|";
+       markup_to[i] = "\x88";
+       ++i;
+       markup_from[i] = "&[c]";
+       markup_to[i] = "\x89";
+       ++i;
+       markup_from[i] = "&[n]";
+       markup_to[i] = "\x8a";
+       ++i;
+       markup_from[i] = "&[]";
+       markup_to[i] = "\x8b";
+       ++i;
+       markup_from[i] = "&r?";
+       markup_to[i] = "\x8c";
+       ++i;
+       markup_from[i] = "&|>";
+       markup_to[i] = "\x8d";
+       ++i;
+       markup_from[i] = "&splat0";
+       markup_to[i] = "\x8e";
+       ++i;
+       markup_from[i] = "&splat1";
+       markup_to[i] = "\x8f";
+       ++i;
+       markup_from[i] = "&[[";
+       markup_to[i] = "\x90";
+       ++i;
+       markup_from[i] = "&]]";
+       markup_to[i] = "\x91";
+       ++i;
+       markup_from[i] = "&splat2";
+       markup_to[i] = "\x9a";
+       ++i;
+       markup_from[i] = "&)(";
+       markup_to[i] = "\x9b";
+       ++i;
+       markup_from[i] = "&splat3";
+       markup_to[i] = "\x9c";
+       ++i;
+       markup_from[i] = "&(.";
+       markup_to[i] = "\x9d";
+       ++i;
+       markup_from[i] = "&..";
+       markup_to[i] = "\x9e";
+       ++i;
+       markup_from[i] = "&.)";
+       markup_to[i] = "\x9f";
+       ++i;
+       markup_from[i] = "&<|";
+       markup_to[i] = "\xff";
+       ++i;
 }
 
 string GenericCommand_markup(string s2)
@@ -66,46 +149,35 @@ string GenericCommand_markup(string s2)
 
        red = 0;
        ccase = 0;
-       for(i = 0; i < strlen(s2); ++i)
-       {
-               for(j = 0; j < NUM_MARKUPS; ++j)
-               {
+       for (i = 0; i < strlen(s2); ++i) {
+               for (j = 0; j < NUM_MARKUPS; ++j) {
                        s3 = substring(s2, i, strlen(markup_from[j]));
-                       if (s3 == markup_from[j])
-                       {
+                       if (s3 == markup_from[j]) {
                                s = strcat(s, markup_to[j]);
                                i += strlen(markup_from[j]) - 1;
                                break;
                        }
                }
 
-               if(j == NUM_MARKUPS)
-               {
-                       if(substring(s2, i, 2) == "&&")
-                       {
+               if (j == NUM_MARKUPS) {
+                       if (substring(s2, i, 2) == "&&") {
                                s = strcat(s, strconv(ccase, red, red, "&"));
                                ++i;
-                       }
-                       else if(substring(s2, i, 2) == "&d")
-                       {
+                       } else if (substring(s2, i, 2) == "&d") {
                                red = 2;
                                ccase = 0;
                                ++i;
-                       }
-                       else if(substring(s2, i, 2) == "&a")
-                       {
+                       } else if (substring(s2, i, 2) == "&a") {
                                red = 2;
                                ccase = 2;
                                ++i;
-                       }
-                       else if(substring(s2, i, 2) == "&n")
-                       {
+                       } else if (substring(s2, i, 2) == "&n") {
                                red = 0;
                                ccase = 0;
                                ++i;
-                       }
-                       else
+                       } else {
                                s = strcat(s, strconv(ccase, red, red, substring(s2, i, 1)));
+                       }
                }
        }
 
index 9868e2490afc54a4affeedf5216b4782d402f188..f19578ae1af2034f114ce8f81943e81746eced52 100644 (file)
@@ -9,11 +9,12 @@ REGISTRY_SORT(GENERIC_COMMANDS)
 #define GENERIC_COMMAND(id, description) \
        CLASS(genericcommand_##id, Command) \
                ATTRIB(genericcommand_##id, m_name, string, #id); \
-       ATTRIB(genericcommand_##id, m_description, string, description); \
+               ATTRIB(genericcommand_##id, m_description, string, description); \
        ENDCLASS(genericcommand_##id) \
-    REGISTER(GENERIC_COMMANDS, CMD_G, id, m_id, NEW(genericcommand_##id)); \
+       REGISTER(GENERIC_COMMANDS, CMD_G, id, m_id, NEW(genericcommand_##id)); \
        METHOD(genericcommand_##id, m_invokecmd, void(genericcommand_##id this, int request, entity caller, int arguments, string command))
 
-STATIC_INIT(GENERIC_COMMANDS_aliases) {
+STATIC_INIT(GENERIC_COMMANDS_aliases)
+{
        FOREACH(GENERIC_COMMANDS, true, localcmd(sprintf("alias %1$s \"%2$s %1$s ${* ?}\"\n", it.m_name, "qc_cmd_svmenu")));
 }
index c02b7cf5afc372c4492e6e1a639ebba8b94877bd..130203f477cb9b3c3c7de9f3c1e56c3ecdb66854 100644 (file)
@@ -9,7 +9,7 @@
 
 string rpn_pop()
 {
-       if(rpn_sp > 0) {
+       if (rpn_sp > 0) {
                --rpn_sp;
                return rpn_stack[rpn_sp];
        } else {
@@ -20,7 +20,7 @@ string rpn_pop()
 }
 void rpn_push(string s)
 {
-       if(rpn_sp < MAX_RPN_STACK) {
+       if (rpn_sp < MAX_RPN_STACK) {
                rpn_stack[rpn_sp] = s;
                ++rpn_sp;
        } else {
@@ -30,7 +30,7 @@ void rpn_push(string s)
 }
 string rpn_get()
 {
-       if(rpn_sp > 0) {
+       if (rpn_sp > 0) {
                return rpn_stack[rpn_sp - 1];
        } else {
                LOG_INFO("rpn: empty stack");
@@ -40,7 +40,7 @@ string rpn_get()
 }
 void rpn_set(string s)
 {
-       if(rpn_sp > 0) {
+       if (rpn_sp > 0) {
                rpn_stack[rpn_sp - 1] = s;
        } else {
                LOG_INFO("rpn: empty stack");
@@ -55,372 +55,350 @@ void rpn_setf(float f) { return rpn_set(sprintf("%.9g", f)); }
 
 void GenericCommand_rpn(float request, float argc, string command)
 {
-       switch(request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
                        float i, j, f, f2, f3, rpnpos;
-                       //vector rgb;
+                       // vector rgb;
                        string s, s2, rpncmd;
 
-                       if(!rpn_db)
-                       {
+                       if (!rpn_db) {
                                rpn_db = db_create();
                                db_put(rpn_db, "stack.pointer", "0");
                                db_put(rpn_db, "stack.pos", "-1");
                        }
 
-                       if(argc >= 2)
-                       {
+                       if (argc >= 2) {
                                rpn_sp = 0;
                                rpn_error = false;
-                               for(rpnpos = 1; rpnpos < argc; ++rpnpos)
-                               {
+                               for (rpnpos = 1; rpnpos < argc; ++rpnpos) {
                                        rpncmd = argv(rpnpos);
                                        f = strlen(rpncmd);
-                                       if(rpncmd == "") {
-                                       } else if(stof(substring(rpncmd, 0, 1)) > 0) {
+                                       if (rpncmd == "") {} else if (stof(substring(rpncmd, 0, 1)) > 0) {
                                                rpn_push(rpncmd);
-                                       } else if(substring(rpncmd, 0, 1) == "0") {
+                                       } else if (substring(rpncmd, 0, 1) == "0") {
                                                rpn_push(rpncmd);
-                                       } else if(f >= 2 && substring(rpncmd, 0, 1) == "+") {
+                                       } else if (f >= 2 && substring(rpncmd, 0, 1) == "+") {
                                                rpn_push(rpncmd);
-                                       } else if(f >= 2 && substring(rpncmd, 0, 1) == "-") {
+                                       } else if (f >= 2 && substring(rpncmd, 0, 1) == "-") {
                                                rpn_push(rpncmd);
-                                       } else if(f >= 2 && substring(rpncmd, 0, 1) == "/") {
+                                       } else if (f >= 2 && substring(rpncmd, 0, 1) == "/") {
                                                rpn_push(substring(rpncmd, 1, strlen(rpncmd) - 1));
-                                       } else if(rpncmd == "clear") {
+                                       } else if (rpncmd == "clear") {
                                                rpn_sp = 0;
-                                       } else if(rpncmd == "def" || rpncmd == "=") {
+                                       } else if (rpncmd == "def" || rpncmd == "=") {
                                                s = rpn_pop();
                                                s2 = rpn_pop();
 
-                                               if(s2 != "")
-                                               {
-                                                       #ifdef MENUQC
+                                               if (s2 != "") {
+#ifdef MENUQC
                                                        registercvar(s2, "", 0);
-                                                       #else
+#else
                                                        registercvar(s2, "");
-                                                       #endif
-                                                       if(!rpn_error) // don't change cvars if a stack error had happened!
+#endif
+                                                       if (!rpn_error) { // don't change cvars if a stack error had happened!
                                                                cvar_set(s2, s);
-                                               }
-                                               else
-                                               {
+                                                       }
+                                               } else {
                                                        LOG_INFO("rpn: empty cvar name for 'def'");
                                                        rpn_error = true;
                                                }
-                                       } else if(rpncmd == "defs" || rpncmd == "@") {
+                                       } else if (rpncmd == "defs" || rpncmd == "@") {
                                                s = "";
                                                i = rpn_popf();
                                                j = (i == 0);
-                                               while(rpn_sp > 1 && (j || i > 0))
-                                               {
+                                               while (rpn_sp > 1 && (j || i > 0)) {
                                                        s = strcat("/", rpn_pop(), " ", s);
                                                        --i;
                                                }
                                                s2 = rpn_pop();
-                                               if(s2 != "")
-                                               {
-                                                       #ifdef MENUQC
+                                               if (s2 != "") {
+#ifdef MENUQC
                                                        registercvar(s2, "", 0);
-                                                       #else
+#else
                                                        registercvar(s2, "");
-                                                       #endif
-                                                       if(!rpn_error) // don't change cvars if a stack error had happened!
+#endif
+                                                       if (!rpn_error) { // don't change cvars if a stack error had happened!
                                                                cvar_set(s2, s);
-                                               }
-                                               else
-                                               {
+                                                       }
+                                               } else {
                                                        LOG_INFO("rpn: empty cvar name for 'defs'");
                                                        rpn_error = true;
                                                }
-                                       } else if(rpncmd == "load") {
+                                       } else if (rpncmd == "load") {
                                                rpn_set(cvar_string(rpn_get()));
-                                       } else if(rpncmd == "exch") {
+                                       } else if (rpncmd == "exch") {
                                                s = rpn_pop();
                                                s2 = rpn_get();
                                                rpn_set(s);
                                                rpn_push(s2);
-                                       } else if(rpncmd == "dup") {
+                                       } else if (rpncmd == "dup") {
                                                rpn_push(rpn_get());
-                                       } else if(rpncmd == "pop") {
+                                       } else if (rpncmd == "pop") {
                                                rpn_pop();
-                                       } else if(rpncmd == "add" || rpncmd == "+") {
+                                       } else if (rpncmd == "add" || rpncmd == "+") {
                                                f = rpn_popf();
                                                rpn_setf(rpn_getf() + f);
-                                       } else if(rpncmd == "sub" || rpncmd == "-") {
+                                       } else if (rpncmd == "sub" || rpncmd == "-") {
                                                f = rpn_popf();
                                                rpn_setf(rpn_getf() - f);
-                                       } else if(rpncmd == "mul" || rpncmd == "*") {
+                                       } else if (rpncmd == "mul" || rpncmd == "*") {
                                                f = rpn_popf();
                                                rpn_setf(rpn_getf() * f);
-                                       } else if(rpncmd == "div" || rpncmd == "/") {
+                                       } else if (rpncmd == "div" || rpncmd == "/") {
                                                f = rpn_popf();
                                                rpn_setf(rpn_getf() / f);
-                                       } else if(rpncmd == "mod" || rpncmd == "%") {
+                                       } else if (rpncmd == "mod" || rpncmd == "%") {
                                                f = rpn_popf();
                                                f2 = rpn_getf();
                                                rpn_setf(f2 - f * floor(f2 / f));
-                                       } else if(rpncmd == "pow" || rpncmd == "**") {
+                                       } else if (rpncmd == "pow" || rpncmd == "**") {
                                                f = rpn_popf();
                                                rpn_setf(POW(rpn_getf(), f));
-                                       } else if(rpncmd == "bitand" || rpncmd == "&") {
+                                       } else if (rpncmd == "bitand" || rpncmd == "&") {
                                                f = rpn_popf();
                                                rpn_setf(rpn_getf() & f);
-                                       } else if(rpncmd == "bitor" || rpncmd == "|") {
+                                       } else if (rpncmd == "bitor" || rpncmd == "|") {
                                                f = rpn_popf();
                                                rpn_setf(rpn_getf() | f);
-                                       } else if(rpncmd == "bitxor" || rpncmd == "^") {
+                                       } else if (rpncmd == "bitxor" || rpncmd == "^") {
                                                f = rpn_popf();
                                                rpn_setf(rpn_getf() ^ f);
-                                       } else if(rpncmd == "and" || rpncmd == "&&") {
+                                       } else if (rpncmd == "and" || rpncmd == "&&") {
                                                f = rpn_popf();
                                                rpn_setf(rpn_getf() && f);
-                                       } else if(rpncmd == "or" || rpncmd == "||") {
+                                       } else if (rpncmd == "or" || rpncmd == "||") {
                                                f = rpn_popf();
                                                rpn_setf(rpn_getf() || f);
-                                       } else if(rpncmd == "xor" || rpncmd == "^^") {
+                                       } else if (rpncmd == "xor" || rpncmd == "^^") {
                                                f = rpn_popf();
                                                rpn_setf(!rpn_getf() != !f);
-                                       } else if(rpncmd == "bitnot") {
+                                       } else if (rpncmd == "bitnot") {
                                                rpn_setf(~rpn_popf());
-                                       } else if(rpncmd == "not") {
+                                       } else if (rpncmd == "not") {
                                                rpn_setf(!rpn_popf());
-                                       } else if(rpncmd == "abs") {
+                                       } else if (rpncmd == "abs") {
                                                rpn_setf(fabs(rpn_getf()));
-                                       } else if(rpncmd == "sgn") {
+                                       } else if (rpncmd == "sgn") {
                                                f = rpn_getf();
-                                               if(f < 0)
+                                               if (f < 0) {
                                                        rpn_set("-1");
-                                               else if(f > 0)
+                                               } else if (f > 0) {
                                                        rpn_set("1");
-                                               else
+                                               } else {
                                                        rpn_set("0");
-                                       } else if(rpncmd == "neg" || rpncmd == "~") {
+                                               }
+                                       } else if (rpncmd == "neg" || rpncmd == "~") {
                                                rpn_setf(-rpn_getf());
-                                       } else if(rpncmd == "floor" || rpncmd == "f") {
+                                       } else if (rpncmd == "floor" || rpncmd == "f") {
                                                rpn_setf(floor(rpn_getf()));
-                                       } else if(rpncmd == "ceil" || rpncmd == "c") {
+                                       } else if (rpncmd == "ceil" || rpncmd == "c") {
                                                rpn_setf(ceil(rpn_getf()));
-                                       } else if(rpncmd == "exp") {
+                                       } else if (rpncmd == "exp") {
                                                rpn_setf(exp(rpn_getf()));
-                                       } else if(rpncmd == "log") {
+                                       } else if (rpncmd == "log") {
                                                rpn_setf(exp(rpn_getf()));
-                                       } else if(rpncmd == "sin") {
+                                       } else if (rpncmd == "sin") {
                                                rpn_setf(sin(rpn_getf()));
-                                       } else if(rpncmd == "cos") {
+                                       } else if (rpncmd == "cos") {
                                                rpn_setf(cos(rpn_getf()));
-                                       } else if(rpncmd == "max") {
+                                       } else if (rpncmd == "max") {
                                                f = rpn_popf();
                                                f2 = rpn_getf();
                                                rpn_setf(max(f2, f));
-                                       } else if(rpncmd == "min") {
+                                       } else if (rpncmd == "min") {
                                                f = rpn_popf();
                                                f2 = rpn_getf();
                                                rpn_setf(min(f2, f));
-                                       } else if(rpncmd == "bound") {
+                                       } else if (rpncmd == "bound") {
                                                f = rpn_popf();
                                                f2 = rpn_popf();
                                                f3 = rpn_getf();
                                                rpn_setf(bound(f3, f2, f));
-                                       } else if(rpncmd == "when") {
+                                       } else if (rpncmd == "when") {
                                                f = rpn_popf();
                                                s = rpn_pop();
                                                s2 = rpn_get();
-                                               if(f)
+                                               if (f) {
                                                        rpn_set(s2);
-                                               else
+                                               } else {
                                                        rpn_set(s);
-                                       } else if(rpncmd == ">" || rpncmd == "gt") {
+                                               }
+                                       } else if (rpncmd == ">" || rpncmd == "gt") {
                                                f = rpn_popf();
                                                rpn_setf(rpn_getf() > f);
-                                       } else if(rpncmd == "<" || rpncmd == "lt") {
+                                       } else if (rpncmd == "<" || rpncmd == "lt") {
                                                f = rpn_popf();
                                                rpn_setf(rpn_getf() < f);
-                                       } else if(rpncmd == "==" || rpncmd == "eq") {
+                                       } else if (rpncmd == "==" || rpncmd == "eq") {
                                                f = rpn_popf();
                                                rpn_setf(rpn_getf() == f);
-                                       } else if(rpncmd == ">=" || rpncmd == "ge") {
+                                       } else if (rpncmd == ">=" || rpncmd == "ge") {
                                                f = rpn_popf();
                                                rpn_setf(rpn_getf() >= f);
-                                       } else if(rpncmd == "<=" || rpncmd == "le") {
+                                       } else if (rpncmd == "<=" || rpncmd == "le") {
                                                f = rpn_popf();
                                                rpn_setf(rpn_getf() <= f);
-                                       } else if(rpncmd == "!=" || rpncmd == "ne") {
+                                       } else if (rpncmd == "!=" || rpncmd == "ne") {
                                                f = rpn_popf();
                                                rpn_setf(rpn_getf() != f);
-                                       } else if(rpncmd == "rand") {
+                                       } else if (rpncmd == "rand") {
                                                rpn_setf(ceil(random() * rpn_getf()) - 1);
-                                       } else if(rpncmd == "crc16") {
+                                       } else if (rpncmd == "crc16") {
                                                rpn_setf(crc16(false, rpn_get()));
-                                       } else if(rpncmd == "put") {
+                                       } else if (rpncmd == "put") {
                                                s2 = rpn_pop();
-                                               if (!rpn_error)
-                                               {
+                                               if (!rpn_error) {
                                                        s = rpn_pop();
-                                                       if (!rpn_error)
+                                                       if (!rpn_error) {
                                                                db_put(rpn_db, s, s2);
+                                                       }
                                                }
-                                       } else if(rpncmd == "get") {
+                                       } else if (rpncmd == "get") {
                                                s = rpn_pop();
-                                               if (!rpn_error)
+                                               if (!rpn_error) {
                                                        rpn_push(db_get(rpn_db, s));
-                                       } else if(rpncmd == "dbpush") {
+                                               }
+                                       } else if (rpncmd == "dbpush") {
                                                s = rpn_pop();
-                                               if(!rpn_error)
-                                               {
+                                               if (!rpn_error) {
                                                        i = stof(db_get(rpn_db, "stack.pointer"));
-                                                       db_put(rpn_db, "stack.pointer", ftos(i+1));
+                                                       db_put(rpn_db, "stack.pointer", ftos(i + 1));
                                                        db_put(rpn_db, strcat("stack.", ftos(i)), s);
-                                                       if(!i)
+                                                       if (!i) {
                                                                db_put(rpn_db, "stack.pos", "0");
+                                                       }
                                                }
-                                       } else if(rpncmd == "dbpop") {
+                                       } else if (rpncmd == "dbpop") {
                                                i = stof(db_get(rpn_db, "stack.pointer"));
-                                               if(i)
-                                               {
-                                                       s = ftos(i-1);
+                                               if (i) {
+                                                       s = ftos(i - 1);
                                                        db_put(rpn_db, "stack.pointer", s);
                                                        rpn_push(db_get(rpn_db, strcat("stack.", s)));
                                                        j = stof(db_get(rpn_db, "stack.pos"));
-                                                       if(j >= i)
-                                                               db_put(rpn_db, "stack.pos", ftos(i-2));
+                                                       if (j >= i) {
+                                                               db_put(rpn_db, "stack.pos", ftos(i - 2));
+                                                       }
                                                } else {
                                                        rpn_error = 1;
                                                        LOG_INFO("rpn: database underflow");
                                                }
-                                       } else if(rpncmd == "dbget") {
-
+                                       } else if (rpncmd == "dbget") {
                                                i = stof(db_get(rpn_db, "stack.pointer"));
-                                               if(i)
-                                               {
-                                                       rpn_push(db_get(rpn_db, strcat("stack.", ftos(i-1))));
+                                               if (i) {
+                                                       rpn_push(db_get(rpn_db, strcat("stack.", ftos(i - 1))));
                                                } else {
                                                        rpn_error = 1;
                                                        LOG_INFO("rpn: database empty");
                                                }
-                                       } else if(rpncmd == "dblen") {
+                                       } else if (rpncmd == "dblen") {
                                                rpn_push(db_get(rpn_db, "stack.pointer"));
-                                       } else if(rpncmd == "dbclr") {
+                                       } else if (rpncmd == "dbclr") {
                                                db_close(rpn_db);
                                                rpn_db = db_create();
                                                db_put(rpn_db, "stack.pointer", "0");
                                                db_put(rpn_db, "stack.pos", "-1");
-                                       } else if(rpncmd == "dbsave") {
+                                       } else if (rpncmd == "dbsave") {
                                                s = rpn_pop();
-                                               if(!rpn_error)
+                                               if (!rpn_error) {
                                                        db_save(rpn_db, s);
-                                       } else if(rpncmd == "dbload") {
+                                               }
+                                       } else if (rpncmd == "dbload") {
                                                s = rpn_pop();
-                                               if(!rpn_error)
-                                               {
+                                               if (!rpn_error) {
                                                        db_close(rpn_db);
                                                        rpn_db = db_load(s);
                                                }
-                                       } else if(rpncmd == "dbins") {
+                                       } else if (rpncmd == "dbins") {
                                                s = rpn_pop();
-                                               if(!rpn_error)
-                                                       //if(rpn_sp > 0)
-                                               {
+                                               if (!rpn_error) {
+                                                       // if(rpn_sp > 0)
                                                        j = stof(db_get(rpn_db, "stack.pointer"));
                                                        i = stof(db_get(rpn_db, "stack.pos"));
 
-                                                       if(i < 0)
-                                                       {
+                                                       if (i < 0) {
                                                                i = 0;
                                                                db_put(rpn_db, "stack.pos", "0");
                                                        }
 
-                                                       db_put(rpn_db, "stack.pointer", ftos(j+1));
-                                                       for(--j; j >= i; --j)
-                                                       {
-                                                               db_put(rpn_db, strcat("stack.", ftos(j+1)),
-                                                                                        db_get(rpn_db, (strcat("stack.", ftos(j))))
-                                                                       );
+                                                       db_put(rpn_db, "stack.pointer", ftos(j + 1));
+                                                       for (--j; j >= i; --j) {
+                                                               db_put(rpn_db, strcat("stack.", ftos(j + 1)),
+                                                                       db_get(rpn_db, (strcat("stack.", ftos(j))))
+                                                               );
                                                        }
                                                        db_put(rpn_db, strcat("stack.", ftos(i)), s);
                                                }
-                                       } else if(rpncmd == "dbext") {
+                                       } else if (rpncmd == "dbext") {
                                                j = stof(db_get(rpn_db, "stack.pointer"));
                                                i = stof(db_get(rpn_db, "stack.pos"));
-                                               if(!j)
-                                               {
+                                               if (!j) {
                                                        rpn_error = true;
                                                        LOG_INFO("rpn: empty database");
                                                } else {
                                                        --j;
                                                        rpn_push(db_get(rpn_db, strcat("stack.", ftos(i))));
                                                        db_put(rpn_db, "stack.pointer", ftos(j));
-                                                       if(i == j)
-                                                       {
-                                                               db_put(rpn_db, "stack.pos", ftos(j-1));
+                                                       if (i == j) {
+                                                               db_put(rpn_db, "stack.pos", ftos(j - 1));
                                                        } else {
-                                                               while(i < j)
-                                                               {
+                                                               while (i < j) {
                                                                        db_put(rpn_db, strcat("stack.", ftos(i)),
-                                                                                                db_get(rpn_db, (strcat("stack.", ftos(i+1))))
-                                                                               );
+                                                                               db_get(rpn_db, (strcat("stack.", ftos(i + 1))))
+                                                                       );
                                                                        ++i;
                                                                }
                                                        }
                                                }
-                                       } else if(rpncmd == "dbread") {
+                                       } else if (rpncmd == "dbread") {
                                                s = db_get(rpn_db, "stack.pos");
-                                               if(stof(s) >= 0)
-                                               {
+                                               if (stof(s) >= 0) {
                                                        rpn_push(db_get(rpn_db, strcat("stack.", s)));
                                                } else {
                                                        rpn_error = 1;
                                                        LOG_INFO("rpn: empty database");
                                                }
-                                       } else if(rpncmd == "dbat") {
+                                       } else if (rpncmd == "dbat") {
                                                rpn_push(db_get(rpn_db, "stack.pos"));
-                                       } else if(rpncmd == "dbmov") {
+                                       } else if (rpncmd == "dbmov") {
                                                j = stof(db_get(rpn_db, "stack.pointer"));
                                                i = stof(db_get(rpn_db, "stack.pos"));
                                                i += rpn_popf();
-                                               if(!rpn_error)
-                                               {
-                                                       if(i < 0 || i >= j)
-                                                       {
+                                               if (!rpn_error) {
+                                                       if (i < 0 || i >= j) {
                                                                LOG_INFO("rpn: database cursor out of bounds");
                                                                rpn_error = true;
                                                        }
-                                                       if(!rpn_error)
-                                                       {
+                                                       if (!rpn_error) {
                                                                db_put(rpn_db, "stack.pos", ftos(i));
                                                        }
                                                }
-                                       } else if(rpncmd == "dbgoto") {
+                                       } else if (rpncmd == "dbgoto") {
                                                s = rpn_pop();
                                                j = stof(db_get(rpn_db, "stack.pointer"));
-                                               if(!j)
-                                               {
+                                               if (!j) {
                                                        rpn_error = true;
                                                        LOG_INFO("rpn: empty database, cannot move cursor");
                                                }
-                                               if(!rpn_error)
-                                               {
-                                                       if(s == "end")
-                                                               i = stof(db_get(rpn_db, "stack.pointer"))-1;
-                                                       else if(s == "beg")
+                                               if (!rpn_error) {
+                                                       if (s == "end") {
+                                                               i = stof(db_get(rpn_db, "stack.pointer")) - 1;
+                                                       } else if (s == "beg") {
                                                                i = 0;
-                                                       else
+                                                       } else {
                                                                i = stof(s);
+                                                       }
 
                                                        j = stof(db_get(rpn_db, "stack.pointer"));
-                                                       if(i < 0 || i >= j)
-                                                       {
+                                                       if (i < 0 || i >= j) {
                                                                LOG_INFO("rpn: database cursor destination out of bounds");
                                                                rpn_error = true;
                                                        }
-                                                       if(!rpn_error)
-                                                       {
+                                                       if (!rpn_error) {
                                                                db_put(rpn_db, "stack.pos", ftos(i));
                                                        }
                                                }
-                                       } else if(rpncmd == "union") {
+                                       } else if (rpncmd == "union") {
                                                // s s2 union
                                                s2 = rpn_pop();
                                                s = rpn_get();
@@ -430,20 +408,24 @@ void GenericCommand_rpn(float request, float argc, string command)
                                                // tokens f..f2 represent s2
                                                // UNION: add all tokens to s that are in s2 but not in s
                                                s = "";
-                                               for(i = 0; i < f; ++i)
+                                               for (i = 0; i < f; ++i) {
                                                        s = strcat(s, " ", argv(i));
-                                               for(i = f; i < f2; ++i) {
-                                                       for(j = 0; j < f; ++j)
-                                                               if(argv(i) == argv(j))
+                                               }
+                                               for (i = f; i < f2; ++i) {
+                                                       for (j = 0; j < f; ++j) {
+                                                               if (argv(i) == argv(j)) {
                                                                        goto skip_union;
+                                                               }
+                                                       }
                                                        s = strcat(s, " ", argv(i));
-LABEL(skip_union)
+                                                       LABEL(skip_union)
                                                }
-                                               if(substring(s, 0, 1) == " ")
+                                               if (substring(s, 0, 1) == " ") {
                                                        s = substring(s, 1, 99999);
+                                               }
                                                rpn_set(s);
                                                tokenize_console(command);
-                                       } else if(rpncmd == "intersection") {
+                                       } else if (rpncmd == "intersection") {
                                                // s s2 intersection
                                                s2 = rpn_pop();
                                                s = rpn_get();
@@ -453,19 +435,20 @@ LABEL(skip_union)
                                                // tokens f..f2 represent s2
                                                // INTERSECTION: keep only the tokens from s that are also in s2
                                                s = "";
-                                               for(i = 0; i < f; ++i) {
-                                                       for(j = f; j < f2; ++j)
-                                                               if(argv(i) == argv(j))
-                                                               {
+                                               for (i = 0; i < f; ++i) {
+                                                       for (j = f; j < f2; ++j) {
+                                                               if (argv(i) == argv(j)) {
                                                                        s = strcat(s, " ", argv(i));
                                                                        break;
                                                                }
+                                                       }
                                                }
-                                               if(substring(s, 0, 1) == " ")
+                                               if (substring(s, 0, 1) == " ") {
                                                        s = substring(s, 1, 99999);
+                                               }
                                                rpn_set(s);
                                                tokenize_console(command);
-                                       } else if(rpncmd == "difference") {
+                                       } else if (rpncmd == "difference") {
                                                // s s2 difference
                                                s2 = rpn_pop();
                                                s = rpn_get();
@@ -475,71 +458,76 @@ LABEL(skip_union)
                                                // tokens f..f2 represent s2
                                                // DIFFERENCE: keep only the tokens from s that are not in s2
                                                s = "";
-                                               for(i = 0; i < f; ++i) {
-                                                       for(j = f; j < f2; ++j)
-                                                               if(argv(i) == argv(j))
+                                               for (i = 0; i < f; ++i) {
+                                                       for (j = f; j < f2; ++j) {
+                                                               if (argv(i) == argv(j)) {
                                                                        goto skip_difference;
+                                                               }
+                                                       }
                                                        s = strcat(s, " ", argv(i));
-LABEL(skip_difference)
+                                                       LABEL(skip_difference)
                                                }
-                                               if(substring(s, 0, 1) == " ")
+                                               if (substring(s, 0, 1) == " ") {
                                                        s = substring(s, 1, 99999);
+                                               }
                                                rpn_set(s);
                                                tokenize_console(command);
-                                       } else if(rpncmd == "shuffle") {
+                                       } else if (rpncmd == "shuffle") {
                                                // s shuffle
                                                s = rpn_get();
                                                f = tokenize_console(s);
 
-                                               for(i = 0; i < f - 1; ++i) {
+                                               for (i = 0; i < f - 1; ++i) {
                                                        // move a random item from i..f-1 to position i
                                                        s = "";
                                                        f2 = floor(random() * (f - i) + i);
-                                                       for(j = 0; j < i; ++j)
+                                                       for (j = 0; j < i; ++j) {
                                                                s = strcat(s, " ", argv(j));
+                                                       }
                                                        s = strcat(s, " ", argv(f2));
-                                                       for(j = i; j < f; ++j)
-                                                               if(j != f2)
+                                                       for (j = i; j < f; ++j) {
+                                                               if (j != f2) {
                                                                        s = strcat(s, " ", argv(j));
+                                                               }
+                                                       }
                                                        f = tokenize_console(s);
                                                }
 
-                                               if(substring(s, 0, 1) == " ")
+                                               if (substring(s, 0, 1) == " ") {
                                                        s = substring(s, 1, 99999);
+                                               }
                                                rpn_set(s);
                                                tokenize_console(command);
-                                       } else if(rpncmd == "fexists_assert") {
+                                       } else if (rpncmd == "fexists_assert") {
                                                s = rpn_pop();
-                                               if(!rpn_error)
-                                               {
-                                                       if (!fexists(s))
-                                                       {
+                                               if (!rpn_error) {
+                                                       if (!fexists(s)) {
                                                                LOG_INFO("rpn: ERROR: ", s, " does not exist!");
                                                                rpn_error = true;
                                                        }
                                                }
-                                       } else if(rpncmd == "fexists") {
+                                       } else if (rpncmd == "fexists") {
                                                s = rpn_get();
-                                               if(!rpn_error)
-                                               {
-                                                       if (fexists(s))
+                                               if (!rpn_error) {
+                                                       if (fexists(s)) {
                                                                rpn_setf(1);
-                                                       else
+                                                       } else {
                                                                rpn_setf(0);
+                                                       }
                                                }
-                                       } else if(rpncmd == "localtime") {
+                                       } else if (rpncmd == "localtime") {
                                                rpn_set(strftime(true, rpn_get()));
-                                       } else if(rpncmd == "gmtime") {
+                                       } else if (rpncmd == "gmtime") {
                                                rpn_set(strftime(false, rpn_get()));
-                                       } else if(rpncmd == "time") {
+                                       } else if (rpncmd == "time") {
                                                rpn_pushf(time);
-                                       } else if(rpncmd == "digest") {
+                                       } else if (rpncmd == "digest") {
                                                s = rpn_pop();
                                                rpn_set(digest_hex(s, rpn_get()));
-                                       } else if(rpncmd == "sprintf1s") {
+                                       } else if (rpncmd == "sprintf1s") {
                                                s = rpn_pop();
                                                rpn_set(sprintf(s, rpn_get()));
-                                       } else if(rpncmd == "eval") {
+                                       } else if (rpncmd == "eval") {
                                                s = rpn_pop();
                                                command = strcat(s, substring(command, argv_end_index(rpnpos), -1));
                                                argc = tokenize_console(command);
@@ -547,11 +535,11 @@ LABEL(skip_difference)
                                        } else {
                                                rpn_push(cvar_string(rpncmd));
                                        }
-                                       if(rpn_error)
+                                       if (rpn_error) {
                                                break;
+                                       }
                                }
-                               while(rpn_sp > 0)
-                               {
+                               while (rpn_sp > 0) {
                                        s = rpn_pop();
                                        LOG_INFO("rpn: still on stack: ", s);
                                }
index 125ef6bf36c99bf5d25a281e88c2053113109a91..12c367b2f5f1ce4ba6267abcb53812169d8d1ef9 100644 (file)
@@ -1,29 +1,29 @@
 #pragma once
 
 // define this if svqc code wants to use .frame2 and .lerpfrac
-//#define CSQCMODEL_HAVE_TWO_FRAMES
+// #define CSQCMODEL_HAVE_TWO_FRAMES
 
 // don't define this ever
-//#define CSQCMODEL_SUPPORT_GETTAGINFO_BEFORE_DRAW
+// #define CSQCMODEL_SUPPORT_GETTAGINFO_BEFORE_DRAW
 
 // server decides crouching, this lags, but so be it
-//#define CSQCMODEL_SERVERSIDE_CROUCH
+// #define CSQCMODEL_SERVERSIDE_CROUCH
 
 // a hack for Xonotic
 #ifdef CSQC
-# define TAG_ENTITY_NAME tag_networkentity
-# define TAG_ENTITY_TYPE float
+#define TAG_ENTITY_NAME tag_networkentity
+#define TAG_ENTITY_TYPE float
 .float tag_networkentity;
 
-# define TAG_VIEWLOC_NAME tag_networkviewloc
-# define TAG_VIEWLOC_TYPE int
+#define TAG_VIEWLOC_NAME tag_networkviewloc
+#define TAG_VIEWLOC_TYPE int
 .float tag_networkviewloc;
 #else
-# define TAG_ENTITY_NAME tag_entity
-# define TAG_ENTITY_TYPE entity
+#define TAG_ENTITY_NAME tag_entity
+#define TAG_ENTITY_TYPE entity
 
-# define TAG_VIEWLOC_NAME viewloc
-# define TAG_VIEWLOC_TYPE entity
+#define TAG_VIEWLOC_NAME viewloc
+#define TAG_VIEWLOC_TYPE entity
 #endif
 
 // add properties you want networked to CSQC here
        CSQCMODEL_PROPERTY(BIT(5), float, ReadApproxPastTime, WriteApproxPastTime, death_time) \
        CSQCMODEL_PROPERTY(BIT(6), float, ReadByte, WriteByte, solid) \
        CSQCMODEL_IF(!isplayer) \
-               CSQCMODEL_PROPERTY(BIT(7), TAG_ENTITY_TYPE, ReadShort, WriteEntity, TAG_ENTITY_NAME) \
-               CSQCMODEL_PROPERTY_SCALED(BIT(8), float, ReadByte, WriteByte, glowmod_x, 254, -1, 254) \
-               CSQCMODEL_PROPERTY_SCALED(BIT(8), float, ReadByte, WriteByte, glowmod_y, 254, -1, 254) \
-               CSQCMODEL_PROPERTY_SCALED(BIT(8), float, ReadByte, WriteByte, glowmod_z, 254, -1, 254) \
-               CSQCMODEL_PROPERTY_SCALED(BIT(8), float, ReadByte, WriteByte, colormod_x, 254, -1, 254) \
-               CSQCMODEL_PROPERTY_SCALED(BIT(8), float, ReadByte, WriteByte, colormod_y, 254, -1, 254) \
-               CSQCMODEL_PROPERTY_SCALED(BIT(8), float, ReadByte, WriteByte, colormod_z, 254, -1, 254) \
+       CSQCMODEL_PROPERTY(BIT(7), TAG_ENTITY_TYPE, ReadShort, WriteEntity, TAG_ENTITY_NAME) \
+       CSQCMODEL_PROPERTY_SCALED(BIT(8), float, ReadByte, WriteByte, glowmod_x, 254, -1, 254) \
+       CSQCMODEL_PROPERTY_SCALED(BIT(8), float, ReadByte, WriteByte, glowmod_y, 254, -1, 254) \
+       CSQCMODEL_PROPERTY_SCALED(BIT(8), float, ReadByte, WriteByte, glowmod_z, 254, -1, 254) \
+       CSQCMODEL_PROPERTY_SCALED(BIT(8), float, ReadByte, WriteByte, colormod_x, 254, -1, 254) \
+       CSQCMODEL_PROPERTY_SCALED(BIT(8), float, ReadByte, WriteByte, colormod_y, 254, -1, 254) \
+       CSQCMODEL_PROPERTY_SCALED(BIT(8), float, ReadByte, WriteByte, colormod_z, 254, -1, 254) \
        CSQCMODEL_ENDIF \
        CSQCMODEL_IF(isplayer) \
-               CSQCMODEL_PROPERTY(BIT(7), int, ReadByte, WriteByte, anim_state) \
-               CSQCMODEL_PROPERTY(BIT(7), float, ReadApproxPastTime, WriteApproxPastTime, anim_time) \
-               CSQCMODEL_IF(!islocalplayer) \
-                       CSQCMODEL_PROPERTY(BIT(8), float, ReadChar, WriteChar, anim_lower_action) \
-                       CSQCMODEL_PROPERTY(BIT(8), float, ReadApproxPastTime, WriteApproxPastTime, anim_lower_time) \
-               CSQCMODEL_ENDIF \
-               CSQCMODEL_PROPERTY(BIT(9), float, ReadChar, WriteChar, anim_upper_action) \
-               CSQCMODEL_PROPERTY(BIT(9), float, ReadApproxPastTime, WriteApproxPastTime, anim_upper_time) \
+       CSQCMODEL_PROPERTY(BIT(7), int, ReadByte, WriteByte, anim_state) \
+       CSQCMODEL_PROPERTY(BIT(7), float, ReadApproxPastTime, WriteApproxPastTime, anim_time) \
+       CSQCMODEL_IF(!islocalplayer) \
+       CSQCMODEL_PROPERTY(BIT(8), float, ReadChar, WriteChar, anim_lower_action) \
+       CSQCMODEL_PROPERTY(BIT(8), float, ReadApproxPastTime, WriteApproxPastTime, anim_lower_time) \
+       CSQCMODEL_ENDIF \
+       CSQCMODEL_PROPERTY(BIT(9), float, ReadChar, WriteChar, anim_upper_action) \
+       CSQCMODEL_PROPERTY(BIT(9), float, ReadApproxPastTime, WriteApproxPastTime, anim_upper_time) \
        CSQCMODEL_ENDIF \
        CSQCMODEL_PROPERTY(BIT(10), float, ReadAngle, WriteAngle, v_angle_x) \
        CSQCMODEL_PROPERTY(BIT(11), int, ReadByte, WriteByte, traileffect) \
 #endif
 
 // mod must define:
-//vector PL_MIN  = ...;
-//vector PL_MAX  = ...;
-//vector PL_VIEW_OFS  = ...;
-//vector PL_CROUCH_MIN  = ...;
-//vector PL_CROUCH_MAX  = ...;
-//vector PL_CROUCH_VIEW_OFS  = ...;
+// vector PL_MIN  = ...;
+// vector PL_MAX  = ...;
+// vector PL_VIEW_OFS  = ...;
+// vector PL_CROUCH_MIN  = ...;
+// vector PL_CROUCH_MAX  = ...;
+// vector PL_CROUCH_VIEW_OFS  = ...;
 
 #ifdef SVQC
-# define CSQCMODEL_AUTOINIT(e) CSQCModel_LinkEntity(e)
-# define CSQCMODEL_AUTOUPDATE(e) CSQCModel_CheckUpdate(e)
+#define CSQCMODEL_AUTOINIT(e) CSQCModel_LinkEntity(e)
+#define CSQCMODEL_AUTOUPDATE(e) CSQCModel_CheckUpdate(e)
 #endif
 
 #define CSQCMODEL_EF_RESPAWNGHOST EF_SELECTABLE
index 0466c230ab3b709f40343ce3d2bba3c2c3442894..abe1765bd0ec648664c790f3a14f0805e07e2302 100644 (file)
@@ -14,13 +14,14 @@ REGISTRY_CHECK(Deathtypes)
 int dt_identity(int i) { return i; }
 
 #define REGISTER_DEATHTYPE(id, msg_death, msg_death_by, extra) \
-    REGISTER(Deathtypes, DEATH, id, m_id, new_pure(deathtype)) { \
-        this.m_id += DT_FIRST; \
-        this.nent_name = #id; \
-        this.death_msgextra = extra; \
-        this.death_msgself = msg_death; \
-        this.death_msgmurder = msg_death_by; \
-    }
+       REGISTER(Deathtypes, DEATH, id, m_id, new_pure(deathtype)) \
+       { \
+               this.m_id += DT_FIRST; \
+               this.nent_name = #id; \
+               this.death_msgextra = extra; \
+               this.death_msgself = msg_death; \
+               this.death_msgmurder = msg_death_by; \
+       }
 
 const int DEATH_WEAPONMASK = BITS(8);
 const int HITTYPE_SECONDARY = BITS(1) << 8;
@@ -34,14 +35,14 @@ const int DEATH_HITTYPEMASK = HITTYPE_SECONDARY | HITTYPE_SPLASH | HITTYPE_BOUNC
 // normal deaths begin
 const int DT_FIRST = BIT(13);
 
-#define DEATH_ISSPECIAL(t)      (t >= DT_FIRST)
-#define DEATH_IS(t, dt)         (DEATH_ISSPECIAL(t) && (Deathtypes_from(t - DT_FIRST)) == dt)
-#define DEATH_ENT(t)            (DEATH_ISSPECIAL(t) ?  (Deathtypes_from(t - DT_FIRST)) : NULL)
-#define DEATH_ISVEHICLE(t)      (DEATH_ISSPECIAL(t) && (Deathtypes_from(t - DT_FIRST)).death_msgextra == "vehicle")
-#define DEATH_ISTURRET(t)       (DEATH_ISSPECIAL(t) && (Deathtypes_from(t - DT_FIRST)).death_msgextra == "turret")
-#define DEATH_ISMONSTER(t)      (DEATH_ISSPECIAL(t) && (Deathtypes_from(t - DT_FIRST)).death_msgextra == "monster")
-#define DEATH_WEAPONOF(t)       (DEATH_ISSPECIAL(t) ? WEP_Null : Weapons_from((t) & DEATH_WEAPONMASK))
-#define DEATH_ISWEAPON(t, w)    (DEATH_WEAPONOF(t) == (w))
+#define DEATH_ISSPECIAL(t) (t >= DT_FIRST)
+#define DEATH_IS(t, dt) (DEATH_ISSPECIAL(t) && (Deathtypes_from(t - DT_FIRST)) == dt)
+#define DEATH_ENT(t) (DEATH_ISSPECIAL(t) ?  (Deathtypes_from(t - DT_FIRST)) : NULL)
+#define DEATH_ISVEHICLE(t) (DEATH_ISSPECIAL(t) && (Deathtypes_from(t - DT_FIRST)).death_msgextra == "vehicle")
+#define DEATH_ISTURRET(t) (DEATH_ISSPECIAL(t) && (Deathtypes_from(t - DT_FIRST)).death_msgextra == "turret")
+#define DEATH_ISMONSTER(t) (DEATH_ISSPECIAL(t) && (Deathtypes_from(t - DT_FIRST)).death_msgextra == "monster")
+#define DEATH_WEAPONOF(t) (DEATH_ISSPECIAL(t) ? WEP_Null : Weapons_from((t) & DEATH_WEAPONMASK))
+#define DEATH_ISWEAPON(t, w) (DEATH_WEAPONOF(t) == (w))
 
 string Deathtype_Name(int deathtype);
 
index 0200883b8dbbc89867e6c888b7489889bb606f54..1efdc722b087dda487e1852a849bdd5417a117db 100644 (file)
@@ -11,40 +11,44 @@ REGISTER_NET_TEMP(net_debug)
 #endif
 
 #ifdef CSQC
-       NET_HANDLE(net_debug, bool isNew)
-       {
-               Net_Accept(net_debug);
-               this.sv_entnum = ReadShort();
-               if (ReadByte()) make_pure(this);
-               this.origin_x = ReadCoord();
-               this.origin_y = ReadCoord();
-               this.origin_z = ReadCoord();
-               setorigin(this, this.origin);
-               this.debug = true;  // identify server entities by this
-               this.classname = strzone(ReadString());
-               this.sourceLoc = strzone(ReadString());
-               return true;
-       }
+NET_HANDLE(net_debug, bool isNew)
+{
+       Net_Accept(net_debug);
+       this.sv_entnum = ReadShort();
+       if (ReadByte()) { make_pure(this); }
+       this.origin_x = ReadCoord();
+       this.origin_y = ReadCoord();
+       this.origin_z = ReadCoord();
+       setorigin(this, this.origin);
+       this.debug = true; // identify server entities by this
+       this.classname = strzone(ReadString());
+       this.sourceLoc = strzone(ReadString());
+       return true;
+}
 #endif
 
 #ifdef SVQC
-       bool debug_send(entity this, entity to, int sf)
-       {
-               int channel = MSG_ONE;
-               msg_entity = to;
-               WriteHeader(channel, net_debug);
-               WriteShort(channel, etof(this));
-               WriteByte(channel, is_pure(this));
-               vector o = this.origin;
-               if (o == '0 0 0') // brushes
-                       o = (this.absmin + this.absmax) / 2;
-               if (this.tag_entity)
-                       o += this.tag_entity.origin;
-               WriteCoord(channel, o.x); WriteCoord(channel, o.y); WriteCoord(channel, o.z);
-               WriteString(channel, this.classname);
-               WriteString(channel, this.sourceLoc);
-               return true;
+bool debug_send(entity this, entity to, int sf)
+{
+       int channel = MSG_ONE;
+       msg_entity = to;
+       WriteHeader(channel, net_debug);
+       WriteShort(channel, etof(this));
+       WriteByte(channel, is_pure(this));
+       vector o = this.origin;
+       if (o == '0 0 0') { // brushes
+               o = (this.absmin + this.absmax) / 2;
+       }
+       if (this.tag_entity) {
+               o += this.tag_entity.origin;
        }
+       WriteCoord(channel, o.x);
+       WriteCoord(channel, o.y);
+       WriteCoord(channel, o.z);
+       WriteString(channel, this.classname);
+       WriteString(channel, this.sourceLoc);
+       return true;
+}
 #endif
 
 #if ENABLE_DEBUGDRAW
@@ -62,39 +66,34 @@ bool autocvar_debugdraw;
 #endif
 
 #ifdef CSQC
-       string autocvar_debugdraw_filter, autocvar_debugdraw_filterout;
-       .int debugdraw_last;
-       vector project_3d_to_2d(vector vec);
-       void Debug_Draw()
-       {
-               if (!autocvar_debugdraw) return;
-               static int debugdraw_frame;
-               ++debugdraw_frame;
-               const int sz = 8;
-               FOREACH_ENTITY(true, {
-                       if (it.debugdraw_last == debugdraw_frame) continue;
-                       int ofs = 0;
-                       FOREACH_ENTITY_RADIUS(it.origin, 100, it.debugdraw_last != debugdraw_frame, {
-                               it.debugdraw_last = debugdraw_frame;
-                               vector rgb = (it.debug) ? '0 0 1' : '1 0 0';
-                               if (autocvar_debugdraw_filterout != "" && strhasword(autocvar_debugdraw_filterout, it.classname)) continue;
-                               if (autocvar_debugdraw_filter != "" && !strhasword(autocvar_debugdraw_filter, it.classname)) continue;
-                               if (autocvar_debugdraw == 3)
-                               {
-                                       if (!it.entnum) continue;
-                               }
-                               if (autocvar_debugdraw == 4)
-                               {
-                                       if (it.origin) continue;
-                               }
-                               if (autocvar_debugdraw == 5)
-                               {
-                                       if (!it.debug) continue;
-                               }
-                               else if (autocvar_debugdraw > 5)
-                               {
-                                       bool flag = true;
-                                       do {
+string autocvar_debugdraw_filter, autocvar_debugdraw_filterout;
+.int debugdraw_last;
+vector project_3d_to_2d(vector vec);
+void Debug_Draw()
+{
+       if (!autocvar_debugdraw) { return; }
+       static int debugdraw_frame;
+       ++debugdraw_frame;
+       const int sz = 8;
+       FOREACH_ENTITY(true, {
+               if (it.debugdraw_last == debugdraw_frame) { continue; }
+               int ofs = 0;
+               FOREACH_ENTITY_RADIUS(it.origin, 100, it.debugdraw_last != debugdraw_frame, {
+                       it.debugdraw_last = debugdraw_frame;
+                       vector rgb = (it.debug) ? '0 0 1' : '1 0 0';
+                       if (autocvar_debugdraw_filterout != "" && strhasword(autocvar_debugdraw_filterout, it.classname)) { continue; }
+                       if (autocvar_debugdraw_filter != "" && !strhasword(autocvar_debugdraw_filter, it.classname)) { continue; }
+                       if (autocvar_debugdraw == 3) {
+                               if (!it.entnum) { continue; }
+                       }
+                       if (autocvar_debugdraw == 4) {
+                               if (it.origin) { continue; }
+                       }
+                       if (autocvar_debugdraw == 5) {
+                               if (!it.debug) { continue; }
+                       } else if (autocvar_debugdraw > 5) {
+                               bool flag = true;
+                               do {
 //                                             if (it.modelindex) break;
 //                                             if (it.absmin) break;
 //                                             if (it.absmax) break;
@@ -102,7 +101,7 @@ bool autocvar_debugdraw;
 //                                             if (it.drawmask) break;
 //                                             if (it.predraw) break;
 //                                             if (it.move_movetype) break;
-                                               if (it.solid) break;
+                                       if (it.solid) { break; }
 //                                             if (it.origin) break;
 //                                             if (it.oldorigin) break;
 //                                             if (it.velocity) break;
@@ -127,68 +126,64 @@ bool autocvar_debugdraw;
 //                                             if (it.flags) break;
 //                                             if (it.colormap) break;
 //                                             if (it.owner) break;
-                                               flag = false;
-                                       } while (0);
-                                       if (!flag) continue;
-                               }
-                               else if (is_pure(it))
-                               {
-                                       if (autocvar_debugdraw < 2) continue;
-                                       rgb.y = 1;
-                               }
-                               vector o = it.origin;
-                               if (it.tag_entity)
-                                       o += it.tag_entity.origin;
-                               vector pos = project_3d_to_2d(o);
-                               if (pos.z < 0) continue;
-                               pos.z = 0;
-                               pos.y += ofs * sz;
-                               drawcolorcodedstring2_builtin(pos,
-                                       sprintf("%d: '%s'@%s", (it.debug ? it.sv_entnum : etof(it)),
-                                       it.classname, it.sourceLoc),
-                                       sz * '1 1 0', rgb, 0.5, DRAWFLAG_NORMAL);
-                               ++ofs;
-            });
+                                       flag = false;
+                               } while (0);
+                               if (!flag) { continue; }
+                       } else if (is_pure(it)) {
+                               if (autocvar_debugdraw < 2) { continue; }
+                               rgb.y = 1;
+                       }
+                       vector o = it.origin;
+                       if (it.tag_entity) {
+                               o += it.tag_entity.origin;
+                       }
+                       vector pos = project_3d_to_2d(o);
+                       if (pos.z < 0) { continue; }
+                       pos.z = 0;
+                       pos.y += ofs * sz;
+                       drawcolorcodedstring2_builtin(pos,
+                       sprintf("%d: '%s'@%s", (it.debug ? it.sv_entnum : etof(it)),
+                       it.classname, it.sourceLoc),
+                       sz * '1 1 0', rgb, 0.5, DRAWFLAG_NORMAL);
+                       ++ofs;
                });
-       }
+       });
+}
 #endif
 
 #ifdef SVQC
-       COMMON_COMMAND(debugdraw_sv, "Dump all server entities")
-       {
-               switch (request)
+COMMON_COMMAND(debugdraw_sv, "Dump all server entities")
+{
+       switch (request) {
+               case CMD_REQUEST_COMMAND:
                {
-                       case CMD_REQUEST_COMMAND:
-                       {
-                               if (!autocvar_debugdraw) return;
-                               int n = 1000;
-                               int rem = n;
-                               for (entity e = NULL; (e = findfloat(e, debug, 0)) && rem > 0; )
-                               {
-                                       if (autocvar_debugdraw < 2 && is_pure(e)) continue;
-                                       debug_send(e, caller, 0);
-                                       e.debug = true;
-                                       --rem;
-                               }
-                               LOG_INFOF("%d server entities sent", n - rem);
-                               return;
+                       if (!autocvar_debugdraw) { return; }
+                       int n = 1000;
+                       int rem = n;
+                       for (entity e = NULL; (e = findfloat(e, debug, 0)) && rem > 0; ) {
+                               if (autocvar_debugdraw < 2 && is_pure(e)) { continue; }
+                               debug_send(e, caller, 0);
+                               e.debug = true;
+                               --rem;
                        }
+                       LOG_INFOF("%d server entities sent", n - rem);
+                       return;
+               }
 
-                       default:
-                       case CMD_REQUEST_USAGE:
-                       {
-                               LOG_INFO("Usage:^3 ", GetProgramCommandPrefix(), " debugdraw_sv");
-                               return;
-                       }
+               default:
+               case CMD_REQUEST_USAGE:
+               {
+                       LOG_INFO("Usage:^3 ", GetProgramCommandPrefix(), " debugdraw_sv");
+                       return;
                }
        }
+}
 #endif
 #endif
 
 GENERIC_COMMAND(bufstr_get, "Examine a string buffer object")
 {
-       switch (request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
                        int bufhandle = stof(argv(1));
@@ -209,8 +204,7 @@ GENERIC_COMMAND(bufstr_get, "Examine a string buffer object")
 
 GENERIC_COMMAND(version, "Print the current version")
 {
-       switch (request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
                        LOG_INFO(WATERMARK);
@@ -230,8 +224,7 @@ void(float bufhandle, string pattern, string antipattern) buf_cvarlist = #517;
 #endif
 GENERIC_COMMAND(cvar_localchanges, "Print locally changed cvars")
 {
-       switch (request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
                        string s = "";
@@ -242,8 +235,9 @@ GENERIC_COMMAND(cvar_localchanges, "Print locally changed cvars")
                                string k = bufstr_get(h, i);
                                string v = cvar_string(k);
                                string d = cvar_defstring(k);
-                               if (v == d)
+                               if (v == d) {
                                        continue;
+                               }
                                s = strcat(s, k, " \"", v, "\" // \"", d, "\"\n");
                        }
                        buf_del(h);
@@ -273,25 +267,27 @@ MUTATOR_HOOKFUNCTION(trace, SV_StartFrame)
        FOREACH_CLIENT(true, {
                bool skip = false;
                bool btn = PHYS_INPUT_BUTTON_HOOK(it);
-               if (btn == it.debug_trace_button) skip = true;
+               if (btn == it.debug_trace_button) { skip = true; }
                it.debug_trace_button = btn;
-               if (!btn || skip) continue;
+               if (!btn || skip) { continue; }
                FOREACH_ENTITY(true, {
-                   it.solid_prev = it.solid;
+                       it.solid_prev = it.solid;
                        it.solid = SOLID_BBOX;
                });
-               vector forward = '0 0 0'; vector right = '0 0 0'; vector up = '0 0 0';
+               vector forward = '0 0 0';
+               vector right = '0 0 0';
+               vector up = '0 0 0';
                MAKEVECTORS(makevectors, it.v_angle, forward, right, up);
                vector pos = it.origin + it.view_ofs;
                traceline(pos, pos + forward * max_shot_distance, MOVE_NORMAL, it);
                FOREACH_ENTITY(true, {
-                   it.solid = it.solid_prev;
-            it.solid_prev = 0;
+                       it.solid = it.solid_prev;
+                       it.solid_prev = 0;
                });
                entity e = trace_ent;
                int i = etof(e);
                STAT(TRACE_ENT, it) = i;
-               if (!e) continue;
+               if (!e) { continue; }
                setorigin(e, e.origin + '0 0 100');
                stuffcmd(it, sprintf("prvm_edict server %d\n", i));
        });
@@ -302,7 +298,7 @@ entity TRACE_ENT;
 void Trace_draw2d(entity this)
 {
        int e = STAT(TRACE_ENT);
-       if (!e) return;
+       if (!e) { return; }
        vector pos = '0 0 0';
        pos.y += vid_conheight / 2;
        drawstring(pos, sprintf("prvm_edict server %d", e), '10 10 0', '1 1 1', 1, DRAWFLAG_NORMAL);
@@ -319,8 +315,7 @@ STATIC_INIT(TRACE_ENT)
 
 GENERIC_COMMAND(find, "Search through entities for matching classname")
 {
-       switch (request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
                        int entcnt = 0;
@@ -329,15 +324,16 @@ GENERIC_COMMAND(find, "Search through entities for matching classname")
                                LOG_INFOF("%i (%s)", it, it.classname);
                                ++entcnt;
                        });
-                       if(entcnt)
+                       if (entcnt) {
                                LOG_INFOF("Found %d entities", entcnt);
+                       }
                        return;
                }
 
                default:
                {
                        LOG_INFO("Incorrect parameters for ^2find^7");
-        }
+               }
                case CMD_REQUEST_USAGE:
                {
                        LOG_INFO("Usage:^3 " GetProgramCommandPrefix() " find classname");
@@ -349,12 +345,11 @@ GENERIC_COMMAND(find, "Search through entities for matching classname")
 
 GENERIC_COMMAND(findat, "Search through entities for matching origin")
 {
-       switch (request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
-                   vector match = stov(argv(1));
-                   FOREACH_ENTITY_ORDERED(it.origin == match, LOG_INFOF("%i (%s)", it, it.classname));
+                       vector match = stov(argv(1));
+                       FOREACH_ENTITY_ORDERED(it.origin == match, LOG_INFOF("%i (%s)", it, it.classname));
                        return;
                }
 
index af41054e31c1c40c462ce041a2cc540fa1c570be..2fa98b8b2a3531bdc57d5e2b063736272aaf8063 100644 (file)
@@ -17,20 +17,21 @@ NET_HANDLE(net_effect, bool isNew)
        v_z = ReadCoord();
 
        bool use_vel = ReadByte();
-       if(use_vel)
-       {
+       if (use_vel) {
                vel_x = ReadCoord();
                vel_y = ReadCoord();
                vel_z = ReadCoord();
        }
 
-       if(!eff_trail)
+       if (!eff_trail) {
                eff_cnt = ReadByte();
+       }
 
-       if(eff_trail)
+       if (eff_trail) {
                WarpZone_TrailParticles(NULL, particleeffectnum(eff), v, vel);
-       else
+       } else {
                pointparticles(eff, v, vel, eff_cnt);
+       }
        return true;
 }
 #endif
@@ -49,26 +50,24 @@ bool Net_Write_Effect(entity this, entity client, int sf)
        WriteCoord(channel, this.eent_net_location_z);
 
        // attempt to save a tiny bit more bandwidth by not sending velocity if it isn't set
-       if(this.eent_net_velocity)
-       {
+       if (this.eent_net_velocity) {
                WriteByte(channel, true);
                WriteCoord(channel, this.eent_net_velocity_x);
                WriteCoord(channel, this.eent_net_velocity_y);
                WriteCoord(channel, this.eent_net_velocity_z);
-       }
-       else { WriteByte(channel, false); }
+       } else { WriteByte(channel, false); }
 
-       if(!this.eent_eff_trail) { WriteByte(channel, this.eent_net_count); }
+       if (!this.eent_eff_trail) { WriteByte(channel, this.eent_net_count); }
        return true;
 }
 
 void Send_Effect(entity eff, vector eff_loc, vector eff_vel, int eff_cnt)
 {
-       if(!eff) { return; }
-       if(!eff.eent_eff_trail && !eff_cnt) { return; } // effect has no count!
+       if (!eff) { return; }
+       if (!eff.eent_eff_trail && !eff_cnt) { return; } // effect has no count!
        entity net_eff = new_pure(net_effect);
        net_eff.owner = eff;
-       //net_eff.eent_broadcast = broadcast;
+       // net_eff.eent_broadcast = broadcast;
        net_eff.m_id = eff.m_id;
        net_eff.eent_net_velocity = eff_vel;
        net_eff.eent_net_location = eff_loc;
@@ -92,5 +91,5 @@ void Send_Effect_(string eff_name, vector eff_loc, vector eff_vel, int eff_cnt)
 #endif
 
 #if ENABLE_EFFECTINFO
-       #include "effectinfo.qc"
+#include "effectinfo.qc"
 #endif
index 7581618375bd5bfc0b949b0b023435db4bebdd8e..105d2c452a122f1bf14a3bc0d80e956450d4e450 100644 (file)
@@ -12,7 +12,7 @@ REGISTRY(Effects, BITS(8))
 REGISTER_REGISTRY(Effects)
 REGISTRY_CHECK(Effects)
 #define EFFECT(istrail, name, realname) \
-    REGISTER(Effects, EFFECT, name, m_id, Create_Effect_Entity(realname, istrail));
+       REGISTER(Effects, EFFECT, name, m_id, Create_Effect_Entity(realname, istrail));
 
 EFFECT(0, Null, string_null)
 #include "all.inc"
index 7802f0a91be3f3ad464e41b69ad62d1a2b09c0da..956456b559fa6be6417b9802329963fbaf411338 100644 (file)
@@ -4,16 +4,16 @@
        _particleeffectnum(e.eent_eff_name)
 
 #if defined(SVQC)
-       #define pointparticles(effect, org, vel, howmany) \
-               Send_Effect(effect, org, vel, howmany)
-       #define trailparticles(e, effect, org, vel) \
-               ((!e) ? Send_Effect(effect, org, vel, 0) \
-               : __trailparticles(e, particleeffectnum(effect), org, vel))
+#define pointparticles(effect, org, vel, howmany) \
+       Send_Effect(effect, org, vel, howmany)
+#define trailparticles(e, effect, org, vel) \
+       ((!e) ? Send_Effect(effect, org, vel, 0) \
+       : __trailparticles(e, particleeffectnum(effect), org, vel))
 #elif defined(CSQC)
-       #define pointparticles(effect, org, vel, howmany) \
-               __pointparticles(particleeffectnum(effect), org, vel, howmany)
-       #define trailparticles(e, effect, org, vel) \
-               __trailparticles(e, particleeffectnum(effect), org, vel)
+#define pointparticles(effect, org, vel, howmany) \
+       __pointparticles(particleeffectnum(effect), org, vel, howmany)
+#define trailparticles(e, effect, org, vel) \
+       __trailparticles(e, particleeffectnum(effect), org, vel)
 #endif
 
 .int m_id;
index 89f2bc42a7ad8b1898bac3d18d0906588858a973..2d180d8074823f8798bd9ae2a00b0533fff3f597 100644 (file)
 #include "effectinfo.qh"
 #define EFFECTINFO_PARSER(on, MY) \
-    on(type,                                        MY(type) \
-    ,{ demand(n == 1 && "type");                    MY(type) = strzone(argv(1)); \
-    }, sprintf(" %s",                               (MY(type)) \
-    )) \
-    on(airfriction,                                 MY(airfriction) \
-    ,{ demand(n == 1 && "airfriction");             MY(airfriction) = stof(argv(1)); \
-    }, sprintf(" %s",                               ftos(MY(airfriction)) \
-    )) \
-    on(alpha,                                       MY(alpha_min) ||                    MY(alpha_max) ||                MY(alpha_fade) \
-    ,{ demand(n == 3 && "alpha");                   MY(alpha_min) = stof(argv(1));      MY(alpha_max) = stof(argv(2));  MY(alpha_fade) = stof(argv(3)); \
-    }, sprintf(" %s %s %s",                         ftos(MY(alpha_min)),                ftos(MY(alpha_max)),            ftos(MY(alpha_fade)) \
-    )) \
-    on(blend,                                       MY(blend) \
-    ,{ demand(n == 1 && "blend");                   MY(blend) = strzone(argv(1)); \
-    }, sprintf(" %s",                               (MY(blend)) \
-    )) \
-    on(bounce,                                      MY(bounce) \
-    ,{ demand(n == 1 && "bounce");                  MY(bounce) = stof(argv(1)); \
-    }, sprintf(" %s",                               ftos(MY(bounce)) \
-    )) \
-    on(color,                                       MY(color_min) ||                    MY(color_max) \
-    ,{ demand(n == 2 && "color");                   MY(color_min) = strzone(argv(1));   MY(color_max) = strzone(argv(2)); \
-    }, sprintf(" %s %s",                            (MY(color_min)),                    (MY(color_max)) \
-    )) \
-    on(countabsolute,                               MY(countabsolute) \
-    ,{ demand(n == 1 && "countabsolute");           MY(countabsolute) = stof(argv(1)); \
-    }, sprintf(" %s",                               ftos(MY(countabsolute)) \
-    )) \
-    on(count,                                       MY(count) \
-    ,{ demand(n == 1 && "count");                   MY(count) = stof(argv(1)); \
-    }, sprintf(" %s",                               ftos(MY(count)) \
-    )) \
-    on(gravity,                                     MY(gravity) \
-    ,{ demand(n == 1 && "gravity");                 MY(gravity) = stof(argv(1)); \
-    }, sprintf(" %s",                               ftos(MY(gravity)) \
-    )) \
-    on(lightcolor,                                  MY(lightcolor) \
-    ,{ demand(n == 3 && "lightcolor");              MY(lightcolor) = vec3(stof(argv(1)), stof(argv(2)), stof(argv(3))); \
-    }, sprintf(" %v",                               (MY(lightcolor)) \
-    )) \
-    on(lightradiusfade,                             MY(lightradiusfade) \
-    ,{ demand(n == 1 && "lightradiusfade");         MY(lightradiusfade) = stof(argv(1)); \
-    }, sprintf(" %s",                               ftos(MY(lightradiusfade)) \
-    )) \
-    on(lightradius,                                 MY(lightradius) \
-    ,{ demand(n == 1 && "lightradius");             MY(lightradius) = stof(argv(1)); \
-    }, sprintf(" %s",                               ftos(MY(lightradius)) \
-    )) \
-    on(lighttime,                                   MY(lighttime) \
-    ,{ demand(n == 1 && "lighttime");               MY(lighttime) = stof(argv(1)); \
-    }, sprintf(" %s",                               ftos(MY(lighttime)) \
-    )) \
-    on(liquidfriction,                              MY(liquidfriction) \
-    ,{ demand(n == 1 && "liquidfriction");          MY(liquidfriction) = stof(argv(1)); \
-    }, sprintf(" %s",                               ftos(MY(liquidfriction)) \
-    )) \
-    on(notunderwater,                               MY(notunderwater) \
-    ,{ demand(n == 0 && "notunderwater");           MY(notunderwater) = true; \
-    }, "" \
-    ) \
-    on(orientation,                                 MY(orientation) \
-    ,{ demand(n == 1 && "orientation");             MY(orientation) = strzone(argv(1)); \
-    }, sprintf(" %s",                               (MY(orientation)) \
-    )) \
-    on(originjitter,                                MY(originjitter) \
-    ,{ demand(n == 3 && "originjitter");            MY(originjitter) = vec3(stof(argv(1)), stof(argv(2)), stof(argv(3))); \
-    }, sprintf(" %v",                               (MY(originjitter)) \
-    )) \
-    on(originoffset,                                MY(originoffset) \
-    ,{ demand(n == 3 && "originoffset");            MY(originoffset) = vec3(stof(argv(1)), stof(argv(2)), stof(argv(3))); \
-    }, sprintf(" %v",                               (MY(originoffset)) \
-    )) \
-    on(relativeoriginoffset,                        MY(relativeoriginoffset) \
-    ,{ demand(n == 3 && "relativeoriginoffset");    MY(relativeoriginoffset) = vec3(stof(argv(1)), stof(argv(2)), stof(argv(3))); \
-    }, sprintf(" %v",                               (MY(relativeoriginoffset)) \
-    )) \
-    on(relativevelocityoffset,                      MY(relativevelocityoffset) \
-    ,{ demand(n == 3 && "relativevelocityoffset");  MY(relativevelocityoffset) = vec3(stof(argv(1)), stof(argv(2)), stof(argv(3))); \
-    }, sprintf(" %v",                               (MY(relativevelocityoffset)) \
-    )) \
-    on(rotate,                                      MY(startangle_min) ||               MY(startangle_max) ||               MY(spin_min) ||                 MY(spin_max) \
-    ,{ demand(n == 4 && "rotate");                  MY(startangle_min) = stof(argv(1)); MY(startangle_max) = stof(argv(2)); MY(spin_min) = stof(argv(3));   MY(spin_max) = stof(argv(4)); \
-    }, sprintf(" %s %s %s %s",                      ftos(MY(startangle_min)),           ftos(MY(startangle_max)),           ftos(MY(spin_min)),             ftos(MY(spin_max)) \
-    )) \
-    on(sizeincrease,                                MY(sizeincrease) \
-    ,{ demand(n == 1 && "sizeincrease");            MY(sizeincrease) = stof(argv(1)); \
-    }, sprintf(" %s",                               ftos(MY(sizeincrease)) \
-    )) \
-    on(size,                                        MY(size_min) ||                     MY(size_max) \
-    ,{ demand(n == 2 && "size");                    MY(size_min) = stof(argv(1));       MY(size_max) = stof(argv(2)); \
-    }, sprintf(" %s %s",                            ftos(MY(size_min)),                 ftos(MY(size_max)) \
-    )) \
-    on(staincolor,                                  MY(staincolor_min) ||                   MY(staincolor_max) \
-    ,{ demand(n == 2 && "staincolor");              MY(staincolor_min) = strzone(argv(1));  MY(staincolor_max) = strzone(argv(2)); \
-    }, sprintf(" %s %s",                            (MY(staincolor_min)),                   (MY(staincolor_max)) \
-    )) \
-    on(stainsize,                                   MY(stainsize_min) ||                MY(stainsize_max) \
-    ,{ demand(n == 2 && "stainsize");               MY(stainsize_min) = stof(argv(1));  MY(stainsize_max) = stof(argv(2)); \
-    }, sprintf(" %s %s",                            ftos(MY(stainsize_min)),            ftos(MY(stainsize_max)) \
-    )) \
-    on(staintex,                                    MY(staintex_min) ||                 MY(staintex_max) \
-    ,{ demand(n == 2 && "staintex");                MY(staintex_min) = stof(argv(1));   MY(staintex_max) = stof(argv(2)); \
-    }, sprintf(" %s %s",                            ftos(MY(staintex_min)),             ftos(MY(staintex_max)) \
-    )) \
-    on(stretchfactor,                               MY(stretchfactor) \
-    ,{ demand(n == 1 && "stretchfactor");           MY(stretchfactor) = stof(argv(1)); \
-    }, sprintf(" %s",                               ftos(MY(stretchfactor)) \
-    )) \
-    on(tex,                                         MY(tex_min) ||                      MY(tex_max) \
-    ,{ demand(n == 2 && "tex");                     MY(tex_min) = stof(argv(1));        MY(tex_max) = stof(argv(2)); \
-    }, sprintf(" %s %s",                            ftos(MY(tex_min)),                  ftos(MY(tex_max)) \
-    )) \
-    on(time,                                        MY(time_min) ||                     MY(time_max) \
-    ,{ demand(n == 2 && "time");                    MY(time_min) = stof(argv(1));       MY(time_max) = stof(argv(2)); \
-    }, sprintf(" %s %s",                            ftos(MY(time_min)),                 ftos(MY(time_max)) \
-    )) \
-    on(trailspacing,                                MY(trailspacing) \
-    ,{ demand(n == 1 && "trailspacing");            MY(trailspacing) = stof(argv(1)); \
-    }, sprintf(" %s",                               ftos(MY(trailspacing)) \
-    )) \
-    on(underwater,                                  MY(underwater) \
-    ,{ demand(n == 0 && "underwater");              MY(underwater) = true; \
-    }, "" \
-    ) \
-    on(velocityjitter,                              MY(velocityjitter) \
-    ,{ demand(n == 3 && "velocityjitter");          MY(velocityjitter) = vec3(stof(argv(1)), stof(argv(2)), stof(argv(3))); \
-    }, sprintf(" %v",                               (MY(velocityjitter)) \
-    )) \
-    on(velocitymultiplier,                          MY(velocitymultiplier) \
-    ,{ demand(n == 1 && "velocitymultiplier");      MY(velocitymultiplier) = stof(argv(1)); \
-    }, sprintf(" %s",                               ftos(MY(velocitymultiplier)) \
-    )) \
-    on(velocityoffset,                              MY(velocityoffset) \
-    ,{ demand(n == 3 && "velocityoffset");          MY(velocityoffset) = vec3(stof(argv(1)), stof(argv(2)), stof(argv(3))); \
-    }, sprintf(" %v",                               (MY(velocityoffset)) \
-    )) \
-    /**/
+       on(type,                                        MY(type) \
+       , { demand(n == 1 && "type");                    MY(type) = strzone(argv(1)); }, sprintf(" %s",                               (MY(type)) \
+       )) \
+       on(airfriction,                                 MY(airfriction) \
+       , { demand(n == 1 && "airfriction");             MY(airfriction) = stof(argv(1)); }, sprintf(" %s",                               ftos(MY(airfriction)) \
+       )) \
+       on(alpha,                                       MY(alpha_min) ||                    MY(alpha_max) ||                MY(alpha_fade) \
+       , { demand(n == 3 && "alpha");                   MY(alpha_min) = stof(argv(1));      MY(alpha_max) = stof(argv(2));  MY(alpha_fade) = stof(argv(3)); }, sprintf(" %s %s %s",                         ftos(MY(alpha_min)),                ftos(MY(alpha_max)),            ftos(MY(alpha_fade)) \
+       )) \
+       on(blend,                                       MY(blend) \
+       , { demand(n == 1 && "blend");                   MY(blend) = strzone(argv(1)); }, sprintf(" %s",                               (MY(blend)) \
+       )) \
+       on(bounce,                                      MY(bounce) \
+       , { demand(n == 1 && "bounce");                  MY(bounce) = stof(argv(1)); }, sprintf(" %s",                               ftos(MY(bounce)) \
+       )) \
+       on(color,                                       MY(color_min) ||                    MY(color_max) \
+       , { demand(n == 2 && "color");                   MY(color_min) = strzone(argv(1));   MY(color_max) = strzone(argv(2)); }, sprintf(" %s %s",                            (MY(color_min)),                    (MY(color_max)) \
+       )) \
+       on(countabsolute,                               MY(countabsolute) \
+       , { demand(n == 1 && "countabsolute");           MY(countabsolute) = stof(argv(1)); }, sprintf(" %s",                               ftos(MY(countabsolute)) \
+       )) \
+       on(count,                                       MY(count) \
+       , { demand(n == 1 && "count");                   MY(count) = stof(argv(1)); }, sprintf(" %s",                               ftos(MY(count)) \
+       )) \
+       on(gravity,                                     MY(gravity) \
+       , { demand(n == 1 && "gravity");                 MY(gravity) = stof(argv(1)); }, sprintf(" %s",                               ftos(MY(gravity)) \
+       )) \
+       on(lightcolor,                                  MY(lightcolor) \
+       , { demand(n == 3 && "lightcolor");              MY(lightcolor) = vec3(stof(argv(1)), stof(argv(2)), stof(argv(3))); }, sprintf(" %v",                               (MY(lightcolor)) \
+       )) \
+       on(lightradiusfade,                             MY(lightradiusfade) \
+       , { demand(n == 1 && "lightradiusfade");         MY(lightradiusfade) = stof(argv(1)); }, sprintf(" %s",                               ftos(MY(lightradiusfade)) \
+       )) \
+       on(lightradius,                                 MY(lightradius) \
+       , { demand(n == 1 && "lightradius");             MY(lightradius) = stof(argv(1)); }, sprintf(" %s",                               ftos(MY(lightradius)) \
+       )) \
+       on(lighttime,                                   MY(lighttime) \
+       , { demand(n == 1 && "lighttime");               MY(lighttime) = stof(argv(1)); }, sprintf(" %s",                               ftos(MY(lighttime)) \
+       )) \
+       on(liquidfriction,                              MY(liquidfriction) \
+       , { demand(n == 1 && "liquidfriction");          MY(liquidfriction) = stof(argv(1)); }, sprintf(" %s",                               ftos(MY(liquidfriction)) \
+       )) \
+       on(notunderwater,                               MY(notunderwater) \
+       , { demand(n == 0 && "notunderwater");           MY(notunderwater) = true; }, "" \
+       ) \
+       on(orientation,                                 MY(orientation) \
+       , { demand(n == 1 && "orientation");             MY(orientation) = strzone(argv(1)); }, sprintf(" %s",                               (MY(orientation)) \
+       )) \
+       on(originjitter,                                MY(originjitter) \
+       , { demand(n == 3 && "originjitter");            MY(originjitter) = vec3(stof(argv(1)), stof(argv(2)), stof(argv(3))); }, sprintf(" %v",                               (MY(originjitter)) \
+       )) \
+       on(originoffset,                                MY(originoffset) \
+       , { demand(n == 3 && "originoffset");            MY(originoffset) = vec3(stof(argv(1)), stof(argv(2)), stof(argv(3))); }, sprintf(" %v",                               (MY(originoffset)) \
+       )) \
+       on(relativeoriginoffset,                        MY(relativeoriginoffset) \
+       , { demand(n == 3 && "relativeoriginoffset");    MY(relativeoriginoffset) = vec3(stof(argv(1)), stof(argv(2)), stof(argv(3))); }, sprintf(" %v",                               (MY(relativeoriginoffset)) \
+       )) \
+       on(relativevelocityoffset,                      MY(relativevelocityoffset) \
+       , { demand(n == 3 && "relativevelocityoffset");  MY(relativevelocityoffset) = vec3(stof(argv(1)), stof(argv(2)), stof(argv(3))); }, sprintf(" %v",                               (MY(relativevelocityoffset)) \
+       )) \
+       on(rotate,                                      MY(startangle_min) ||               MY(startangle_max) ||               MY(spin_min) ||                 MY(spin_max) \
+       , { demand(n == 4 && "rotate");                  MY(startangle_min) = stof(argv(1)); MY(startangle_max) = stof(argv(2)); MY(spin_min) = stof(argv(3));   MY(spin_max) = stof(argv(4)); }, sprintf(" %s %s %s %s",                      ftos(MY(startangle_min)),           ftos(MY(startangle_max)),           ftos(MY(spin_min)),             ftos(MY(spin_max)) \
+       )) \
+       on(sizeincrease,                                MY(sizeincrease) \
+       , { demand(n == 1 && "sizeincrease");            MY(sizeincrease) = stof(argv(1)); }, sprintf(" %s",                               ftos(MY(sizeincrease)) \
+       )) \
+       on(size,                                        MY(size_min) ||                     MY(size_max) \
+       , { demand(n == 2 && "size");                    MY(size_min) = stof(argv(1));       MY(size_max) = stof(argv(2)); }, sprintf(" %s %s",                            ftos(MY(size_min)),                 ftos(MY(size_max)) \
+       )) \
+       on(staincolor,                                  MY(staincolor_min) ||                   MY(staincolor_max) \
+       , { demand(n == 2 && "staincolor");              MY(staincolor_min) = strzone(argv(1));  MY(staincolor_max) = strzone(argv(2)); }, sprintf(" %s %s",                            (MY(staincolor_min)),                   (MY(staincolor_max)) \
+       )) \
+       on(stainsize,                                   MY(stainsize_min) ||                MY(stainsize_max) \
+       , { demand(n == 2 && "stainsize");               MY(stainsize_min) = stof(argv(1));  MY(stainsize_max) = stof(argv(2)); }, sprintf(" %s %s",                            ftos(MY(stainsize_min)),            ftos(MY(stainsize_max)) \
+       )) \
+       on(staintex,                                    MY(staintex_min) ||                 MY(staintex_max) \
+       , { demand(n == 2 && "staintex");                MY(staintex_min) = stof(argv(1));   MY(staintex_max) = stof(argv(2)); }, sprintf(" %s %s",                            ftos(MY(staintex_min)),             ftos(MY(staintex_max)) \
+       )) \
+       on(stretchfactor,                               MY(stretchfactor) \
+       , { demand(n == 1 && "stretchfactor");           MY(stretchfactor) = stof(argv(1)); }, sprintf(" %s",                               ftos(MY(stretchfactor)) \
+       )) \
+       on(tex,                                         MY(tex_min) ||                      MY(tex_max) \
+       , { demand(n == 2 && "tex");                     MY(tex_min) = stof(argv(1));        MY(tex_max) = stof(argv(2)); }, sprintf(" %s %s",                            ftos(MY(tex_min)),                  ftos(MY(tex_max)) \
+       )) \
+       on(time,                                        MY(time_min) ||                     MY(time_max) \
+       , { demand(n == 2 && "time");                    MY(time_min) = stof(argv(1));       MY(time_max) = stof(argv(2)); }, sprintf(" %s %s",                            ftos(MY(time_min)),                 ftos(MY(time_max)) \
+       )) \
+       on(trailspacing,                                MY(trailspacing) \
+       , { demand(n == 1 && "trailspacing");            MY(trailspacing) = stof(argv(1)); }, sprintf(" %s",                               ftos(MY(trailspacing)) \
+       )) \
+       on(underwater,                                  MY(underwater) \
+       , { demand(n == 0 && "underwater");              MY(underwater) = true; }, "" \
+       ) \
+       on(velocityjitter,                              MY(velocityjitter) \
+       , { demand(n == 3 && "velocityjitter");          MY(velocityjitter) = vec3(stof(argv(1)), stof(argv(2)), stof(argv(3))); }, sprintf(" %v",                               (MY(velocityjitter)) \
+       )) \
+       on(velocitymultiplier,                          MY(velocitymultiplier) \
+       , { demand(n == 1 && "velocitymultiplier");      MY(velocitymultiplier) = stof(argv(1)); }, sprintf(" %s",                               ftos(MY(velocitymultiplier)) \
+       )) \
+       on(velocityoffset,                              MY(velocityoffset) \
+       , { demand(n == 3 && "velocityoffset");          MY(velocityoffset) = vec3(stof(argv(1)), stof(argv(2)), stof(argv(3))); }, sprintf(" %v",                               (MY(velocityoffset)) \
+       )) \
+       /**/
 
 CLASS(EffectInfo, Object)
-    ATTRIB(EffectInfo, effectinfo_name, string);
-    CONSTRUCTOR(EffectInfo, string s) {
-        CONSTRUCT(EffectInfo);
-        this.effectinfo_name = s;
-    }
+       ATTRIB(EffectInfo, effectinfo_name, string);
+       CONSTRUCTOR(EffectInfo, string s)
+       {
+               CONSTRUCT(EffectInfo);
+               this.effectinfo_name = s;
+       }
 
-    #define FIELDS(MY) \
-    MY(airfriction, float, 0) \
-    MY(alpha_min, float, 0) \
-    MY(alpha_max, float, 0) \
-    MY(alpha_fade, float, 0) \
-    MY(blend, string, string_null) \
-    MY(bounce, float, 0) \
-    MY(color_min, string, string_null) \
-    MY(color_max, string, string_null) \
-    MY(countabsolute, float, 0) \
-    MY(count, float, 0) \
-    MY(gravity, float, 0) \
-    MY(lightcolor, vector, '0 0 0') \
-    MY(lightradiusfade, float, 0) \
-    MY(lightradius, float, 0) \
-    MY(lighttime, float, 0) \
-    MY(liquidfriction, float, 0) \
-    MY(notunderwater, bool, false) \
-    MY(orientation, string, string_null) \
-    MY(originjitter, vector, '0 0 0') \
-    MY(originoffset, vector, '0 0 0') \
-    MY(relativeoriginoffset, vector, '0 0 0') \
-    MY(relativevelocityoffset, vector, '0 0 0') \
-    MY(startangle_min, float, 0) \
-    MY(startangle_max, float, 0) \
-    MY(spin_min, float, 0) \
-    MY(spin_max, float, 0) \
-    MY(sizeincrease, float, 0) \
-    MY(size_min, float, 0) \
-    MY(size_max, float, 0) \
-    MY(staincolor_min, string, string_null) \
-    MY(staincolor_max, string, string_null) \
-    MY(stainsize_min, float, 0) \
-    MY(stainsize_max, float, 0) \
-    MY(staintex_min, float, 0) \
-    MY(staintex_max, float, 0) \
-    MY(stretchfactor, float, 0) \
-    MY(tex_min, float, 0) \
-    MY(tex_max, float, 0) \
-    MY(time_min, float, 0) \
-    MY(time_max, float, 0) \
-    MY(trailspacing, float, 0) \
-    MY(type, string, string_null) \
-    MY(underwater, bool, false) \
-    MY(velocityjitter, vector, '0 0 0') \
-    MY(velocitymultiplier, float, 0) \
-    MY(velocityoffset, vector, '0 0 0') \
-    /**/
+#define FIELDS(MY) \
+       MY(airfriction, float, 0) \
+       MY(alpha_min, float, 0) \
+       MY(alpha_max, float, 0) \
+       MY(alpha_fade, float, 0) \
+       MY(blend, string, string_null) \
+       MY(bounce, float, 0) \
+       MY(color_min, string, string_null) \
+       MY(color_max, string, string_null) \
+       MY(countabsolute, float, 0) \
+       MY(count, float, 0) \
+       MY(gravity, float, 0) \
+       MY(lightcolor, vector, '0 0 0') \
+       MY(lightradiusfade, float, 0) \
+       MY(lightradius, float, 0) \
+       MY(lighttime, float, 0) \
+       MY(liquidfriction, float, 0) \
+       MY(notunderwater, bool, false) \
+       MY(orientation, string, string_null) \
+       MY(originjitter, vector, '0 0 0') \
+       MY(originoffset, vector, '0 0 0') \
+       MY(relativeoriginoffset, vector, '0 0 0') \
+       MY(relativevelocityoffset, vector, '0 0 0') \
+       MY(startangle_min, float, 0) \
+       MY(startangle_max, float, 0) \
+       MY(spin_min, float, 0) \
+       MY(spin_max, float, 0) \
+       MY(sizeincrease, float, 0) \
+       MY(size_min, float, 0) \
+       MY(size_max, float, 0) \
+       MY(staincolor_min, string, string_null) \
+       MY(staincolor_max, string, string_null) \
+       MY(stainsize_min, float, 0) \
+       MY(stainsize_max, float, 0) \
+       MY(staintex_min, float, 0) \
+       MY(staintex_max, float, 0) \
+       MY(stretchfactor, float, 0) \
+       MY(tex_min, float, 0) \
+       MY(tex_max, float, 0) \
+       MY(time_min, float, 0) \
+       MY(time_max, float, 0) \
+       MY(trailspacing, float, 0) \
+       MY(type, string, string_null) \
+       MY(underwater, bool, false) \
+       MY(velocityjitter, vector, '0 0 0') \
+       MY(velocitymultiplier, float, 0) \
+       MY(velocityoffset, vector, '0 0 0') \
+       /**/
 
-    #define MY(f, type, val) ATTRIB(EffectInfo, effectinfo_##f, type, val);
-    FIELDS(MY)
-    #undef MY
+#define MY(f, type, val) ATTRIB(EffectInfo, effectinfo_##f, type, val);
+       FIELDS(MY)
+#undef MY
 
-    METHOD(EffectInfo, describe, string(EffectInfo this))
-    {
-        TC(EffectInfo, this);
-        string s = sprintf("SUB(%s) {\n", this.effectinfo_name);
-        #define str_bool(it) (it ? "true" : "false")
-        #define str_float(it) ftos(it)
-        #define str_vector(it) vtos(it)
-        #define str_string(it) strcat("\"", it, "\"")
-        #define p(f, type, default) if (this.effectinfo_##f) { s = strcat(s, "\t", "MY("#f") = ", str_##type(this.effectinfo_##f), ";\n"); }
-        FIELDS(p)
-        #undef p
-        return strcat(s, "}\n");
-    }
+       METHOD(EffectInfo, describe, string(EffectInfo this))
+       {
+               TC(EffectInfo, this);
+               string s = sprintf("SUB(%s) {\n", this.effectinfo_name);
+#define str_bool(it) (it ? "true" : "false")
+#define str_float(it) ftos(it)
+#define str_vector(it) vtos(it)
+#define str_string(it) strcat("\"", it, "\"")
+#define p(f, type, default) if (this.effectinfo_##f) { s = strcat(s, "\t", "MY(" #f ") = ", str_##type(this.effectinfo_##f), ";\n"); }
+               FIELDS(p)
+#undef p
+               return strcat(s, "}\n");
+       }
 
-    METHOD(EffectInfo, dump, string(EffectInfo this))
-    {
-        TC(EffectInfo, this);
-        string s = sprintf("effect %s\n", this.effectinfo_name);
-        #define MY(f) this.effectinfo_##f
-        #define p(k, isset, parse, unparse) if (isset) { s = strcat(s, "\t", #k, unparse, "\n"); }
-        EFFECTINFO_PARSER(p, MY)
-        #undef p
-        #undef MY
-        return s;
-    }
+       METHOD(EffectInfo, dump, string(EffectInfo this))
+       {
+               TC(EffectInfo, this);
+               string s = sprintf("effect %s\n", this.effectinfo_name);
+#define MY(f) this.effectinfo_##f
+#define p(k, isset, parse, unparse) if (isset) { s = strcat(s, "\t", #k, unparse, "\n"); }
+               EFFECTINFO_PARSER(p, MY)
+#undef p
+#undef MY
+               return s;
+       }
 
-    #undef FIELDS
+#undef FIELDS
 ENDCLASS(EffectInfo)
 
 CLASS(EffectInfoGroup, Object)
-    ATTRIBARRAY(EffectInfoGroup, children, EffectInfo, 16);
-    ATTRIB(EffectInfoGroup, children_count, int, 0);
+       ATTRIBARRAY(EffectInfoGroup, children, EffectInfo, 16);
+       ATTRIB(EffectInfoGroup, children_count, int, 0);
 ENDCLASS(EffectInfoGroup)
 
 void effectinfo_read()
 {
-    int fh = fopen("effectinfo.txt", FILE_READ);
-    EffectInfo info = NULL;
-    for (string line; (line = fgets(fh)); ) {
-        int n = tokenize_console(line);
-        if (n == 0) continue;
-        n--;
-        string k = argv(0);
-        if (k == "effect") {
-            demand(n == 1);
-            info = NEW(EffectInfo, strzone(argv(1)));
-            continue;
-        }
-        demand(info != NULL);
-        switch (k) {
-            #define MY(f) info.effectinfo_##f
-            #define p(k, isset, parse, unparse) case #k: parse break;
-            EFFECTINFO_PARSER(p, MY)
-            #undef p
-            #undef MY
-            default:
-                LOG_WARNF("Unknown property '%s'", k);
-                break;
-        }
-    }
-    fclose(fh);
+       int fh = fopen("effectinfo.txt", FILE_READ);
+       EffectInfo info = NULL;
+       for (string line; (line = fgets(fh)); ) {
+               int n = tokenize_console(line);
+               if (n == 0) { continue; }
+               n--;
+               string k = argv(0);
+               if (k == "effect") {
+                       demand(n == 1);
+                       info = NEW(EffectInfo, strzone(argv(1)));
+                       continue;
+               }
+               demand(info != NULL);
+               switch (k) {
+#define MY(f) info.effectinfo_##f
+#define p(k, isset, parse, unparse) case #k: parse break;
+                       EFFECTINFO_PARSER(p, MY)
+#undef p
+#undef MY
+                       default:
+                               LOG_WARNF("Unknown property '%s'", k);
+                               break;
+               }
+       }
+       fclose(fh);
 }
 
 void effectinfo_dump(int fh, bool alsoprint)
 {
-    #define WRITE(s) MACRO_BEGIN \
-        fputs(fh, s); \
-        if (alsoprint) LOG_INFO(s); \
-    MACRO_END
-    WRITE("// ********************************************** //\n");
-    WRITE("// ** WARNING - DO NOT MANUALLY EDIT THIS FILE ** //\n");
-    WRITE("// **                                          ** //\n");
-    WRITE("// **  This file is automatically generated by ** //\n");
-    WRITE("// **  code with the command 'dumpeffectinfo'. ** //\n");
-    WRITE("// **                                          ** //\n");
-    WRITE("// **  If you modify an effect, please         ** //\n");
-    WRITE("// **  regenerate this file with that command. ** //\n");
-    WRITE("// **                                          ** //\n");
-    WRITE("// ********************************************** //\n");
-    WRITE("\n");
+#define WRITE(s) \
+       MACRO_BEGIN \
+               fputs(fh, s); \
+               if (alsoprint) { LOG_INFO(s); } \
+       MACRO_END
+       WRITE("// ********************************************** //\n");
+       WRITE("// ** WARNING - DO NOT MANUALLY EDIT THIS FILE ** //\n");
+       WRITE("// **                                          ** //\n");
+       WRITE("// **  This file is automatically generated by ** //\n");
+       WRITE("// **  code with the command 'dumpeffectinfo'. ** //\n");
+       WRITE("// **                                          ** //\n");
+       WRITE("// **  If you modify an effect, please         ** //\n");
+       WRITE("// **  regenerate this file with that command. ** //\n");
+       WRITE("// **                                          ** //\n");
+       WRITE("// ********************************************** //\n");
+       WRITE("\n");
 
-    for (EffectInfo it = NULL; (it = findfloat(it, instanceOfEffectInfo, true)); ) {
-        if (it.classname == "vtbl") continue;
-        string s = it.dump(it);
-        WRITE(s);
-    }
-    #undef WRITE
+       for (EffectInfo it = NULL; (it = findfloat(it, instanceOfEffectInfo, true)); ) {
+               if (it.classname == "vtbl") { continue; }
+               string s = it.dump(it);
+               WRITE(s);
+       }
+#undef WRITE
 }
 
 GENERIC_COMMAND(dumpeffectinfo, "Dump all effectinfo to effectinfo_dump.txt")
 {
-    switch (request) {
-        case CMD_REQUEST_COMMAND: {
-            string filename = argv(1);
+       switch (request) {
+               case CMD_REQUEST_COMMAND:
+               {
+                       string filename = argv(1);
                        bool alsoprint = false;
-            if (filename == "") {
-                filename = "effectinfo_dump.txt";
-                alsoprint = false;
-            } else if (filename == "-") {
-                filename = "effectinfo_dump.txt";
-                alsoprint = true;
-            }
-            int fh = fopen(filename, FILE_WRITE);
-            if (fh >= 0) {
-               effectinfo_dump(fh, alsoprint);
-                LOG_INFOF("Dumping effectinfo... File located at ^2data/data/%s^7.", filename);
+                       if (filename == "") {
+                               filename = "effectinfo_dump.txt";
+                               alsoprint = false;
+                       } else if (filename == "-") {
+                               filename = "effectinfo_dump.txt";
+                               alsoprint = true;
+                       }
+                       int fh = fopen(filename, FILE_WRITE);
+                       if (fh >= 0) {
+                               effectinfo_dump(fh, alsoprint);
+                               LOG_INFOF("Dumping effectinfo... File located at ^2data/data/%s^7.", filename);
                                LOG_INFOF("Reload with ^2cl_particles_reloadeffects data/%s^7.", filename);
-                fclose(fh);
-            } else {
-                LOG_WARNF("Could not open file '%s'!", filename);
-            }
-            return;
-        }
-        default:
-        case CMD_REQUEST_USAGE: {
-            LOG_INFO("Usage:^3 ", GetProgramCommandPrefix(), " dumpeffectinfo [filename]");
-            LOG_INFO("  Where 'filename' is the file to write (default is effectinfo_dump.txt),");
-            LOG_INFO("  if supplied with '-' output to console as well as default,");
-            LOG_INFO("  if left blank, it will only write to default.");
-            return;
-        }
-    }
+                               fclose(fh);
+                       } else {
+                               LOG_WARNF("Could not open file '%s'!", filename);
+                       }
+                       return;
+               }
+               default:
+               case CMD_REQUEST_USAGE:
+               {
+                       LOG_INFO("Usage:^3 ", GetProgramCommandPrefix(), " dumpeffectinfo [filename]");
+                       LOG_INFO("  Where 'filename' is the file to write (default is effectinfo_dump.txt),");
+                       LOG_INFO("  if supplied with '-' output to console as well as default,");
+                       LOG_INFO("  if left blank, it will only write to default.");
+                       return;
+               }
+       }
 }
 
 
@@ -327,16 +297,20 @@ REGISTRY(EffectInfos, BITS(9))
 #define EffectInfos_from(i) _EffectInfos_from(i, NULL)
 REGISTER_REGISTRY(EffectInfos)
 #define EFFECTINFO(name) \
-    [[accumulate]] void effectinfo_##name(EffectInfoGroup parent, EffectInfo this) { } \
-    REGISTER(EffectInfos, EFFECTINFO, name, m_id, NEW(EffectInfoGroup)) { \
-        effectinfo_##name(this, NULL); \
-    }
+       [[accumulate]] void effectinfo_##name(EffectInfoGroup parent, EffectInfo this) {} \
+       REGISTER(EffectInfos, EFFECTINFO, name, m_id, NEW(EffectInfoGroup)) \
+       { \
+               effectinfo_##name(this, NULL); \
+       }
 
 #define MY(f) this.effectinfo_##f
 #define DEF(name) EFFECTINFO(name)
 #define SUB(name) \
-    [[accumulate]] void effectinfo_##name(EffectInfoGroup parent, EffectInfo this) { parent = EFFECTINFO_##name; parent.children[parent.children_count++] = this = NEW(EffectInfo, #name); } \
-    [[accumulate]] void effectinfo_##name(EffectInfoGroup parent, EffectInfo this)
+       [[accumulate]] void effectinfo_##name(EffectInfoGroup parent, EffectInfo this) \
+       { \
+               parent = EFFECTINFO_##name; parent.children[parent.children_count++] = this = NEW(EffectInfo, #name); \
+       } \
+       [[accumulate]] void effectinfo_##name(EffectInfoGroup parent, EffectInfo this)
 #include "effectinfo.inc"
 #undef MY
 #undef DEF
index 60f9633027eb2125d0278bd6abaaa2cb9ed1505a..f133be8d8f2e8ce87baf565b87c44ba77c7b030f 100644 (file)
@@ -12,164 +12,161 @@ REGISTER_NET_TEMP(casings)
 #ifdef SVQC
 void SpawnCasing(vector vel, float randomvel, vector ang, vector avel, float randomavel, int casingtype, entity casingowner, .entity weaponentity)
 {
-    entity wep = casingowner.(weaponentity);
-    vector org = casingowner.origin + casingowner.view_ofs + wep.spawnorigin.x * v_forward - wep.spawnorigin.y * v_right + wep.spawnorigin.z * v_up;
-
-    if (!sound_allowed(MSG_BROADCAST, casingowner))
-        casingtype |= 0x80;
-
-    WriteHeader(MSG_ALL, casings);
-    WriteByte(MSG_ALL, casingtype);
-    WriteCoord(MSG_ALL, org.x);
-    WriteCoord(MSG_ALL, org.y);
-    WriteCoord(MSG_ALL, org.z);
-    WriteShort(MSG_ALL, compressShortVector(vel)); // actually compressed velocity
-    WriteByte(MSG_ALL, ang.x * 256 / 360);
-    WriteByte(MSG_ALL, ang.y * 256 / 360);
-    WriteByte(MSG_ALL, ang.z * 256 / 360);
+       entity wep = casingowner.(weaponentity);
+       vector org = casingowner.origin + casingowner.view_ofs + wep.spawnorigin.x * v_forward - wep.spawnorigin.y * v_right + wep.spawnorigin.z * v_up;
+
+       if (!sound_allowed(MSG_BROADCAST, casingowner)) {
+               casingtype |= 0x80;
+       }
+
+       WriteHeader(MSG_ALL, casings);
+       WriteByte(MSG_ALL, casingtype);
+       WriteCoord(MSG_ALL, org.x);
+       WriteCoord(MSG_ALL, org.y);
+       WriteCoord(MSG_ALL, org.z);
+       WriteShort(MSG_ALL, compressShortVector(vel)); // actually compressed velocity
+       WriteByte(MSG_ALL, ang.x * 256 / 360);
+       WriteByte(MSG_ALL, ang.y * 256 / 360);
+       WriteByte(MSG_ALL, ang.z * 256 / 360);
 }
 #endif
 
 #ifdef CSQC
 entityclass(Casing);
-class(Casing) .float alpha;
-class(Casing) .bool silent;
-class(Casing) .int state;
-class(Casing) .float cnt;
+class(Casing).float alpha;
+class(Casing).bool silent;
+class(Casing).int state;
+class(Casing).float cnt;
 
 void Casing_Delete(entity this)
 {
-    delete(this);
+       delete(this);
 }
 
 void Casing_Draw(entity this)
 {
-    if (IS_ONGROUND(this))
-    {
-        this.angles_x = 0;
-        this.angles_z = 0;
-        //UNSET_ONGROUND(this);
-    }
-
-    Movetype_Physics_MatchTicrate(this, autocvar_cl_casings_ticrate, autocvar_cl_casings_sloppy);
-    if (wasfreed(this))
-        return; // deleted by touch function
-
-    this.renderflags = 0;
-    this.alpha = bound(0, this.cnt - time, 1);
-
-    if (this.alpha < ALPHA_MIN_VISIBLE)
-    {
-        Casing_Delete(this);
-        this.drawmask = 0;
-    }
+       if (IS_ONGROUND(this)) {
+               this.angles_x = 0;
+               this.angles_z = 0;
+               // UNSET_ONGROUND(this);
+       }
+
+       Movetype_Physics_MatchTicrate(this, autocvar_cl_casings_ticrate, autocvar_cl_casings_sloppy);
+       if (wasfreed(this)) {
+               return; // deleted by touch function
+       }
+       this.renderflags = 0;
+       this.alpha = bound(0, this.cnt - time, 1);
+
+       if (this.alpha < ALPHA_MIN_VISIBLE) {
+               Casing_Delete(this);
+               this.drawmask = 0;
+       }
 }
 
 SOUND(BRASS1, W_Sound("brass1"));
 SOUND(BRASS2, W_Sound("brass2"));
 SOUND(BRASS3, W_Sound("brass3"));
-Sound SND_BRASS_RANDOM() {
-    return Sounds_from(SND_BRASS1.m_id + floor(prandom() * 3));
+Sound SND_BRASS_RANDOM()
+{
+       return Sounds_from(SND_BRASS1.m_id + floor(prandom() * 3));
 }
 SOUND(CASINGS1, W_Sound("casings1"));
 SOUND(CASINGS2, W_Sound("casings2"));
 SOUND(CASINGS3, W_Sound("casings3"));
-Sound SND_CASINGS_RANDOM() {
-    return Sounds_from(SND_CASINGS1.m_id + floor(prandom() * 3));
+Sound SND_CASINGS_RANDOM()
+{
+       return Sounds_from(SND_CASINGS1.m_id + floor(prandom() * 3));
 }
 
 void Casing_Touch(entity this, entity toucher)
 {
-    if (trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOIMPACT)
-    {
-        Casing_Delete(this);
-        return;
-    }
-
-    if (!this.silent)
-    if (!trace_ent || trace_ent.solid == SOLID_BSP)
-    {
-        if(vdist(this.velocity, >, 50))
-        {
-            if (time >= this.nextthink)
-            {
-                Sound s;
-                switch (this.state)
-                {
-                    case 1:
-                        s = SND_CASINGS_RANDOM();
-                        break;
-                    default:
-                        s = SND_BRASS_RANDOM();
-                        break;
-                }
-
-                sound (this, CH_SHOTS, s, VOL_BASE, ATTEN_LARGE);
-            }
-        }
-    }
-
-    this.nextthink = time + 0.2;
+       if (trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOIMPACT) {
+               Casing_Delete(this);
+               return;
+       }
+
+       if (!this.silent) {
+               if (!trace_ent || trace_ent.solid == SOLID_BSP) {
+                       if (vdist(this.velocity, >, 50)) {
+                               if (time >= this.nextthink) {
+                                       Sound s;
+                                       switch (this.state) {
+                                               case 1:
+                                                       s = SND_CASINGS_RANDOM();
+                                                       break;
+                                               default:
+                                                       s = SND_BRASS_RANDOM();
+                                                       break;
+                                       }
+
+                                       sound(this, CH_SHOTS, s, VOL_BASE, ATTEN_LARGE);
+                               }
+                       }
+               }
+       }
+
+       this.nextthink = time + 0.2;
 }
 
 void Casing_Damage(entity this, float thisdmg, int hittype, vector org, vector thisforce)
 {
-    if (thisforce.z < 0)
-        thisforce.z = 0;
-    this.velocity = this.velocity + thisforce + '0 0 100';
-    UNSET_ONGROUND(this);
+       if (thisforce.z < 0) {
+               thisforce.z = 0;
+       }
+       this.velocity = this.velocity + thisforce + '0 0 100';
+       UNSET_ONGROUND(this);
 }
 
 NET_HANDLE(casings, bool isNew)
 {
-    int _state = ReadByte();
-    vector org;
-    org_x = ReadCoord();
-    org_y = ReadCoord();
-    org_z = ReadCoord();
-    vector vel = decompressShortVector(ReadShort());
-    vector ang;
-    ang_x = ReadByte() * 360 / 256;
-    ang_y = ReadByte() * 360 / 256;
-    ang_z = ReadByte() * 360 / 256;
-    return = true;
-
-    if (!autocvar_cl_casings) return;
-
-    Casing casing = RubbleNew("casing");
-    casing.silent = (_state & 0x80);
-    casing.state = (_state & 0x7F);
-    casing.origin = org;
-    setorigin(casing, casing.origin);
-    casing.velocity = vel;
-    casing.angles = ang;
-    casing.drawmask = MASK_NORMAL;
-
-    casing.draw = Casing_Draw;
-    if (isNew) IL_PUSH(g_drawables, casing);
-    casing.velocity = casing.velocity + 2 * prandomvec();
-    casing.avelocity = '0 250 0' + 100 * prandomvec();
-    set_movetype(casing, MOVETYPE_BOUNCE);
-    settouch(casing, Casing_Touch);
-    casing.move_time = time;
-    casing.event_damage = Casing_Damage;
-    casing.solid = SOLID_TRIGGER;
-
-    switch (casing.state)
-    {
-        case 1:
-            setmodel(casing, MDL_CASING_SHELL);
-            casing.cnt = time + autocvar_cl_casings_shell_time;
-            break;
-        default:
-            setmodel(casing, MDL_CASING_BULLET);
-            casing.cnt = time + autocvar_cl_casings_bronze_time;
-            break;
-    }
-
-    setsize(casing, '0 0 -1', '0 0 -1');
-
-    RubbleLimit("casing", autocvar_cl_casings_maxcount, Casing_Delete);
+       int _state = ReadByte();
+       vector org;
+       org_x = ReadCoord();
+       org_y = ReadCoord();
+       org_z = ReadCoord();
+       vector vel = decompressShortVector(ReadShort());
+       vector ang;
+       ang_x = ReadByte() * 360 / 256;
+       ang_y = ReadByte() * 360 / 256;
+       ang_z = ReadByte() * 360 / 256;
+       return = true;
+
+       if (!autocvar_cl_casings) { return; }
+
+       Casing casing = RubbleNew("casing");
+       casing.silent = (_state & 0x80);
+       casing.state = (_state & 0x7F);
+       casing.origin = org;
+       setorigin(casing, casing.origin);
+       casing.velocity = vel;
+       casing.angles = ang;
+       casing.drawmask = MASK_NORMAL;
+
+       casing.draw = Casing_Draw;
+       if (isNew) { IL_PUSH(g_drawables, casing); }
+       casing.velocity = casing.velocity + 2 * prandomvec();
+       casing.avelocity = '0 250 0' + 100 * prandomvec();
+       set_movetype(casing, MOVETYPE_BOUNCE);
+       settouch(casing, Casing_Touch);
+       casing.move_time = time;
+       casing.event_damage = Casing_Damage;
+       casing.solid = SOLID_TRIGGER;
+
+       switch (casing.state) {
+               case 1:
+                       setmodel(casing, MDL_CASING_SHELL);
+                       casing.cnt = time + autocvar_cl_casings_shell_time;
+                       break;
+               default:
+                       setmodel(casing, MDL_CASING_BULLET);
+                       casing.cnt = time + autocvar_cl_casings_bronze_time;
+                       break;
+       }
+
+       setsize(casing, '0 0 -1', '0 0 -1');
+
+       RubbleLimit("casing", autocvar_cl_casings_maxcount, Casing_Delete);
 }
 
 #endif
index 911e79bf20ab14993a234a068ace6bb201d134f8..d9262f6a0e8b9e3ea65b39f53959b3b615b216c3 100644 (file)
 
 #include <common/ent_cs.qh>
 
-       #include <common/animdecide.qh>
+#include <common/animdecide.qh>
 
-       #ifdef SVQC
-               #include <server/player.qh>
-       #endif
+#ifdef SVQC
+#include <server/player.qh>
+#endif
 
-       REGISTER_NET_TEMP(globalsound)
-       REGISTER_NET_TEMP(playersound)
+REGISTER_NET_TEMP(globalsound)
+REGISTER_NET_TEMP(playersound)
 
-       string GlobalSound_sample(string pair, float r);
+string GlobalSound_sample(string pair, float r);
 
-       #ifdef SVQC
-               /**
-                * @param from the source entity, its position is sent
-                * @param gs the global sound def
-                * @param r a random number in 0..1
-                */
-               void globalsound(int channel, entity from, entity gs, float r, int chan, float _vol, float _atten)
-               {
-                       //assert(IS_PLAYER(from), eprint(from));
-                       if (channel == MSG_ONE && !IS_REAL_CLIENT(msg_entity)) return;
-                       if (!autocvar_g_debug_globalsounds) {
-                               string sample = GlobalSound_sample(gs.m_globalsoundstr, r);
-                               switch (channel) {
-                                       case MSG_ONE:
-                                               soundto(channel, from, chan, sample, _vol, _atten);
-                                               break;
-                                       case MSG_ALL:
-                                               _sound(from, chan, sample, _vol, _atten);
-                                               break;
-                               }
-                               return;
-                       }
-                       WriteHeader(channel, globalsound);
-                       WriteByte(channel, gs.m_id);
-                       WriteByte(channel, r * 255);
-                       WriteByte(channel, etof(from));
-                       WriteByte(channel, chan);
-                       WriteByte(channel, floor(_vol * 255));
-                       WriteByte(channel, floor(_atten * 64));
-                       entcs_force_origin(from);
-                       vector o = from.origin + 0.5 * (from.mins + from.maxs);
-                       WriteCoord(channel, o.x);
-                       WriteCoord(channel, o.y);
-                       WriteCoord(channel, o.z);
+#ifdef SVQC
+/**
+ * @param from the source entity, its position is sent
+ * @param gs the global sound def
+ * @param r a random number in 0..1
+ */
+void globalsound(int channel, entity from, entity gs, float r, int chan, float _vol, float _atten)
+{
+       // assert(IS_PLAYER(from), eprint(from));
+       if (channel == MSG_ONE && !IS_REAL_CLIENT(msg_entity)) { return; }
+       if (!autocvar_g_debug_globalsounds) {
+               string sample = GlobalSound_sample(gs.m_globalsoundstr, r);
+               switch (channel) {
+                       case MSG_ONE:
+                               soundto(channel, from, chan, sample, _vol, _atten);
+                               break;
+                       case MSG_ALL:
+                               _sound(from, chan, sample, _vol, _atten);
+                               break;
                }
+               return;
+       }
+       WriteHeader(channel, globalsound);
+       WriteByte(channel, gs.m_id);
+       WriteByte(channel, r * 255);
+       WriteByte(channel, etof(from));
+       WriteByte(channel, chan);
+       WriteByte(channel, floor(_vol * 255));
+       WriteByte(channel, floor(_atten * 64));
+       entcs_force_origin(from);
+       vector o = from.origin + 0.5 * (from.mins + from.maxs);
+       WriteCoord(channel, o.x);
+       WriteCoord(channel, o.y);
+       WriteCoord(channel, o.z);
+}
 
-               /**
-               * @param from the source entity, its position is sent
-               * @param ps the player sound def
-               * @param r a random number in 0..1
-               */
-               void playersound(int channel, entity from, entity ps, float r, int chan, float _vol, float _atten)
-               {
-                       //assert(IS_PLAYER(from), eprint(from));
-                       if (channel == MSG_ONE && !IS_REAL_CLIENT(msg_entity)) return;
-                       if (!autocvar_g_debug_globalsounds) {
-                               //UpdatePlayerSounds(from);
-                               string s = from.(ps.m_playersoundfld);
-                               string sample = GlobalSound_sample(s, r);
-                               switch (channel) {
-                                       case MSG_ONE:
-                                               soundto(channel, from, chan, sample, _vol, _atten);
-                                               break;
-                                       case MSG_ALL:
-                                               _sound(from, chan, sample, _vol, _atten);
-                                               break;
-                               }
-                               return;
-                       }
-                       WriteHeader(channel, playersound);
-                       WriteByte(channel, ps.m_id);
-                       WriteByte(channel, r * 255);
-                       WriteByte(channel, etof(from));
-                       WriteByte(channel, chan);
-                       WriteByte(channel, floor(_vol * 255));
-                       WriteByte(channel, floor(_atten * 64));
-                       entcs_force_origin(from);
-                       vector o = from.origin + 0.5 * (from.mins + from.maxs);
-                       WriteCoord(channel, o.x);
-                       WriteCoord(channel, o.y);
-                       WriteCoord(channel, o.z);
+/**
+* @param from the source entity, its position is sent
+* @param ps the player sound def
+* @param r a random number in 0..1
+*/
+void playersound(int channel, entity from, entity ps, float r, int chan, float _vol, float _atten)
+{
+       // assert(IS_PLAYER(from), eprint(from));
+       if (channel == MSG_ONE && !IS_REAL_CLIENT(msg_entity)) { return; }
+       if (!autocvar_g_debug_globalsounds) {
+               // UpdatePlayerSounds(from);
+               string s = from.(ps.m_playersoundfld);
+               string sample = GlobalSound_sample(s, r);
+               switch (channel) {
+                       case MSG_ONE:
+                               soundto(channel, from, chan, sample, _vol, _atten);
+                               break;
+                       case MSG_ALL:
+                               _sound(from, chan, sample, _vol, _atten);
+                               break;
                }
-       #endif
+               return;
+       }
+       WriteHeader(channel, playersound);
+       WriteByte(channel, ps.m_id);
+       WriteByte(channel, r * 255);
+       WriteByte(channel, etof(from));
+       WriteByte(channel, chan);
+       WriteByte(channel, floor(_vol * 255));
+       WriteByte(channel, floor(_atten * 64));
+       entcs_force_origin(from);
+       vector o = from.origin + 0.5 * (from.mins + from.maxs);
+       WriteCoord(channel, o.x);
+       WriteCoord(channel, o.y);
+       WriteCoord(channel, o.z);
+}
+#endif
 
-       #ifdef CSQC
+#ifdef CSQC
 
-               NET_HANDLE(globalsound, bool isnew)
-               {
-                       entity gs = GlobalSounds_from(ReadByte());
-                       float r = ReadByte() / 255;
-                       string sample = GlobalSound_sample(gs.m_globalsoundstr, r);
-                       int who = ReadByte();
-                       entity e = entcs_receiver(who - 1);
-                       int chan = ReadSByte();
-                       float vol = ReadByte() / 255;
-                       float atten = ReadByte() / 64;
-                       vector o;
-                       o.x = ReadCoord();
-                       o.y = ReadCoord();
-                       o.z = ReadCoord();
-                       // TODO: is this really what we want to be doing? Footsteps that follow the player at head height?
-                       if (who == player_currententnum) e = findfloat(NULL, entnum, who);  // play at camera position for full volume
-                       else if (e) e.origin = o;
-                       if (e)
-                       {
-                               sound7(e, chan, sample, vol, atten, 0, 0);
-                       }
-                       else
-                       {
-                               // Can this happen?
-                               LOG_WARNF("Missing entcs data for player %d", who);
-                               sound8(e, o, chan, sample, vol, atten, 0, 0);
-                       }
-                       return true;
-               }
+NET_HANDLE(globalsound, bool isnew)
+{
+       entity gs = GlobalSounds_from(ReadByte());
+       float r = ReadByte() / 255;
+       string sample = GlobalSound_sample(gs.m_globalsoundstr, r);
+       int who = ReadByte();
+       entity e = entcs_receiver(who - 1);
+       int chan = ReadSByte();
+       float vol = ReadByte() / 255;
+       float atten = ReadByte() / 64;
+       vector o;
+       o.x = ReadCoord();
+       o.y = ReadCoord();
+       o.z = ReadCoord();
+       // TODO: is this really what we want to be doing? Footsteps that follow the player at head height?
+       if (who == player_currententnum) {
+               e = findfloat(NULL, entnum, who); // play at camera position for full volume
+       } else if (e) {
+               e.origin = o;
+       }
+       if (e) {
+               sound7(e, chan, sample, vol, atten, 0, 0);
+       } else {
+               // Can this happen?
+               LOG_WARNF("Missing entcs data for player %d", who);
+               sound8(e, o, chan, sample, vol, atten, 0, 0);
+       }
+       return true;
+}
 
-               NET_HANDLE(playersound, bool isnew)
-               {
-                       entity ps = PlayerSounds_from(ReadByte());
-                       float r = ReadByte() / 255;
-                       int who = ReadByte();
-                       entity e = entcs_receiver(who - 1);
-                       UpdatePlayerSounds(e);
-                       string s = e.(ps.m_playersoundfld);
-                       string sample = GlobalSound_sample(s, r);
-                       int chan = ReadSByte();
-                       float vol = ReadByte() / 255;
-                       float atten = ReadByte() / 64;
-                       vector o;
-                       o.x = ReadCoord();
-                       o.y = ReadCoord();
-                       o.z = ReadCoord();
-                       if (who == player_currententnum) e = findfloat(NULL, entnum, who);  // play at camera position for full volume
-                       else if (e) e.origin = o;
-                       if (e)
-                       {
-                               // TODO: for non-visible players, origin should probably continue to be updated as long as the sound is playing
-                               sound7(e, chan, sample, vol, atten, 0, 0);
-                       }
-                       else
-                       {
-                               // Can this happen?
-                               LOG_WARNF("Missing entcs data for player %d", who);
-                               sound8(e, o, chan, sample, vol, atten, 0, 0);
-                       }
-                       return true;
-               }
+NET_HANDLE(playersound, bool isnew)
+{
+       entity ps = PlayerSounds_from(ReadByte());
+       float r = ReadByte() / 255;
+       int who = ReadByte();
+       entity e = entcs_receiver(who - 1);
+       UpdatePlayerSounds(e);
+       string s = e.(ps.m_playersoundfld);
+       string sample = GlobalSound_sample(s, r);
+       int chan = ReadSByte();
+       float vol = ReadByte() / 255;
+       float atten = ReadByte() / 64;
+       vector o;
+       o.x = ReadCoord();
+       o.y = ReadCoord();
+       o.z = ReadCoord();
+       if (who == player_currententnum) {
+               e = findfloat(NULL, entnum, who); // play at camera position for full volume
+       } else if (e) {
+               e.origin = o;
+       }
+       if (e) {
+               // TODO: for non-visible players, origin should probably continue to be updated as long as the sound is playing
+               sound7(e, chan, sample, vol, atten, 0, 0);
+       } else {
+               // Can this happen?
+               LOG_WARNF("Missing entcs data for player %d", who);
+               sound8(e, o, chan, sample, vol, atten, 0, 0);
+       }
+       return true;
+}
 
-       #endif
+#endif
 
-       string GlobalSound_sample(string pair, float r)
+string GlobalSound_sample(string pair, float r)
+{
+       int n;
        {
-               int n;
-               {
-                       string s = cdr(pair);
-                       if (s) n = stof(s);
-                       else n = 0;
-               }
-               string sample = car(pair);
-               if (n > 0) sample = sprintf("%s%d.wav", sample, floor(r * n + 1));  // randomization
-               else sample = sprintf("%s.wav", sample);
-               return sample;
+               string s = cdr(pair);
+               if (s) { n = stof(s); } else { n = 0; }
        }
+       string sample = car(pair);
+       if (n > 0) {
+               sample = sprintf("%s%d.wav", sample, floor(r * n + 1)); // randomization
+       } else { sample = sprintf("%s.wav", sample); }
+       return sample;
+}
 
-       void PrecacheGlobalSound(string sample)
+void PrecacheGlobalSound(string sample)
+{
+       int n;
        {
-               int n;
-               {
-                       string s = cdr(sample);
-                       if (s) n = stof(s);
-                       else n = 0;
-               }
-               sample = car(sample);
-               if (n > 0)
-               {
-                       for (int i = 1; i <= n; ++i)
-                               precache_sound(sprintf("%s%d.wav", sample, i));
-               }
-               else
-               {
-                       precache_sound(sprintf("%s.wav", sample));
+               string s = cdr(sample);
+               if (s) { n = stof(s); } else { n = 0; }
+       }
+       sample = car(sample);
+       if (n > 0) {
+               for (int i = 1; i <= n; ++i) {
+                       precache_sound(sprintf("%s%d.wav", sample, i));
                }
+       } else {
+               precache_sound(sprintf("%s.wav", sample));
        }
+}
 
-       entity GetVoiceMessage(string type)
-       {
-               FOREACH(PlayerSounds, it.m_playersoundstr == type && it.instanceOfVoiceMessage == true, return it);
-               return NULL;
-       }
+entity GetVoiceMessage(string type)
+{
+       FOREACH(PlayerSounds, it.m_playersoundstr == type && it.instanceOfVoiceMessage == true, return it);
+       return NULL;
+}
 
-       entity GetPlayerSound(string type)
-       {
-               FOREACH(PlayerSounds, it.m_playersoundstr == type && it.instanceOfVoiceMessage == false, return it);
-               return NULL;
-       }
+entity GetPlayerSound(string type)
+{
+       FOREACH(PlayerSounds, it.m_playersoundstr == type && it.instanceOfVoiceMessage == false, return it);
+       return NULL;
+}
 
-       .string _GetPlayerSoundSampleField(string type, bool voice)
-       {
-               GetPlayerSoundSampleField_notFound = false;
-               entity e = voice ? GetVoiceMessage(type) : GetPlayerSound(type);
-               if (e) return e.m_playersoundfld;
-               GetPlayerSoundSampleField_notFound = true;
-               return playersound_taunt.m_playersoundfld;
-       }
+.string _GetPlayerSoundSampleField(string type, bool voice)
+{
+       GetPlayerSoundSampleField_notFound = false;
+       entity e = voice ? GetVoiceMessage(type) : GetPlayerSound(type);
+       if (e) { return e.m_playersoundfld; }
+       GetPlayerSoundSampleField_notFound = true;
+       return playersound_taunt.m_playersoundfld;
+}
 
-       .string GetVoiceMessageSampleField(string type)
-       {
-               return _GetPlayerSoundSampleField(type, true);
-       }
+.string GetVoiceMessageSampleField(string type)
+{
+       return _GetPlayerSoundSampleField(type, true);
+}
 
-       void PrecachePlayerSounds(string f)
-       {
-               int fh = fopen(f, FILE_READ);
-               if (fh < 0)
-               {
-                       LOG_WARNF("Player sound file not found: %s", f);
-                       return;
-               }
-               for (string s; (s = fgets(fh)); )
-               {
-                       int n = tokenize_console(s);
-                       if (n != 3)
-                       {
-                               if (n != 0) LOG_WARNF("Invalid sound info line: %s", s);
-                               continue;
-                       }
-                       string file = argv(1);
-                       string variants = argv(2);
-                       PrecacheGlobalSound(strcat(file, " ", variants));
+void PrecachePlayerSounds(string f)
+{
+       int fh = fopen(f, FILE_READ);
+       if (fh < 0) {
+               LOG_WARNF("Player sound file not found: %s", f);
+               return;
+       }
+       for (string s; (s = fgets(fh)); ) {
+               int n = tokenize_console(s);
+               if (n != 3) {
+                       if (n != 0) { LOG_WARNF("Invalid sound info line: %s", s); }
+                       continue;
                }
-               fclose(fh);
+               string file = argv(1);
+               string variants = argv(2);
+               PrecacheGlobalSound(strcat(file, " ", variants));
        }
+       fclose(fh);
+}
 
-       //#ifdef CSQC
+// #ifdef CSQC
 
-               .string GetPlayerSoundSampleField(string type)
-               {
-                       return _GetPlayerSoundSampleField(type, false);
-               }
+.string GetPlayerSoundSampleField(string type)
+{
+       return _GetPlayerSoundSampleField(type, false);
+}
 
-               void ClearPlayerSounds(entity this)
-               {
-                       FOREACH(PlayerSounds, true, {
-                               .string fld = it.m_playersoundfld;
-                               if (this.(fld))
-                               {
-                                       strunzone(this.(fld));
-                                       this.(fld) = string_null;
-                               }
-                       });
+void ClearPlayerSounds(entity this)
+{
+       FOREACH(PlayerSounds, true, {
+               .string fld = it.m_playersoundfld;
+               if (this.(fld)) {
+                       strunzone(this.(fld));
+                       this.(fld) = string_null;
                }
+       });
+}
 
-               bool LoadPlayerSounds(entity this, string f, bool strict)
-               {
-                       int fh = fopen(f, FILE_READ);
-                       if (fh < 0)
-                       {
-                               if (strict) LOG_WARNF("Player sound file not found: %s", f);
-                               return false;
-                       }
-                       for (string s; (s = fgets(fh)); )
-                       {
-                               int n = tokenize_console(s);
-                               if (n != 3)
-                               {
-                                       if (n != 0) LOG_WARNF("Invalid sound info line: %s", s);
-                                       continue;
-                               }
-                               string key = argv(0);
-                               var.string field = GetPlayerSoundSampleField(key);
-                               if (GetPlayerSoundSampleField_notFound) field = GetVoiceMessageSampleField(key);
-                               if (GetPlayerSoundSampleField_notFound)
-                               {
-                                       LOG_TRACEF("Invalid sound info field: %s", key);
-                                       continue;
-                               }
-                               string file = argv(1);
-                               string variants = argv(2);
-                               if (this.(field)) strunzone(this.(field));
-                               this.(field) = strzone(strcat(file, " ", variants));
-                       }
-                       fclose(fh);
-                       return true;
+bool LoadPlayerSounds(entity this, string f, bool strict)
+{
+       int fh = fopen(f, FILE_READ);
+       if (fh < 0) {
+               if (strict) { LOG_WARNF("Player sound file not found: %s", f); }
+               return false;
+       }
+       for (string s; (s = fgets(fh)); ) {
+               int n = tokenize_console(s);
+               if (n != 3) {
+                       if (n != 0) { LOG_WARNF("Invalid sound info line: %s", s); }
+                       continue;
                }
+               string key = argv(0);
+               var.string field = GetPlayerSoundSampleField(key);
+               if (GetPlayerSoundSampleField_notFound) { field = GetVoiceMessageSampleField(key); }
+               if (GetPlayerSoundSampleField_notFound) {
+                       LOG_TRACEF("Invalid sound info field: %s", key);
+                       continue;
+               }
+               string file = argv(1);
+               string variants = argv(2);
+               if (this.(field)) { strunzone(this.(field)); }
+               this.(field) = strzone(strcat(file, " ", variants));
+       }
+       fclose(fh);
+       return true;
+}
 
-               .string model_for_playersound;
-               .int skin_for_playersound;
+.string model_for_playersound;
+.int skin_for_playersound;
 
-               bool autocvar_g_debug_defaultsounds;
+bool autocvar_g_debug_defaultsounds;
 
-               void UpdatePlayerSounds(entity this)
-               {
-                       if (this.model == this.model_for_playersound && this.skin == this.skin_for_playersound) return;
-                       if (this.model_for_playersound) strunzone(this.model_for_playersound);
-                       this.model_for_playersound = strzone(this.model);
-                       this.skin_for_playersound = this.skin;
-                       ClearPlayerSounds(this);
-                       LoadPlayerSounds(this, "sound/player/default.sounds", true);
-                       if (this.model == "null"
-                       #ifdef SVQC
-                           && autocvar_g_debug_globalsounds
-                       #endif
-                        ) return;
-                       if (autocvar_g_debug_defaultsounds) return;
-                       if (LoadPlayerSounds(this, get_model_datafilename(this.model, this.skin, "sounds"), false)) return;
-                       LoadPlayerSounds(this, get_model_datafilename(this.model, 0, "sounds"), true);
-               }
+void UpdatePlayerSounds(entity this)
+{
+       if (this.model == this.model_for_playersound && this.skin == this.skin_for_playersound) { return; }
+       if (this.model_for_playersound) { strunzone(this.model_for_playersound); }
+       this.model_for_playersound = strzone(this.model);
+       this.skin_for_playersound = this.skin;
+       ClearPlayerSounds(this);
+       LoadPlayerSounds(this, "sound/player/default.sounds", true);
+       if (this.model == "null"
+#ifdef SVQC
+               && autocvar_g_debug_globalsounds
+#endif
+       ) { return; }
+       if (autocvar_g_debug_defaultsounds) { return; }
+       if (LoadPlayerSounds(this, get_model_datafilename(this.model, this.skin, "sounds"), false)) { return; }
+       LoadPlayerSounds(this, get_model_datafilename(this.model, 0, "sounds"), true);
+}
 
-       //#endif
+// #endif
 
-       #ifdef SVQC
+#ifdef SVQC
 
-               void _GlobalSound(entity this, entity gs, entity ps, string sample, int chan, float vol, int voicetype, bool fake)
+void _GlobalSound(entity this, entity gs, entity ps, string sample, int chan, float vol, int voicetype, bool fake)
+{
+       if (gs == NULL && ps == NULL && sample == "") { return; }
+       if (this.classname == "body") { return; }
+       float r = random();
+       if (sample != "") { sample = GlobalSound_sample(sample, r); }
+       switch (voicetype) {
+               case VOICETYPE_LASTATTACKER_ONLY:
+               case VOICETYPE_LASTATTACKER:
                {
-                       if (gs == NULL && ps == NULL && sample == "") return;
-                       if(this.classname == "body") return;
-                       float r = random();
-                       if (sample != "") sample = GlobalSound_sample(sample, r);
-                       switch (voicetype)
-                       {
-                               case VOICETYPE_LASTATTACKER_ONLY:
-                               case VOICETYPE_LASTATTACKER:
-                               {
-                                       if (!fake)
-                                       {
-                                               if (!this.pusher) break;
-                                               msg_entity = this.pusher;
-                                               if (IS_REAL_CLIENT(msg_entity))
-                                               {
-                                                       float atten = (CS(msg_entity).cvar_cl_voice_directional == 1) ? ATTEN_MIN : ATTEN_NONE;
-                                                       if (gs) globalsound(MSG_ONE, this, gs, r, chan, vol, atten);
-                                                       else if (ps) playersound(MSG_ONE, this, ps, r, chan, vol, atten);
-                                                       else soundto(MSG_ONE, this, chan, sample, vol, atten);
-                                               }
-                                       }
-                                       if (voicetype == VOICETYPE_LASTATTACKER_ONLY) break;
-                                       msg_entity = this;
-                                       if (IS_REAL_CLIENT(msg_entity))
-                                       {
-                                               if (gs) globalsound(MSG_ONE, this, gs, r, chan, VOL_BASE, ATTEN_NONE);
-                                               else if (ps) playersound(MSG_ONE, this, ps, r, chan, VOL_BASE, ATTEN_NONE);
-                                               else soundto(MSG_ONE, this, chan, sample, VOL_BASE, ATTEN_NONE);
-                                       }
-                                       break;
+                       if (!fake) {
+                               if (!this.pusher) { break; }
+                               msg_entity = this.pusher;
+                               if (IS_REAL_CLIENT(msg_entity)) {
+                                       float atten = (CS(msg_entity).cvar_cl_voice_directional == 1) ? ATTEN_MIN : ATTEN_NONE;
+                                       if (gs) { globalsound(MSG_ONE, this, gs, r, chan, vol, atten); } else if (ps) {
+                                               playersound(MSG_ONE, this, ps, r, chan, vol, atten);
+                                       } else { soundto(MSG_ONE, this, chan, sample, vol, atten); }
                                }
-                               case VOICETYPE_TEAMRADIO:
-                               {
-                                       #define X() \
-                                               MACRO_BEGIN \
-                                                       float atten = (CS(msg_entity).cvar_cl_voice_directional == 1) ? ATTEN_MIN : ATTEN_NONE; \
-                                                       if (gs) globalsound(MSG_ONE, this, gs, r, chan, vol, atten); \
-                                                       else if (ps) playersound(MSG_ONE, this, ps, r, chan, vol, atten); \
-                                                       else soundto(MSG_ONE, this, chan, sample, vol, atten); \
-                                               MACRO_END
+                       }
+                       if (voicetype == VOICETYPE_LASTATTACKER_ONLY) { break; }
+                       msg_entity = this;
+                       if (IS_REAL_CLIENT(msg_entity)) {
+                               if (gs) { globalsound(MSG_ONE, this, gs, r, chan, VOL_BASE, ATTEN_NONE); } else if (ps) {
+                                       playersound(MSG_ONE, this, ps, r, chan, VOL_BASE, ATTEN_NONE);
+                               } else { soundto(MSG_ONE, this, chan, sample, VOL_BASE, ATTEN_NONE); }
+                       }
+                       break;
+               }
+               case VOICETYPE_TEAMRADIO:
+               {
+#define X() \
+       MACRO_BEGIN \
+               float atten = (CS(msg_entity).cvar_cl_voice_directional == 1) ? ATTEN_MIN : ATTEN_NONE; \
+               if (gs) { globalsound(MSG_ONE, this, gs, r, chan, vol, atten); } else if (ps) { \
+                       playersound(MSG_ONE, this, ps, r, chan, vol, atten); \
+               } else { soundto(MSG_ONE, this, chan, sample, vol, atten); } \
+       MACRO_END
 
-                                       if (fake) { msg_entity = this; X(); }
-                                       else
-                                       {
-                                               FOREACH_CLIENT(IS_REAL_CLIENT(it) && SAME_TEAM(it, this), {
-                                                       msg_entity = it;
-                                                       X();
-                                               });
-                                       }
-               #undef X
-                                       break;
-                               }
-                               case VOICETYPE_AUTOTAUNT:
-                               case VOICETYPE_TAUNT:
-                               {
-                                       if (voicetype == VOICETYPE_AUTOTAUNT) if (!sv_autotaunt) { break; }else {}
-                                       else if (IS_PLAYER(this) && !IS_DEAD(this)) animdecide_setaction(this, ANIMACTION_TAUNT,
-                                                       true);
-                                       if (!sv_taunt) break;
-                                       if (autocvar_sv_gentle) break;
-                                       float tauntrand = 0;
-                                       if (voicetype == VOICETYPE_AUTOTAUNT) tauntrand = random();
-                                       #define X() \
-                                               MACRO_BEGIN \
-                                                       if (voicetype != VOICETYPE_AUTOTAUNT || tauntrand < CS(msg_entity).cvar_cl_autotaunt) \
-                                                       { \
-                                                               float atten = (CS(msg_entity).cvar_cl_voice_directional >= 1) \
-                                                                   ? bound(ATTEN_MIN, CS(msg_entity).cvar_cl_voice_directional_taunt_attenuation, \
-                                                                       ATTEN_MAX) \
-                                                                       : ATTEN_NONE; \
-                                                               if (gs) globalsound(MSG_ONE, this, gs, r, chan, vol, atten); \
-                                                               else if (ps) playersound(MSG_ONE, this, ps, r, chan, vol, atten); \
-                                                               else soundto(MSG_ONE, this, chan, sample, vol, atten); \
-                                                       } \
-                                               MACRO_END
-                                       if (fake)
-                                       {
-                                               msg_entity = this;
-                                               X();
-                                       }
-                                       else
-                                       {
-                                               FOREACH_CLIENT(IS_REAL_CLIENT(it), {
-                                                       msg_entity = it;
-                                                       X();
-                                               });
-                                       }
-               #undef X
-                                       break;
-                               }
-                               case VOICETYPE_PLAYERSOUND:
-                               {
-                                       msg_entity = this;
-                                       if (fake)
-                                       {
-                                               if (gs) globalsound(MSG_ONE, this, gs, r, chan, vol, ATTEN_NORM);
-                                               else if (ps) playersound(MSG_ONE, this, ps, r, chan, vol, ATTEN_NORM);
-                                               else soundto(MSG_ONE, this, chan, sample, vol, ATTEN_NORM);
-                                       }
-                                       else
-                                       {
-                                               if (gs) globalsound(MSG_ALL, this, gs, r, chan, vol, ATTEN_NORM);
-                                               else if (ps) playersound(MSG_ALL, this, ps, r, chan, vol, ATTEN_NORM);
-                                               else _sound(this, chan, sample, vol, ATTEN_NORM);
-                                       }
-                                       break;
-                               }
-                               default:
-                               {
-                                       backtrace("Invalid voice type!");
-                                       break;
-                               }
+                       if (fake) { msg_entity = this; X(); } else {
+                               FOREACH_CLIENT(IS_REAL_CLIENT(it) && SAME_TEAM(it, this), {
+                                       msg_entity = it;
+                                       X();
+                               });
+                       }
+#undef X
+                       break;
+               }
+               case VOICETYPE_AUTOTAUNT:
+               case VOICETYPE_TAUNT:
+               {
+                       if (voicetype == VOICETYPE_AUTOTAUNT) { if (!sv_autotaunt) { break; } else {} } else if (IS_PLAYER(this) && !IS_DEAD(this)) {
+                               animdecide_setaction(this, ANIMACTION_TAUNT,
+                                       true);
+                       }
+                       if (!sv_taunt) { break; }
+                       if (autocvar_sv_gentle) { break; }
+                       float tauntrand = 0;
+                       if (voicetype == VOICETYPE_AUTOTAUNT) { tauntrand = random(); }
+#define X() \
+       MACRO_BEGIN \
+               if (voicetype != VOICETYPE_AUTOTAUNT || tauntrand < CS(msg_entity).cvar_cl_autotaunt) { \
+                       float atten = (CS(msg_entity).cvar_cl_voice_directional >= 1) \
+                               ? bound(ATTEN_MIN, CS(msg_entity).cvar_cl_voice_directional_taunt_attenuation, \
+                               ATTEN_MAX) \
+                               : ATTEN_NONE; \
+                       if (gs) { globalsound(MSG_ONE, this, gs, r, chan, vol, atten); } else if (ps) { \
+                               playersound(MSG_ONE, this, ps, r, chan, vol, atten); \
+                       } else { soundto(MSG_ONE, this, chan, sample, vol, atten); } \
+               } \
+       MACRO_END
+                       if (fake) {
+                               msg_entity = this;
+                               X();
+                       } else {
+                               FOREACH_CLIENT(IS_REAL_CLIENT(it), {
+                                       msg_entity = it;
+                                       X();
+                               });
                        }
+#undef X
+                       break;
                }
+               case VOICETYPE_PLAYERSOUND:
+               {
+                       msg_entity = this;
+                       if (fake) {
+                               if (gs) { globalsound(MSG_ONE, this, gs, r, chan, vol, ATTEN_NORM); } else if (ps) {
+                                       playersound(MSG_ONE, this, ps, r, chan, vol, ATTEN_NORM);
+                               } else { soundto(MSG_ONE, this, chan, sample, vol, ATTEN_NORM); }
+                       } else {
+                               if (gs) { globalsound(MSG_ALL, this, gs, r, chan, vol, ATTEN_NORM); } else if (ps) {
+                                       playersound(MSG_ALL, this, ps, r, chan, vol, ATTEN_NORM);
+                               } else { _sound(this, chan, sample, vol, ATTEN_NORM); }
+                       }
+                       break;
+               }
+               default:
+               {
+                       backtrace("Invalid voice type!");
+                       break;
+               }
+       }
+}
 
-       #endif
+#endif
index 77dd4479fdc020d013246692be7f5cbb1ce0158e..4e380340a6b1cabfb71901351f5bc8f7049066ef 100644 (file)
@@ -1,8 +1,8 @@
 #pragma once
 
 #ifdef SVQC
-       /** Use new sound handling. TODO: use when sounds play correctly on clients */
-       bool autocvar_g_debug_globalsounds = false;
+/** Use new sound handling. TODO: use when sounds play correctly on clients */
+bool autocvar_g_debug_globalsounds = false;
 #endif
 
 // player sounds, voice messages
@@ -110,39 +110,39 @@ REGISTER_GLOBALSOUND(FALL_METAL, "misc/metalhitground 4")
 
 bool GetPlayerSoundSampleField_notFound;
 void PrecachePlayerSounds(string f);
-//#ifdef CSQC
-       .string GetVoiceMessageSampleField(string type);
-       .string GetPlayerSoundSampleField(string type);
-       void ClearPlayerSounds(entity this);
-       float LoadPlayerSounds(entity this, string f, bool strict);
-       void UpdatePlayerSounds(entity this);
-//#endif
+// #ifdef CSQC
+.string GetVoiceMessageSampleField(string type);
+.string GetPlayerSoundSampleField(string type);
+void ClearPlayerSounds(entity this);
+float LoadPlayerSounds(entity this, string f, bool strict);
+void UpdatePlayerSounds(entity this);
+// #endif
 entity GetVoiceMessage(string type);
 
 #ifdef SVQC
 
-       void _GlobalSound(entity this, entity gs, entity ps, string sample, float chan, float vol, float voicetype, bool fake);
-       #define GlobalSound(this, def, chan, vol, voicetype) _GlobalSound(this, def, NULL, string_null, chan, vol, voicetype, false)
-       #define GlobalSound_string(this, def, chan, vol, voicetype) _GlobalSound(this, NULL, NULL, def, chan, vol, voicetype, false)
-       #define PlayerSound(this, def, chan, vol, voicetype) _GlobalSound(this, NULL, def, string_null, chan, vol, voicetype, false)
-       #define VoiceMessage(this, def, msg) \
-               MACRO_BEGIN \
-                       entity VM = def; \
-                       int voicetype = VM.m_playersoundvt; \
-                       bool ownteam = (voicetype == VOICETYPE_TEAMRADIO); \
-                       int flood = Say(this, ownteam, NULL, msg, true); \
-                       bool fake; \
-                       if (IS_SPEC(this) || IS_OBSERVER(this) || flood < 0) fake = true; \
-                       else if (flood > 0) fake = false; \
-                       else break; \
-                       _GlobalSound(this, NULL, VM, string_null, CH_VOICE, VOL_BASEVOICE, voicetype, fake); \
-               MACRO_END
+void _GlobalSound(entity this, entity gs, entity ps, string sample, float chan, float vol, float voicetype, bool fake);
+#define GlobalSound(this, def, chan, vol, voicetype) _GlobalSound(this, def, NULL, string_null, chan, vol, voicetype, false)
+#define GlobalSound_string(this, def, chan, vol, voicetype) _GlobalSound(this, NULL, NULL, def, chan, vol, voicetype, false)
+#define PlayerSound(this, def, chan, vol, voicetype) _GlobalSound(this, NULL, def, string_null, chan, vol, voicetype, false)
+#define VoiceMessage(this, def, msg) \
+       MACRO_BEGIN \
+               entity VM = def; \
+               int voicetype = VM.m_playersoundvt; \
+               bool ownteam = (voicetype == VOICETYPE_TEAMRADIO); \
+               int flood = Say(this, ownteam, NULL, msg, true); \
+               bool fake; \
+               if (IS_SPEC(this) || IS_OBSERVER(this) || flood < 0) { fake = true; } else if (flood > 0) { \
+                       fake = false; \
+               } else { break; } \
+               _GlobalSound(this, NULL, VM, string_null, CH_VOICE, VOL_BASEVOICE, voicetype, fake); \
+       MACRO_END
 
 #endif
 
 string allvoicesamples;
 STATIC_INIT(allvoicesamples)
 {
-    FOREACH(PlayerSounds, it.instanceOfVoiceMessage, allvoicesamples = strcat(allvoicesamples, " ", it.m_playersoundstr));
-    allvoicesamples = strzone(substring(allvoicesamples, 1, -1));
+       FOREACH(PlayerSounds, it.instanceOfVoiceMessage, allvoicesamples = strcat(allvoicesamples, " ", it.m_playersoundstr));
+       allvoicesamples = strzone(substring(allvoicesamples, 1, -1));
 }
index 6388575b72cb09a5baa576a0e8c3882fdeff8ffb..9eeae610156471a87ab1debba52f319c588f997c 100644 (file)
@@ -4,17 +4,17 @@ REGISTER_NET_TEMP(TE_CSQC_ARC)
 
 #if defined(SVQC)
 
-       void te_csqc_lightningarc(vector from, vector to)
-       {
-               WriteHeader(MSG_BROADCAST, TE_CSQC_ARC);
-
-               WriteCoord(MSG_BROADCAST, from.x);
-               WriteCoord(MSG_BROADCAST, from.y);
-               WriteCoord(MSG_BROADCAST, from.z);
-               WriteCoord(MSG_BROADCAST, to.x);
-               WriteCoord(MSG_BROADCAST, to.y);
-               WriteCoord(MSG_BROADCAST, to.z);
-       }
+void te_csqc_lightningarc(vector from, vector to)
+{
+       WriteHeader(MSG_BROADCAST, TE_CSQC_ARC);
+
+       WriteCoord(MSG_BROADCAST, from.x);
+       WriteCoord(MSG_BROADCAST, from.y);
+       WriteCoord(MSG_BROADCAST, from.z);
+       WriteCoord(MSG_BROADCAST, to.x);
+       WriteCoord(MSG_BROADCAST, to.y);
+       WriteCoord(MSG_BROADCAST, to.z);
+}
 
 #elif defined(CSQC)
 
@@ -47,72 +47,63 @@ void b_make(vector s,vector e, string t,float l,float z)
 }
 */
 
-       void cl_effects_lightningarc(vector from, vector to, float seglength, float drifts, float drifte,
-       float branchfactor, float branchfactor_add)
-       {
-               float length = vlen(from - to);
-               if (length < 1) return;
-
-               // Use at most 16 te_lightning1 segments, as these eat up beam list segments.
-               // TODO: Change this to R_BeginPolygon code, then we no longer have this limit.
-               int steps = min(16, floor(length / seglength));
-               if (steps < 1)
-               {
-                       te_lightning1(NULL, from, to);
-                       return;
-               }
+void cl_effects_lightningarc(vector from, vector to, float seglength, float drifts, float drifte, float branchfactor, float branchfactor_add)
+{
+       float length = vlen(from - to);
+       if (length < 1) { return; }
+
+       // Use at most 16 te_lightning1 segments, as these eat up beam list segments.
+       // TODO: Change this to R_BeginPolygon code, then we no longer have this limit.
+       int steps = min(16, floor(length / seglength));
+       if (steps < 1) {
+               te_lightning1(NULL, from, to);
+               return;
+       }
 
-               float steplength = length / steps;
-               vector direction  = normalize(to - from);
-               vector pos_l = from;
-               if (length > seglength)
-               {
-                       for (int i = 1; i < steps; i += 1)
-                       {
-                               float drift = drifts * (1 - (i / steps)) + drifte * (i / steps);
-                               vector dirnew = normalize(direction * (1 - drift) + randomvec() * drift);
-                               vector pos = pos_l +  dirnew * steplength;
-                               te_lightning1(NULL, pos_l, pos);
-                               // WTF endless recursion if branchfactor is 1.0 (possibly due to adding branchfactor_add). FIXME
-                               // if(random() < branchfactor)
-                               //     cl_effects_lightningarc(pos, pos + (dirnew * length * 0.25),seglength,drifts,drifte,min(branchfactor + branchfactor_add,1),branchfactor_add);
-
-                               pos_l = pos;
-                       }
-                       te_lightning1(NULL, pos_l, to);
-               }
-               else
-               {
-                       te_lightning1(NULL, from, to);
+       float steplength = length / steps;
+       vector direction  = normalize(to - from);
+       vector pos_l = from;
+       if (length > seglength) {
+               for (int i = 1; i < steps; i += 1) {
+                       float drift = drifts * (1 - (i / steps)) + drifte * (i / steps);
+                       vector dirnew = normalize(direction * (1 - drift) + randomvec() * drift);
+                       vector pos = pos_l +  dirnew * steplength;
+                       te_lightning1(NULL, pos_l, pos);
+                       // WTF endless recursion if branchfactor is 1.0 (possibly due to adding branchfactor_add). FIXME
+                       // if(random() < branchfactor)
+                       //     cl_effects_lightningarc(pos, pos + (dirnew * length * 0.25),seglength,drifts,drifte,min(branchfactor + branchfactor_add,1),branchfactor_add);
+
+                       pos_l = pos;
                }
+               te_lightning1(NULL, pos_l, to);
+       } else {
+               te_lightning1(NULL, from, to);
        }
+}
 
-       NET_HANDLE(TE_CSQC_ARC, bool isNew)
-       {
-               vector from;
-               from.x = ReadCoord();
-               from.y = ReadCoord();
-               from.z = ReadCoord();
-               vector to;
-               to.x = ReadCoord();
-               to.y = ReadCoord();
-               to.z = ReadCoord();
-               return = true;
-
-               if (autocvar_cl_effects_lightningarc_simple)
-               {
-                       te_lightning1(NULL, from, to);
-               }
-               else
-               {
-                       float seglength        = autocvar_cl_effects_lightningarc_segmentlength;
-                       float drifts           = autocvar_cl_effects_lightningarc_drift_start;
-                       float drifte           = autocvar_cl_effects_lightningarc_drift_end;
-                       float branchfactor     = autocvar_cl_effects_lightningarc_branchfactor_start;
-                       float branchfactor_add = autocvar_cl_effects_lightningarc_branchfactor_add;
-
-                       cl_effects_lightningarc(from, to, seglength, drifts, drifte, branchfactor, branchfactor_add);
-               }
+NET_HANDLE(TE_CSQC_ARC, bool isNew)
+{
+       vector from;
+       from.x = ReadCoord();
+       from.y = ReadCoord();
+       from.z = ReadCoord();
+       vector to;
+       to.x = ReadCoord();
+       to.y = ReadCoord();
+       to.z = ReadCoord();
+       return = true;
+
+       if (autocvar_cl_effects_lightningarc_simple) {
+               te_lightning1(NULL, from, to);
+       } else {
+               float seglength        = autocvar_cl_effects_lightningarc_segmentlength;
+               float drifts           = autocvar_cl_effects_lightningarc_drift_start;
+               float drifte           = autocvar_cl_effects_lightningarc_drift_end;
+               float branchfactor     = autocvar_cl_effects_lightningarc_branchfactor_start;
+               float branchfactor_add = autocvar_cl_effects_lightningarc_branchfactor_add;
+
+               cl_effects_lightningarc(from, to, seglength, drifts, drifte, branchfactor, branchfactor_add);
        }
+}
 
 #endif
index 1b70daee2fbbd5621e8e33198ffcec7c7380b2fd..31488abd78b08a67f2299517f896d002b2bf80b7 100644 (file)
@@ -12,12 +12,15 @@ bool modeleffect_SendEntity(entity this, entity to, int sf)
        WriteHeader(MSG_ENTITY, ENT_CLIENT_MODELEFFECT);
 
        f = 0;
-       if(this.velocity != '0 0 0')
+       if (this.velocity != '0 0 0') {
                f |= 1;
-       if(this.angles != '0 0 0')
+       }
+       if (this.angles != '0 0 0') {
                f |= 2;
-       if(this.avelocity != '0 0 0')
+       }
+       if (this.avelocity != '0 0 0') {
                f |= 4;
+       }
 
        WriteByte(MSG_ENTITY, f);
        WriteShort(MSG_ENTITY, this.modelindex);
@@ -26,20 +29,17 @@ bool modeleffect_SendEntity(entity this, entity to, int sf)
        WriteCoord(MSG_ENTITY, this.origin.x);
        WriteCoord(MSG_ENTITY, this.origin.y);
        WriteCoord(MSG_ENTITY, this.origin.z);
-       if(f & 1)
-       {
+       if (f & 1) {
                WriteCoord(MSG_ENTITY, this.velocity.x);
                WriteCoord(MSG_ENTITY, this.velocity.y);
                WriteCoord(MSG_ENTITY, this.velocity.z);
        }
-       if(f & 2)
-       {
+       if (f & 2) {
                WriteCoord(MSG_ENTITY, this.angles.x);
                WriteCoord(MSG_ENTITY, this.angles.y);
                WriteCoord(MSG_ENTITY, this.angles.z);
        }
-       if(f & 4)
-       {
+       if (f & 4) {
                WriteCoord(MSG_ENTITY, this.avelocity.x);
                WriteCoord(MSG_ENTITY, this.avelocity.y);
                WriteCoord(MSG_ENTITY, this.avelocity.z);
@@ -66,14 +66,16 @@ void modeleffect_spawn(string m, float s, float f, vector o, vector v, vector an
        e.teleport_time = t1;
        e.fade_time = t2;
        e.skin = s;
-       if(s0 >= 0)
+       if (s0 >= 0) {
                e.scale = s0 / max6(-e.mins.x, -e.mins.y, -e.mins.z, e.maxs.x, e.maxs.y, e.maxs.z);
-       else
+       } else {
                e.scale = -s0;
-       if(s2 >= 0)
+       }
+       if (s2 >= 0) {
                e.scale2 = s2 / max6(-e.mins.x, -e.mins.y, -e.mins.z, e.maxs.x, e.maxs.y, e.maxs.z);
-       else
+       } else {
                e.scale2 = -s2;
+       }
        float sz = max(e.scale, e.scale2);
        setsize(e, e.mins * sz, e.maxs * sz);
        Net_LinkEntity(e, false, 0.1, modeleffect_SendEntity);
@@ -84,10 +86,10 @@ void modeleffect_spawn(string m, float s, float f, vector o, vector v, vector an
 #ifdef CSQC
 
 entityclass(ModelEffect);
-class(ModelEffect) .float frame1time;
-class(ModelEffect) .float lifetime, fadetime;
-class(ModelEffect) .float teleport_time;
-class(ModelEffect) .float scale1, scale2;
+class(ModelEffect).float frame1time;
+class(ModelEffect).float lifetime, fadetime;
+class(ModelEffect).float teleport_time;
+class(ModelEffect).float scale1, scale2;
 
 .float cnt;
 .float scale;
@@ -99,14 +101,12 @@ void ModelEffect_Draw(entity this)
        setorigin(this, this.origin + frametime * this.velocity);
        this.scale = this.scale1 + (this.scale2 - this.scale1) * (time - this.teleport_time) / (this.lifetime + this.fadetime - this.teleport_time);
        this.alpha = this.cnt * bound(0, 1 - (time - this.lifetime) / this.fadetime, 1);
-       if(this.alpha < ALPHA_MIN_VISIBLE)
-       {
+       if (this.alpha < ALPHA_MIN_VISIBLE) {
                delete(this);
                return;
        }
        this.drawmask = MASK_NORMAL;
-       if(this.scale <= 0)
-       {
+       if (this.scale <= 0) {
                this.drawmask = 0;
                return;
        }
@@ -128,20 +128,17 @@ NET_HANDLE(ENT_CLIENT_MODELEFFECT, bool isnew)
        e.origin_y = ReadCoord();
        e.origin_z = ReadCoord();
        setorigin(e, e.origin);
-       if(f & 1)
-       {
+       if (f & 1) {
                e.velocity_x = ReadCoord();
                e.velocity_y = ReadCoord();
                e.velocity_z = ReadCoord();
        }
-       if(f & 2)
-       {
+       if (f & 2) {
                e.angles_x = ReadAngle();
                e.angles_y = ReadAngle();
                e.angles_z = ReadAngle();
        }
-       if(f & 4)
-       {
+       if (f & 4) {
                e.avelocity_x = ReadAngle();
                e.avelocity_y = ReadAngle();
                e.avelocity_z = ReadAngle();
@@ -154,9 +151,11 @@ NET_HANDLE(ENT_CLIENT_MODELEFFECT, bool isnew)
        e.cnt = ReadByte() / 255.0; // actually alpha
 
        e.draw = ModelEffect_Draw;
-       if (isnew) IL_PUSH(g_drawables, e);
+       if (isnew) { IL_PUSH(g_drawables, e); }
 
-       if (!isnew) delete(e); // yes, this IS stupid, but I don't need to duplicate all the read* stuff then
+       if (!isnew) {
+               delete(e); // yes, this IS stupid, but I don't need to duplicate all the read* stuff then
+       }
        return true;
 }
 #endif
index dd3785b68ea2cf65af3fb5ecc5c77f86c0b102e0..318909b59661987a6be7c73acf582e19d10199cd 100644 (file)
@@ -6,14 +6,16 @@ entityclass(Rubble);
 class(Rubble).float creationtime;
 
 IntrusiveList g_rubble;
-STATIC_INIT(g_rubble) { g_rubble = IL_NEW(); }
+STATIC_INIT(g_rubble)
+{
+       g_rubble = IL_NEW();
+}
 
 void RubbleLimit(string cname, int limit, void(entity) deleteproc)
 {
        // remove rubble of the same type if it's at the limit
        // remove multiple rubble if the limit has been decreased
-       while (1)
-       {
+       while (1) {
                // walk the list and count the entities, find the oldest
                // initialize our search with the first entity
                int c = 0;
@@ -23,15 +25,14 @@ void RubbleLimit(string cname, int limit, void(entity) deleteproc)
                IL_EACH(g_rubble, it.classname == cname,
                {
                        ++c;
-                       if(!oldest || oldesttime > it.creationtime)
-                       {
+                       if (!oldest || oldesttime > it.creationtime) {
                                oldest = it;
                                oldesttime = it.creationtime;
                        }
                });
 
                // stop if there are less than the limit already
-               if (c <= limit) break;
+               if (c <= limit) { break; }
 
                // delete this oldest one and search again
                deleteproc(oldest);
index 53797d2bc6d245dc7de9ee17abaa5143836a5e31..5edfe184df934fc293141e68c7a71b2b88fbc11e 100644 (file)
@@ -1,16 +1,16 @@
 #pragma once
 
 #ifdef SVQC
-//EF_BRIGHTFIELD|EF_BRIGHTLIGHT|EF_DIMLIGHT|EF_BLUE|EF_RED|EF_FLAME
+// EF_BRIGHTFIELD|EF_BRIGHTLIGHT|EF_DIMLIGHT|EF_BLUE|EF_RED|EF_FLAME
 const float BALL_EFFECTMASK = 1229;
 const vector BALL_MINS = '-16 -16 -16'; // The model is 24*24*24
 const vector BALL_MAXS = '16 16 16';
 const vector BALL_ATTACHORG = '3 0 16';
 const float BALL_FOOT = 1;
 const float BALL_BASKET = 2;
-//spawnflags
+// spawnflags
 const float GOAL_TOUCHPLAYER = 1;
-//goal types
+// goal types
 const float GOAL_FAULT = -1;
 const float GOAL_OUT = -2;
 
index 705ac6d541ac4d828e98adee8aa291f2fccb0515..cd6a53a32190a1182c2dcddefa56136e138cee45 100644 (file)
@@ -6,68 +6,67 @@ vector trigger_push_calculatevelocity(vector org, entity tgt, float ht);
 
 METHOD(BallStealer, wr_think, void(BallStealer thiswep, entity actor, .entity weaponentity, int fire))
 {
-    TC(BallStealer, thiswep);
-    if(fire & 1)
-        if(weapon_prepareattack(thiswep, actor, weaponentity, false, autocvar_g_balance_nexball_primary_refire))
-            if(autocvar_g_nexball_basketball_meter)
-            {
-                if(actor.ballcarried && !actor.metertime)
-                    actor.metertime = time;
-                else
-                    weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, autocvar_g_balance_nexball_primary_animtime, w_ready);
-            }
-            else
-            {
-                W_Nexball_Attack(actor, weaponentity, -1);
-                weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, autocvar_g_balance_nexball_primary_animtime, w_ready);
-            }
-    if(fire & 2)
-        if(weapon_prepareattack(thiswep, actor, weaponentity, true, autocvar_g_balance_nexball_secondary_refire))
-        {
-            W_Nexball_Attack2(actor, weaponentity);
-            weapon_thinkf(actor, weaponentity, WFRAME_FIRE2, autocvar_g_balance_nexball_secondary_animtime, w_ready);
-        }
-
-    if(!(fire & 1) && actor.metertime && actor.ballcarried)
-    {
-        W_Nexball_Attack(actor, weaponentity, time - actor.metertime);
-        // DropBall or stealing will set metertime back to 0
-        weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, autocvar_g_balance_nexball_primary_animtime, w_ready);
-    }
+       TC(BallStealer, thiswep);
+       if (fire & 1) {
+               if (weapon_prepareattack(thiswep, actor, weaponentity, false, autocvar_g_balance_nexball_primary_refire)) {
+                       if (autocvar_g_nexball_basketball_meter) {
+                               if (actor.ballcarried && !actor.metertime) {
+                                       actor.metertime = time;
+                               } else {
+                                       weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, autocvar_g_balance_nexball_primary_animtime, w_ready);
+                               }
+                       } else {
+                               W_Nexball_Attack(actor, weaponentity, -1);
+                               weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, autocvar_g_balance_nexball_primary_animtime, w_ready);
+                       }
+               }
+       }
+       if (fire & 2) {
+               if (weapon_prepareattack(thiswep, actor, weaponentity, true, autocvar_g_balance_nexball_secondary_refire)) {
+                       W_Nexball_Attack2(actor, weaponentity);
+                       weapon_thinkf(actor, weaponentity, WFRAME_FIRE2, autocvar_g_balance_nexball_secondary_animtime, w_ready);
+               }
+       }
+
+       if (!(fire & 1) && actor.metertime && actor.ballcarried) {
+               W_Nexball_Attack(actor, weaponentity, time - actor.metertime);
+               // DropBall or stealing will set metertime back to 0
+               weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, autocvar_g_balance_nexball_primary_animtime, w_ready);
+       }
 }
 
 METHOD(BallStealer, wr_setup, void(BallStealer this, entity actor, .entity weaponentity))
 {
-    TC(BallStealer, this);
-    //weapon_setup(WEP_PORTO.m_id);
+       TC(BallStealer, this);
+       // weapon_setup(WEP_PORTO.m_id);
 }
 
 METHOD(BallStealer, wr_reload, void(entity thiswep, entity actor, .entity weaponentity))
 {
-    TC(BallStealer, this);
+       TC(BallStealer, this);
 }
 
 METHOD(BallStealer, wr_checkammo1, bool(BallStealer this, entity actor, .entity weaponentity))
 {
-    TC(BallStealer, this);
-    return true;
+       TC(BallStealer, this);
+       return true;
 }
 
 METHOD(BallStealer, wr_checkammo2, bool(BallStealer this, entity actor, .entity weaponentity))
 {
-    TC(BallStealer, this);
-    return true;
+       TC(BallStealer, this);
+       return true;
 }
 
 void W_Nexball_Think(entity this)
 {
-       //dprint("W_Nexball_Think\n");
-       //vector new_dir = steerlib_arrive(this.enemy.origin, 2500);
+       // dprint("W_Nexball_Think\n");
+       // vector new_dir = steerlib_arrive(this.enemy.origin, 2500);
        vector new_dir = normalize(this.enemy.origin + '0 0 50' - this.origin);
        vector old_dir = normalize(this.velocity);
        float _speed = vlen(this.velocity);
        vector new_vel = normalize(old_dir + (new_dir * autocvar_g_nexball_safepass_turnrate)) * _speed;
-       //vector new_vel = (new_dir * autocvar_g_nexball_safepass_turnrate
+       // vector new_vel = (new_dir * autocvar_g_nexball_safepass_turnrate
 
        this.velocity = new_vel;
 
@@ -78,22 +77,19 @@ void W_Nexball_Touch(entity this, entity toucher)
 {
        entity ball, attacker;
        attacker = this.owner;
-       //this.think = func_null;
-       //this.enemy = NULL;
+       // this.think = func_null;
+       // this.enemy = NULL;
 
        PROJECTILE_TOUCH(this, toucher);
-       if(attacker.team != toucher.team || autocvar_g_nexball_basketball_teamsteal)
-               if((ball = toucher.ballcarried) && !STAT(FROZEN, toucher) && !IS_DEAD(toucher) && (IS_PLAYER(attacker)))
-               {
+       if (attacker.team != toucher.team || autocvar_g_nexball_basketball_teamsteal) {
+               if ((ball = toucher.ballcarried) && !STAT(FROZEN, toucher) && !IS_DEAD(toucher) && (IS_PLAYER(attacker))) {
                        toucher.velocity = toucher.velocity + normalize(this.velocity) * toucher.damageforcescale * autocvar_g_balance_nexball_secondary_force;
                        UNSET_ONGROUND(toucher);
-                       if(!attacker.ballcarried)
-                       {
+                       if (!attacker.ballcarried) {
                                LogNB("stole", attacker);
                                _sound(toucher, CH_TRIGGER, ball.noise2, VOL_BASE, ATTEN_NORM);
 
-                               if(SAME_TEAM(attacker, toucher) && time > CS(attacker).teamkill_complain)
-                               {
+                               if (SAME_TEAM(attacker, toucher) && time > CS(attacker).teamkill_complain) {
                                        CS(attacker).teamkill_complain = time + 5;
                                        CS(attacker).teamkill_soundtime = time + 0.4;
                                        CS(attacker).teamkill_soundsource = toucher;
@@ -102,6 +98,7 @@ void W_Nexball_Touch(entity this, entity toucher)
                                GiveBall(attacker, toucher.ballcarried);
                        }
                }
+       }
        delete(this);
 }
 
@@ -109,42 +106,42 @@ void W_Nexball_Attack(entity actor, .entity weaponentity, float t)
 {
        entity ball;
        float mul, mi, ma;
-       if(!(ball = actor.ballcarried))
+       if (!(ball = actor.ballcarried)) {
                return;
+       }
 
        W_SetupShot(actor, weaponentity, false, 4, SND_NB_SHOOT1, CH_WEAPON_A, 0);
        tracebox(w_shotorg, BALL_MINS, BALL_MAXS, w_shotorg, MOVE_WORLDONLY, NULL);
-       if(trace_startsolid)
-       {
-               if(actor.metertime)
+       if (trace_startsolid) {
+               if (actor.metertime) {
                        actor.metertime = 0; // Shot failed, hide the power meter
+               }
                return;
        }
 
-       //Calculate multiplier
-       if(t < 0)
+       // Calculate multiplier
+       if (t < 0) {
                mul = 1;
-       else
-       {
+       } else {
                mi = autocvar_g_nexball_basketball_meter_minpower;
                ma = max(mi, autocvar_g_nexball_basketball_meter_maxpower); // avoid confusion
-               //One triangle wave period with 1 as max
+               // One triangle wave period with 1 as max
                mul = 2 * (t % g_nexball_meter_period) / g_nexball_meter_period;
-               if(mul > 1)
+               if (mul > 1) {
                        mul = 2 - mul;
+               }
                mul = mi + (ma - mi) * mul; // range from the minimal power to the maximal power
        }
 
        DropBall(ball, w_shotorg, W_CalculateProjectileVelocity(actor, actor.velocity, w_shotdir * autocvar_g_balance_nexball_primary_speed * mul, false));
 
 
-       //TODO: use the speed_up cvar too ??
+       // TODO: use the speed_up cvar too ??
 }
 
 void W_Nexball_Attack2(entity actor, .entity weaponentity)
 {
-       if(actor.ballcarried.enemy)
-       {
+       if (actor.ballcarried.enemy) {
                entity _ball = actor.ballcarried;
                W_SetupShot(actor, weaponentity, false, 4, SND_NB_SHOOT1, CH_WEAPON_A, 0);
                DropBall(_ball, w_shotorg, trigger_push_calculatevelocity(_ball.origin, _ball.enemy, 32));
@@ -153,8 +150,9 @@ void W_Nexball_Attack2(entity actor, .entity weaponentity)
                return;
        }
 
-       if(!autocvar_g_nexball_tackling)
+       if (!autocvar_g_nexball_tackling) {
                return;
+       }
 
        W_SetupShot(actor, weaponentity, false, 2, SND_NB_SHOOT2, CH_WEAPON_A, 0);
        entity missile = new(ballstealer);
@@ -164,7 +162,7 @@ void W_Nexball_Attack2(entity actor, .entity weaponentity)
        set_movetype(missile, MOVETYPE_FLY);
        PROJECTILE_MAKETRIGGER(missile);
 
-       //setmodel(missile, "models/elaser.mdl");  // precision set below
+       // setmodel(missile, "models/elaser.mdl");  // precision set below
        setsize(missile, '0 0 0', '0 0 0');
        setorigin(missile, w_shotorg);
 
@@ -172,7 +170,7 @@ void W_Nexball_Attack2(entity actor, .entity weaponentity)
        missile.angles = vectoangles(missile.velocity);
        settouch(missile, W_Nexball_Touch);
        setthink(missile, SUB_Remove);
-       missile.nextthink = time + autocvar_g_balance_nexball_secondary_lifetime; //FIXME: use a distance instead?
+       missile.nextthink = time + autocvar_g_balance_nexball_secondary_lifetime; // FIXME: use a distance instead?
 
        missile.effects = EF_BRIGHTFIELD | EF_LOWPRECISION;
        missile.flags = FL_PROJECTILE;
index c863e2f71fb264d25ba52809ad1f2edaa87d59ad..bfd26c2d21d2ecc1562c8c422c852d51c9ee017a 100644 (file)
@@ -5,10 +5,16 @@ REGISTER_NET_LINKED(ENT_CLIENT_CONTROLPOINT_ICON)
 
 #ifdef SVQC
 IntrusiveList g_onsshields;
-STATIC_INIT(g_onsshields) { g_onsshields = IL_NEW(); }
+STATIC_INIT(g_onsshields)
+{
+       g_onsshields = IL_NEW();
+}
 #endif
 
 #ifdef CSQC
 IntrusiveList g_onsgenerators;
-STATIC_INIT(g_onsgenerators) { g_onsgenerators = IL_NEW(); }
+STATIC_INIT(g_onsgenerators)
+{
+       g_onsgenerators = IL_NEW();
+}
 #endif
index 5c7fd469735b1e38cad2abdf8e11165d9ffb3d66..96fff9cd059e7c914f5380a5038b25afab4e5536 100644 (file)
@@ -5,7 +5,7 @@ void ons_Initialize();
 
 REGISTER_MUTATOR(ons, false)
 {
-    MUTATOR_STATIC();
+       MUTATOR_STATIC();
        MUTATOR_ONADD
        {
                GameRules_teams(true);
@@ -73,10 +73,10 @@ bool ons_ControlPoint_Attackable(entity cp, int teamnumber);
 float ons_captureshield_force; // push force of the shield
 
 // bot player logic
-const int HAVOCBOT_ONS_ROLE_NONE               = 0;
-const int HAVOCBOT_ONS_ROLE_DEFENSE    = 2;
-const int HAVOCBOT_ONS_ROLE_ASSISTANT  = 4;
-const int HAVOCBOT_ONS_ROLE_OFFENSE    = 8;
+const int HAVOCBOT_ONS_ROLE_NONE        = 0;
+const int HAVOCBOT_ONS_ROLE_DEFENSE     = 2;
+const int HAVOCBOT_ONS_ROLE_ASSISTANT   = 4;
+const int HAVOCBOT_ONS_ROLE_OFFENSE     = 8;
 
 .entity havocbot_ons_target;
 
index a4a4bcd196deb0ac37eb3dad58e807a980908b89..77bec71bb3c662f6e1f3ed99cc0d008e8e4f96fd 100644 (file)
 
 void GameRules_teams(bool value)
 {
-    if (value) {
-        serverflags |= SERVERFLAG_TEAMPLAY;
-        teamplay = 1;
-        cvar_set("teamplay", "2");  // DP needs this for sending proper getstatus replies.
-        GameRules_spawning_teams(true);
-    } else {
-       serverflags &= ~SERVERFLAG_TEAMPLAY;
-       teamplay = 0;
-       cvar_set("teamplay", "0");  // DP needs this for sending proper getstatus replies.
-       GameRules_spawning_teams(false);
-    }
+       if (value) {
+               serverflags |= SERVERFLAG_TEAMPLAY;
+               teamplay = 1;
+               cvar_set("teamplay", "2"); // DP needs this for sending proper getstatus replies.
+               GameRules_spawning_teams(true);
+       } else {
+               serverflags &= ~SERVERFLAG_TEAMPLAY;
+               teamplay = 0;
+               cvar_set("teamplay", "0"); // DP needs this for sending proper getstatus replies.
+               GameRules_spawning_teams(false);
+       }
 }
 
 void GameRules_spawning_teams(bool value)
 {
-    have_team_spawns = value ? -1 : 0;
+       have_team_spawns = value ? -1 : 0;
 }
 
 bool _GameRules_score_enabled = true;
 void GameRules_score_enabled(bool value)
 {
-    _GameRules_score_enabled = value;
+       _GameRules_score_enabled = value;
 }
 
 bool GameRules_limit_score_initialized;
 void GameRules_limit_score(int limit)
 {
-    if (GameRules_limit_score_initialized) return;
-    if (autocvar_g_campaign) return;
-    if (limit < 0) return;
-    cvar_set("fraglimit", ftos(limit));
-    GameRules_limit_score_initialized = true;
+       if (GameRules_limit_score_initialized) { return; }
+       if (autocvar_g_campaign) { return; }
+       if (limit < 0) { return; }
+       cvar_set("fraglimit", ftos(limit));
+       GameRules_limit_score_initialized = true;
 }
 
 bool GameRules_limit_lead_initialized;
 void GameRules_limit_lead(int limit)
 {
-    if (GameRules_limit_lead_initialized) return;
-    if (autocvar_g_campaign) return;
-    if (limit < 0) return;
-    cvar_set("leadlimit", ftos(limit));
-    GameRules_limit_lead_initialized = true;
+       if (GameRules_limit_lead_initialized) { return; }
+       if (autocvar_g_campaign) { return; }
+       if (limit < 0) { return; }
+       cvar_set("leadlimit", ftos(limit));
+       GameRules_limit_lead_initialized = true;
 }
 
 bool GameRules_limit_time_initialized;
 void GameRules_limit_time(int limit)
 {
-    if (GameRules_limit_time_initialized) return;
-    if (autocvar_g_campaign) return;
-    if (limit < 0) return;
-    cvar_set("timelimit", ftos(limit));
-    GameRules_limit_time_initialized = true;
+       if (GameRules_limit_time_initialized) { return; }
+       if (autocvar_g_campaign) { return; }
+       if (limit < 0) { return; }
+       cvar_set("timelimit", ftos(limit));
+       GameRules_limit_time_initialized = true;
 }
 
 bool GameRules_limit_time_qualifying_initialized;
 void GameRules_limit_time_qualifying(int limit)
 {
-    if (GameRules_limit_time_qualifying_initialized) return;
-    if (autocvar_g_campaign) return;
-    if (limit < 0) return;
-    cvar_set("g_race_qualifying_timelimit", ftos(limit));
-    GameRules_limit_time_qualifying_initialized = true;
+       if (GameRules_limit_time_qualifying_initialized) { return; }
+       if (autocvar_g_campaign) { return; }
+       if (limit < 0) { return; }
+       cvar_set("g_race_qualifying_timelimit", ftos(limit));
+       GameRules_limit_time_qualifying_initialized = true;
 }
 
 void GameRules_limit_fallbacks()
 {
-    GameRules_limit_score(autocvar_fraglimit_override);
-    GameRules_limit_lead(autocvar_leadlimit_override);
-    GameRules_limit_time(autocvar_timelimit_override);
+       GameRules_limit_score(autocvar_fraglimit_override);
+       GameRules_limit_lead(autocvar_leadlimit_override);
+       GameRules_limit_time(autocvar_timelimit_override);
 }
 
 void _GameRules_scoring_begin(int teams, float spprio, float stprio)
 {
-    ScoreRules_basics(teams, spprio, stprio, _GameRules_score_enabled);
+       ScoreRules_basics(teams, spprio, stprio, _GameRules_score_enabled);
 }
 void _GameRules_scoring_field(entity i, string label, int scoreflags)
 {
-    ScoreInfo_SetLabel_PlayerScore(i, label, scoreflags);
+       ScoreInfo_SetLabel_PlayerScore(i, label, scoreflags);
 }
 void _GameRules_scoring_field_team(float i, string label, int scoreflags)
 {
-    ScoreInfo_SetLabel_TeamScore(i, label, scoreflags);
+       ScoreInfo_SetLabel_TeamScore(i, label, scoreflags);
 }
 void _GameRules_scoring_end()
 {
-    ScoreRules_basics_end();
+       ScoreRules_basics_end();
 }
 
 .bool m_GameRules_scoring_vip;
 void GameRules_scoring_vip(entity player, bool value)
 {
-    player.m_GameRules_scoring_vip = value;
+       player.m_GameRules_scoring_vip = value;
 }
 bool GameRules_scoring_is_vip(entity player)
 {
-    return player.m_GameRules_scoring_vip;
+       return player.m_GameRules_scoring_vip;
 }
 
 float _GameRules_scoring_add(entity client, entity sp, float value)
 {
-    return PlayerScore_Add(client, sp, value);
+       return PlayerScore_Add(client, sp, value);
 }
 float _GameRules_scoring_add_team(entity client, entity sp, int st, float value)
 {
-    return PlayerTeamScore_Add(client, sp, st, value);
+       return PlayerTeamScore_Add(client, sp, st, value);
 }
index 7a4e44cfbde46f1bce58df18096bb82fa8ca39ba..bb6b6616016fa645e69391c98e694d77741c2237 100644 (file)
@@ -28,14 +28,15 @@ void GameRules_limit_fallbacks();
  * @param spprio player score priority (if frags aren't enabled)
  * @param stprio team score priority (if frags aren't enabled)
  */
-#define GameRules_scoring(teams, spprio, stprio, fields) MACRO_BEGIN \
-    _GameRules_scoring_begin((teams), (spprio), (stprio)); \
-    noref void(entity, string, float) field = _GameRules_scoring_field; \
-    /* todo: just have the one `field` function */ \
-    noref void(int, string, float) field_team = _GameRules_scoring_field_team; \
-    LAMBDA(fields); \
-    _GameRules_scoring_end(); \
-MACRO_END
+#define GameRules_scoring(teams, spprio, stprio, fields) \
+       MACRO_BEGIN \
+               _GameRules_scoring_begin((teams), (spprio), (stprio)); \
+               noref void(entity, string, float) field = _GameRules_scoring_field; \
+               /* todo: just have the one `field` function */ \
+               noref void(int, string, float) field_team = _GameRules_scoring_field_team; \
+               LAMBDA(fields); \
+               _GameRules_scoring_end(); \
+       MACRO_END
 
 void _GameRules_scoring_begin(int teams, float spprio, float stprio);
 void _GameRules_scoring_field(entity i, string label, int scoreflags);
index 45a8f1323b9f142bd02b5eae8ad61202a273ae63..4e3318838716f7deaa8942011d74a1ab407a2406 100644 (file)
@@ -12,7 +12,7 @@ REGISTRY_CHECK(IMPULSES)
 .void(entity this) impulse_handle;
 
 #if defined(CSQC)
-#define IMPULSE_ALIAS(alias, id) localcmd("\nalias " #alias " \"", id ,"\"\n")
+#define IMPULSE_ALIAS(alias, id) localcmd("\nalias " #alias " \"", id"\"\n")
 #else
 #define IMPULSE_ALIAS(alias, id)
 #endif
@@ -28,12 +28,16 @@ REGISTRY_CHECK(IMPULSES)
 #define LEGACY_IMPULSE_ID(alias, id) LEGACY_IMPULSE(alias, id, sprintf("impulse %d", IMP_##alias.impulse))
 
 #define LEGACY_IMPULSE(alias, id, new) \
-       STATIC_INIT(legacy_##alias) { \
+       STATIC_INIT(legacy_##alias) \
+       { \
                string s = new; \
-               if (s == #alias) LOG_FATALF("LEGACY_IMPULSE: would define a recursive alias for '%s', use LEGACY_IMPULSE_ID instead", s); \
+               if (s == #alias) { LOG_FATALF("LEGACY_IMPULSE: would define a recursive alias for '%s', use LEGACY_IMPULSE_ID instead", s); } \
                IMPULSE_ALIAS(alias, s); \
        } \
-       SHUTDOWN(legacy_##alias) { IMPULSE_ALIAS(alias, "impulse " #id); }
+       SHUTDOWN(legacy_##alias) \
+       { \
+               IMPULSE_ALIAS(alias, "impulse " #id); \
+       }
 
 #define X(slot, imp) \
        REGISTER_IMPULSE(weapon_group_##slot, imp) \
index 0a26a75b5a7fd33aeee0f0b35a3dfd4b8ec92b8b..779d266dc844df7f3e0a5079b44ce8546d9d90c7 100644 (file)
@@ -2,26 +2,26 @@
 
 void Dump_Items()
 {
-    FOREACH(Items, true, ITEM_HANDLE(Show, it));
+       FOREACH(Items, true, ITEM_HANDLE(Show, it));
 }
 
 string Item_Model(string item_mdl)
 {
-    string output = strcat("models/items/", item_mdl);
+       string output = strcat("models/items/", item_mdl);
 #ifdef SVQC
-    MUTATOR_CALLHOOK(ItemModel, item_mdl, output);
-    output = M_ARGV(1, string);
+       MUTATOR_CALLHOOK(ItemModel, item_mdl, output);
+       output = M_ARGV(1, string);
 #endif
-    return output;
+       return output;
 }
 
 string Item_Sound(string it_snd)
 {
        string output = strcat("misc/", it_snd);
 #ifdef SVQC
-               MUTATOR_CALLHOOK(ItemSound, it_snd, output);
-               return M_ARGV(1, string);
+       MUTATOR_CALLHOOK(ItemSound, it_snd, output);
+       return M_ARGV(1, string);
 #else
-               return output;
+       return output;
 #endif
 }
index c302ae40281d43699b335ab24a7d382b7d3d667e..114fb7d2c5a9e497adeeb7044eb3dfd76d856dc5 100644 (file)
@@ -6,41 +6,41 @@
 #include <common/sounds/all.inc>
 #endif
 
-const int IT_UNLIMITED_WEAPON_AMMO             =  BIT(0); // when this bit is set, using a weapon does not reduce ammo. Checkpoints can give this powerup.
-const int IT_UNLIMITED_SUPERWEAPONS            =  BIT(1); // when this bit is set, superweapons don't expire. Checkpoints can give this powerup.
+const int IT_UNLIMITED_WEAPON_AMMO      =  BIT(0); // when this bit is set, using a weapon does not reduce ammo. Checkpoints can give this powerup.
+const int IT_UNLIMITED_SUPERWEAPONS     =  BIT(1); // when this bit is set, superweapons don't expire. Checkpoints can give this powerup.
 
-const int IT_JETPACK                           =  BIT(2); // actual item
-const int IT_USING_JETPACK                     =  BIT(3); // confirmation that button is pressed
-const int IT_FUEL_REGEN                        =  BIT(4); // fuel regeneration trigger
+const int IT_JETPACK                    =  BIT(2); // actual item
+const int IT_USING_JETPACK              =  BIT(3); // confirmation that button is pressed
+const int IT_FUEL_REGEN                 =  BIT(4); // fuel regeneration trigger
 
-const int IT_FUEL                                      =  BIT(5);
+const int IT_FUEL                       =  BIT(5);
 const int IT_SHELLS                     =  BIT(6);
 const int IT_NAILS                      =  BIT(7);
 const int IT_ROCKETS                    =  BIT(8);
 const int IT_CELLS                      =  BIT(9);
-const int IT_PLASMA                                    = BIT(10);
+const int IT_PLASMA                     = BIT(10);
 
-const int IT_5HP                               = BIT(11);
-const int IT_25HP                              = BIT(12);
-const int IT_HEALTH                                    = BIT(13);
+const int IT_5HP                        = BIT(11);
+const int IT_25HP                       = BIT(12);
+const int IT_HEALTH                     = BIT(13);
 
-const int IT_ARMOR_SHARD                       = BIT(14);
-const int IT_ARMOR                             = BIT(15);
+const int IT_ARMOR_SHARD                = BIT(14);
+const int IT_ARMOR                      = BIT(15);
 
-const int IT_KEY1                                              = BIT(16);
-const int IT_KEY2                                              = BIT(17);
+const int IT_KEY1                       = BIT(16);
+const int IT_KEY2                       = BIT(17);
 
-const int IT_CTF_SHIELDED                      = BIT(18); // set for the flag shield
+const int IT_CTF_SHIELDED               = BIT(18); // set for the flag shield
 
 // special colorblend meaning in engine
-const int IT_INVISIBILITY                              = BIT(19);
-const int IT_INVINCIBLE                                = BIT(20);
-const int IT_SUPERWEAPON                               = BIT(21); // suit
-const int IT_STRENGTH                                  = BIT(22);
+const int IT_INVISIBILITY               = BIT(19);
+const int IT_INVINCIBLE                 = BIT(20);
+const int IT_SUPERWEAPON                = BIT(21); // suit
+const int IT_STRENGTH                   = BIT(22);
 
 // item masks
-const int IT_UNLIMITED_AMMO                    = IT_UNLIMITED_WEAPON_AMMO | IT_UNLIMITED_SUPERWEAPONS;
-const int IT_PICKUPMASK                        = IT_UNLIMITED_AMMO | IT_JETPACK | IT_FUEL_REGEN; // strength and invincible are handled separately
+const int IT_UNLIMITED_AMMO             = IT_UNLIMITED_WEAPON_AMMO | IT_UNLIMITED_SUPERWEAPONS;
+const int IT_PICKUPMASK                 = IT_UNLIMITED_AMMO | IT_JETPACK | IT_FUEL_REGEN; // strength and invincible are handled separately
 
 #ifdef SVQC
 .float  strength_finished = _STAT(STRENGTH_FINISHED);
@@ -49,25 +49,25 @@ const int IT_PICKUPMASK                     = IT_UNLIMITED_AMMO | IT_JETPACK | IT_FU
 
 #define ITEM_HANDLE(signal, ...) __Item_Send_##signal(__VA_ARGS__)
 CLASS(GameItem, Object)
-    ATTRIB(GameItem, m_id, int, 0);
-    ATTRIB(GameItem, m_name, string);
-    ATTRIB(GameItem, m_icon, string);
-    ATTRIB(GameItem, m_color, vector, '1 1 1');
-    ATTRIB(GameItem, m_waypoint, string);
-    ATTRIB(GameItem, m_waypointblink, int, 1);
+       ATTRIB(GameItem, m_id, int, 0);
+       ATTRIB(GameItem, m_name, string);
+       ATTRIB(GameItem, m_icon, string);
+       ATTRIB(GameItem, m_color, vector, '1 1 1');
+       ATTRIB(GameItem, m_waypoint, string);
+       ATTRIB(GameItem, m_waypointblink, int, 1);
 #ifdef GAMEQC
-    ATTRIB(GameItem, m_glow, bool, false);
-    ATTRIB(GameItem, m_respawnsound, Sound, SND_ITEMRESPAWN);
+       ATTRIB(GameItem, m_glow, bool, false);
+       ATTRIB(GameItem, m_respawnsound, Sound, SND_ITEMRESPAWN);
 #endif
-    METHOD(GameItem, display, void(GameItem this, void(string name, string icon) returns))
-    {
-        TC(GameItem, this);
-        returns(this.m_name, this.m_icon ? sprintf("/gfx/hud/%s/%s", cvar_string("menu_skin"), this.m_icon) : string_null);
-    }
-    METHOD(GameItem, show, void(GameItem this))
-    {
-        TC(GameItem, this);
-        LOG_INFO("A game item");
-    }
-    void ITEM_HANDLE(Show, GameItem this) { this.show(this); }
+       METHOD(GameItem, display, void(GameItem this, void(string name, string icon) returns))
+       {
+               TC(GameItem, this);
+               returns(this.m_name, this.m_icon ? sprintf("/gfx/hud/%s/%s", cvar_string("menu_skin"), this.m_icon) : string_null);
+       }
+       METHOD(GameItem, show, void(GameItem this))
+       {
+               TC(GameItem, this);
+               LOG_INFO("A game item");
+       }
+       void ITEM_HANDLE(Show, GameItem this) { this.show(this); }
 ENDCLASS(GameItem)
index 20963928526a12ddfe94313004fffe946ca89b8c..9dc9b559ff2d4f4cca95a16efefc5a7cbea53755 100644 (file)
@@ -7,15 +7,15 @@ PROPERTY(float, g_pickup_ammo_anyway);
 
 CLASS(Ammo, Pickup)
 #ifdef SVQC
-    ATTRIB(Ammo, m_pickupevalfunc, float(entity player, entity item), ammo_pickupevalfunc);
-    ATTRIB(Ammo, m_respawntime, float(), GET(g_pickup_respawntime_ammo));
-    ATTRIB(Ammo, m_respawntimejitter, float(), GET(g_pickup_respawntimejitter_ammo));
-    ATTRIB(Ammo, m_pickupanyway, float(), GET(g_pickup_ammo_anyway));
+       ATTRIB(Ammo, m_pickupevalfunc, float(entity player, entity item), ammo_pickupevalfunc);
+       ATTRIB(Ammo, m_respawntime, float(), GET(g_pickup_respawntime_ammo));
+       ATTRIB(Ammo, m_respawntimejitter, float(), GET(g_pickup_respawntimejitter_ammo));
+       ATTRIB(Ammo, m_pickupanyway, float(), GET(g_pickup_ammo_anyway));
 #endif
 ENDCLASS(Ammo)
 
 #ifdef SVQC
-    #include <common/t_items.qh>
+#include <common/t_items.qh>
 #endif
 
 #ifdef GAMEQC
@@ -26,21 +26,23 @@ MODEL(Bullets_ITEM, Item_Model("a_bullets.mdl"));
 PROPERTY(int, g_pickup_nails);
 void ammo_bullets_init(entity item)
 {
-    if(!item.ammo_nails)
-        item.ammo_nails = g_pickup_nails;
+       if (!item.ammo_nails) {
+               item.ammo_nails = g_pickup_nails;
+       }
 }
 #endif
-REGISTER_ITEM(Bullets, Ammo) {
+REGISTER_ITEM(Bullets, Ammo)
+{
 #ifdef GAMEQC
-    this.m_model    =   MDL_Bullets_ITEM;
+       this.m_model    =   MDL_Bullets_ITEM;
 #endif
-    this.netname    =   "bullets";
-    this.m_name     =   "bullets";
-    this.m_icon     =   "ammo_bullets";
+       this.netname    =   "bullets";
+       this.m_name     =   "bullets";
+       this.m_icon     =   "ammo_bullets";
 #ifdef SVQC
-    this.m_botvalue =   1500;
-    this.m_itemid   =   IT_NAILS;
-    this.m_iteminit =   ammo_bullets_init;
+       this.m_botvalue =   1500;
+       this.m_itemid   =   IT_NAILS;
+       this.m_iteminit =   ammo_bullets_init;
 #endif
 }
 
@@ -52,21 +54,23 @@ MODEL(Cells_ITEM, Item_Model("a_cells.md3"));
 PROPERTY(int, g_pickup_cells);
 void ammo_cells_init(entity item)
 {
-    if(!item.ammo_cells)
-        item.ammo_cells = g_pickup_cells;
+       if (!item.ammo_cells) {
+               item.ammo_cells = g_pickup_cells;
+       }
 }
 #endif
-REGISTER_ITEM(Cells, Ammo) {
+REGISTER_ITEM(Cells, Ammo)
+{
 #ifdef GAMEQC
-    this.m_model    =   MDL_Cells_ITEM;
+       this.m_model    =   MDL_Cells_ITEM;
 #endif
-    this.netname    =   "cells";
-    this.m_name     =   "cells";
-    this.m_icon     =   "ammo_cells";
+       this.netname    =   "cells";
+       this.m_name     =   "cells";
+       this.m_icon     =   "ammo_cells";
 #ifdef SVQC
-    this.m_botvalue =   1500;
-    this.m_itemid   =   IT_CELLS;
-    this.m_iteminit =   ammo_cells_init;
+       this.m_botvalue =   1500;
+       this.m_itemid   =   IT_CELLS;
+       this.m_iteminit =   ammo_cells_init;
 #endif
 }
 
@@ -78,21 +82,23 @@ MODEL(Plasma_ITEM, Item_Model("a_cells.md3"));
 PROPERTY(int, g_pickup_plasma);
 void ammo_plasma_init(entity item)
 {
-    if(!item.ammo_plasma)
-        item.ammo_plasma = g_pickup_plasma;
+       if (!item.ammo_plasma) {
+               item.ammo_plasma = g_pickup_plasma;
+       }
 }
 #endif
-REGISTER_ITEM(Plasma, Ammo) {
+REGISTER_ITEM(Plasma, Ammo)
+{
 #ifdef GAMEQC
-    this.m_model    =   MDL_Plasma_ITEM;
+       this.m_model    =   MDL_Plasma_ITEM;
 #endif
-    this.netname    =   "plasma";
-    this.m_name     =   "plasma";
-    this.m_icon     =   "ammo_plasma";
+       this.netname    =   "plasma";
+       this.m_name     =   "plasma";
+       this.m_icon     =   "ammo_plasma";
 #ifdef SVQC
-    this.m_botvalue =   1500;
-    this.m_itemid   =   IT_PLASMA;
-    this.m_iteminit =   ammo_plasma_init;
+       this.m_botvalue =   1500;
+       this.m_itemid   =   IT_PLASMA;
+       this.m_iteminit =   ammo_plasma_init;
 #endif
 }
 
@@ -104,21 +110,23 @@ MODEL(Rockets_ITEM, Item_Model("a_rockets.md3"));
 PROPERTY(int, g_pickup_rockets);
 void ammo_rockets_init(entity item)
 {
-    if(!item.ammo_rockets)
-        item.ammo_rockets = g_pickup_rockets;
+       if (!item.ammo_rockets) {
+               item.ammo_rockets = g_pickup_rockets;
+       }
 }
 #endif
-REGISTER_ITEM(Rockets, Ammo) {
+REGISTER_ITEM(Rockets, Ammo)
+{
 #ifdef GAMEQC
-    this.m_model    =   MDL_Rockets_ITEM;
+       this.m_model    =   MDL_Rockets_ITEM;
 #endif
-    this.netname    =   "rockets";
-    this.m_name     =   "rockets";
-    this.m_icon     =   "ammo_rockets";
+       this.netname    =   "rockets";
+       this.m_name     =   "rockets";
+       this.m_icon     =   "ammo_rockets";
 #ifdef SVQC
-    this.m_botvalue =   1500;
-    this.m_itemid   =   IT_ROCKETS;
-    this.m_iteminit =   ammo_rockets_init;
+       this.m_botvalue =   1500;
+       this.m_itemid   =   IT_ROCKETS;
+       this.m_iteminit =   ammo_rockets_init;
 #endif
 }
 
@@ -130,20 +138,22 @@ MODEL(Shells_ITEM, Item_Model("a_shells.md3"));
 PROPERTY(int, g_pickup_shells);
 void ammo_shells_init(entity item)
 {
-    if(!item.ammo_shells)
-        item.ammo_shells = g_pickup_shells;
+       if (!item.ammo_shells) {
+               item.ammo_shells = g_pickup_shells;
+       }
 }
 #endif
-REGISTER_ITEM(Shells, Ammo) {
+REGISTER_ITEM(Shells, Ammo)
+{
 #ifdef GAMEQC
-    this.m_model    =   MDL_Shells_ITEM;
+       this.m_model    =   MDL_Shells_ITEM;
 #endif
-    this.netname    =   "shells";
-    this.m_name     =   "shells";
-    this.m_icon     =   "ammo_shells";
+       this.netname    =   "shells";
+       this.m_name     =   "shells";
+       this.m_icon     =   "ammo_shells";
 #ifdef SVQC
-    this.m_botvalue =   1000;
-    this.m_itemid   =   IT_SHELLS;
-    this.m_iteminit =   ammo_shells_init;
+       this.m_botvalue =   1000;
+       this.m_itemid   =   IT_SHELLS;
+       this.m_iteminit =   ammo_shells_init;
 #endif
 }
index 0258cf8811c7682e0922f3f6960ed6af2f9c7065..a7b6611fea146120dc9fa7f01172b0ddb6d5ac89 100644 (file)
@@ -3,15 +3,15 @@
 #include "pickup.qh"
 CLASS(Armor, Pickup)
 #ifdef SVQC
-    ATTRIB(Armor, m_mins, vector, '-16 -16 0');
-    ATTRIB(Armor, m_maxs, vector, '16 16 48');
-    ATTRIB(Armor, m_pickupevalfunc, float(entity player, entity item), healtharmor_pickupevalfunc);
-    ATTRIB(Armor, m_botvalue, int, 5000);
+       ATTRIB(Armor, m_mins, vector, '-16 -16 0');
+       ATTRIB(Armor, m_maxs, vector, '16 16 48');
+       ATTRIB(Armor, m_pickupevalfunc, float(entity player, entity item), healtharmor_pickupevalfunc);
+       ATTRIB(Armor, m_botvalue, int, 5000);
 #endif
 ENDCLASS(Armor)
 
 #ifdef SVQC
-    #include <common/t_items.qh>
+#include <common/t_items.qh>
 #endif
 
 #ifdef GAMEQC
@@ -24,27 +24,30 @@ PROPERTY(int, g_pickup_armorsmall);
 PROPERTY(int, g_pickup_armorsmall_max);
 void item_armorsmall_init(entity item)
 {
-    if(!item.max_armorvalue)
-        item.max_armorvalue = g_pickup_armorsmall_max;
-    if(!item.armorvalue)
-        item.armorvalue = g_pickup_armorsmall;
+       if (!item.max_armorvalue) {
+               item.max_armorvalue = g_pickup_armorsmall_max;
+       }
+       if (!item.armorvalue) {
+               item.armorvalue = g_pickup_armorsmall;
+       }
 }
 #endif
 
-REGISTER_ITEM(ArmorSmall, Armor) {
+REGISTER_ITEM(ArmorSmall, Armor)
+{
 #ifdef GAMEQC
-    this.m_model                =   MDL_ArmorSmall_ITEM;
-    this.m_sound                =   SND_ArmorSmall;
+       this.m_model                =   MDL_ArmorSmall_ITEM;
+       this.m_sound                =   SND_ArmorSmall;
 #endif
-    this.netname                =   "armor_small";
-    this.m_name                 =   "5 Armor";
-    this.m_icon                 =   "armor";
+       this.netname                =   "armor_small";
+       this.m_name                 =   "5 Armor";
+       this.m_icon                 =   "armor";
 #ifdef SVQC
-    this.m_itemid               =   IT_ARMOR_SHARD;
-    this.m_respawntime          =   GET(g_pickup_respawntime_short);
-    this.m_respawntimejitter    =   GET(g_pickup_respawntimejitter_short);
-    this.m_pickupanyway         =   GET(g_pickup_armorsmall_anyway);
-    this.m_iteminit             =   item_armorsmall_init;
+       this.m_itemid               =   IT_ARMOR_SHARD;
+       this.m_respawntime          =   GET(g_pickup_respawntime_short);
+       this.m_respawntimejitter    =   GET(g_pickup_respawntimejitter_short);
+       this.m_pickupanyway         =   GET(g_pickup_armorsmall_anyway);
+       this.m_iteminit             =   item_armorsmall_init;
 #endif
 }
 
@@ -58,27 +61,30 @@ PROPERTY(int, g_pickup_armormedium);
 PROPERTY(int, g_pickup_armormedium_max);
 void item_armormedium_init(entity item)
 {
-    if(!item.max_armorvalue)
-        item.max_armorvalue = g_pickup_armormedium_max;
-    if(!item.armorvalue)
-        item.armorvalue = g_pickup_armormedium;
+       if (!item.max_armorvalue) {
+               item.max_armorvalue = g_pickup_armormedium_max;
+       }
+       if (!item.armorvalue) {
+               item.armorvalue = g_pickup_armormedium;
+       }
 }
 #endif
 
-REGISTER_ITEM(ArmorMedium, Armor) {
+REGISTER_ITEM(ArmorMedium, Armor)
+{
 #ifdef GAMEQC
-    this.m_model                =   MDL_ArmorMedium_ITEM;
-    this.m_sound                =   SND_ArmorMedium;
+       this.m_model                =   MDL_ArmorMedium_ITEM;
+       this.m_sound                =   SND_ArmorMedium;
 #endif
-    this.netname                =   "armor_medium";
-    this.m_name                 =   "25 Armor";
-    this.m_icon                 =   "armor";
+       this.netname                =   "armor_medium";
+       this.m_name                 =   "25 Armor";
+       this.m_icon                 =   "armor";
 #ifdef SVQC
-    this.m_itemid               =   IT_ARMOR;
-    this.m_respawntime          =   GET(g_pickup_respawntime_medium);
-    this.m_respawntimejitter    =   GET(g_pickup_respawntimejitter_medium);
-    this.m_pickupanyway         =   GET(g_pickup_armormedium_anyway);
-    this.m_iteminit             =   item_armormedium_init;
+       this.m_itemid               =   IT_ARMOR;
+       this.m_respawntime          =   GET(g_pickup_respawntime_medium);
+       this.m_respawntimejitter    =   GET(g_pickup_respawntimejitter_medium);
+       this.m_pickupanyway         =   GET(g_pickup_armormedium_anyway);
+       this.m_iteminit             =   item_armormedium_init;
 #endif
 }
 
@@ -92,29 +98,32 @@ PROPERTY(int, g_pickup_armorbig);
 PROPERTY(int, g_pickup_armorbig_max);
 void item_armorbig_init(entity item)
 {
-    if(!item.max_armorvalue)
-        item.max_armorvalue = g_pickup_armorbig_max;
-    if(!item.armorvalue)
-        item.armorvalue = g_pickup_armorbig;
+       if (!item.max_armorvalue) {
+               item.max_armorvalue = g_pickup_armorbig_max;
+       }
+       if (!item.armorvalue) {
+               item.armorvalue = g_pickup_armorbig;
+       }
 }
 #endif
 
-REGISTER_ITEM(ArmorBig, Armor) {
+REGISTER_ITEM(ArmorBig, Armor)
+{
 #ifdef GAMEQC
-    this.m_model                =   MDL_ArmorBig_ITEM;
-    this.m_sound                =   SND_ArmorBig;
-#endif
-    this.netname                =   "armor_big";
-    this.m_name                 =   "50 Armor";
-    this.m_icon                 =   "armor";
-    this.m_color                =   '0 1 0';
-    this.m_waypoint             =   _("Big armor");
+       this.m_model                =   MDL_ArmorBig_ITEM;
+       this.m_sound                =   SND_ArmorBig;
+#endif
+       this.netname                =   "armor_big";
+       this.m_name                 =   "50 Armor";
+       this.m_icon                 =   "armor";
+       this.m_color                =   '0 1 0';
+       this.m_waypoint             =   _("Big armor");
 #ifdef SVQC
-    this.m_itemid               =   IT_ARMOR;
-    this.m_respawntime          =   GET(g_pickup_respawntime_long);
-    this.m_respawntimejitter    =   GET(g_pickup_respawntimejitter_long);
-    this.m_pickupanyway         =   GET(g_pickup_armorbig_anyway);
-    this.m_iteminit             =   item_armorbig_init;
+       this.m_itemid               =   IT_ARMOR;
+       this.m_respawntime          =   GET(g_pickup_respawntime_long);
+       this.m_respawntimejitter    =   GET(g_pickup_respawntimejitter_long);
+       this.m_pickupanyway         =   GET(g_pickup_armorbig_anyway);
+       this.m_iteminit             =   item_armorbig_init;
 #endif
 }
 
@@ -128,30 +137,33 @@ PROPERTY(int, g_pickup_armormega);
 PROPERTY(int, g_pickup_armormega_max);
 void item_armormega_init(entity item)
 {
-    if(!item.max_armorvalue)
-        item.max_armorvalue = g_pickup_armormega_max;
-    if(!item.armorvalue)
-        item.armorvalue = g_pickup_armormega;
+       if (!item.max_armorvalue) {
+               item.max_armorvalue = g_pickup_armormega_max;
+       }
+       if (!item.armorvalue) {
+               item.armorvalue = g_pickup_armormega;
+       }
 }
 #endif
 
-REGISTER_ITEM(ArmorMega, Armor) {
+REGISTER_ITEM(ArmorMega, Armor)
+{
 #ifdef GAMEQC
-    this.m_model                =   MDL_ArmorMega_ITEM;
-    this.m_sound                =   SND_ArmorMega;
-#endif
-    this.netname                =   "armor_mega";
-    this.m_name                 =   "100 Armor";
-    this.m_icon                 =   "item_large_armor";
-    this.m_color                =   '0 1 0';
-    this.m_waypoint             =   _("Mega armor");
-    this.m_waypointblink        =   2;
+       this.m_model                =   MDL_ArmorMega_ITEM;
+       this.m_sound                =   SND_ArmorMega;
+#endif
+       this.netname                =   "armor_mega";
+       this.m_name                 =   "100 Armor";
+       this.m_icon                 =   "item_large_armor";
+       this.m_color                =   '0 1 0';
+       this.m_waypoint             =   _("Mega armor");
+       this.m_waypointblink        =   2;
 #ifdef SVQC
-    this.m_maxs                 =   '16 16 70';
-    this.m_itemid               =   IT_ARMOR;
-    this.m_respawntime          =   GET(g_pickup_respawntime_long);
-    this.m_respawntimejitter    =   GET(g_pickup_respawntimejitter_long);
-    this.m_pickupanyway         =   GET(g_pickup_armormega_anyway);
-    this.m_iteminit             =   item_armormega_init;
+       this.m_maxs                 =   '16 16 70';
+       this.m_itemid               =   IT_ARMOR;
+       this.m_respawntime          =   GET(g_pickup_respawntime_long);
+       this.m_respawntimejitter    =   GET(g_pickup_respawntimejitter_long);
+       this.m_pickupanyway         =   GET(g_pickup_armormega_anyway);
+       this.m_iteminit             =   item_armormega_init;
 #endif
 }
index cad5a376e753d3cd18cfb997261ed37141072881..2a9ec98f093ad1d559a2448d82569c106703920a 100644 (file)
@@ -3,15 +3,15 @@
 #include "pickup.qh"
 CLASS(Health, Pickup)
 #ifdef SVQC
-    ATTRIB(Health, m_mins, vector, '-16 -16 0');
-    ATTRIB(Health, m_maxs, vector, '16 16 48');
-    ATTRIB(Health, m_pickupevalfunc, float(entity player, entity item), healtharmor_pickupevalfunc);
-    ATTRIB(Health, m_botvalue, int, 5000);
+       ATTRIB(Health, m_mins, vector, '-16 -16 0');
+       ATTRIB(Health, m_maxs, vector, '16 16 48');
+       ATTRIB(Health, m_pickupevalfunc, float(entity player, entity item), healtharmor_pickupevalfunc);
+       ATTRIB(Health, m_botvalue, int, 5000);
 #endif
 ENDCLASS(Health)
 
 #ifdef SVQC
-    #include <common/t_items.qh>
+#include <common/t_items.qh>
 #endif
 
 #ifdef GAMEQC
@@ -24,27 +24,30 @@ PROPERTY(int, g_pickup_healthsmall);
 PROPERTY(int, g_pickup_healthsmall_max);
 void item_healthsmall_init(entity item)
 {
-    if(!item.max_health)
-        item.max_health = g_pickup_healthsmall_max;
-    if(!item.health)
-        item.health = g_pickup_healthsmall;
+       if (!item.max_health) {
+               item.max_health = g_pickup_healthsmall_max;
+       }
+       if (!item.health) {
+               item.health = g_pickup_healthsmall;
+       }
 }
 #endif
 
-REGISTER_ITEM(HealthSmall, Health) {
+REGISTER_ITEM(HealthSmall, Health)
+{
 #ifdef GAMEQC
-    this.m_model                =   MDL_HealthSmall_ITEM;
-    this.m_sound                =   SND_HealthSmall;
+       this.m_model                =   MDL_HealthSmall_ITEM;
+       this.m_sound                =   SND_HealthSmall;
 #endif
-    this.netname                =   "health_small";
-    this.m_name                 =   "5 Health";
-    this.m_icon                 =   "health";
+       this.netname                =   "health_small";
+       this.m_name                 =   "5 Health";
+       this.m_icon                 =   "health";
 #ifdef SVQC
-    this.m_itemid               =   IT_5HP;
-    this.m_respawntime          =   GET(g_pickup_respawntime_short);
-    this.m_respawntimejitter    =   GET(g_pickup_respawntimejitter_short);
-    this.m_pickupanyway         =   GET(g_pickup_healthsmall_anyway);
-    this.m_iteminit             =   item_healthsmall_init;
+       this.m_itemid               =   IT_5HP;
+       this.m_respawntime          =   GET(g_pickup_respawntime_short);
+       this.m_respawntimejitter    =   GET(g_pickup_respawntimejitter_short);
+       this.m_pickupanyway         =   GET(g_pickup_healthsmall_anyway);
+       this.m_iteminit             =   item_healthsmall_init;
 #endif
 }
 
@@ -58,27 +61,30 @@ PROPERTY(int, g_pickup_healthmedium);
 PROPERTY(int, g_pickup_healthmedium_max);
 void item_healthmedium_init(entity item)
 {
-    if(!item.max_health)
-        item.max_health = g_pickup_healthmedium_max;
-    if(!item.health)
-        item.health = g_pickup_healthmedium;
+       if (!item.max_health) {
+               item.max_health = g_pickup_healthmedium_max;
+       }
+       if (!item.health) {
+               item.health = g_pickup_healthmedium;
+       }
 }
 #endif
 
-REGISTER_ITEM(HealthMedium, Health) {
+REGISTER_ITEM(HealthMedium, Health)
+{
 #ifdef GAMEQC
-    this.m_model                =   MDL_HealthMedium_ITEM;
-    this.m_sound                =   SND_HealthMedium;
+       this.m_model                =   MDL_HealthMedium_ITEM;
+       this.m_sound                =   SND_HealthMedium;
 #endif
-    this.netname                =   "health_medium";
-    this.m_name                 =   "25 Health";
-    this.m_icon                 =   "health";
+       this.netname                =   "health_medium";
+       this.m_name                 =   "25 Health";
+       this.m_icon                 =   "health";
 #ifdef SVQC
-    this.m_itemid               =   IT_25HP;
-    this.m_respawntime          =   GET(g_pickup_respawntime_short);
-    this.m_respawntimejitter    =   GET(g_pickup_respawntimejitter_short);
-    this.m_pickupanyway         =   GET(g_pickup_healthmedium_anyway);
-    this.m_iteminit             =   item_healthmedium_init;
+       this.m_itemid               =   IT_25HP;
+       this.m_respawntime          =   GET(g_pickup_respawntime_short);
+       this.m_respawntimejitter    =   GET(g_pickup_respawntimejitter_short);
+       this.m_pickupanyway         =   GET(g_pickup_healthmedium_anyway);
+       this.m_iteminit             =   item_healthmedium_init;
 #endif
 }
 
@@ -92,29 +98,32 @@ PROPERTY(int, g_pickup_healthbig);
 PROPERTY(int, g_pickup_healthbig_max);
 void item_healthbig_init(entity item)
 {
-    if(!item.max_health)
-        item.max_health = g_pickup_healthbig_max;
-    if(!item.health)
-        item.health = g_pickup_healthbig;
+       if (!item.max_health) {
+               item.max_health = g_pickup_healthbig_max;
+       }
+       if (!item.health) {
+               item.health = g_pickup_healthbig;
+       }
 }
 #endif
 
-REGISTER_ITEM(HealthBig, Health) {
+REGISTER_ITEM(HealthBig, Health)
+{
 #ifdef GAMEQC
-    this.m_model                =   MDL_HealthBig_ITEM;
-    this.m_sound                =   SND_HealthBig;
-#endif
-    this.netname                =   "health_big";
-    this.m_name                 =   "50 Health";
-    this.m_icon                 =   "health";
-    this.m_color                =   '1 0 0';
-    this.m_waypoint             =   _("Big health");
+       this.m_model                =   MDL_HealthBig_ITEM;
+       this.m_sound                =   SND_HealthBig;
+#endif
+       this.netname                =   "health_big";
+       this.m_name                 =   "50 Health";
+       this.m_icon                 =   "health";
+       this.m_color                =   '1 0 0';
+       this.m_waypoint             =   _("Big health");
 #ifdef SVQC
-    this.m_itemid               =   IT_25HP;
-    this.m_respawntime          =   GET(g_pickup_respawntime_medium);
-    this.m_respawntimejitter    =   GET(g_pickup_respawntimejitter_medium);
-    this.m_pickupanyway         =   GET(g_pickup_healthbig_anyway);
-    this.m_iteminit             =   item_healthbig_init;
+       this.m_itemid               =   IT_25HP;
+       this.m_respawntime          =   GET(g_pickup_respawntime_medium);
+       this.m_respawntimejitter    =   GET(g_pickup_respawntimejitter_medium);
+       this.m_pickupanyway         =   GET(g_pickup_healthbig_anyway);
+       this.m_iteminit             =   item_healthbig_init;
 #endif
 }
 
@@ -128,30 +137,33 @@ PROPERTY(int, g_pickup_healthmega);
 PROPERTY(int, g_pickup_healthmega_max);
 void item_healthmega_init(entity item)
 {
-    if(!item.max_health)
-        item.max_health = g_pickup_healthmega_max;
-    if(!item.health)
-        item.health = g_pickup_healthmega;
+       if (!item.max_health) {
+               item.max_health = g_pickup_healthmega_max;
+       }
+       if (!item.health) {
+               item.health = g_pickup_healthmega;
+       }
 }
 #endif
 
-REGISTER_ITEM(HealthMega, Health) {
+REGISTER_ITEM(HealthMega, Health)
+{
 #ifdef GAMEQC
-    this.m_model                =   MDL_HealthMega_ITEM;
-    this.m_sound                =   SND_HealthMega;
-#endif
-    this.netname                =   "health_mega";
-    this.m_name                 =   "100 Health";
-    this.m_icon                 =   "item_mega_health";
-    this.m_color                =   '1 0 0';
-    this.m_waypoint             =   _("Mega health");
-    this.m_waypointblink        =   2;
+       this.m_model                =   MDL_HealthMega_ITEM;
+       this.m_sound                =   SND_HealthMega;
+#endif
+       this.netname                =   "health_mega";
+       this.m_name                 =   "100 Health";
+       this.m_icon                 =   "item_mega_health";
+       this.m_color                =   '1 0 0';
+       this.m_waypoint             =   _("Mega health");
+       this.m_waypointblink        =   2;
 #ifdef SVQC
-    this.m_maxs                 =   '16 16 70';
-    this.m_itemid               =   IT_HEALTH;
-    this.m_respawntime          =   GET(g_pickup_respawntime_long);
-    this.m_respawntimejitter    =   GET(g_pickup_respawntimejitter_long);
-    this.m_pickupanyway         =   GET(g_pickup_healthmega_anyway);
-    this.m_iteminit             =   item_healthmega_init;
+       this.m_maxs                 =   '16 16 70';
+       this.m_itemid               =   IT_HEALTH;
+       this.m_respawntime          =   GET(g_pickup_respawntime_long);
+       this.m_respawntimejitter    =   GET(g_pickup_respawntimejitter_long);
+       this.m_pickupanyway         =   GET(g_pickup_healthmega_anyway);
+       this.m_iteminit             =   item_healthmega_init;
 #endif
 }
index a6d1c8dae89751694d03d16bc6f35238eceec0c5..77081a02488b236b64530c8fc4ef48b6da8c2c30 100644 (file)
@@ -1,7 +1,7 @@
 #pragma once
 
 #ifdef SVQC
-    #include <common/t_items.qh>
+#include <common/t_items.qh>
 #endif
 
 #include "ammo.qh"
@@ -19,25 +19,27 @@ MODEL(Jetpack_ITEM, Item_Model("g_jetpack.md3"));
 PROPERTY(int, g_pickup_fuel_jetpack);
 void powerup_jetpack_init(entity item)
 {
-    if(!item.ammo_fuel)
-        item.ammo_fuel = g_pickup_fuel_jetpack;
+       if (!item.ammo_fuel) {
+               item.ammo_fuel = g_pickup_fuel_jetpack;
+       }
 }
 #endif
-REGISTER_ITEM(Jetpack, Powerup) {
+REGISTER_ITEM(Jetpack, Powerup)
+{
 #ifdef GAMEQC
-    this.m_model                =   MDL_Jetpack_ITEM;
-    this.m_itemid               =   IT_JETPACK;
+       this.m_model                =   MDL_Jetpack_ITEM;
+       this.m_itemid               =   IT_JETPACK;
 #endif
-    this.netname                =   "jetpack";
-    this.m_name                 =   "Jet pack";
-    this.m_icon                 =   "jetpack";
-    this.m_color                =   '0.5 0.5 0.5';
-    this.m_waypoint             =   _("Jet Pack");
-    this.m_waypointblink        =   2;
+       this.netname                =   "jetpack";
+       this.m_name                 =   "Jet pack";
+       this.m_icon                 =   "jetpack";
+       this.m_color                =   '0.5 0.5 0.5';
+       this.m_waypoint             =   _("Jet Pack");
+       this.m_waypointblink        =   2;
 #ifdef SVQC
-    this.m_botvalue             =   3000;
-    this.m_pickupevalfunc       =   ammo_pickupevalfunc;
-    this.m_iteminit             =   powerup_jetpack_init;
+       this.m_botvalue             =   3000;
+       this.m_pickupevalfunc       =   ammo_pickupevalfunc;
+       this.m_iteminit             =   powerup_jetpack_init;
 #endif
 }
 
@@ -49,21 +51,23 @@ MODEL(JetpackFuel_ITEM, Item_Model("g_fuel.md3"));
 PROPERTY(int, g_pickup_fuel);
 void ammo_fuel_init(entity item)
 {
-    if(!item.ammo_fuel)
-        item.ammo_fuel = g_pickup_fuel;
+       if (!item.ammo_fuel) {
+               item.ammo_fuel = g_pickup_fuel;
+       }
 }
 #endif
-REGISTER_ITEM(JetpackFuel, Ammo) {
+REGISTER_ITEM(JetpackFuel, Ammo)
+{
 #ifdef GAMEQC
-    this.m_model    =   MDL_JetpackFuel_ITEM;
+       this.m_model    =   MDL_JetpackFuel_ITEM;
 #endif
-    this.netname    =   "fuel";
-    this.m_name     =   "Fuel";
-    this.m_icon     =   "ammo_fuel";
+       this.netname    =   "fuel";
+       this.m_name     =   "Fuel";
+       this.m_icon     =   "ammo_fuel";
 #ifdef SVQC
-    this.m_botvalue =   2000;
-    this.m_itemid   =   IT_FUEL;
-    this.m_iteminit =   ammo_fuel_init;
+       this.m_botvalue =   2000;
+       this.m_itemid   =   IT_FUEL;
+       this.m_iteminit =   ammo_fuel_init;
 #endif
 }
 
@@ -71,19 +75,20 @@ REGISTER_ITEM(JetpackFuel, Ammo) {
 MODEL(JetpackRegen_ITEM, Item_Model("g_fuelregen.md3"));
 #endif
 
-REGISTER_ITEM(JetpackRegen, Powerup) {
+REGISTER_ITEM(JetpackRegen, Powerup)
+{
 #ifdef GAMEQC
-    this.m_model                =   MDL_JetpackRegen_ITEM;
+       this.m_model                =   MDL_JetpackRegen_ITEM;
 #endif
-    this.netname                =   "fuel_regen";
-    this.m_name                 =   "Fuel regenerator";
-    this.m_icon                 =   "fuelregen";
-    this.m_color                =   '1 0.5 0';
-    this.m_waypoint             =   _("Fuel regen");
-    this.m_waypointblink        =   2;
+       this.netname                =   "fuel_regen";
+       this.m_name                 =   "Fuel regenerator";
+       this.m_icon                 =   "fuelregen";
+       this.m_color                =   '1 0.5 0';
+       this.m_waypoint             =   _("Fuel regen");
+       this.m_waypointblink        =   2;
 #ifdef SVQC
-    this.m_botvalue             =   3000;
-    this.m_itemid               =   IT_FUEL_REGEN;
-    this.m_pickupevalfunc       =   ammo_pickupevalfunc;
+       this.m_botvalue             =   3000;
+       this.m_itemid               =   IT_FUEL_REGEN;
+       this.m_pickupevalfunc       =   ammo_pickupevalfunc;
 #endif
 }
index fc958709e87d66af6eb50b958ce71ab8ef8f11b2..d6ccc4427f88d64ed3fbb82e99826008484e8a10 100644 (file)
@@ -1,7 +1,8 @@
 #include "pickup.qh"
 
 #ifdef SVQC
-bool ITEM_HANDLE(Pickup, entity this, entity item, entity player) {
-    return this.giveTo(this, item, player);
+bool ITEM_HANDLE(Pickup, entity this, entity item, entity player)
+{
+       return this.giveTo(this, item, player);
 }
 #endif
index 39cf78cc3016e3d3b4714bcf169c843892342f59..26a766977c9928e17f954b9dd819fcfb22d9ca10 100644 (file)
@@ -29,40 +29,40 @@ PROPERTY(float, g_pickup_respawntimejitter_powerup)
 
 CLASS(Pickup, GameItem)
 #ifdef GAMEQC
-    ATTRIB(Pickup, m_model, Model);
-    ATTRIB(Pickup, m_sound, Sound, SND_ITEMPICKUP);
+       ATTRIB(Pickup, m_model, Model);
+       ATTRIB(Pickup, m_sound, Sound, SND_ITEMPICKUP);
 #endif
-    ATTRIB(Pickup, netname, string);
-    ATTRIB(Pickup, m_name, string);
-    METHOD(Pickup, show, void(Pickup this))
-    {
-        TC(Pickup, this);
-        LOG_INFOF("%s: %s", etos(this), this.m_name);
-    }
-    ATTRIB(Pickup, m_itemid, int, 0);
+       ATTRIB(Pickup, netname, string);
+       ATTRIB(Pickup, m_name, string);
+       METHOD(Pickup, show, void(Pickup this))
+       {
+               TC(Pickup, this);
+               LOG_INFOF("%s: %s", etos(this), this.m_name);
+       }
+       ATTRIB(Pickup, m_itemid, int, 0);
 #ifdef SVQC
-    ATTRIB(Pickup, m_mins, vector, '-16 -16 0');
-    ATTRIB(Pickup, m_maxs, vector, '16 16 32');
-    ATTRIB(Pickup, m_botvalue, int, 0);
-    ATTRIB(Pickup, m_itemflags, int, 0);
-    float generic_pickupevalfunc(entity player, entity item);
-    ATTRIB(Pickup, m_pickupevalfunc, float(entity player, entity item), generic_pickupevalfunc);
-    ATTRIB(Pickup, m_respawntime, float());
-    ATTRIB(Pickup, m_respawntimejitter, float());
-    ATTRIB(Pickup, m_pickupanyway, float());
-    ATTRIB(Pickup, m_iteminit, void(entity item));
-    float Item_GiveTo(entity item, entity player);
-    METHOD(Pickup, giveTo, bool(Pickup this, entity item, entity player))
-    {
-        TC(Pickup, this);
-        bool b = Item_GiveTo(item, player);
-        if (b) {
-            LOG_DEBUGF("entity %i picked up %s", player, this.m_name);
-            player.inventory.inv_items[this.m_id]++;
-            Inventory_update(player);
-        }
-        return b;
-    }
-    bool ITEM_HANDLE(Pickup, Pickup this, entity item, entity player);
+       ATTRIB(Pickup, m_mins, vector, '-16 -16 0');
+       ATTRIB(Pickup, m_maxs, vector, '16 16 32');
+       ATTRIB(Pickup, m_botvalue, int, 0);
+       ATTRIB(Pickup, m_itemflags, int, 0);
+       float generic_pickupevalfunc(entity player, entity item);
+       ATTRIB(Pickup, m_pickupevalfunc, float(entity player, entity item), generic_pickupevalfunc);
+       ATTRIB(Pickup, m_respawntime, float());
+       ATTRIB(Pickup, m_respawntimejitter, float());
+       ATTRIB(Pickup, m_pickupanyway, float());
+       ATTRIB(Pickup, m_iteminit, void(entity item));
+       float Item_GiveTo(entity item, entity player);
+       METHOD(Pickup, giveTo, bool(Pickup this, entity item, entity player))
+       {
+               TC(Pickup, this);
+               bool b = Item_GiveTo(item, player);
+               if (b) {
+                       LOG_DEBUGF("entity %i picked up %s", player, this.m_name);
+                       player.inventory.inv_items[this.m_id]++;
+                       Inventory_update(player);
+               }
+               return b;
+       }
+       bool ITEM_HANDLE(Pickup, Pickup this, entity item, entity player);
 #endif
 ENDCLASS(Pickup)
index 41b658c2fc5a25afe03eefcaeea7867e07f1a6de..8927f0332d99a6ba46542c6aa581681659fc9a9b 100644 (file)
@@ -1,19 +1,19 @@
 #pragma once
 
 #ifdef SVQC
-    // For FL_POWERUP
-    #include <server/constants.qh>
+// For FL_POWERUP
+#include <server/constants.qh>
 #endif
 
 #include "pickup.qh"
 CLASS(Powerup, Pickup)
 #ifdef SVQC
-    ATTRIB(Powerup, m_mins, vector, '-16 -16 0');
-    ATTRIB(Powerup, m_maxs, vector, '16 16 80');
-    ATTRIB(Powerup, m_botvalue, int, 20000);
-    ATTRIB(Powerup, m_itemflags, int, FL_POWERUP);
-    ATTRIB(Powerup, m_respawntime, float(), GET(g_pickup_respawntime_powerup));
-    ATTRIB(Powerup, m_respawntimejitter, float(), GET(g_pickup_respawntimejitter_powerup));
+       ATTRIB(Powerup, m_mins, vector, '-16 -16 0');
+       ATTRIB(Powerup, m_maxs, vector, '16 16 80');
+       ATTRIB(Powerup, m_botvalue, int, 20000);
+       ATTRIB(Powerup, m_itemflags, int, FL_POWERUP);
+       ATTRIB(Powerup, m_respawntime, float(), GET(g_pickup_respawntime_powerup));
+       ATTRIB(Powerup, m_respawntimejitter, float(), GET(g_pickup_respawntimejitter_powerup));
 #endif
 ENDCLASS(Powerup)
 
@@ -26,26 +26,28 @@ SOUND(Strength, Item_Sound("powerup"));
 float autocvar_g_balance_powerup_strength_time;
 void powerup_strength_init(entity item)
 {
-    if(!item.strength_finished)
-        item.strength_finished = autocvar_g_balance_powerup_strength_time;
+       if (!item.strength_finished) {
+               item.strength_finished = autocvar_g_balance_powerup_strength_time;
+       }
 }
 #endif
-REGISTER_ITEM(Strength, Powerup) {
+REGISTER_ITEM(Strength, Powerup)
+{
 #ifdef GAMEQC
-    this.m_model            =   MDL_Strength_ITEM;
-    this.m_sound            =   SND_Strength;
-    this.m_glow             =   true;
-    this.m_respawnsound     =   SND_STRENGTH_RESPAWN;
+       this.m_model            =   MDL_Strength_ITEM;
+       this.m_sound            =   SND_Strength;
+       this.m_glow             =   true;
+       this.m_respawnsound     =   SND_STRENGTH_RESPAWN;
 #endif
-    this.netname            =   "strength";
-    this.m_name             =   "Strength Powerup";
-    this.m_icon             =   "strength";
-    this.m_color            =   '0 0 1';
-    this.m_waypoint         =   _("Strength");
-    this.m_waypointblink    =   2;
-    this.m_itemid           =   IT_STRENGTH;
+       this.netname            =   "strength";
+       this.m_name             =   "Strength Powerup";
+       this.m_icon             =   "strength";
+       this.m_color            =   '0 0 1';
+       this.m_waypoint         =   _("Strength");
+       this.m_waypointblink    =   2;
+       this.m_itemid           =   IT_STRENGTH;
 #ifdef SVQC
-    this.m_iteminit         =   powerup_strength_init;
+       this.m_iteminit         =   powerup_strength_init;
 #endif
 }
 
@@ -58,25 +60,27 @@ SOUND(Shield, Item_Sound("powerup_shield"));
 float autocvar_g_balance_powerup_invincible_time;
 void powerup_shield_init(entity item)
 {
-    if(!item.invincible_finished)
-        item.invincible_finished = autocvar_g_balance_powerup_invincible_time;
+       if (!item.invincible_finished) {
+               item.invincible_finished = autocvar_g_balance_powerup_invincible_time;
+       }
 }
 #endif
-REGISTER_ITEM(Shield, Powerup) {
+REGISTER_ITEM(Shield, Powerup)
+{
 #ifdef GAMEQC
-    this.m_model            =   MDL_Shield_ITEM;
-    this.m_sound            =   SND_Shield;
-    this.m_glow             =   true;
-    this.m_respawnsound     =   SND_SHIELD_RESPAWN;
+       this.m_model            =   MDL_Shield_ITEM;
+       this.m_sound            =   SND_Shield;
+       this.m_glow             =   true;
+       this.m_respawnsound     =   SND_SHIELD_RESPAWN;
 #endif
-    this.netname            =   "invincible";
-    this.m_name             =   "Shield";
-    this.m_icon             =   "shield";
-    this.m_color            =   '1 0 1';
-    this.m_waypoint         =   _("Shield");
-    this.m_waypointblink    =   2;
-    this.m_itemid           =   IT_INVINCIBLE;
+       this.netname            =   "invincible";
+       this.m_name             =   "Shield";
+       this.m_icon             =   "shield";
+       this.m_color            =   '1 0 1';
+       this.m_waypoint         =   _("Shield");
+       this.m_waypointblink    =   2;
+       this.m_itemid           =   IT_INVINCIBLE;
 #ifdef SVQC
-    this.m_iteminit         =   powerup_shield_init;
+       this.m_iteminit         =   powerup_shield_init;
 #endif
 }
index a0f6195d1232f6ec6ca994d4514de840b099c58a..a5f782ee19af2e263a2e2a890d5b4faccd28c58c 100644 (file)
@@ -3,18 +3,14 @@
 // Get a square in the center of the avaliable area
 // \note macro to pass by reference pos and mySize
 #define minigame_hud_fitsqare(pos, mySize) \
-       if ( mySize##_x > mySize##_y ) \
-       { \
-               pos##_x += (mySize##_x-mySize##_y)/2; \
+       if (mySize##_x > mySize##_y) { \
+               pos##_x += (mySize##_x - mySize##_y) / 2; \
                mySize##_x = mySize##_y; \
-       } \
-       else \
-       { \
-               pos##_y += (mySize##_y-mySize##_x)/2; \
+       } else { \
+               pos##_y += (mySize##_y - mySize##_x) / 2; \
                mySize##_x = mySize##_x; \
        } \
-       if(panel_bg_padding) \
-       { \
+       if (panel_bg_padding) { \
                pos += '1 1 0' * panel_bg_padding; \
                mySize -= '2 2 0' * panel_bg_padding; \
        }
@@ -45,26 +41,21 @@ bool minigame_hud_mouse_in(vector pos, vector sz);
 // Like drawstring, but wrapping words to fit maxwidth
 // returns the size of the drawn area
 // align selects the string alignment (0 = left, 0.5 = center, 1 = right)
-vector minigame_drawstring_wrapped( float maxwidth, vector pos, string text,
-       vector fontsize, vector color, float theAlpha, int drawflags, float align );
+vector minigame_drawstring_wrapped(float maxwidth, vector pos, string text, vector fontsize, vector color, float theAlpha, int drawflags, float align);
 
 // Like drawcolorcodedstring, but wrapping words to fit maxwidth
 // returns the size of the drawn area
 // align selects the string alignment (0 = left, 0.5 = center, 1 = right)
-vector minigame_drawcolorcodedstring_wrapped( float maxwidth, vector pos,
-       string text, vector fontsize, float theAlpha, int drawflags, float align );
+vector minigame_drawcolorcodedstring_wrapped(float maxwidth, vector pos, string text, vector fontsize, float theAlpha, int drawflags, float align);
 
 // Like drawstring but truncates the text to fit maxwidth
-void minigame_drawstring_trunc(float maxwidth, vector pos, string text,
-       vector fontsize, vector color, float theAlpha, int drawflags );
+void minigame_drawstring_trunc(float maxwidth, vector pos, string text, vector fontsize, vector color, float theAlpha, int drawflags);
 
 // Like drawcolorcodedstring but truncates the text to fit maxwidth
-void minigame_drawcolorcodedstring_trunc(float maxwidth, vector pos, string text,
-       vector fontsize, float theAlpha, int drawflags );
+void minigame_drawcolorcodedstring_trunc(float maxwidth, vector pos, string text, vector fontsize, float theAlpha, int drawflags);
 
 // like drawpic but pos represent the center rather than the topleft corner
-void minigame_drawpic_centered( vector pos, string texture, vector sz,
-       vector color, float thealpha, int drawflags );
+void minigame_drawpic_centered(vector pos, string texture, vector sz, vector color, float thealpha, int drawflags);
 
 // Get full path of a minigame texture
 string minigame_texture(string name);
@@ -85,8 +76,8 @@ entity active_minigame;
 entity minigame_self;
 
 // Execute a minigame command
-#define minigame_cmd(...) minigame_cmd_workaround(0,__VA_ARGS__)
-void minigame_cmd_workaround(float dummy, string...cmdargc);
+#define minigame_cmd(...) minigame_cmd_workaround(0, __VA_ARGS__)
+void minigame_cmd_workaround(float dummy, string ... cmdargc);
 
 // Prompt the player to play in the current minigame
 // (ie: it's their turn and they should get back to the minigame)
@@ -100,24 +91,25 @@ void HUD_MinigameMenu_CustomEntry(entity parent, string message, string event_ar
 
 
 #define FOREACH_MINIGAME_ENTITY(entityvar) \
-       entityvar=NULL; \
-       while( (entityvar = findentity(entityvar,owner,active_minigame)) )
+       entityvar = NULL; \
+       while ((entityvar = findentity(entityvar, owner, active_minigame)))
 
 
 REGISTRY(Minigames, BITS(4))
 #define Minigames_from(i) _Minigames_from(i, NULL)
 REGISTER_REGISTRY(Minigames)
 REGISTRY_CHECK(Minigames)
-#define REGISTER_MINIGAME(name,nicename) \
-    REGISTER(Minigames, MINIGAME_##name, m_id, new_pure(minigame_descriptor)); \
-    void name##_hud_board(vector, vector); \
-    void name##_hud_status(vector, vector); \
-    int name##_client_event(entity, string, ...); \
-    REGISTER_INIT(MINIGAME_##name) { \
-        this.netname = strzone(strtolower(#name)); \
-        this.message = nicename; \
-        this.minigame_hud_board = name##_hud_board; \
+#define REGISTER_MINIGAME(name, nicename) \
+       REGISTER(Minigames, MINIGAME_##name, m_id, new_pure(minigame_descriptor)); \
+       void name##_hud_board(vector, vector); \
+       void name##_hud_status(vector, vector); \
+       int name##_client_event(entity, string, ...); \
+       REGISTER_INIT(MINIGAME_##name) \
+       { \
+               this.netname = strzone(strtolower( #name)); \
+               this.message = nicename; \
+               this.minigame_hud_board = name##_hud_board; \
                this.minigame_hud_status = name##_hud_status; \
                this.minigame_event = name##_client_event; \
-    } \
-    REGISTER_INIT(MINIGAME_##name)
+       } \
+       REGISTER_INIT(MINIGAME_##name)
index 2049dc9eae601b8b03598fb74c2e49efbcba65bf..3b7e39e2b33a656a0c9f43bcbbacf215dbff6ae8 100644 (file)
@@ -15,8 +15,8 @@ bool HUD_mouse_over(entity somepanel)
 {
        vector pos = stov(cvar_string(strcat("hud_panel_", somepanel.panel_name, "_pos")));
        vector sz = stov(cvar_string(strcat("hud_panel_", somepanel.panel_name, "_size")));
-       return mousepos_x >= pos_x*vid_conwidth  && mousepos_x <= (pos_x+sz_x)*vid_conwidth &&
-              mousepos_y >= pos_y*vid_conheight && mousepos_y <= (pos_y+sz_y)*vid_conheight ;
+       return mousepos_x >= pos_x * vid_conwidth  && mousepos_x <= (pos_x + sz_x) * vid_conwidth
+                  && mousepos_y >= pos_y * vid_conheight && mousepos_y <= (pos_y + sz_y) * vid_conheight;
 }
 
 // ====================================================================
@@ -24,17 +24,19 @@ bool HUD_mouse_over(entity somepanel)
 // ====================================================================
 
 // Draws the minigame game board
-void HUD_MinigameBoard ()
+void HUD_MinigameBoard()
 {
        entity hud_minigame = NULL;
 
-       if(!autocvar__hud_configure)
+       if (!autocvar__hud_configure) {
                hud_minigame = active_minigame.descriptor;
-       else
+       } else {
                hud_minigame = minigame_get_descriptor("nmm");
+       }
 
-       if ( !hud_minigame )
+       if (!hud_minigame) {
                return;
+       }
 
        HUD_Panel_LoadCvars();
 
@@ -43,24 +45,26 @@ void HUD_MinigameBoard ()
        pos = panel_pos;
        mySize = panel_size;
 
-       hud_minigame.minigame_hud_board(pos,mySize);
+       hud_minigame.minigame_hud_board(pos, mySize);
 }
 
 // ====================================================================
 // Minigame Status
 // ====================================================================
 // Draws the minigame status panel
-void HUD_MinigameStatus ()
+void HUD_MinigameStatus()
 {
        entity hud_minigame = NULL;
 
-       if(!autocvar__hud_configure)
+       if (!autocvar__hud_configure) {
                hud_minigame = active_minigame.descriptor;
-       else
+       } else {
                hud_minigame = minigame_get_descriptor("nmm");
+       }
 
-       if ( !hud_minigame )
+       if (!hud_minigame) {
                return;
+       }
 
        HUD_Panel_LoadCvars();
 
@@ -69,14 +73,13 @@ void HUD_MinigameStatus ()
        pos = panel_pos;
        mySize = panel_size;
 
-       if(panel_bg_padding)
-       {
+       if (panel_bg_padding) {
                pos += '1 1 0' * panel_bg_padding;
                mySize -= '2 2 0' * panel_bg_padding;
        }
 
        HUD_Scale_Disable();
-       hud_minigame.minigame_hud_status(pos,mySize);
+       hud_minigame.minigame_hud_status(pos, mySize);
 }
 
 // ====================================================================
@@ -91,8 +94,7 @@ entity HUD_MinigameMenu_last_entry;
 // Minigame menu options: insert entry after the given location
 void HUD_MinigameMenu_InsertEntry(entity newentry, entity prev)
 {
-       if ( !HUD_MinigameMenu_entries )
-       {
+       if (!HUD_MinigameMenu_entries) {
                HUD_MinigameMenu_entries = newentry;
                HUD_MinigameMenu_last_entry = newentry;
                return;
@@ -100,12 +102,12 @@ void HUD_MinigameMenu_InsertEntry(entity newentry, entity prev)
 
        newentry.list_prev = prev;
        newentry.list_next = prev.list_next;
-       if ( prev.list_next )
+       if (prev.list_next) {
                prev.list_next.list_prev = newentry;
-       else
+       } else {
                HUD_MinigameMenu_last_entry = newentry;
+       }
        prev.list_next = newentry;
-
 }
 
 
@@ -115,40 +117,41 @@ entity HUD_MinigameMenu_activeitem;
 // Click the given item
 void HUD_MinigameMenu_Click(entity menuitem)
 {
-       if ( menuitem )
-       {
+       if (menuitem) {
                menuitem.use(menuitem, NULL, NULL);
        }
 }
 
 // Minigame menu options: Remove the given entry
 // Precondition: the given entry is actually in the list
-void HUD_MinigameMenu_EraseEntry ( entity e )
+void HUD_MinigameMenu_EraseEntry(entity e)
 {
        // remove child items (if any)
-       if ( e.flags & 2 )
-       {
+       if (e.flags & 2) {
                HUD_MinigameMenu_Click(e);
        }
 
-       if ( e.list_prev )
+       if (e.list_prev) {
                e.list_prev.list_next = e.list_next;
-       else
+       } else {
                HUD_MinigameMenu_entries = e.list_next;
+       }
 
-       if ( e.list_next )
+       if (e.list_next) {
                e.list_next.list_prev = e.list_prev;
-       else
+       } else {
                HUD_MinigameMenu_last_entry = e.list_prev;
+       }
 
-       if ( HUD_MinigameMenu_activeitem == e )
+       if (HUD_MinigameMenu_activeitem == e) {
                HUD_MinigameMenu_activeitem = NULL;
+       }
 
        delete(e);
 }
 
 // Minigame menu options: create entry
-entity HUD_MinigameMenu_SpawnEntry(string s, vector offset, vector fontsize, vector color,void(entity, entity, entity) click)
+entity HUD_MinigameMenu_SpawnEntry(string s, vector offset, vector fontsize, vector color, void(entity, entity, entity) click)
 {
        entity entry = spawn();
        entry.message = s;
@@ -164,10 +167,10 @@ entity HUD_MinigameMenu_SpawnEntry(string s, vector offset, vector fontsize, vec
 // Spawn a child entry of a collapsable entry
 entity HUD_MinigameMenu_SpawnSubEntry(string s, void(entity, entity, entity) click, entity parent)
 {
-       vector item_fontsize = hud_fontsize*1.25;
+       vector item_fontsize = hud_fontsize * 1.25;
        vector item_offset = '1 0 0' * item_fontsize_x;
        entity item = HUD_MinigameMenu_SpawnEntry(
-                               s,item_offset,item_fontsize,'0.8 0.8 0.8', click );
+               s, item_offset, item_fontsize, '0.8 0.8 0.8', click);
        item.owner = parent;
        return item;
 }
@@ -183,30 +186,29 @@ void HUD_MinigameMenu_ClickCreate_Entry(entity this, entity actor, entity trigge
 bool HUD_MinigameMenu_Click_ExpandCollapse(entity this)
 {
        entity e;
-       if ( this.flags & 2 )
-       {
-               if ( HUD_MinigameMenu_activeitem &&
-                               HUD_MinigameMenu_activeitem.owner == this )
+       if (this.flags & 2) {
+               if (HUD_MinigameMenu_activeitem
+                       && HUD_MinigameMenu_activeitem.owner == this) {
                        HUD_MinigameMenu_activeitem = NULL;
+               }
                this.flags &= ~2;
-               for ( e = this.list_next; e != NULL && e.owner == this; e = this.list_next )
-               {
-                       if ( e.flags & 2 )
+               for (e = this.list_next; e != NULL && e.owner == this; e = this.list_next) {
+                       if (e.flags & 2) {
                                HUD_MinigameMenu_Click(e);
+                       }
                        this.list_next = e.list_next;
                        delete(e);
                }
-               if ( this.list_next )
+               if (this.list_next) {
                        this.list_next.list_prev = this;
-               else
+               } else {
                        HUD_MinigameMenu_last_entry = this;
-       }
-       else
-       {
-               for ( e = HUD_MinigameMenu_entries; e != NULL; e = e.list_next )
-               {
-                       if ( e.flags & 2 && e.origin_x == this.origin_x)
+               }
+       } else {
+               for (e = HUD_MinigameMenu_entries; e != NULL; e = e.list_next) {
+                       if (e.flags & 2 && e.origin_x == this.origin_x) {
                                HUD_MinigameMenu_Click(e);
+                       }
                }
 
                this.flags |= 2;
@@ -219,15 +221,14 @@ bool HUD_MinigameMenu_Click_ExpandCollapse(entity this)
 // Click action for the Create menu
 void HUD_MinigameMenu_ClickCreate(entity this, entity actor, entity trigger)
 {
-       if ( HUD_MinigameMenu_Click_ExpandCollapse(this) )
-       {
+       if (HUD_MinigameMenu_Click_ExpandCollapse(this)) {
                entity curr;
                entity prev = this;
                FOREACH(Minigames, true, {
                        curr = HUD_MinigameMenu_SpawnSubEntry(it.message, HUD_MinigameMenu_ClickCreate_Entry, this);
                        curr.netname = it.netname;
-                       curr.model = strzone(minigame_texture(strcat(it.netname,"/icon")));
-                       HUD_MinigameMenu_InsertEntry( curr, prev );
+                       curr.model = strzone(minigame_texture(strcat(it.netname, "/icon")));
+                       HUD_MinigameMenu_InsertEntry(curr, prev);
                        prev = curr;
                });
        }
@@ -236,27 +237,24 @@ void HUD_MinigameMenu_ClickCreate(entity this, entity actor, entity trigger)
 // Click action for Join sub-entries
 void HUD_MinigameMenu_ClickJoin_Entry(entity this, entity actor, entity trigger)
 {
-       minigame_cmd("join ",this.netname);
+       minigame_cmd("join ", this.netname);
        HUD_MinigameMenu_EraseEntry(this);
 }
 
 // Click action for the Join menu
 void HUD_MinigameMenu_ClickJoin(entity this, entity actor, entity trigger)
 {
-       if ( HUD_MinigameMenu_Click_ExpandCollapse(this) )
-       {
+       if (HUD_MinigameMenu_Click_ExpandCollapse(this)) {
                entity e = NULL;
                entity curr;
                entity prev = this;
-               while( (e = find(e,classname,"minigame")) )
-               {
-                       if ( e != active_minigame )
-                       {
+               while ((e = find(e, classname, "minigame"))) {
+                       if (e != active_minigame) {
                                curr = HUD_MinigameMenu_SpawnSubEntry(
-                                       e.netname, HUD_MinigameMenu_ClickJoin_Entry, this );
+                                       e.netname, HUD_MinigameMenu_ClickJoin_Entry, this);
                                curr.netname = e.netname;
-                               curr.model = strzone(minigame_texture(strcat(e.descriptor.netname,"/icon")));
-                               HUD_MinigameMenu_InsertEntry( curr, prev );
+                               curr.model = strzone(minigame_texture(strcat(e.descriptor.netname, "/icon")));
+                               HUD_MinigameMenu_InsertEntry(curr, prev);
                                prev = curr;
                        }
                }
@@ -266,7 +264,7 @@ void HUD_MinigameMenu_ClickJoin(entity this, entity actor, entity trigger)
 /*// Temporary placeholder for un-implemented Click actions
 void HUD_MinigameMenu_ClickNoop()
 {
-       dprint("Placeholder for ",this.message,"\n");
+    dprint("Placeholder for ",this.message,"\n");
 }*/
 
 // Click action for Quit
@@ -279,28 +277,25 @@ void HUD_MinigameMenu_ClickQuit(entity this, entity actor, entity trigger)
 // Click action for Invite sub-entries
 void HUD_MinigameMenu_ClickInvite_Entry(entity this, entity actor, entity trigger)
 {
-       minigame_cmd("invite #",this.netname);
+       minigame_cmd("invite #", this.netname);
 }
 
 // Click action for the Invite menu
 void HUD_MinigameMenu_ClickInvite(entity this, entity actor, entity trigger)
 {
-       if ( HUD_MinigameMenu_Click_ExpandCollapse(this) )
-       {
+       if (HUD_MinigameMenu_Click_ExpandCollapse(this)) {
                entity e;
                entity prev = this;
-               for(int i = 0; i < maxclients; ++i)
-               {
-                       if ( player_localnum != i && playerslots[i] && entcs_GetName(i) != "" &&
-                               !findfloat(NULL,minigame_playerslot,i+1) && playerslots[i].ping )
-                       {
+               for (int i = 0; i < maxclients; ++i) {
+                       if (player_localnum != i && playerslots[i] && entcs_GetName(i) != ""
+                               && !findfloat(NULL, minigame_playerslot, i + 1) && playerslots[i].ping) {
                                e = HUD_MinigameMenu_SpawnSubEntry(
                                        strzone(entcs_GetName(i)), HUD_MinigameMenu_ClickInvite_Entry,
-                                       this );
+                                       this);
                                e.flags |= 1;
-                               e.netname = strzone(ftos(i+1));
+                               e.netname = strzone(ftos(i + 1));
                                e.origin_x *= 2;
-                               HUD_MinigameMenu_InsertEntry(e,prev);
+                               HUD_MinigameMenu_InsertEntry(e, prev);
                                prev = e;
                        }
                }
@@ -309,31 +304,31 @@ void HUD_MinigameMenu_ClickInvite(entity this, entity actor, entity trigger)
 
 void HUD_MinigameMenu_ClickCustomEntry(entity this, entity actor, entity trigger)
 {
-       if ( active_minigame )
-               active_minigame.minigame_event(active_minigame,"menu_click",this.netname);
+       if (active_minigame) {
+               active_minigame.minigame_event(active_minigame, "menu_click", this.netname);
+       }
 }
 
 // Adds a game-specific entry to the menu
 void HUD_MinigameMenu_CustomEntry(entity parent, string menumessage, string event_arg)
 {
        entity e = HUD_MinigameMenu_SpawnSubEntry(
-               menumessage, HUD_MinigameMenu_ClickCustomEntry, parent );
+               menumessage, HUD_MinigameMenu_ClickCustomEntry, parent);
        e.netname = event_arg;
        HUD_MinigameMenu_InsertEntry(e, parent);
-       //dprint("CustomEntry ",ftos(num_for_edict(parent))," ",menumessage," ",event_arg,"\n");
+       // dprint("CustomEntry ",ftos(num_for_edict(parent))," ",menumessage," ",event_arg,"\n");
 }
 
 // Click action for the Current Game menu
 void HUD_MinigameMenu_ClickCurrentGame(entity this, entity actor, entity trigger)
 {
-       if ( HUD_MinigameMenu_Click_ExpandCollapse(this) )
-       {
-               HUD_MinigameMenu_InsertEntry( HUD_MinigameMenu_SpawnSubEntry(
-                       _("Quit"), HUD_MinigameMenu_ClickQuit, this ), this);
+       if (HUD_MinigameMenu_Click_ExpandCollapse(this)) {
+               HUD_MinigameMenu_InsertEntry(HUD_MinigameMenu_SpawnSubEntry(
+                       _("Quit"), HUD_MinigameMenu_ClickQuit, this), this);
 
-               active_minigame.minigame_event(active_minigame,"menu_show",this);
+               active_minigame.minigame_event(active_minigame, "menu_show", this);
 
-               HUD_MinigameMenu_InsertEntry( HUD_MinigameMenu_SpawnSubEntry(
+               HUD_MinigameMenu_InsertEntry(HUD_MinigameMenu_SpawnSubEntry(
                        _("Invite"), HUD_MinigameMenu_ClickInvite, this), this);
        }
 }
@@ -346,20 +341,20 @@ bool HUD_MinigameMenu_IsOpened()
 // Close the minigame menu panel
 void HUD_MinigameMenu_Close(entity this, entity actor, entity trigger)
 {
-       if ( HUD_MinigameMenu_IsOpened() )
-       {
+       if (HUD_MinigameMenu_IsOpened()) {
                entity e, p;
-               for ( e = HUD_MinigameMenu_entries; e != NULL; e = p )
-               {
+               for (e = HUD_MinigameMenu_entries; e != NULL; e = p) {
                        p = e.list_next;
                        delete(e);
                }
                HUD_MinigameMenu_entries = NULL;
                HUD_MinigameMenu_last_entry = NULL;
                HUD_MinigameMenu_activeitem = NULL;
-               if(autocvar_hud_cursormode)
-               if ( !autocvar__hud_configure )
-                       setcursormode(0);
+               if (autocvar_hud_cursormode) {
+                       if (!autocvar__hud_configure) {
+                               setcursormode(0);
+                       }
+               }
        }
 }
 
@@ -367,61 +362,59 @@ void HUD_MinigameMenu_Close(entity this, entity actor, entity trigger)
 void HUD_MinigameMenu_CurrentButton()
 {
        entity e;
-       if ( active_minigame )
-       {
-               for ( e = HUD_MinigameMenu_last_entry; e != NULL; e = e.list_prev )
-                       if ( e.classname == "hud_minigamemenu_exit" )
-                       {
+       if (active_minigame) {
+               for (e = HUD_MinigameMenu_last_entry; e != NULL; e = e.list_prev) {
+                       if (e.classname == "hud_minigamemenu_exit") {
                                HUD_MinigameMenu_EraseEntry(e);
                                break;
                        }
+               }
                entity currb = HUD_MinigameMenu_SpawnEntry(
-                       _("Current Game"), '0 0 0', hud_fontsize*1.5,'0.7 0.84 1', HUD_MinigameMenu_ClickCurrentGame );
+                       _("Current Game"), '0 0 0', hud_fontsize * 1.5, '0.7 0.84 1', HUD_MinigameMenu_ClickCurrentGame);
                currb.classname = "hud_minigamemenu_current";
-               currb.model = strzone(minigame_texture(strcat(active_minigame.descriptor.netname,"/icon")));
-               HUD_MinigameMenu_InsertEntry(currb,HUD_MinigameMenu_last_entry);
+               currb.model = strzone(minigame_texture(strcat(active_minigame.descriptor.netname, "/icon")));
+               HUD_MinigameMenu_InsertEntry(currb, HUD_MinigameMenu_last_entry);
                HUD_MinigameMenu_Click(currb);
-       }
-       else
-       {
+       } else {
                entity p;
-               for ( e = HUD_MinigameMenu_last_entry; e != NULL; e = p.list_prev )
-               {
+               for (e = HUD_MinigameMenu_last_entry; e != NULL; e = p.list_prev) {
                        p = e;
-                       if ( e.classname == "hud_minigamemenu_current" )
-                       {
+                       if (e.classname == "hud_minigamemenu_current") {
                                p = e.list_next;
-                               if ( !p )
+                               if (!p) {
                                        p = HUD_MinigameMenu_last_entry;
+                               }
                                HUD_MinigameMenu_EraseEntry(e);
                                break;
                        }
                }
-               for ( e = HUD_MinigameMenu_last_entry; e != NULL; e = e.list_prev )
-                       if ( e.classname == "hud_minigamemenu_exit" )
+               for (e = HUD_MinigameMenu_last_entry; e != NULL; e = e.list_prev) {
+                       if (e.classname == "hud_minigamemenu_exit") {
                                return;
+                       }
+               }
                entity exit = HUD_MinigameMenu_SpawnEntry(
-                       _("Exit Menu"),'0 0 0',hud_fontsize*1.5,'0.7 0.84 1', HUD_MinigameMenu_Close);
+                       _("Exit Menu"), '0 0 0', hud_fontsize * 1.5, '0.7 0.84 1', HUD_MinigameMenu_Close);
                exit.classname = "hud_minigamemenu_exit";
-               HUD_MinigameMenu_InsertEntry ( exit, HUD_MinigameMenu_last_entry );
+               HUD_MinigameMenu_InsertEntry(exit, HUD_MinigameMenu_last_entry);
        }
 }
 
 // Open the minigame menu panel
 void HUD_MinigameMenu_Open()
 {
-       if ( !HUD_MinigameMenu_IsOpened() )
-       {
-               HUD_MinigameMenu_InsertEntry( HUD_MinigameMenu_SpawnEntry(
-                       _("Create"), '0 0 0', hud_fontsize*1.5,'0.7 0.84 1', HUD_MinigameMenu_ClickCreate),
-                       HUD_MinigameMenu_last_entry );
-               HUD_MinigameMenu_InsertEntry ( HUD_MinigameMenu_SpawnEntry(
-                       _("Join"),'0 0 0',hud_fontsize*1.5,'0.7 0.84 1', HUD_MinigameMenu_ClickJoin),
-                       HUD_MinigameMenu_last_entry );
+       if (!HUD_MinigameMenu_IsOpened()) {
+               HUD_MinigameMenu_InsertEntry(HUD_MinigameMenu_SpawnEntry(
+                       _("Create"), '0 0 0', hud_fontsize * 1.5, '0.7 0.84 1', HUD_MinigameMenu_ClickCreate),
+                       HUD_MinigameMenu_last_entry);
+               HUD_MinigameMenu_InsertEntry(HUD_MinigameMenu_SpawnEntry(
+                       _("Join"), '0 0 0', hud_fontsize * 1.5, '0.7 0.84 1', HUD_MinigameMenu_ClickJoin),
+                       HUD_MinigameMenu_last_entry);
                HUD_MinigameMenu_CurrentButton();
                HUD_MinigameMenu_activeitem = NULL;
-               if(autocvar_hud_cursormode)
+               if (autocvar_hud_cursormode) {
                        setcursormode(1);
+               }
        }
 }
 
@@ -432,25 +425,23 @@ void HUD_MinigameMenu_MouseInput()
 
        HUD_Panel_LoadCvars();
 
-       if(panel_bg_padding)
-       {
+       if (panel_bg_padding) {
                panel_pos += '1 1 0' * panel_bg_padding;
                panel_size -= '2 2 0' * panel_bg_padding;
        }
 
        entity e;
 
-       panel_pos_y += hud_fontsize_y*2;
+       panel_pos_y += hud_fontsize_y * 2;
 
        HUD_MinigameMenu_activeitem = NULL;
        vector sz;
-       for ( e = HUD_MinigameMenu_entries; e != NULL; e = e.list_next )
-       {
-               sz = eX*panel_size_x + eY*e.size_y;
-               if ( e.model )
+       for (e = HUD_MinigameMenu_entries; e != NULL; e = e.list_next) {
+               sz = eX * panel_size_x + eY * e.size_y;
+               if (e.model) {
                        sz_y = 22;
-               if ( !HUD_MinigameMenu_activeitem && mousepos_y >= panel_pos_y && mousepos_y <= panel_pos_y + sz_y )
-               {
+               }
+               if (!HUD_MinigameMenu_activeitem && mousepos_y >= panel_pos_y && mousepos_y <= panel_pos_y + sz_y) {
                        HUD_MinigameMenu_activeitem = e;
                }
                panel_pos_y += sz_y;
@@ -460,71 +451,71 @@ void HUD_MinigameMenu_MouseInput()
 // Draw a menu entry
 void HUD_MinigameMenu_DrawEntry(vector pos, string s, vector fontsize, vector color)
 {
-       minigame_drawstring_trunc(panel_size_x-pos_x+panel_pos_x, pos, s,
-                                                         fontsize, color, panel_fg_alpha, DRAWFLAG_NORMAL);
+       minigame_drawstring_trunc(panel_size_x - pos_x + panel_pos_x, pos, s,
+               fontsize, color, panel_fg_alpha, DRAWFLAG_NORMAL);
 }
 // Draw a color-coded menu
 void HUD_MinigameMenu_DrawColoredEntry(vector pos, string s, vector fontsize)
 {
-       minigame_drawcolorcodedstring_trunc(panel_size_x-pos_x+panel_pos_x, pos, s,
-                                                         fontsize, panel_fg_alpha, DRAWFLAG_NORMAL);
+       minigame_drawcolorcodedstring_trunc(panel_size_x - pos_x + panel_pos_x, pos, s,
+               fontsize, panel_fg_alpha, DRAWFLAG_NORMAL);
 }
 
 // Minigame menu panel UI
-void HUD_MinigameMenu ()
+void HUD_MinigameMenu()
 {
-       if ( !HUD_MinigameMenu_IsOpened() )
+       if (!HUD_MinigameMenu_IsOpened()) {
                return;
+       }
 
        HUD_Panel_LoadCvars();
 
        HUD_Scale_Disable();
        HUD_Panel_DrawBg();
 
-       if(panel_bg_padding)
-       {
+       if (panel_bg_padding) {
                panel_pos += '1 1 0' * panel_bg_padding;
                panel_size -= '2 2 0' * panel_bg_padding;
        }
 
-       HUD_MinigameMenu_DrawEntry(panel_pos,_("Minigames"),hud_fontsize*2,'0.25 0.47 0.72');
-       panel_pos_y += hud_fontsize_y*2;
+       HUD_MinigameMenu_DrawEntry(panel_pos, _("Minigames"), hud_fontsize * 2, '0.25 0.47 0.72');
+       panel_pos_y += hud_fontsize_y * 2;
 
        vector color;
        vector offset;
        float itemh;
        vector imgsz = '22 22 0'; // NOTE: if changed, edit where HUD_MinigameMenu_activeitem is selected
-       for ( entity e = HUD_MinigameMenu_entries; e != NULL; e = e.list_next )
-       {
+       for (entity e = HUD_MinigameMenu_entries; e != NULL; e = e.list_next) {
                color = e.colormod;
 
                offset = e.origin;
                itemh = e.size_y;
 
-               if ( e.model )
+               if (e.model) {
                        itemh = imgsz_y;
+               }
 
-               if ( e.flags & 2 )
-               {
-                       drawfill(panel_pos, eX*panel_size_x + eY*itemh, e.colormod,
-                                       panel_fg_alpha, DRAWFLAG_NORMAL);
+               if (e.flags & 2) {
+                       drawfill(panel_pos, eX * panel_size_x + eY * itemh, e.colormod,
+                               panel_fg_alpha, DRAWFLAG_NORMAL);
                        color = '0 0 0';
                }
 
-               if ( e.model )
-               {
-                       drawpic( panel_pos+offset, e.model, imgsz, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL );
+               if (e.model) {
+                       drawpic(panel_pos + offset, e.model, imgsz, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL);
                        offset_x += imgsz_x;
-                       offset_y = (imgsz_y-e.size_y) / 2;
+                       offset_y = (imgsz_y - e.size_y) / 2;
                }
 
-               if ( e.flags & 1 )
-                       HUD_MinigameMenu_DrawColoredEntry(panel_pos+offset,e.message,e.size);
-               else
-                       HUD_MinigameMenu_DrawEntry(panel_pos+offset,e.message,e.size,color);
+               if (e.flags & 1) {
+                       HUD_MinigameMenu_DrawColoredEntry(panel_pos + offset, e.message, e.size);
+               } else {
+                       HUD_MinigameMenu_DrawEntry(panel_pos + offset, e.message, e.size, color);
+               }
 
-               if ( e == HUD_MinigameMenu_activeitem )
-                       drawfill(panel_pos, eX*panel_size_x + eY*itemh,'1 1 1', 0.25, DRAWFLAG_ADDITIVE);
+               if (e == HUD_MinigameMenu_activeitem) {
+                       drawfill(panel_pos, eX * panel_size_x + eY * itemh, '1 1 1', 0.25, DRAWFLAG_ADDITIVE);
+               }
 
                panel_pos_y += itemh;
        }
@@ -538,13 +529,15 @@ void HUD_MinigameHelp()
 {
        string help_message;
 
-       if(!autocvar__hud_configure)
+       if (!autocvar__hud_configure) {
                help_message = active_minigame.message;
-       else
+       } else {
                help_message = "Minigame message";
+       }
 
-       if ( !help_message )
+       if (!help_message) {
                return;
+       }
 
        HUD_Panel_LoadCvars();
 
@@ -553,14 +546,13 @@ void HUD_MinigameHelp()
        pos = panel_pos;
        mySize = panel_size;
 
-       if(panel_bg_padding)
-       {
+       if (panel_bg_padding) {
                pos += '1 1 0' * panel_bg_padding;
                mySize -= '2 2 0' * panel_bg_padding;
        }
 
-       minigame_drawcolorcodedstring_wrapped( mySize_x, pos, help_message,
-               hud_fontsize, panel_fg_alpha, DRAWFLAG_NORMAL, 0.5 );
+       minigame_drawcolorcodedstring_wrapped(mySize_x, pos, help_message,
+               hud_fontsize, panel_fg_alpha, DRAWFLAG_NORMAL, 0.5);
 }
 
 // ====================================================================
@@ -568,106 +560,91 @@ void HUD_MinigameHelp()
 // ====================================================================
 float HUD_Minigame_InputEvent(float bInputType, float nPrimary, float nSecondary)
 {
-
-       if( !HUD_MinigameMenu_IsOpened() || autocvar__hud_configure )
+       if (!HUD_MinigameMenu_IsOpened() || autocvar__hud_configure) {
                return false;
+       }
 
-       if(bInputType == 3)
-       {
+       if (bInputType == 3) {
                mousepos_x = nPrimary;
                mousepos_y = nSecondary;
-               if ( active_minigame && HUD_mouse_over(HUD_PANEL(MINIGAMEBOARD)) )
-                       active_minigame.minigame_event(active_minigame,"mouse_moved",mousepos);
-               return true;
-
-       }
-       else
-       {
-               if(bInputType == 0) {
-                       if(nPrimary == K_ALT) hudShiftState |= S_ALT;
-                       if(nPrimary == K_CTRL) hudShiftState |= S_CTRL;
-                       if(nPrimary == K_SHIFT) hudShiftState |= S_SHIFT;
-                       if(nPrimary == K_MOUSE1) mouseClicked |= S_MOUSE1;
-                       if(nPrimary == K_MOUSE2) mouseClicked |= S_MOUSE2;
+               if (active_minigame && HUD_mouse_over(HUD_PANEL(MINIGAMEBOARD))) {
+                       active_minigame.minigame_event(active_minigame, "mouse_moved", mousepos);
                }
-               else if(bInputType == 1) {
-                       if(nPrimary == K_ALT) hudShiftState -= (hudShiftState & S_ALT);
-                       if(nPrimary == K_CTRL) hudShiftState -= (hudShiftState & S_CTRL);
-                       if(nPrimary == K_SHIFT) hudShiftState -= (hudShiftState & S_SHIFT);
-                       if(nPrimary == K_MOUSE1) mouseClicked -= (mouseClicked & S_MOUSE1);
-                       if(nPrimary == K_MOUSE2) mouseClicked -= (mouseClicked & S_MOUSE2);
+               return true;
+       } else {
+               if (bInputType == 0) {
+                       if (nPrimary == K_ALT) { hudShiftState |= S_ALT; }
+                       if (nPrimary == K_CTRL) { hudShiftState |= S_CTRL; }
+                       if (nPrimary == K_SHIFT) { hudShiftState |= S_SHIFT; }
+                       if (nPrimary == K_MOUSE1) { mouseClicked |= S_MOUSE1; }
+                       if (nPrimary == K_MOUSE2) { mouseClicked |= S_MOUSE2; }
+               } else if (bInputType == 1) {
+                       if (nPrimary == K_ALT) { hudShiftState -= (hudShiftState & S_ALT); }
+                       if (nPrimary == K_CTRL) { hudShiftState -= (hudShiftState & S_CTRL); }
+                       if (nPrimary == K_SHIFT) { hudShiftState -= (hudShiftState & S_SHIFT); }
+                       if (nPrimary == K_MOUSE1) { mouseClicked -= (mouseClicked & S_MOUSE1); }
+                       if (nPrimary == K_MOUSE2) { mouseClicked -= (mouseClicked & S_MOUSE2); }
                }
 
                // allow some binds
                string con_keys = findkeysforcommand("toggleconsole", 0);
                int keys = tokenize(con_keys); // findkeysforcommand returns data for this
                int i;
-               for (i = 0; i < keys; ++i)
-               {
-                       if(nPrimary == stof(argv(i)))
+               for (i = 0; i < keys; ++i) {
+                       if (nPrimary == stof(argv(i))) {
                                return false;
+                       }
                }
 
-               if ( active_minigame && ( bInputType == 0 || bInputType == 1 ) )
-               {
+               if (active_minigame && (bInputType == 0 || bInputType == 1)) {
                        string device = "";
                        string action = bInputType == 0 ? "pressed" : "released";
-                       if ( nPrimary >= K_MOUSE1 && nPrimary <= K_MOUSE16 )
-                       {
-                               if ( HUD_mouse_over(HUD_PANEL(MINIGAMEBOARD)) )
+                       if (nPrimary >= K_MOUSE1 && nPrimary <= K_MOUSE16) {
+                               if (HUD_mouse_over(HUD_PANEL(MINIGAMEBOARD))) {
                                        device = "mouse";
-                       }
-                       else
+                               }
+                       } else {
                                device = "key";
+                       }
 
-                       if ( device && active_minigame.minigame_event(
-                                       active_minigame,strcat(device,"_",action),nPrimary) )
+                       if (device && active_minigame.minigame_event(
+                               active_minigame, strcat(device, "_", action), nPrimary)) {
                                return true;
+                       }
 
                        /// TODO: bInputType == 2?
                }
 
-               if ( bInputType == 0 )
-               {
-                       if ( nPrimary == K_MOUSE1 && HUD_MinigameMenu_activeitem &&
-                               HUD_mouse_over(HUD_PANEL(MINIGAMEMENU)) )
-                       {
+               if (bInputType == 0) {
+                       if (nPrimary == K_MOUSE1 && HUD_MinigameMenu_activeitem
+                               && HUD_mouse_over(HUD_PANEL(MINIGAMEMENU))) {
                                HUD_MinigameMenu_Click(HUD_MinigameMenu_activeitem);
                                return true;
                        }
-                       if ( nPrimary == K_UPARROW || nPrimary == K_KP_UPARROW )
-                       {
-                               if ( HUD_MinigameMenu_activeitem && HUD_MinigameMenu_activeitem.list_prev )
+                       if (nPrimary == K_UPARROW || nPrimary == K_KP_UPARROW) {
+                               if (HUD_MinigameMenu_activeitem && HUD_MinigameMenu_activeitem.list_prev) {
                                        HUD_MinigameMenu_activeitem = HUD_MinigameMenu_activeitem.list_prev;
-                               else
+                               } else {
                                        HUD_MinigameMenu_activeitem = HUD_MinigameMenu_last_entry;
+                               }
                                return true;
-                       }
-                       else if ( nPrimary == K_DOWNARROW || nPrimary == K_KP_DOWNARROW )
-                       {
-                               if ( HUD_MinigameMenu_activeitem && HUD_MinigameMenu_activeitem.list_next )
+                       } else if (nPrimary == K_DOWNARROW || nPrimary == K_KP_DOWNARROW) {
+                               if (HUD_MinigameMenu_activeitem && HUD_MinigameMenu_activeitem.list_next) {
                                        HUD_MinigameMenu_activeitem = HUD_MinigameMenu_activeitem.list_next;
-                               else
+                               } else {
                                        HUD_MinigameMenu_activeitem = HUD_MinigameMenu_entries;
+                               }
                                return true;
-                       }
-                       else if ( nPrimary == K_HOME || nPrimary == K_KP_HOME )
-                       {
+                       } else if (nPrimary == K_HOME || nPrimary == K_KP_HOME) {
                                HUD_MinigameMenu_activeitem = HUD_MinigameMenu_entries;
                                return true;
-                       }
-                       else if ( nPrimary == K_END || nPrimary == K_KP_END )
-                       {
+                       } else if (nPrimary == K_END || nPrimary == K_KP_END) {
                                HUD_MinigameMenu_activeitem = HUD_MinigameMenu_entries;
                                return true;
-                       }
-                       else if ( nPrimary == K_KP_ENTER || nPrimary == K_ENTER || nPrimary == K_SPACE )
-                       {
+                       } else if (nPrimary == K_KP_ENTER || nPrimary == K_ENTER || nPrimary == K_SPACE) {
                                HUD_MinigameMenu_Click(HUD_MinigameMenu_activeitem);
                                return true;
-                       }
-                       else if ( nPrimary == K_ESCAPE )
-                       {
+                       } else if (nPrimary == K_ESCAPE) {
                                HUD_MinigameMenu_Close(NULL, NULL, NULL);
                                return true;
                        }
@@ -675,19 +652,21 @@ float HUD_Minigame_InputEvent(float bInputType, float nPrimary, float nSecondary
        }
 
        return false;
-
 }
 
 void HUD_Minigame_Mouse()
 {
-       if( !HUD_MinigameMenu_IsOpened() || autocvar__hud_configure || mv_active )
+       if (!HUD_MinigameMenu_IsOpened() || autocvar__hud_configure || mv_active) {
                return;
+       }
 
-       if (!autocvar_hud_cursormode)
+       if (!autocvar_hud_cursormode) {
                update_mousepos();
+       }
 
-       if ( HUD_MinigameMenu_IsOpened() && HUD_mouse_over(HUD_PANEL(MINIGAMEMENU)) )
+       if (HUD_MinigameMenu_IsOpened() && HUD_mouse_over(HUD_PANEL(MINIGAMEMENU))) {
                HUD_MinigameMenu_MouseInput();
+       }
 
        draw_cursor_normal(mousepos, '1 1 1', panel_fg_alpha);
 }
index 6d14b258281f973a916b346ca9540776d75f7549..dea1c59fce8506225e8d0870e147d3d4b2f1eaed 100644 (file)
@@ -11,7 +11,7 @@ entity minigame_get_descriptor(string id)
 // Get letter index of a tile name
 int minigame_tile_letter(string id)
 {
-       return str2chr(substring(id,0,1),0)-'a';
+       return str2chr(substring(id, 0, 1), 0) - 'a';
 }
 
 // Get number index of a tile name
@@ -20,7 +20,7 @@ int minigame_tile_letter(string id)
 //     you may want to do number_of_rows - what_this_function_returns or something
 int minigame_tile_number(string id)
 {
-       return stof(substring(id,1,-1)) -1 ;
+       return stof(substring(id, 1, -1)) - 1;
 }
 
 // Get relative position of the center of a given tile
@@ -33,7 +33,7 @@ vector minigame_tile_pos(string id, int rows, int columns)
 // Get a tile name from indices
 string minigame_tile_buildname(int letter, int number)
 {
-       return strcat(chr2str('a'+letter),ftos(number+1));
+       return strcat(chr2str('a' + letter), ftos(number + 1));
 }
 
 // Get the id of a tile relative to the given one
@@ -41,23 +41,25 @@ string minigame_relative_tile(string start_id, int dx, int dy, int rows, int col
 {
        int letter = minigame_tile_letter(start_id);
        int number = minigame_tile_number(start_id);
-       letter = (letter+dx) % columns;
-       number = (number+dy) % rows;
-       if ( letter < 0 )
+       letter = (letter + dx) % columns;
+       number = (number + dy) % rows;
+       if (letter < 0) {
                letter = columns + letter;
-       if ( number < 0 )
+       }
+       if (number < 0) {
                number = rows + number;
+       }
        return minigame_tile_buildname(letter, number);
 }
 
 // Get tile name from a relative position (matches the tile covering a square area)
 string minigame_tile_name(vector pos, int rows, int columns)
 {
-       if ( pos_x < 0 || pos_x > 1 || pos_y < 0 || pos_y > 1 )
+       if (pos_x < 0 || pos_x > 1 || pos_y < 0 || pos_y > 1) {
                return ""; // no tile
-
+       }
        int letter = floor(pos_x * columns);
-       int number = floor((1-pos_y) * rows);
+       int number = floor((1 - pos_y) * rows);
        return minigame_tile_buildname(letter, number);
 }
 
@@ -77,9 +79,9 @@ int minigame_prev_team(int curr_team, int n_teams)
 // (for example in game logic which can be used both in client and server
 void minigame_server_sendflags(entity ent, int mgflags)
 {
-       #ifdef SVQC
-               ent.SendFlags |= mgflags;
-       #endif
+#ifdef SVQC
+       ent.SendFlags |= mgflags;
+#endif
 }
 
 // Spawn linked entity on the server or local entity on the client
@@ -90,20 +92,20 @@ entity msle_spawn(entity minigame_session, string class_name)
        e.classname = class_name;
        e.owner = minigame_session;
        e.minigame_autoclean = 1;
-       #ifdef SVQC
-               setcefc(e, minigame_CheckSend);
-               Net_LinkEntity(e, false, 0, minigame_SendEntity);
-       #endif
+#ifdef SVQC
+       setcefc(e, minigame_CheckSend);
+       Net_LinkEntity(e, false, 0, minigame_SendEntity);
+#endif
        return e;
 }
 
 const int msle_base_id = 2;
 int msle_id(string class_name)
 {
-       if ( class_name == "minigame" ) return 1;
-       if ( class_name == "minigame_player" ) return 2;
+       if (class_name == "minigame") { return 1; }
+       if (class_name == "minigame_player") { return 2; }
        int i = msle_base_id;
-#define MSLE(Name, Fields) i++; if ( class_name == #Name ) return i;
+#define MSLE(Name, Fields) i++; if (class_name == #Name) { return i; }
        MINIGAME_SIMPLELINKED_ENTITIES
 #undef MSLE
        return 0;
@@ -111,10 +113,10 @@ int msle_id(string class_name)
 
 string msle_classname(int id)
 {
-       if ( id == 1 ) return "minigame";
-       if ( id == 2 ) return "minigame_player";
+       if (id == 1) { return "minigame"; }
+       if (id == 2) { return "minigame_player"; }
        int i = msle_base_id;
-#define MSLE(Name, Fields) i++; if ( id == i ) return #Name;
+#define MSLE(Name, Fields) i++; if (id == i) { return #Name; }
        MINIGAME_SIMPLELINKED_ENTITIES
 #undef MSLE
        return "";
@@ -125,13 +127,14 @@ int minigame_count_players(entity minigame)
        int pl_num = 0;
        entity e;
 #ifdef SVQC
-       for(e = minigame.minigame_players; e; e = e.list_next)
+       for (e = minigame.minigame_players; e; e = e.list_next)
 #elif defined(CSQC)
        e = NULL;
-       while( (e = findentity(e,owner,minigame)) )
-               if ( e.classname == "minigame_player" )
+       while ((e = findentity(e, owner, minigame)))
+               if (e.classname == "minigame_player")
 #endif
-               pl_num++;
+       { pl_num++;
+       }
        return pl_num;
 }
 
index 284001a0a22e97997b107a386601d9f75207345f..1d3356bdb3e8c415c2130aa8f8eacb9f5aec434c 100644 (file)
@@ -46,55 +46,55 @@ int minigame_count_players(entity minigame);
 
 /// For minigame sessions/descriptors: execute the given event
 /// Client events:
-///    mouse_moved(vector mouse_pos)
+///     mouse_moved(vector mouse_pos)
 ///                    return 1 to handle input, 0 to discard
-///    mouse_pressed/released(int K_Keycode)
+///     mouse_pressed/released(int K_Keycode)
 ///                    return 1 to handle input, 0 to discard
-///            note: see dpdefs/keycodes.qc for values
-///    key_pressed/released(int K_Keycode)
-///            return 1 to handle input, 0 to discard
-///            note: see dpdefs/keycodes.qc for values
-///    activate()
-///            executed when the minigame is activated for the current client
-///    deactivate()
-///            executed when the minigame is deactivated for the current client
-///    network_receive(entity received,int flags)
-///            executed each time a networked entity is received
-///            note: when this is called self == ...(0,entity)
-///            You can use the MINIG_SF_ constants to check the send flags
-///            IMPORTANT: always read in client everything you send from the server!
-///    menu_show(entity parent_menu_item)
-///            executed when the Current Game menu is shown, used to add custom entries
-///            Call HUD_MinigameMenu_CustomEntry to do so (pass ...(0,entity) as first argument)
-///    menu_click(string arg)
-///            executed when a custom menu entry is clicked
+///         note: see dpdefs/keycodes.qc for values
+///     key_pressed/released(int K_Keycode)
+///         return 1 to handle input, 0 to discard
+///         note: see dpdefs/keycodes.qc for values
+///     activate()
+///         executed when the minigame is activated for the current client
+///     deactivate()
+///         executed when the minigame is deactivated for the current client
+///     network_receive(entity received,int flags)
+///         executed each time a networked entity is received
+///         note: when this is called self == ...(0,entity)
+///         You can use the MINIG_SF_ constants to check the send flags
+///         IMPORTANT: always read in client everything you send from the server!
+///     menu_show(entity parent_menu_item)
+///         executed when the Current Game menu is shown, used to add custom entries
+///         Call HUD_MinigameMenu_CustomEntry to do so (pass ...(0,entity) as first argument)
+///     menu_click(string arg)
+///         executed when a custom menu entry is clicked
 /// Server events:
-///    start()
-///            executed when the minigame session is starting
-///    end()
-///            executed when the minigame session is shutting down
-///    join(entity player)
-///            executed when a player wants to join the session
-///            return the player team number to accept the new player, 0 to discard
-///    part(entity player)
-///            executed when a player is going to leave the session
-///    network_send(entity sent,int flags)
-///            executed each time a networked entity is sent
-///            note: when this is called self == ...(0,entity)
-///            You can use the MINIG_SF_ constants to check the send flags
-///            IMPORTANT: always read in client everything you send from the server!
-///    cmd(entity minigame_player, int argc, string command)
-///            self = client entity triggering this
-///            argv(n) = console token
-///            argc: number of console tokens
-///            command: full command string
-///            triggered when a player does "cmd minigame ..." with some unrecognized command
-///            return 1 if the minigame has handled the command
-///    impulse(entity minigame_player,int impulse)
-///            self = client entity triggering this
-///            triggered when a player does "impulse ..."
-///            return 1 if the minigame has handled the impulse
-.int(entity,string,...)   minigame_event;
+///     start()
+///         executed when the minigame session is starting
+///     end()
+///         executed when the minigame session is shutting down
+///     join(entity player)
+///         executed when a player wants to join the session
+///         return the player team number to accept the new player, 0 to discard
+///     part(entity player)
+///         executed when a player is going to leave the session
+///     network_send(entity sent,int flags)
+///         executed each time a networked entity is sent
+///         note: when this is called self == ...(0,entity)
+///         You can use the MINIG_SF_ constants to check the send flags
+///         IMPORTANT: always read in client everything you send from the server!
+///     cmd(entity minigame_player, int argc, string command)
+///         self = client entity triggering this
+///         argv(n) = console token
+///         argc: number of console tokens
+///         command: full command string
+///         triggered when a player does "cmd minigame ..." with some unrecognized command
+///         return 1 if the minigame has handled the command
+///     impulse(entity minigame_player,int impulse)
+///         self = client entity triggering this
+///         triggered when a player does "impulse ..."
+///         return 1 if the minigame has handled the impulse
+.int(entity, string, ...) minigame_event;
 
 // For run-time gameplay entities: Whether to be removed when the game is deactivated
 .bool minigame_autoclean;
index b5015a1f40fd3e452d83ce2d23ed5a510ce63c4c..3bfb70c2a93323f3f7cee4b13667fac8d11d148c 100644 (file)
@@ -2,11 +2,11 @@
 
 /// Create a new minigame session
 /// \return minigame session entity
-entity start_minigame(entity player, string minigame );
+entity start_minigame(entity player, string minigame);
 
 /// Join an existing minigame session
 /// \return minigame session entity
-entity join_minigame(entity player, string game_id );
+entity join_minigame(entity player, string game_id);
 
 /// Invite a player to join in a minigame
 /// \return Error string
@@ -49,12 +49,13 @@ REGISTRY(Minigames, BITS(4))
 #define Minigames_from(i) _Minigames_from(i, NULL)
 REGISTER_REGISTRY(Minigames)
 REGISTRY_CHECK(Minigames)
-#define REGISTER_MINIGAME(name,nicename) \
-    REGISTER(Minigames, MINIGAME_##name, m_id, new_pure(minigame_descriptor)); \
-    int name##_server_event(entity, string, ...); \
-    REGISTER_INIT(MINIGAME_##name) { \
-        this.netname = strzone(strtolower(#name)); \
-        this.message = nicename; \
+#define REGISTER_MINIGAME(name, nicename) \
+       REGISTER(Minigames, MINIGAME_##name, m_id, new_pure(minigame_descriptor)); \
+       int name##_server_event(entity, string, ...); \
+       REGISTER_INIT(MINIGAME_##name) \
+       { \
+               this.netname = strzone(strtolower( #name)); \
+               this.message = nicename; \
                this.minigame_event = name##_server_event; \
-    } \
-    REGISTER_INIT(MINIGAME_##name)
+       } \
+       REGISTER_INIT(MINIGAME_##name)
index ce98629411fd0cd6c3ce798a813acf5dd0fd602f..4e5ae25603396227b89562cc05978b4e5543a561 100644 (file)
@@ -7,16 +7,20 @@ REGISTRY(Models, BITS(9))
 REGISTER_REGISTRY(Models)
 
 #define MODEL(name, path) \
-    string MDL_##name##_get() { return path; } \
-    REGISTER(Models, MDL, name, m_id, NEW(Model, MDL_##name##_get))
+       string MDL_##name##_get() \
+       { \
+               return path; \
+       } \
+       REGISTER(Models, MDL, name, m_id, NEW(Model, MDL_##name##_get))
 
 STATIC_INIT(NULLMDL)
 {
-    precache_model("null");
+       precache_model("null");
 }
 
-PRECACHE(Models) {
-    FOREACH(Models, true, it.model_precache(it));
+PRECACHE(Models)
+{
+       FOREACH(Models, true, it.model_precache(it));
 }
 
 MODEL(Null, "null");
index d5011c7f35ca726b0e074244d871b985a881caa0..f11cdc76de8c6a3e73e90c695204c73ca0713892 100644 (file)
@@ -51,13 +51,13 @@ const float zombie_anim_spawn                               = 30;
 
 void M_Zombie_Attack_Leap_Touch(entity this, entity toucher)
 {
-       if (this.health <= 0)
+       if (this.health <= 0) {
                return;
+       }
 
        vector angles_face;
 
-       if(toucher.takedamage)
-       {
+       if (toucher.takedamage) {
                angles_face = vectoangles(this.moveto - this.origin);
                angles_face = normalize(angles_face) * (autocvar_g_monster_zombie_attack_leap_force);
                Damage(toucher, this, this, (autocvar_g_monster_zombie_attack_leap_damage) * MONSTER_SKILLMOD(this), DEATH_MONSTER_ZOMBIE_JUMP.m_id, toucher.origin, angles_face);
@@ -65,8 +65,7 @@ void M_Zombie_Attack_Leap_Touch(entity this, entity toucher)
                this.state = 0;
        }
 
-       if (trace_dphitcontents)
-       {
+       if (trace_dphitcontents) {
                this.state = 0;
                settouch(this, Monster_Touch);
        }
@@ -74,8 +73,9 @@ void M_Zombie_Attack_Leap_Touch(entity this, entity toucher)
 
 void M_Zombie_Defend_Block_End(entity this)
 {
-       if(this.health <= 0)
+       if (this.health <= 0) {
                return;
+       }
 
        setanim(this, this.anim_blockend, false, true, true);
        this.armorvalue = autocvar_g_monsters_armor_blockpercent;
@@ -96,22 +96,23 @@ bool M_Zombie_Defend_Block(entity this)
 
 bool M_Zombie_Attack(int attack_type, entity actor, entity targ, .entity weaponentity)
 {
-       switch(attack_type)
-       {
+       switch (attack_type) {
                case MONSTER_ATTACK_MELEE:
                {
-                       if(random() < 0.3 && actor.health < 75 && actor.enemy.health > 10)
+                       if (random() < 0.3 && actor.health < 75 && actor.enemy.health > 10) {
                                return M_Zombie_Defend_Block(actor);
+                       }
 
                        float anim_chance = random();
                        vector chosen_anim;
 
-                       if(anim_chance < 0.33)
+                       if (anim_chance < 0.33) {
                                chosen_anim = actor.anim_melee1;
-                       else if(anim_chance < 0.66)
+                       } else if (anim_chance < 0.66) {
                                chosen_anim = actor.anim_melee2;
-                       else
+                       } else {
                                chosen_anim = actor.anim_melee3;
+                       }
 
                        return Monster_Attack_Melee(actor, actor.enemy, (autocvar_g_monster_zombie_attack_melee_damage), chosen_anim, actor.attack_range, (autocvar_g_monster_zombie_attack_melee_delay), DEATH_MONSTER_ZOMBIE_MELEE.m_id, true);
                }
@@ -125,82 +126,86 @@ bool M_Zombie_Attack(int attack_type, entity actor, entity targ, .entity weapone
        return false;
 }
 
-spawnfunc(monster_zombie) { Monster_Spawn(this, true, MON_ZOMBIE.monsterid); }
+spawnfunc(monster_zombie)
+{
+       Monster_Spawn(this, true, MON_ZOMBIE.monsterid);
+}
 #endif // SVQC
 
 #ifdef SVQC
 METHOD(Zombie, mr_think, bool(Zombie this, entity actor))
 {
-    TC(Zombie, this);
-    if(time >= actor.spawn_time)
-        actor.damageforcescale = autocvar_g_monster_zombie_damageforcescale;
-    return true;
+       TC(Zombie, this);
+       if (time >= actor.spawn_time) {
+               actor.damageforcescale = autocvar_g_monster_zombie_damageforcescale;
+       }
+       return true;
 }
 
 METHOD(Zombie, mr_pain, float(Zombie this, entity actor, float damage_take, entity attacker, float deathtype))
 {
-    TC(Zombie, this);
-    actor.pain_finished = time + 0.34;
-    setanim(actor, ((random() > 0.5) ? actor.anim_pain1 : actor.anim_pain2), true, true, false);
-    return damage_take;
+       TC(Zombie, this);
+       actor.pain_finished = time + 0.34;
+       setanim(actor, ((random() > 0.5) ? actor.anim_pain1 : actor.anim_pain2), true, true, false);
+       return damage_take;
 }
 
 METHOD(Zombie, mr_death, bool(Zombie this, entity actor))
 {
-    TC(Zombie, this);
-    actor.armorvalue = autocvar_g_monsters_armor_blockpercent;
+       TC(Zombie, this);
+       actor.armorvalue = autocvar_g_monsters_armor_blockpercent;
 
-    setanim(actor, ((random() > 0.5) ? actor.anim_die1 : actor.anim_die2), false, true, true);
-    return true;
+       setanim(actor, ((random() > 0.5) ? actor.anim_die1 : actor.anim_die2), false, true, true);
+       return true;
 }
 #endif
 #ifdef GAMEQC
 METHOD(Zombie, mr_anim, bool(Zombie this, entity actor))
 {
-    TC(Zombie, this);
-    vector none = '0 0 0';
-    actor.anim_die1 = animfixfps(actor, '9 1 0.5', none); // 2 seconds
-    actor.anim_die2 = animfixfps(actor, '12 1 0.5', none); // 2 seconds
-    actor.anim_spawn = animfixfps(actor, '30 1 3', none);
-    actor.anim_walk = animfixfps(actor, '27 1 1', none);
-    actor.anim_idle = animfixfps(actor, '19 1 1', none);
-    actor.anim_pain1 = animfixfps(actor, '20 1 2', none); // 0.5 seconds
-    actor.anim_pain2 = animfixfps(actor, '22 1 2', none); // 0.5 seconds
-    actor.anim_melee1 = animfixfps(actor, '4 1 5', none); // analyze models and set framerate
-    actor.anim_melee2 = animfixfps(actor, '4 1 5', none); // analyze models and set framerate
-    actor.anim_melee3 = animfixfps(actor, '4 1 5', none); // analyze models and set framerate
-    actor.anim_shoot = animfixfps(actor, '0 1 5', none); // analyze models and set framerate
-    actor.anim_run = animfixfps(actor, '27 1 1', none);
-    actor.anim_blockstart = animfixfps(actor, '8 1 1', none);
-    actor.anim_blockend = animfixfps(actor, '7 1 1', none);
-    return true;
+       TC(Zombie, this);
+       vector none = '0 0 0';
+       actor.anim_die1 = animfixfps(actor, '9 1 0.5', none);  // 2 seconds
+       actor.anim_die2 = animfixfps(actor, '12 1 0.5', none); // 2 seconds
+       actor.anim_spawn = animfixfps(actor, '30 1 3', none);
+       actor.anim_walk = animfixfps(actor, '27 1 1', none);
+       actor.anim_idle = animfixfps(actor, '19 1 1', none);
+       actor.anim_pain1 = animfixfps(actor, '20 1 2', none); // 0.5 seconds
+       actor.anim_pain2 = animfixfps(actor, '22 1 2', none); // 0.5 seconds
+       actor.anim_melee1 = animfixfps(actor, '4 1 5', none); // analyze models and set framerate
+       actor.anim_melee2 = animfixfps(actor, '4 1 5', none); // analyze models and set framerate
+       actor.anim_melee3 = animfixfps(actor, '4 1 5', none); // analyze models and set framerate
+       actor.anim_shoot = animfixfps(actor, '0 1 5', none);  // analyze models and set framerate
+       actor.anim_run = animfixfps(actor, '27 1 1', none);
+       actor.anim_blockstart = animfixfps(actor, '8 1 1', none);
+       actor.anim_blockend = animfixfps(actor, '7 1 1', none);
+       return true;
 }
 #endif
 #ifdef SVQC
 METHOD(Zombie, mr_setup, bool(Zombie this, entity actor))
 {
-    TC(Zombie, this);
-    if(!actor.health) actor.health = (autocvar_g_monster_zombie_health);
-    if(!actor.speed) { actor.speed = (autocvar_g_monster_zombie_speed_walk); }
-    if(!actor.speed2) { actor.speed2 = (autocvar_g_monster_zombie_speed_run); }
-    if(!actor.stopspeed) { actor.stopspeed = (autocvar_g_monster_zombie_speed_stop); }
-
-    if(actor.spawnflags & MONSTERFLAG_NORESPAWN)
-        actor.spawnflags &= ~MONSTERFLAG_NORESPAWN; // zombies always respawn
-
-    actor.spawnflags &= ~MONSTERFLAG_APPEAR; // once it's appeared, it will respawn quickly, we don't want it to appear
+       TC(Zombie, this);
+       if (!actor.health) { actor.health = (autocvar_g_monster_zombie_health); }
+       if (!actor.speed) { actor.speed = (autocvar_g_monster_zombie_speed_walk); }
+       if (!actor.speed2) { actor.speed2 = (autocvar_g_monster_zombie_speed_run); }
+       if (!actor.stopspeed) { actor.stopspeed = (autocvar_g_monster_zombie_speed_stop); }
+
+       if (actor.spawnflags & MONSTERFLAG_NORESPAWN) {
+               actor.spawnflags &= ~MONSTERFLAG_NORESPAWN; // zombies always respawn
+       }
+       actor.spawnflags &= ~MONSTERFLAG_APPEAR;        // once it's appeared, it will respawn quickly, we don't want it to appear
 
-    actor.spawnflags |= MONSTER_RESPAWN_DEATHPOINT;
+       actor.spawnflags |= MONSTER_RESPAWN_DEATHPOINT;
 
-    actor.monster_loot = ITEM_HealthMedium;
-    actor.monster_attackfunc = M_Zombie_Attack;
-    actor.spawnshieldtime = actor.spawn_time;
-    actor.respawntime = 0.2;
-    actor.damageforcescale = 0.0001; // no push while spawning
+       actor.monster_loot = ITEM_HealthMedium;
+       actor.monster_attackfunc = M_Zombie_Attack;
+       actor.spawnshieldtime = actor.spawn_time;
+       actor.respawntime = 0.2;
+       actor.damageforcescale = 0.0001; // no push while spawning
 
-    setanim(actor, actor.anim_spawn, false, true, true);
-    actor.spawn_time = actor.animstate_endtime;
+       setanim(actor, actor.anim_spawn, false, true, true);
+       actor.spawn_time = actor.animstate_endtime;
 
-    return true;
+       return true;
 }
 #endif
index 1572a95ea0d34bd346cd0988604dc0fb029b682e..ca958f6f111a028ac255efcc5fc1ebc5b6b02ce7 100644 (file)
@@ -7,14 +7,14 @@ MODEL(MON_ZOMBIE, M_Model("zombie.dpm"));
 #endif
 
 CLASS(Zombie, Monster)
-    ATTRIB(Zombie, spawnflags, int, MONSTER_TYPE_UNDEAD | MON_FLAG_MELEE | MON_FLAG_RIDE);
-    ATTRIB(Zombie, m_mins, vector, '-18 -18 -25');
-    ATTRIB(Zombie, m_maxs, vector, '18 18 47');
+       ATTRIB(Zombie, spawnflags, int, MONSTER_TYPE_UNDEAD | MON_FLAG_MELEE | MON_FLAG_RIDE);
+       ATTRIB(Zombie, m_mins, vector, '-18 -18 -25');
+       ATTRIB(Zombie, m_maxs, vector, '18 18 47');
 #ifdef GAMEQC
-    ATTRIB(Zombie, m_model, Model, MDL_MON_ZOMBIE);
+       ATTRIB(Zombie, m_model, Model, MDL_MON_ZOMBIE);
 #endif
-    ATTRIB(Zombie, netname, string, "zombie");
-    ATTRIB(Zombie, monster_name, string, _("Zombie"));
+       ATTRIB(Zombie, netname, string, "zombie");
+       ATTRIB(Zombie, monster_name, string, _("Zombie"));
 ENDCLASS(Zombie)
 
 REGISTER_MONSTER(ZOMBIE, NEW(Zombie));
index d6989ad31839d52229cc8f612879fd6c83ab8686..da0f9571d5b6e481e43d82b2a9f833a1f882c420 100644 (file)
@@ -2,24 +2,23 @@
 #if defined(CSQC)
 #elif defined(MENUQC)
 #elif defined(SVQC)
-    #include "../util.qh"
-    #include "all.qh"
-    #include "sv_monsters.qh"
-    #include <server/autocvars.qh>
-    #include <server/defs.qh>
+#include "../util.qh"
+#include "all.qh"
+#include "sv_monsters.qh"
+#include <server/autocvars.qh>
+#include <server/defs.qh>
 #endif
-entity spawnmonster (entity e, string monster, int monster_id, entity spawnedby, entity own, vector orig, bool respwn, bool removeifinvalid, int moveflag)
+entity spawnmonster(entity e, string monster, int monster_id, entity spawnedby, entity own, vector orig, bool respwn, bool removeifinvalid, int moveflag)
 {
        e.spawnflags = MONSTERFLAG_SPAWNED;
 
-       if(!respwn) { e.spawnflags |= MONSTERFLAG_NORESPAWN; }
-       //if(invincible) { e.spawnflags |= MONSTERFLAG_INVINCIBLE; }
+       if (!respwn) { e.spawnflags |= MONSTERFLAG_NORESPAWN; }
+       // if(invincible) { e.spawnflags |= MONSTERFLAG_INVINCIBLE; }
 
        setorigin(e, orig);
        bool allow_any = boolean(monster == "anyrandom");
 
-       if(monster == "random" || allow_any)
-       {
+       if (monster == "random" || allow_any) {
                RandomSelection_Init();
                FOREACH(Monsters, it != MON_Null && (allow_any || (!(it.spawnflags & MONSTER_TYPE_PASSIVE) && !(it.spawnflags & MON_FLAG_HIDDEN))),
                {
@@ -27,51 +26,45 @@ entity spawnmonster (entity e, string monster, int monster_id, entity spawnedby,
                });
 
                monster_id = RandomSelection_chosen_ent.monsterid;
-       }
-       else if(monster != "")
-       {
+       } else if (monster != "") {
                bool found = false;
                FOREACH(Monsters, it != MON_Null,
                {
-                       if(it.netname == monster)
-                       {
+                       if (it.netname == monster) {
                                found = true;
                                monster_id = it.monsterid; // we have the monster, old monster id is no longer required
                                break;
                        }
                });
 
-               if(!found && !monster_id)
-               {
-                       if(removeifinvalid)
-                       {
+               if (!found && !monster_id) {
+                       if (removeifinvalid) {
                                delete(e);
                                return NULL; // no good
-                       }
-                       else
+                       } else {
                                monster_id = MON_FIRST;
+                       }
                }
        }
 
        e.realowner = spawnedby;
 
-       if(moveflag)
+       if (moveflag) {
                e.monster_moveflags = moveflag;
+       }
 
-       if(IS_PLAYER(spawnedby))
-       {
-               if(teamplay && autocvar_g_monsters_teams)
+       if (IS_PLAYER(spawnedby)) {
+               if (teamplay && autocvar_g_monsters_teams) {
                        e.team = spawnedby.team; // colors handled in spawn code
-
-               if(autocvar_g_monsters_owners)
-                       e.monster_follow = own; // using .owner makes the monster non-solid for its master
-
+               }
+               if (autocvar_g_monsters_owners) {
+                       e.monster_follow = own;  // using .owner makes the monster non-solid for its master
+               }
                e.angles_y = spawnedby.angles_y;
        }
 
        // Monster_Spawn checks if monster is valid
-       if(!Monster_Spawn(e, false, monster_id))
-       {
+       if (!Monster_Spawn(e, false, monster_id)) {
                delete(e);
                return NULL; // remove even if told not to, as we didn't spawn any kind of monster
        }
index 983676db87d3c4a225dd141db6017ebe173624d4..062db6e3f5d7a3cfd6c175caca0177594a6501d9 100644 (file)
@@ -1,3 +1,3 @@
 #pragma once
 
-entity spawnmonster (entity e, string monster, int monster_id, entity spawnedby, entity own, vector orig, bool respwn, bool removeifinvalid, int moveflag);
+entity spawnmonster(entity e, string monster, int monster_id, entity spawnedby, entity own, vector orig, bool respwn, bool removeifinvalid, int moveflag);
index 107a82030c1f99d76d2aa1140d207c3798a0e150..0a57d52b152547a96c259da7791b003302e6e5f4 100644 (file)
@@ -5,13 +5,13 @@
 #pragma noref 1
 
 #define MUTATOR_TYPES(_, x) \
-    _(x, bool) \
-    _(x, int) \
-    _(x, entity) \
-    _(x, float) \
-    _(x, vector) \
-    _(x, string) \
-    /**/
+       _(x, bool) \
+       _(x, int) \
+       _(x, entity) \
+       _(x, float) \
+       _(x, vector) \
+       _(x, string) \
+       /**/
 
 // TODO: migrate to arrays some day when no other globals are used
 #define M_ARGV(x, type) MUTATOR_ARGV_##x##_##type
@@ -36,23 +36,23 @@ MUTATOR_TYPES(MUTATOR_NEWGLOBAL, 10)
 
 /** appends ":mutatorname" to argument for logging */
 #define EV_BuildMutatorsString(i, o) \
-    /** mutator string */ i(string, MUTATOR_ARGV_0_string) \
-    /**/                  o(string, MUTATOR_ARGV_0_string) \
-    /**/
+       /** mutator string */ i(string, MUTATOR_ARGV_0_string) \
+       /**/ o(string, MUTATOR_ARGV_0_string) \
+       /**/
 MUTATOR_HOOKABLE(BuildMutatorsString, EV_BuildMutatorsString);
 
 /** appends ", Mutator name" to ret_string for display */
 #define EV_BuildMutatorsPrettyString(i, o) \
-    /** mutator string */ i(string, MUTATOR_ARGV_0_string) \
-    /**/                  o(string, MUTATOR_ARGV_0_string) \
-    /**/
+       /** mutator string */ i(string, MUTATOR_ARGV_0_string) \
+       /**/ o(string, MUTATOR_ARGV_0_string) \
+       /**/
 MUTATOR_HOOKABLE(BuildMutatorsPrettyString, EV_BuildMutatorsPrettyString);
 
 /** appends mutator string for displaying extra gameplay tips */
 #define EV_BuildGameplayTipsString(i, o) \
-    /** tips string */    i(string, MUTATOR_ARGV_0_string) \
-    /**/                  o(string, MUTATOR_ARGV_0_string) \
-    /**/
+       /** tips string */ i(string, MUTATOR_ARGV_0_string) \
+       /**/ o(string, MUTATOR_ARGV_0_string) \
+       /**/
 MUTATOR_HOOKABLE(BuildGameplayTipsString, EV_BuildGameplayTipsString);
 
 #define EV_IsFlying(i, o) \
@@ -61,11 +61,11 @@ MUTATOR_HOOKABLE(BuildGameplayTipsString, EV_BuildGameplayTipsString);
 MUTATOR_HOOKABLE(IsFlying, EV_IsFlying);
 
 #define EV_WP_Format(i, o) \
-    /**/ i(entity, MUTATOR_ARGV_0_entity) \
-    /**/ i(string, MUTATOR_ARGV_1_string) \
-    /**/ o(vector, MUTATOR_ARGV_2_vector) \
-    /**/ o(string, MUTATOR_ARGV_3_string) \
-    /**/
+       /**/ i(entity, MUTATOR_ARGV_0_entity) \
+       /**/ i(string, MUTATOR_ARGV_1_string) \
+       /**/ o(vector, MUTATOR_ARGV_2_vector) \
+       /**/ o(string, MUTATOR_ARGV_3_string) \
+       /**/
 MUTATOR_HOOKABLE(WP_Format, EV_WP_Format);
 
 /**
@@ -73,41 +73,41 @@ MUTATOR_HOOKABLE(WP_Format, EV_WP_Format);
  * is run AFTER bot code and idle checking on the server
  */
 #define EV_PlayerPhysics(i, o) \
-    /** player */ i(entity, MUTATOR_ARGV_0_entity) \
-    /** ticrate*/ i(float, MUTATOR_ARGV_1_float) \
-    /**/
+       /** player */ i(entity, MUTATOR_ARGV_0_entity) \
+       /** ticrate*/ i(float, MUTATOR_ARGV_1_float) \
+       /**/
 MUTATOR_HOOKABLE(PlayerPhysics, EV_PlayerPhysics);
 
 /** called when a player presses the jump key */
 #define EV_PlayerJump(i, o) \
-    /** player */      i(entity, MUTATOR_ARGV_0_entity) \
-    /** jump height */ i(float, MUTATOR_ARGV_1_float) \
-    /**/               o(float, MUTATOR_ARGV_1_float) \
-    /** multijump */   i(bool, MUTATOR_ARGV_2_bool) \
-    /**/               o(bool, MUTATOR_ARGV_2_bool) \
-    /**/
+       /** player */ i(entity, MUTATOR_ARGV_0_entity) \
+       /** jump height */ i(float, MUTATOR_ARGV_1_float) \
+       /**/ o(float, MUTATOR_ARGV_1_float) \
+       /** multijump */ i(bool, MUTATOR_ARGV_2_bool) \
+       /**/ o(bool, MUTATOR_ARGV_2_bool) \
+       /**/
 MUTATOR_HOOKABLE(PlayerJump, EV_PlayerJump);
 
 /** called during player physics, allows adjusting the movement type used */
 #define EV_PM_Physics(i, o) \
-    /** player */       i(entity, MUTATOR_ARGV_0_entity) \
-    /** maxspeed_mod */ i(float, MUTATOR_ARGV_1_float) \
-    /** tick rate */    i(float, MUTATOR_ARGV_2_float) \
-    /**/
+       /** player */ i(entity, MUTATOR_ARGV_0_entity) \
+       /** maxspeed_mod */ i(float, MUTATOR_ARGV_1_float) \
+       /** tick rate */ i(float, MUTATOR_ARGV_2_float) \
+       /**/
 MUTATOR_HOOKABLE(PM_Physics, EV_PM_Physics);
 
 /** called when a weapon sound is about to be played, allows custom paths etc. */
 #define EV_WeaponSound(i, o) \
-    /** sound       */ i(string, MUTATOR_ARGV_0_string) \
-    /** output      */ i(string, MUTATOR_ARGV_1_string) \
-    /**/               o(string, MUTATOR_ARGV_1_string) \
-    /**/
+       /** sound       */ i(string, MUTATOR_ARGV_0_string) \
+       /** output      */ i(string, MUTATOR_ARGV_1_string) \
+       /**/ o(string, MUTATOR_ARGV_1_string) \
+       /**/
 MUTATOR_HOOKABLE(WeaponSound, EV_WeaponSound);
 
 /** called when a weapon model is about to be set, allows custom paths etc. */
 #define EV_WeaponModel(i, o) \
-    /** model */  i(string, MUTATOR_ARGV_0_string) \
-    /** output */ i(string, MUTATOR_ARGV_1_string) \
-    /**/          o(string, MUTATOR_ARGV_1_string) \
-    /**/
+       /** model */ i(string, MUTATOR_ARGV_0_string) \
+       /** output */ i(string, MUTATOR_ARGV_1_string) \
+       /**/ o(string, MUTATOR_ARGV_1_string) \
+       /**/
 MUTATOR_HOOKABLE(WeaponModel, EV_WeaponModel);
index 1164e0ade66efd9dcf05c924fa76ff109dcd0e65..b19a4f5e365dd437beb0603dc691d871c9f46dc7 100644 (file)
@@ -9,18 +9,19 @@ MUTATOR_HOOKFUNCTION(bloodloss, PlayerPreThink)
 {
        entity player = M_ARGV(0, entity);
 
-       if(IS_PLAYER(player))
-       if(GetResourceAmount(player, RESOURCE_HEALTH) <= autocvar_g_bloodloss && !IS_DEAD(player))
-       {
-               PHYS_INPUT_BUTTON_CROUCH(player) = true;
-
-               if(time >= player.bloodloss_timer)
-               {
-                       if(player.vehicle)
-                               vehicles_exit(player.vehicle, VHEF_RELEASE);
-                       if(player.event_damage)
-                               player.event_damage(player, player, player, 1, DEATH_ROT.m_id, player.origin, '0 0 0');
-                       player.bloodloss_timer = time + 0.5 + random() * 0.5;
+       if (IS_PLAYER(player)) {
+               if (GetResourceAmount(player, RESOURCE_HEALTH) <= autocvar_g_bloodloss && !IS_DEAD(player)) {
+                       PHYS_INPUT_BUTTON_CROUCH(player) = true;
+
+                       if (time >= player.bloodloss_timer) {
+                               if (player.vehicle) {
+                                       vehicles_exit(player.vehicle, VHEF_RELEASE);
+                               }
+                               if (player.event_damage) {
+                                       player.event_damage(player, player, player, 1, DEATH_ROT.m_id, player.origin, '0 0 0');
+                               }
+                               player.bloodloss_timer = time + 0.5 + random() * 0.5;
+                       }
                }
        }
 }
@@ -29,8 +30,9 @@ MUTATOR_HOOKFUNCTION(bloodloss, PlayerJump)
 {
        entity player = M_ARGV(0, entity);
 
-       if(GetResourceAmount(player, RESOURCE_HEALTH) <= autocvar_g_bloodloss)
+       if (GetResourceAmount(player, RESOURCE_HEALTH) <= autocvar_g_bloodloss) {
                return true;
+       }
 }
 
 MUTATOR_HOOKFUNCTION(bloodloss, BuildMutatorsString)
index ee1ca94b50dbecc85afa67911041d18d72356d9f..30f6283ebe8d8f996fe803653d0375645f3aea7e 100644 (file)
@@ -13,16 +13,14 @@ MUTATOR_HOOKFUNCTION(breakablehook, Damage_Calculate)
        entity frag_attacker = M_ARGV(1, entity);
        entity frag_target = M_ARGV(2, entity);
 
-       if(frag_target.classname == "grapplinghook")
-       {
-               if((!autocvar_g_breakablehook)
-               || (!autocvar_g_breakablehook_owner && frag_attacker == frag_target.realowner)
-                       ) { M_ARGV(4, float) = 0; }
+       if (frag_target.classname == "grapplinghook") {
+               if ((!autocvar_g_breakablehook)
+                       || (!autocvar_g_breakablehook_owner && frag_attacker == frag_target.realowner)
+               ) { M_ARGV(4, float) = 0; }
 
                // hurt the owner of the hook
-               if(DIFF_TEAM(frag_attacker, frag_target.realowner))
-               {
-                       Damage (frag_target.realowner, frag_attacker, frag_attacker, 5, WEP_HOOK.m_id | HITTYPE_SPLASH, frag_target.realowner.origin, '0 0 0');
+               if (DIFF_TEAM(frag_attacker, frag_target.realowner)) {
+                       Damage(frag_target.realowner, frag_attacker, frag_attacker, 5, WEP_HOOK.m_id | HITTYPE_SPLASH, frag_target.realowner.origin, '0 0 0');
                        RemoveHook(frag_target);
                        return; // dead
                }
index 81a638ea7c300f07edffdeadfadd3dd980388d68..9f0c8503efeee82a393accc1075453b7737243ca 100644 (file)
@@ -14,7 +14,7 @@ REGISTER_REGISTRY(Buffs)
 REGISTRY_CHECK(Buffs)
 
 #define REGISTER_BUFF(id) \
-    REGISTER(Buffs, BUFF_##id, m_id, NEW(Buff))
+       REGISTER(Buffs, BUFF_##id, m_id, NEW(Buff))
 
 #include <common/items/item/pickup.qh>
 CLASS(Buff, Pickup)
@@ -25,43 +25,53 @@ CLASS(Buff, Pickup)
        ATTRIB(Buff, m_prettyName, string, "Buff");
        ATTRIB(Buff, m_skin, int, 0);
        ATTRIB(Buff, m_sprite, string, "");
-       METHOD(Buff, display, void(entity this, void(string name, string icon) returns)) {
+       METHOD(Buff, display, void(entity this, void(string name, string icon) returns))
+       {
                returns(this.m_prettyName, sprintf("/gfx/hud/%s/buff_%s", cvar_string("menu_skin"), this.m_name));
        }
 #ifdef SVQC
        METHOD(Buff, m_time, float(Buff this))
-       { return cvar(strcat("g_buffs_", this.netname, "_time")); }
+       {
+               return cvar(strcat("g_buffs_", this.netname, "_time"));
+       }
 #endif
 ENDCLASS(Buff)
 
-STATIC_INIT(REGISTER_BUFFS) {
-    FOREACH(Buffs, true, {
-        it.netname = it.m_name; \
-        it.m_itemid = BIT(it.m_id - 1); \
-        it.m_sprite = strzone(strcat("buff-", it.m_name)); \
-    });
+STATIC_INIT(REGISTER_BUFFS)
+{
+       FOREACH(Buffs, true, {
+               it.netname = it.m_name; \
+               it.m_itemid = BIT(it.m_id - 1); \
+               it.m_sprite = strzone(strcat("buff-", it.m_name)); \
+       });
 }
 
 #ifdef SVQC
-       // .int buffs = _STAT(BUFFS);
-       void buff_Init(entity ent);
-       void buff_Init_Compat(entity ent, entity replacement);
-       #define BUFF_SPAWNFUNC(e, b, t) spawnfunc(item_buff_##e) { \
+// .int buffs = _STAT(BUFFS);
+void buff_Init(entity ent);
+void buff_Init_Compat(entity ent, entity replacement);
+#define BUFF_SPAWNFUNC(e, b, t) \
+       spawnfunc(item_buff_##e) \
+       { \
                this.buffs = b.m_itemid; \
                this.team = t; \
                buff_Init(this); \
        }
-       #define BUFF_SPAWNFUNCS(e, b)                       \
-                       BUFF_SPAWNFUNC(e,           b,  0)          \
-                       BUFF_SPAWNFUNC(e##_team1,   b,  NUM_TEAM_1) \
-                       BUFF_SPAWNFUNC(e##_team2,   b,  NUM_TEAM_2) \
-                       BUFF_SPAWNFUNC(e##_team3,   b,  NUM_TEAM_3) \
-                       BUFF_SPAWNFUNC(e##_team4,   b,  NUM_TEAM_4)
-       #define BUFF_SPAWNFUNC_Q3TA_COMPAT(o, r) spawnfunc(item_##o) { buff_Init_Compat(this, r); }
+#define BUFF_SPAWNFUNCS(e, b)                       \
+       BUFF_SPAWNFUNC(e,           b,  0)          \
+       BUFF_SPAWNFUNC(e##_team1,   b,  NUM_TEAM_1) \
+       BUFF_SPAWNFUNC(e##_team2,   b,  NUM_TEAM_2) \
+       BUFF_SPAWNFUNC(e##_team3,   b,  NUM_TEAM_3) \
+       BUFF_SPAWNFUNC(e##_team4,   b,  NUM_TEAM_4)
+#define BUFF_SPAWNFUNC_Q3TA_COMPAT(o, r) \
+       spawnfunc(item_##o) \
+       { \
+               buff_Init_Compat(this, r); \
+       }
 #else
-       #define BUFF_SPAWNFUNC(e, b, t)
-       #define BUFF_SPAWNFUNCS(e, b)
-       #define BUFF_SPAWNFUNC_Q3TA_COMPAT(o, r)
+#define BUFF_SPAWNFUNC(e, b, t)
+#define BUFF_SPAWNFUNCS(e, b)
+#define BUFF_SPAWNFUNC_Q3TA_COMPAT(o, r)
 #endif
 
 string Buff_UndeprecateName(string buffname);
index a46a92d0aecdbfebfb844c0cc59610952dbbdf2d..73c1d34edc56a4defe1d55ec63b45621aa56b2f0 100644 (file)
@@ -3,20 +3,19 @@
 REGISTER_MUTATOR(cl_buffs, true);
 MUTATOR_HOOKFUNCTION(cl_buffs, HUD_Powerups_add)
 {
-    int allBuffs = STAT(BUFFS);
-    FOREACH(Buffs, it.m_itemid & allBuffs, {
+       int allBuffs = STAT(BUFFS);
+       FOREACH(Buffs, it.m_itemid & allBuffs, {
                addPowerupItem(it.m_prettyName, strcat("buff_", it.m_name), it.m_color, bound(0, STAT(BUFF_TIME) - time, 99), 60);
        });
 }
 MUTATOR_HOOKFUNCTION(cl_buffs, WP_Format)
 {
-    entity this = M_ARGV(0, entity);
-    string s = M_ARGV(1, string);
-    if (s == WP_Buff.netname || s == RADARICON_Buff.netname)
-    {
-        Buff b = Buffs_from(this.wp_extra);
-        M_ARGV(2, vector) = b.m_color;
-        M_ARGV(3, string) = b.m_prettyName;
-        return true;
-    }
+       entity this = M_ARGV(0, entity);
+       string s = M_ARGV(1, string);
+       if (s == WP_Buff.netname || s == RADARICON_Buff.netname) {
+               Buff b = Buffs_from(this.wp_extra);
+               M_ARGV(2, vector) = b.m_color;
+               M_ARGV(3, string) = b.m_prettyName;
+               return true;
+       }
 }
index e039a96b9501a9e99900884377b625fcab16861c..d9a966e0bb15e03a047ba75f99c99dfc4525d51f 100644 (file)
@@ -12,8 +12,9 @@ REGISTER_MUTATOR(buffs, autocvar_g_buffs)
 {
        MUTATOR_ONADD
        {
-               if(autocvar_g_buffs > 0)
+               if (autocvar_g_buffs > 0) {
                        InitializeEntity(NULL, buffs_DelayedInit, INITPRIO_FINDTARGET);
+               }
        }
 }
 
@@ -26,20 +27,19 @@ bool buffs_BuffModel_Customize(entity this, entity client)
        myowner = this.owner;
        same_team = (SAME_TEAM(player, myowner) || SAME_TEAM(player, myowner));
 
-       if(myowner.alpha <= 0.5 && !same_team && myowner.alpha != 0)
+       if (myowner.alpha <= 0.5 && !same_team && myowner.alpha != 0) {
                return false;
+       }
 
-       if(MUTATOR_CALLHOOK(BuffModel_Customize, this, player))
+       if (MUTATOR_CALLHOOK(BuffModel_Customize, this, player)) {
                return false;
+       }
 
-       if(player == myowner || (IS_SPEC(client) && client.enemy == myowner))
-       {
+       if (player == myowner || (IS_SPEC(client) && client.enemy == myowner)) {
                // somewhat hide the model, but keep the glow
                this.effects = 0;
                this.alpha = -1;
-       }
-       else
-       {
+       } else {
                this.effects = EF_FULLBRIGHT | EF_LOWPRECISION;
                this.alpha = 1;
        }
@@ -62,16 +62,15 @@ void buffs_BuffModel_Spawn(entity player)
 
 vector buff_GlowColor(entity buff)
 {
-       //if(buff.team) { return Team_ColorRGB(buff.team); }
+       // if(buff.team) { return Team_ColorRGB(buff.team); }
        return buff.m_color;
 }
 
 void buff_Effect(entity player, string eff)
 {
-       if(!autocvar_g_buffs_effects) { return; }
+       if (!autocvar_g_buffs_effects) { return; }
 
-       if(time >= player.buff_effect_delay)
-       {
+       if (time >= player.buff_effect_delay) {
                Send_Effect_(eff, player.origin + ((player.mins + player.maxs) * 0.5), '0 0 0', 1);
                player.buff_effect_delay = time + 0.05; // prevent spam
        }
@@ -80,11 +79,11 @@ void buff_Effect(entity player, string eff)
 // buff item
 bool buff_Waypoint_visible_for_player(entity this, entity player, entity view)
 {
-       if(!this.owner.buff_active && !this.owner.buff_activetime)
+       if (!this.owner.buff_active && !this.owner.buff_activetime) {
                return false;
+       }
 
-       if (view.buffs)
-       {
+       if (view.buffs) {
                return CS(view).cvar_cl_buffs_autoreplace == false || view.buffs != this.owner.buffs;
        }
 
@@ -104,8 +103,9 @@ void buff_SetCooldown(entity this, float cd)
 {
        cd = max(0, cd);
 
-       if(!this.buff_waypoint)
+       if (!this.buff_waypoint) {
                buff_Waypoint_Spawn(this);
+       }
 
        WaypointSprite_UpdateBuildFinished(this.buff_waypoint, time + cd);
        this.buff_activetime = cd;
@@ -114,14 +114,13 @@ void buff_SetCooldown(entity this, float cd)
 
 void buff_Respawn(entity this)
 {
-       if(game_stopped) return;
+       if (game_stopped) { return; }
 
        vector oldbufforigin = this.origin;
        this.velocity = '0 0 200';
 
-       if(!MoveToRandomMapLocation(this, DPCONTENTS_SOLID | DPCONTENTS_CORPSE | DPCONTENTS_PLAYERCLIP, DPCONTENTS_SLIME | DPCONTENTS_LAVA | DPCONTENTS_SKY | DPCONTENTS_BODY | DPCONTENTS_DONOTENTER, Q3SURFACEFLAG_SKY,
-               ((autocvar_g_buffs_random_location_attempts > 0) ? autocvar_g_buffs_random_location_attempts : 10), 1024, 256))
-       {
+       if (!MoveToRandomMapLocation(this, DPCONTENTS_SOLID | DPCONTENTS_CORPSE | DPCONTENTS_PLAYERCLIP, DPCONTENTS_SLIME | DPCONTENTS_LAVA | DPCONTENTS_SKY | DPCONTENTS_BODY | DPCONTENTS_DONOTENTER, Q3SURFACEFLAG_SKY,
+               ((autocvar_g_buffs_random_location_attempts > 0) ? autocvar_g_buffs_random_location_attempts : 10), 1024, 256)) {
                entity spot = SelectSpawnPoint(this, true);
                setorigin(this, spot.origin);
                this.velocity = ((randomvec() * 100) + '0 0 200');
@@ -136,8 +135,9 @@ void buff_Respawn(entity this)
 
        makevectors(this.angles);
        this.angles = '0 0 0';
-       if(autocvar_g_buffs_random_lifetime > 0)
+       if (autocvar_g_buffs_random_lifetime > 0) {
                this.lifetime = time + autocvar_g_buffs_random_lifetime;
+       }
 
        Send_Effect(EFFECT_ELECTRO_COMBO, oldbufforigin + ((this.mins + this.maxs) * 0.5), '0 0 0', 1);
        Send_Effect(EFFECT_ELECTRO_COMBO, CENTER_OR_VIEWOFS(this), '0 0 0', 1);
@@ -149,46 +149,43 @@ void buff_Respawn(entity this)
 
 void buff_Touch(entity this, entity toucher)
 {
-       if(game_stopped) return;
+       if (game_stopped) { return; }
 
-       if(ITEM_TOUCH_NEEDKILL())
-       {
+       if (ITEM_TOUCH_NEEDKILL()) {
                buff_Respawn(this);
                return;
        }
 
-       if(!this.buff_active)
+       if (!this.buff_active) {
                return;
+       }
 
-       if(MUTATOR_CALLHOOK(BuffTouch, this, toucher))
+       if (MUTATOR_CALLHOOK(BuffTouch, this, toucher)) {
                return;
+       }
        toucher = M_ARGV(1, entity);
 
-       if(!IS_PLAYER(toucher))
+       if (!IS_PLAYER(toucher)) {
                return; // incase mutator changed toucher
-
-       if((this.team && DIFF_TEAM(toucher, this))
-       || (STAT(FROZEN, toucher))
-       || (toucher.vehicle)
-       || (time < PS(toucher).buff_shield)
-       )
-       {
+       }
+       if ((this.team && DIFF_TEAM(toucher, this))
+               || (STAT(FROZEN, toucher))
+               || (toucher.vehicle)
+               || (time < PS(toucher).buff_shield)
+       ) {
                // can't touch this
                return;
        }
 
-       if (toucher.buffs)
-       {
-               if (CS(toucher).cvar_cl_buffs_autoreplace && toucher.buffs != this.buffs)
-               {
+       if (toucher.buffs) {
+               if (CS(toucher).cvar_cl_buffs_autoreplace && toucher.buffs != this.buffs) {
                        int buffid = buff_FirstFromFlags(toucher.buffs).m_id;
-                       //Send_Notification(NOTIF_ONE, toucher, MSG_MULTI, ITEM_BUFF_DROP, toucher.buffs);
+                       // Send_Notification(NOTIF_ONE, toucher, MSG_MULTI, ITEM_BUFF_DROP, toucher.buffs);
                        Send_Notification(NOTIF_ALL, NULL, MSG_INFO, INFO_ITEM_BUFF_LOST, toucher.netname, buffid);
 
                        toucher.buffs = 0;
-                       //sound(toucher, CH_TRIGGER, SND_BUFF_LOST, VOL_BASE, ATTN_NORM);
-               }
-               else { return; } // do nothing
+                       // sound(toucher, CH_TRIGGER, SND_BUFF_LOST, VOL_BASE, ATTN_NORM);
+               } else { return; } // do nothing
        }
 
        this.owner = toucher;
@@ -205,12 +202,15 @@ void buff_Touch(entity this, entity toucher)
 
 float buff_Available(entity buff)
 {
-       if (buff == BUFF_Null)
+       if (buff == BUFF_Null) {
                return false;
-       if (buff == BUFF_AMMO && ((start_items & IT_UNLIMITED_WEAPON_AMMO) || (start_items & IT_UNLIMITED_AMMO) || (cvar("g_melee_only"))))
+       }
+       if (buff == BUFF_AMMO && ((start_items & IT_UNLIMITED_WEAPON_AMMO) || (start_items & IT_UNLIMITED_AMMO) || (cvar("g_melee_only")))) {
                return false;
-       if (buff == BUFF_VAMPIRE && cvar("g_vampire"))
+       }
+       if (buff == BUFF_VAMPIRE && cvar("g_vampire")) {
                return false;
+       }
        return cvar(strcat("g_buffs_", buff.m_name));
 }
 
@@ -231,8 +231,7 @@ void buff_NewType(entity ent)
 
 void buff_Think(entity this)
 {
-       if(this.buffs != this.oldbuffs)
-       {
+       if (this.buffs != this.oldbuffs) {
                entity buff = buff_FirstFromFlags(this.buffs);
                this.color = buff.m_color;
                this.glowmod = buff_GlowColor(buff);
@@ -241,99 +240,103 @@ void buff_Think(entity this)
                setmodel(this, MDL_BUFF);
                setsize(this, BUFF_MIN, BUFF_MAX);
 
-               if(this.buff_waypoint)
-               {
-                       //WaypointSprite_Disown(this.buff_waypoint, 1);
+               if (this.buff_waypoint) {
+                       // WaypointSprite_Disown(this.buff_waypoint, 1);
                        WaypointSprite_Kill(this.buff_waypoint);
                        buff_Waypoint_Spawn(this);
-                       if(this.buff_activetime)
+                       if (this.buff_activetime) {
                                WaypointSprite_UpdateBuildFinished(this.buff_waypoint, time + this.buff_activetime - frametime);
+                       }
                }
 
                this.oldbuffs = this.buffs;
        }
 
-       if(!game_stopped)
-       if((round_handler_IsActive() && !round_handler_IsRoundStarted()) || time >= game_starttime)
-       if(!this.buff_activetime_updated)
-       {
-               buff_SetCooldown(this, this.buff_activetime);
-               this.buff_activetime_updated = true;
+       if (!game_stopped) {
+               if ((round_handler_IsActive() && !round_handler_IsRoundStarted()) || time >= game_starttime) {
+                       if (!this.buff_activetime_updated) {
+                               buff_SetCooldown(this, this.buff_activetime);
+                               this.buff_activetime_updated = true;
+                       }
+               }
        }
 
-       if(!this.buff_active && !this.buff_activetime)
-       if(!this.owner || STAT(FROZEN, this.owner) || IS_DEAD(this.owner) || !this.owner.iscreature || this.owner.vehicle || !(this.owner.buffs & this.buffs) || this.pickup_anyway > 0 || (this.pickup_anyway >= 0 && autocvar_g_buffs_pickup_anyway))
-       {
-               buff_SetCooldown(this, autocvar_g_buffs_cooldown_respawn + frametime);
-               this.owner = NULL;
-               if(autocvar_g_buffs_randomize)
-                       buff_NewType(this);
+       if (!this.buff_active && !this.buff_activetime) {
+               if (!this.owner || STAT(FROZEN, this.owner) || IS_DEAD(this.owner) || !this.owner.iscreature || this.owner.vehicle || !(this.owner.buffs & this.buffs) || this.pickup_anyway > 0 || (this.pickup_anyway >= 0 && autocvar_g_buffs_pickup_anyway)) {
+                       buff_SetCooldown(this, autocvar_g_buffs_cooldown_respawn + frametime);
+                       this.owner = NULL;
+                       if (autocvar_g_buffs_randomize) {
+                               buff_NewType(this);
+                       }
 
-               if(autocvar_g_buffs_random_location || (this.spawnflags & 64))
-                       buff_Respawn(this);
+                       if (autocvar_g_buffs_random_location || (this.spawnflags & 64)) {
+                               buff_Respawn(this);
+                       }
+               }
        }
 
-       if(this.buff_activetime)
-       if(!game_stopped)
-       if((round_handler_IsActive() && !round_handler_IsRoundStarted()) || time >= game_starttime)
-       {
-               this.buff_activetime = max(0, this.buff_activetime - frametime);
+       if (this.buff_activetime) {
+               if (!game_stopped) {
+                       if ((round_handler_IsActive() && !round_handler_IsRoundStarted()) || time >= game_starttime) {
+                               this.buff_activetime = max(0, this.buff_activetime - frametime);
 
-               if(!this.buff_activetime)
-               {
-                       this.buff_active = true;
-                       sound(this, CH_TRIGGER, SND_STRENGTH_RESPAWN, VOL_BASE, ATTN_NORM);
-                       Send_Effect(EFFECT_ITEM_RESPAWN, CENTER_OR_VIEWOFS(this), '0 0 0', 1);
+                               if (!this.buff_activetime) {
+                                       this.buff_active = true;
+                                       sound(this, CH_TRIGGER, SND_STRENGTH_RESPAWN, VOL_BASE, ATTN_NORM);
+                                       Send_Effect(EFFECT_ITEM_RESPAWN, CENTER_OR_VIEWOFS(this), '0 0 0', 1);
+                               }
+                       }
                }
        }
 
-       if(this.buff_active)
-       {
-               if(this.team && !this.buff_waypoint)
+       if (this.buff_active) {
+               if (this.team && !this.buff_waypoint) {
                        buff_Waypoint_Spawn(this);
+               }
 
-               if(this.lifetime)
-               if(time >= this.lifetime)
-                       buff_Respawn(this);
+               if (this.lifetime) {
+                       if (time >= this.lifetime) {
+                               buff_Respawn(this);
+                       }
+               }
        }
 
        this.nextthink = time;
-       //this.angles_y = time * 110.1;
+       // this.angles_y = time * 110.1;
 }
 
 void buff_Waypoint_Reset(entity this)
 {
        WaypointSprite_Kill(this.buff_waypoint);
 
-       if(this.buff_activetime) { buff_Waypoint_Spawn(this); }
+       if (this.buff_activetime) { buff_Waypoint_Spawn(this); }
 }
 
 void buff_Reset(entity this)
 {
-       if(autocvar_g_buffs_randomize)
+       if (autocvar_g_buffs_randomize) {
                buff_NewType(this);
+       }
        this.owner = NULL;
        buff_SetCooldown(this, autocvar_g_buffs_cooldown_activate);
        buff_Waypoint_Reset(this);
        this.buff_activetime_updated = false;
 
-       if(autocvar_g_buffs_random_location || (this.spawnflags & 64))
+       if (autocvar_g_buffs_random_location || (this.spawnflags & 64)) {
                buff_Respawn(this);
+       }
 }
 
 bool buff_Customize(entity this, entity client)
 {
        entity player = WaypointSprite_getviewentity(client);
-       if(!this.buff_active || (this.team && DIFF_TEAM(player, this)))
-       {
+       if (!this.buff_active || (this.team && DIFF_TEAM(player, this))) {
                this.alpha = 0.3;
-               if(this.effects & EF_FULLBRIGHT) { this.effects &= ~(EF_FULLBRIGHT); }
+               if (this.effects & EF_FULLBRIGHT) { this.effects &= ~(EF_FULLBRIGHT); }
                this.pflags = 0;
-       }
-       else
-       {
+       } else {
                this.alpha = 1;
-               if(!(this.effects & EF_FULLBRIGHT)) { this.effects |= EF_FULLBRIGHT; }
+               if (!(this.effects & EF_FULLBRIGHT)) { this.effects |= EF_FULLBRIGHT; }
                this.light_lev = 220 + 36 * sin(time);
                this.pflags = PFLAGS_FULLDYNAMIC;
        }
@@ -342,14 +345,15 @@ bool buff_Customize(entity this, entity client)
 
 void buff_Init(entity this)
 {
-       if(!cvar("g_buffs")) { delete(this); return; }
+       if (!cvar("g_buffs")) { delete(this); return; }
 
-       if(!teamplay && this.team) { this.team = 0; }
+       if (!teamplay && this.team) { this.team = 0; }
 
        entity buff = buff_FirstFromFlags(this.buffs);
 
-       if(!this.buffs || !buff_Available(buff))
+       if (!this.buffs || !buff_Available(buff)) {
                buff_NewType(this);
+       }
 
        this.classname = "item_buff";
        this.solid = SOLID_TRIGGER;
@@ -369,32 +373,35 @@ void buff_Init(entity this)
        this.effects = EF_FULLBRIGHT | EF_STARDUST | EF_NOSHADOW;
        this.dphitcontentsmask = DPCONTENTS_SOLID | DPCONTENTS_BODY;
        setcefc(this, buff_Customize);
-       //this.gravity = 100;
+       // this.gravity = 100;
        this.color = buff.m_color;
        this.glowmod = buff_GlowColor(this);
        buff_SetCooldown(this, autocvar_g_buffs_cooldown_activate + max(0, game_starttime - time));
        this.buff_active = !this.buff_activetime;
        this.pflags = PFLAGS_FULLDYNAMIC;
 
-       if(this.spawnflags & 1)
+       if (this.spawnflags & 1) {
                this.noalign = true;
+       }
 
-       if(this.noalign)
+       if (this.noalign) {
                set_movetype(this, MOVETYPE_NONE); // reset by random location
-
+       }
        setmodel(this, MDL_BUFF);
        setsize(this, BUFF_MIN, BUFF_MAX);
 
-       if(cvar("g_buffs_random_location") || (this.spawnflags & 64))
+       if (cvar("g_buffs_random_location") || (this.spawnflags & 64)) {
                buff_Respawn(this);
+       }
 }
 
 void buff_Init_Compat(entity ent, entity replacement)
 {
-       if (ent.spawnflags & 2)
+       if (ent.spawnflags & 2) {
                ent.team = NUM_TEAM_1;
-       else if (ent.spawnflags & 4)
+       } else if (ent.spawnflags & 4) {
                ent.team = NUM_TEAM_2;
+       }
 
        ent.buffs = replacement.m_itemid;
 
@@ -412,11 +419,11 @@ void buff_SpawnReplacement(entity ent, entity old)
 
 void buff_Vengeance_DelayedDamage(entity this)
 {
-       if(this.enemy)
+       if (this.enemy) {
                Damage(this.enemy, this.owner, this.owner, this.dmg, DEATH_BUFF.m_id, this.enemy.origin, '0 0 0');
+       }
 
        delete(this);
-       return;
 }
 
 // note: only really useful in teamplay
@@ -424,13 +431,11 @@ void buff_Medic_Heal(entity this)
 {
        FOREACH_CLIENT(IS_PLAYER(it) && it != this && vdist(it.origin - this.origin, <=, autocvar_g_buffs_medic_heal_range),
        {
-               if (!SAME_TEAM(it, this))
-               {
+               if (!SAME_TEAM(it, this)) {
                        continue;
                }
                float hp = GetResourceAmount(it, RESOURCE_HEALTH);
-               if(hp >= autocvar_g_balance_health_regenstable)
-               {
+               if (hp >= autocvar_g_balance_health_regenstable) {
                        continue;
                }
                Send_Effect(EFFECT_HEALING, it.origin, '0 0 0', 1);
@@ -452,104 +457,133 @@ MUTATOR_HOOKFUNCTION(buffs, Damage_Calculate)
        float frag_damage = M_ARGV(4, float);
        vector frag_force = M_ARGV(6, vector);
 
-       if(frag_deathtype == DEATH_BUFF.m_id) { return; }
+       if (frag_deathtype == DEATH_BUFF.m_id) { return; }
 
-       if(frag_target.buffs & BUFF_RESISTANCE.m_itemid)
-       {
+       if (frag_target.buffs & BUFF_RESISTANCE.m_itemid) {
                float reduced = frag_damage * autocvar_g_buffs_resistance_blockpercent;
                frag_damage = bound(0, frag_damage - reduced, frag_damage);
        }
 
-       if(frag_target.buffs & BUFF_SPEED.m_itemid)
-       if(frag_target != frag_attacker)
-               frag_damage *= autocvar_g_buffs_speed_damage_take;
-
-       if(frag_target.buffs & BUFF_MEDIC.m_itemid)
-       if((GetResourceAmount(frag_target, RESOURCE_HEALTH) - frag_damage) <= 0)
-       if(!ITEM_DAMAGE_NEEDKILL(frag_deathtype))
-       if(frag_attacker)
-       if(random() <= autocvar_g_buffs_medic_survive_chance)
-               frag_damage = max(5, GetResourceAmount(frag_target, RESOURCE_HEALTH) - autocvar_g_buffs_medic_survive_health);
+       if (frag_target.buffs & BUFF_SPEED.m_itemid) {
+               if (frag_target != frag_attacker) {
+                       frag_damage *= autocvar_g_buffs_speed_damage_take;
+               }
+       }
 
-       if(frag_target.buffs & BUFF_JUMP.m_itemid)
-       if(frag_deathtype == DEATH_FALL.m_id)
-               frag_damage = 0;
+       if (frag_target.buffs & BUFF_MEDIC.m_itemid) {
+               if ((GetResourceAmount(frag_target, RESOURCE_HEALTH) - frag_damage) <= 0) {
+                       if (!ITEM_DAMAGE_NEEDKILL(frag_deathtype)) {
+                               if (frag_attacker) {
+                                       if (random() <= autocvar_g_buffs_medic_survive_chance) {
+                                               frag_damage = max(5, GetResourceAmount(frag_target, RESOURCE_HEALTH) - autocvar_g_buffs_medic_survive_health);
+                                       }
+                               }
+                       }
+               }
+       }
 
-       if(frag_target.buffs & BUFF_VENGEANCE.m_itemid)
-       if(frag_attacker)
-       if(frag_attacker != frag_target)
-       if(!ITEM_DAMAGE_NEEDKILL(frag_deathtype))
-       {
-               entity dmgent = spawn();
+       if (frag_target.buffs & BUFF_JUMP.m_itemid) {
+               if (frag_deathtype == DEATH_FALL.m_id) {
+                       frag_damage = 0;
+               }
+       }
 
-               dmgent.dmg = frag_damage * autocvar_g_buffs_vengeance_damage_multiplier;
-               dmgent.enemy = frag_attacker;
-               dmgent.owner = frag_target;
-               setthink(dmgent, buff_Vengeance_DelayedDamage);
-               dmgent.nextthink = time + 0.1;
+       if (frag_target.buffs & BUFF_VENGEANCE.m_itemid) {
+               if (frag_attacker) {
+                       if (frag_attacker != frag_target) {
+                               if (!ITEM_DAMAGE_NEEDKILL(frag_deathtype)) {
+                                       entity dmgent = spawn();
+
+                                       dmgent.dmg = frag_damage * autocvar_g_buffs_vengeance_damage_multiplier;
+                                       dmgent.enemy = frag_attacker;
+                                       dmgent.owner = frag_target;
+                                       setthink(dmgent, buff_Vengeance_DelayedDamage);
+                                       dmgent.nextthink = time + 0.1;
+                               }
+                       }
+               }
        }
 
-       if(frag_target.buffs & BUFF_BASH.m_itemid)
-       if(frag_attacker != frag_target)
-               frag_force = '0 0 0';
+       if (frag_target.buffs & BUFF_BASH.m_itemid) {
+               if (frag_attacker != frag_target) {
+                       frag_force = '0 0 0';
+               }
+       }
 
-       if(frag_attacker.buffs & BUFF_BASH.m_itemid)
-       if(frag_force)
-       if(frag_attacker == frag_target)
-               frag_force *= autocvar_g_buffs_bash_force_self;
-       else
-               frag_force *= autocvar_g_buffs_bash_force;
+       if (frag_attacker.buffs & BUFF_BASH.m_itemid) {
+               if (frag_force) {
+                       if (frag_attacker == frag_target) {
+                               frag_force *= autocvar_g_buffs_bash_force_self;
+                       } else {
+                               frag_force *= autocvar_g_buffs_bash_force;
+                       }
+               }
+       }
 
-       if(frag_attacker.buffs & BUFF_DISABILITY.m_itemid)
-       if(frag_target != frag_attacker)
-               frag_target.buff_disability_time = time + autocvar_g_buffs_disability_slowtime;
+       if (frag_attacker.buffs & BUFF_DISABILITY.m_itemid) {
+               if (frag_target != frag_attacker) {
+                       frag_target.buff_disability_time = time + autocvar_g_buffs_disability_slowtime;
+               }
+       }
 
-       if(frag_target.buffs & BUFF_INFERNO.m_itemid)
-       {
-               if(frag_deathtype == DEATH_FIRE.m_id)
+       if (frag_target.buffs & BUFF_INFERNO.m_itemid) {
+               if (frag_deathtype == DEATH_FIRE.m_id) {
                        frag_damage = 0;
-               if(frag_deathtype == DEATH_LAVA.m_id)
+               }
+               if (frag_deathtype == DEATH_LAVA.m_id) {
                        frag_damage *= 0.5; // TODO: cvarize?
+               }
        }
 
-       if(frag_attacker.buffs & BUFF_LUCK.m_itemid)
-       if(frag_attacker != frag_target)
-       if(autocvar_g_buffs_luck_damagemultiplier > 0)
-       if(random() <= autocvar_g_buffs_luck_chance)
-               frag_damage *= autocvar_g_buffs_luck_damagemultiplier;
+       if (frag_attacker.buffs & BUFF_LUCK.m_itemid) {
+               if (frag_attacker != frag_target) {
+                       if (autocvar_g_buffs_luck_damagemultiplier > 0) {
+                               if (random() <= autocvar_g_buffs_luck_chance) {
+                                       frag_damage *= autocvar_g_buffs_luck_damagemultiplier;
+                               }
+                       }
+               }
+       }
 
-       if(frag_attacker.buffs & BUFF_INFERNO.m_itemid)
-       if(frag_target != frag_attacker) {
-               float btime = buff_Inferno_CalculateTime(
-                       frag_damage,
-                       0,
-                       autocvar_g_buffs_inferno_burntime_min_time,
-                       autocvar_g_buffs_inferno_burntime_target_damage,
-                       autocvar_g_buffs_inferno_burntime_target_time,
-                       autocvar_g_buffs_inferno_burntime_factor
-               );
-               Fire_AddDamage(frag_target, frag_attacker, (frag_damage * autocvar_g_buffs_inferno_damagemultiplier), btime, DEATH_BUFF.m_id);
+       if (frag_attacker.buffs & BUFF_INFERNO.m_itemid) {
+               if (frag_target != frag_attacker) {
+                       float btime = buff_Inferno_CalculateTime(
+                               frag_damage,
+                               0,
+                               autocvar_g_buffs_inferno_burntime_min_time,
+                               autocvar_g_buffs_inferno_burntime_target_damage,
+                               autocvar_g_buffs_inferno_burntime_target_time,
+                               autocvar_g_buffs_inferno_burntime_factor
+                               );
+                       Fire_AddDamage(frag_target, frag_attacker, (frag_damage * autocvar_g_buffs_inferno_damagemultiplier), btime, DEATH_BUFF.m_id);
+               }
        }
 
        // this... is ridiculous (TODO: fix!)
-       if(frag_attacker.buffs & BUFF_VAMPIRE.m_itemid)
-       if(!frag_target.vehicle)
-       if(!ITEM_DAMAGE_NEEDKILL(frag_deathtype))
-       if(!IS_DEAD(frag_target))
-       if(IS_PLAYER(frag_target) || IS_MONSTER(frag_target))
-       if(frag_attacker != frag_target)
-       if(!STAT(FROZEN, frag_target))
-       if(frag_target.takedamage)
-       if(DIFF_TEAM(frag_attacker, frag_target))
-       {
-               float amount = bound(0, frag_damage * autocvar_g_buffs_vampire_damage_steal,
-                       GetResourceAmount(frag_target, RESOURCE_HEALTH));
-               GiveResourceWithLimit(frag_attacker, RESOURCE_HEALTH, amount, g_pickup_healthsmall_max);
-               if (frag_target.armorvalue)
-               {
-                       amount = bound(0, frag_damage * autocvar_g_buffs_vampire_damage_steal,
-                               GetResourceAmount(frag_target, RESOURCE_ARMOR));
-                       GiveResourceWithLimit(frag_attacker, RESOURCE_ARMOR, amount, g_pickup_armorsmall_max);
+       if (frag_attacker.buffs & BUFF_VAMPIRE.m_itemid) {
+               if (!frag_target.vehicle) {
+                       if (!ITEM_DAMAGE_NEEDKILL(frag_deathtype)) {
+                               if (!IS_DEAD(frag_target)) {
+                                       if (IS_PLAYER(frag_target) || IS_MONSTER(frag_target)) {
+                                               if (frag_attacker != frag_target) {
+                                                       if (!STAT(FROZEN, frag_target)) {
+                                                               if (frag_target.takedamage) {
+                                                                       if (DIFF_TEAM(frag_attacker, frag_target)) {
+                                                                               float amount = bound(0, frag_damage * autocvar_g_buffs_vampire_damage_steal,
+                                                                                       GetResourceAmount(frag_target, RESOURCE_HEALTH));
+                                                                               GiveResourceWithLimit(frag_attacker, RESOURCE_HEALTH, amount, g_pickup_healthsmall_max);
+                                                                               if (frag_target.armorvalue) {
+                                                                                       amount = bound(0, frag_damage * autocvar_g_buffs_vampire_damage_steal,
+                                                                                               GetResourceAmount(frag_target, RESOURCE_ARMOR));
+                                                                                       GiveResourceWithLimit(frag_attacker, RESOURCE_ARMOR, amount, g_pickup_armorsmall_max);
+                                                                               }
+                                                                       }
+                                                               }
+                                                       }
+                                               }
+                                       }
+                               }
+                       }
                }
        }
 
@@ -574,11 +608,13 @@ MUTATOR_HOOKFUNCTION(buffs, PlayerPhysics_UpdateStats)
        entity player = M_ARGV(0, entity);
        // these automatically reset, no need to worry
 
-       if(player.buffs & BUFF_SPEED.m_itemid)
+       if (player.buffs & BUFF_SPEED.m_itemid) {
                STAT(MOVEVARS_HIGHSPEED, player) *= autocvar_g_buffs_speed_speed;
+       }
 
-       if(time < player.buff_disability_time)
+       if (time < player.buff_disability_time) {
                STAT(MOVEVARS_HIGHSPEED, player) *= autocvar_g_buffs_disability_speed;
+       }
 }
 
 MUTATOR_HOOKFUNCTION(buffs, PlayerPhysics)
@@ -586,16 +622,16 @@ MUTATOR_HOOKFUNCTION(buffs, PlayerPhysics)
        entity player = M_ARGV(0, entity);
        // these automatically reset, no need to worry
 
-       if(player.buffs & BUFF_JUMP.m_itemid)
+       if (player.buffs & BUFF_JUMP.m_itemid) {
                STAT(MOVEVARS_JUMPVELOCITY, player) = autocvar_g_buffs_jump_height;
+       }
 }
 
 MUTATOR_HOOKFUNCTION(buffs, MonsterMove)
 {
        entity mon = M_ARGV(0, entity);
 
-       if(time < mon.buff_disability_time)
-       {
+       if (time < mon.buff_disability_time) {
                M_ARGV(1, float) *= autocvar_g_buffs_disability_speed; // run speed
                M_ARGV(2, float) *= autocvar_g_buffs_disability_speed; // walk speed
        }
@@ -605,14 +641,12 @@ MUTATOR_HOOKFUNCTION(buffs, PlayerDies)
 {
        entity frag_target = M_ARGV(2, entity);
 
-       if(frag_target.buffs)
-       {
+       if (frag_target.buffs) {
                int buffid = buff_FirstFromFlags(frag_target.buffs).m_id;
                Send_Notification(NOTIF_ALL_EXCEPT, frag_target, MSG_INFO, INFO_ITEM_BUFF_LOST, frag_target.netname, buffid);
                frag_target.buffs = 0;
 
-               if(frag_target.buff_model)
-               {
+               if (frag_target.buff_model) {
                        delete(frag_target.buff_model);
                        frag_target.buff_model = NULL;
                }
@@ -621,19 +655,18 @@ MUTATOR_HOOKFUNCTION(buffs, PlayerDies)
 
 MUTATOR_HOOKFUNCTION(buffs, PlayerUseKey, CBC_ORDER_FIRST)
 {
-       if(MUTATOR_RETURNVALUE || game_stopped || !autocvar_g_buffs_drop) return;
+       if (MUTATOR_RETURNVALUE || game_stopped || !autocvar_g_buffs_drop) { return; }
 
        entity player = M_ARGV(0, entity);
 
-       if(player.buffs)
-       {
+       if (player.buffs) {
                int buffid = buff_FirstFromFlags(player.buffs).m_id;
                Send_Notification(NOTIF_ONE, player, MSG_MULTI, ITEM_BUFF_DROP, buffid);
                Send_Notification(NOTIF_ALL_EXCEPT, player, MSG_INFO, INFO_ITEM_BUFF_LOST, player.netname, buffid);
 
                player.buffs = 0;
                PS(player).buff_shield = time + max(0, autocvar_g_buffs_pickup_delay);
-               //player.buff_time = 0; // already notified
+               // player.buff_time = 0; // already notified
                sound(player, CH_TRIGGER, SND_BUFF_LOST, VOL_BASE, ATTN_NORM);
                return true;
        }
@@ -641,28 +674,25 @@ MUTATOR_HOOKFUNCTION(buffs, PlayerUseKey, CBC_ORDER_FIRST)
 
 MUTATOR_HOOKFUNCTION(buffs, ForbidThrowCurrentWeapon)
 {
-       if(MUTATOR_RETURNVALUE || game_stopped) return;
+       if (MUTATOR_RETURNVALUE || game_stopped) { return; }
        entity player = M_ARGV(0, entity);
 
-       if(player.buffs & BUFF_SWAPPER.m_itemid)
-       {
+       if (player.buffs & BUFF_SWAPPER.m_itemid) {
                float best_distance = autocvar_g_buffs_swapper_range;
                entity closest = NULL;
                FOREACH_CLIENT(IS_PLAYER(it), {
-                       if(!IS_DEAD(it) && !STAT(FROZEN, it) && !it.vehicle)
-                       if(DIFF_TEAM(it, player))
-                       {
-                               float test = vlen2(player.origin - it.origin);
-                               if(test <= best_distance * best_distance)
-                               {
-                                       best_distance = sqrt(test);
-                                       closest = it;
+                       if (!IS_DEAD(it) && !STAT(FROZEN, it) && !it.vehicle) {
+                               if (DIFF_TEAM(it, player)) {
+                                       float test = vlen2(player.origin - it.origin);
+                                       if (test <= best_distance * best_distance) {
+                                               best_distance = sqrt(test);
+                                               closest = it;
+                                       }
                                }
                        }
                });
 
-               if(closest)
-               {
+               if (closest) {
                        vector my_org, my_vel, my_ang, their_org, their_vel, their_ang;
 
                        my_org = player.origin;
@@ -710,8 +740,7 @@ MUTATOR_HOOKFUNCTION(buffs, ForbidThrowCurrentWeapon)
 
 bool buffs_RemovePlayer(entity player)
 {
-       if(player.buff_model)
-       {
+       if (player.buff_model) {
                delete(player.buff_model);
                player.buff_model = NULL;
        }
@@ -722,8 +751,16 @@ bool buffs_RemovePlayer(entity player)
 
        return false;
 }
-MUTATOR_HOOKFUNCTION(buffs, MakePlayerObserver) { entity player = M_ARGV(0, entity); return buffs_RemovePlayer(player); }
-MUTATOR_HOOKFUNCTION(buffs, ClientDisconnect) { entity player = M_ARGV(0, entity); return buffs_RemovePlayer(player); }
+MUTATOR_HOOKFUNCTION(buffs, MakePlayerObserver)
+{
+       entity player = M_ARGV(0, entity);
+       return buffs_RemovePlayer(player);
+}
+MUTATOR_HOOKFUNCTION(buffs, ClientDisconnect)
+{
+       entity player = M_ARGV(0, entity);
+       return buffs_RemovePlayer(player);
+}
 
 MUTATOR_HOOKFUNCTION(buffs, CustomizeWaypoint)
 {
@@ -734,27 +771,29 @@ MUTATOR_HOOKFUNCTION(buffs, CustomizeWaypoint)
 
        // if you have the invisibility powerup, sprites ALWAYS are restricted to your team
        // but only apply this to real players, not to spectators
-       if((wp.owner.flags & FL_CLIENT) && (wp.owner.buffs & BUFF_INVISIBLE.m_itemid) && (e == player))
-       if(DIFF_TEAM(wp.owner, e))
-               return true;
+       if ((wp.owner.flags & FL_CLIENT) && (wp.owner.buffs & BUFF_INVISIBLE.m_itemid) && (e == player)) {
+               if (DIFF_TEAM(wp.owner, e)) {
+                       return true;
+               }
+       }
 }
 
 MUTATOR_HOOKFUNCTION(buffs, OnEntityPreSpawn, CBC_ORDER_LAST)
 {
-       if(autocvar_g_buffs < 0)
+       if (autocvar_g_buffs < 0) {
                return; // no auto replacing of entities in this mode
-
+       }
        entity ent = M_ARGV(0, entity);
 
-       if(autocvar_g_buffs_replace_powerups)
-       switch(ent.classname)
-       {
-               case "item_strength":
-               case "item_invincible":
-               {
-                       entity e = spawn();
-                       buff_SpawnReplacement(e, ent);
-                       return true;
+       if (autocvar_g_buffs_replace_powerups) {
+               switch (ent.classname) {
+                       case "item_strength":
+                       case "item_invincible":
+                       {
+                               entity e = spawn();
+                               buff_SpawnReplacement(e, ent);
+                               return true;
+                       }
                }
        }
 }
@@ -763,22 +802,26 @@ MUTATOR_HOOKFUNCTION(buffs, WeaponRateFactor)
 {
        entity player = M_ARGV(1, entity);
 
-       if(player.buffs & BUFF_SPEED.m_itemid)
+       if (player.buffs & BUFF_SPEED.m_itemid) {
                M_ARGV(0, float) *= autocvar_g_buffs_speed_rate;
+       }
 
-       if(time < player.buff_disability_time)
+       if (time < player.buff_disability_time) {
                M_ARGV(0, float) *= autocvar_g_buffs_disability_rate;
+       }
 }
 
 MUTATOR_HOOKFUNCTION(buffs, WeaponSpeedFactor)
 {
        entity player = M_ARGV(1, entity);
 
-       if(player.buffs & BUFF_SPEED.m_itemid)
+       if (player.buffs & BUFF_SPEED.m_itemid) {
                M_ARGV(0, float) *= autocvar_g_buffs_speed_weaponspeed;
+       }
 
-       if(time < player.buff_disability_time)
+       if (time < player.buff_disability_time) {
                M_ARGV(0, float) *= autocvar_g_buffs_disability_weaponspeed;
+       }
 }
 
 .bool buff_flight_crouchheld;
@@ -787,24 +830,22 @@ MUTATOR_HOOKFUNCTION(buffs, PlayerPreThink)
 {
        entity player = M_ARGV(0, entity);
 
-       if(game_stopped || IS_DEAD(player) || frametime || !IS_PLAYER(player)) return;
+       if (game_stopped || IS_DEAD(player) || frametime || !IS_PLAYER(player)) { return; }
 
-       if(player.buffs & BUFF_FLIGHT.m_itemid)
-       {
-               if(!PHYS_INPUT_BUTTON_CROUCH(player))
+       if (player.buffs & BUFF_FLIGHT.m_itemid) {
+               if (!PHYS_INPUT_BUTTON_CROUCH(player)) {
                        player.buff_flight_crouchheld = false;
-               else if(!player.buff_flight_crouchheld)
-               {
+               } else if (!player.buff_flight_crouchheld) {
                        player.buff_flight_crouchheld = true;
                        player.gravity *= -1;
                }
        }
 
-       if(time < player.buff_disability_time)
-       if(time >= player.buff_disability_effect_time)
-       {
-               Send_Effect(EFFECT_SMOKING, player.origin + ((player.mins + player.maxs) * 0.5), '0 0 0', 1);
-               player.buff_disability_effect_time = time + 0.5;
+       if (time < player.buff_disability_time) {
+               if (time >= player.buff_disability_effect_time) {
+                       Send_Effect(EFFECT_SMOKING, player.origin + ((player.mins + player.maxs) * 0.5), '0 0 0', 1);
+                       player.buff_disability_effect_time = time + 0.5;
+               }
        }
 
        // handle buff lost status
@@ -812,75 +853,70 @@ MUTATOR_HOOKFUNCTION(buffs, PlayerPreThink)
        // 2: notify carrier as well
        int buff_lost = 0;
 
-       if(player.buff_time && player.buffs)
-       if(time >= player.buff_time)
-       {
-               player.buff_time = 0;
-               buff_lost = 2;
+       if (player.buff_time && player.buffs) {
+               if (time >= player.buff_time) {
+                       player.buff_time = 0;
+                       buff_lost = 2;
+               }
        }
 
-       if(STAT(FROZEN, player)) { buff_lost = 1; }
+       if (STAT(FROZEN, player)) { buff_lost = 1; }
 
-       if(buff_lost)
-       {
-               if(player.buffs)
-               {
+       if (buff_lost) {
+               if (player.buffs) {
                        int buffid = buff_FirstFromFlags(player.buffs).m_id;
-                       if(buff_lost == 2)
-                       {
+                       if (buff_lost == 2) {
                                Send_Notification(NOTIF_ONE, player, MSG_MULTI, ITEM_BUFF_DROP, buffid); // TODO: special timeout message?
                                sound(player, CH_TRIGGER, SND_BUFF_LOST, VOL_BASE, ATTN_NORM);
-                       }
-                       else
+                       } else {
                                Send_Notification(NOTIF_ALL_EXCEPT, player, MSG_INFO, INFO_ITEM_BUFF_LOST, player.netname, buffid);
+                       }
                        player.buffs = 0;
                        PS(player).buff_shield = time + max(0, autocvar_g_buffs_pickup_delay); // always put in a delay, even if small
                }
        }
 
-       if(player.buffs & BUFF_MAGNET.m_itemid)
-       {
+       if (player.buffs & BUFF_MAGNET.m_itemid) {
                vector pickup_size;
                IL_EACH(g_items, it.itemdef,
                {
-                       if(it.buffs)
+                       if (it.buffs) {
                                pickup_size = '1 1 1' * autocvar_g_buffs_magnet_range_buff;
-                       else
+                       } else {
                                pickup_size = '1 1 1' * autocvar_g_buffs_magnet_range_item;
+                       }
 
-                       if(boxesoverlap(player.absmin - pickup_size, player.absmax + pickup_size, it.absmin, it.absmax))
-                       {
-                               if(gettouch(it))
+                       if (boxesoverlap(player.absmin - pickup_size, player.absmax + pickup_size, it.absmin, it.absmax)) {
+                               if (gettouch(it)) {
                                        gettouch(it)(it, player);
+                               }
                        }
                });
        }
 
-       if(player.buffs & BUFF_AMMO.m_itemid)
-       {
-               for(int slot = 0; slot < MAX_WEAPONSLOTS; ++slot)
-               {
+       if (player.buffs & BUFF_AMMO.m_itemid) {
+               for (int slot = 0; slot < MAX_WEAPONSLOTS; ++slot) {
                        .entity weaponentity = weaponentities[slot];
-                       if(player.(weaponentity).clip_size)
+                       if (player.(weaponentity).clip_size) {
                                player.(weaponentity).clip_load = player.(weaponentity).(weapon_load[player.(weaponentity).m_switchweapon.m_id]) = player.(weaponentity).clip_size;
+                       }
                }
        }
 
-       if((player.buffs & BUFF_INVISIBLE.m_itemid) && (player.oldbuffs & BUFF_INVISIBLE.m_itemid))
+       if ((player.buffs & BUFF_INVISIBLE.m_itemid) && (player.oldbuffs & BUFF_INVISIBLE.m_itemid)) {
                player.alpha = ((autocvar_g_buffs_invisible_alpha) ? autocvar_g_buffs_invisible_alpha : -1); // powerups reset alpha, so we must enforce this (TODO)
-
-       if(player.buffs & BUFF_MEDIC.m_itemid)
-       if(time >= player.buff_medic_healtime)
-       {
-               buff_Medic_Heal(player);
-               player.buff_medic_healtime = time + autocvar_g_buffs_medic_heal_delay;
+       }
+       if (player.buffs & BUFF_MEDIC.m_itemid) {
+               if (time >= player.buff_medic_healtime) {
+                       buff_Medic_Heal(player);
+                       player.buff_medic_healtime = time + autocvar_g_buffs_medic_heal_delay;
+               }
        }
 
-#define BUFF_ONADD(b) if ( (player.buffs & (b).m_itemid) && !(player.oldbuffs & (b).m_itemid))
+#define BUFF_ONADD(b) if ((player.buffs & (b).m_itemid) && !(player.oldbuffs & (b).m_itemid))
 #define BUFF_ONREM(b) if (!(player.buffs & (b).m_itemid) &&  (player.oldbuffs & (b).m_itemid))
 
-       if(player.buffs != player.oldbuffs)
-       {
+       if (player.buffs != player.oldbuffs) {
                entity buff = buff_FirstFromFlags(player.buffs);
                float bufftime = buff != BUFF_Null ? buff.m_time(buff) : 0;
                player.buff_time = (bufftime) ? time + bufftime : 0;
@@ -890,88 +926,89 @@ MUTATOR_HOOKFUNCTION(buffs, PlayerPreThink)
                        player.buff_ammo_prev_infitems = (player.items & IT_UNLIMITED_WEAPON_AMMO);
                        player.items |= IT_UNLIMITED_WEAPON_AMMO;
 
-                       if(player.buffs & BUFF_AMMO.m_itemid)
-                       {
-                               for(int slot = 0; slot < MAX_WEAPONSLOTS; ++slot)
-                               {
+                       if (player.buffs & BUFF_AMMO.m_itemid) {
+                               for (int slot = 0; slot < MAX_WEAPONSLOTS; ++slot) {
                                        .entity weaponentity = weaponentities[slot];
-                                       if(player.(weaponentity).clip_load)
+                                       if (player.(weaponentity).clip_load) {
                                                player.(weaponentity).buff_ammo_prev_clipload = player.(weaponentity).clip_load;
-                                       if(player.(weaponentity).clip_size)
+                                       }
+                                       if (player.(weaponentity).clip_size) {
                                                player.(weaponentity).clip_load = player.(weaponentity).(weapon_load[player.(weaponentity).m_switchweapon.m_id]) = player.(weaponentity).clip_size;
+                                       }
                                }
                        }
                }
 
                BUFF_ONREM(BUFF_AMMO)
                {
-                       if(player.buff_ammo_prev_infitems)
+                       if (player.buff_ammo_prev_infitems) {
                                player.items |= IT_UNLIMITED_WEAPON_AMMO;
-                       else
+                       } else {
                                player.items &= ~IT_UNLIMITED_WEAPON_AMMO;
+                       }
 
-                       if(player.buffs & BUFF_AMMO.m_itemid)
-                       {
-                               for(int slot = 0; slot < MAX_WEAPONSLOTS; ++slot)
-                               {
+                       if (player.buffs & BUFF_AMMO.m_itemid) {
+                               for (int slot = 0; slot < MAX_WEAPONSLOTS; ++slot) {
                                        .entity weaponentity = weaponentities[slot];
-                                       if(player.(weaponentity).buff_ammo_prev_clipload)
+                                       if (player.(weaponentity).buff_ammo_prev_clipload) {
                                                player.(weaponentity).clip_load = player.(weaponentity).buff_ammo_prev_clipload;
+                                       }
                                }
                        }
                }
 
                BUFF_ONADD(BUFF_INVISIBLE)
                {
-                       if(time < player.strength_finished && g_instagib)
+                       if (time < player.strength_finished && g_instagib) {
                                player.buff_invisible_prev_alpha = default_player_alpha; // we don't want to save the powerup's alpha, as player may lose the powerup while holding the buff
-                       else
+                       } else {
                                player.buff_invisible_prev_alpha = player.alpha;
+                       }
                        player.alpha = autocvar_g_buffs_invisible_alpha;
                }
 
                BUFF_ONREM(BUFF_INVISIBLE)
                {
-                       if(time < player.strength_finished && g_instagib)
+                       if (time < player.strength_finished && g_instagib) {
                                player.alpha = autocvar_g_instagib_invis_alpha;
-                       else
+                       } else {
                                player.alpha = player.buff_invisible_prev_alpha;
+                       }
                }
 
                BUFF_ONADD(BUFF_FLIGHT)
                {
                        player.buff_flight_oldgravity = player.gravity;
-                       if(!player.gravity)
+                       if (!player.gravity) {
                                player.gravity = 1;
+                       }
                }
 
                BUFF_ONREM(BUFF_FLIGHT)
-                       player.gravity = ((player.trigger_gravity_check) ? player.trigger_gravity_check.enemy.gravity : player.buff_flight_oldgravity);
+               player.gravity = ((player.trigger_gravity_check) ? player.trigger_gravity_check.enemy.gravity : player.buff_flight_oldgravity);
 
                player.oldbuffs = player.buffs;
-               if(player.buffs)
-               {
-                       if(!player.buff_model)
+               if (player.buffs) {
+                       if (!player.buff_model) {
                                buffs_BuffModel_Spawn(player);
+                       }
 
                        player.buff_model.color = buff.m_color;
                        player.buff_model.glowmod = buff_GlowColor(player.buff_model);
                        player.buff_model.skin = buff.m_skin;
 
                        player.effects |= EF_NOSHADOW;
-               }
-               else
-               {
-                       if(player.buff_model)
+               } else {
+                       if (player.buff_model) {
                                delete(player.buff_model);
+                       }
                        player.buff_model = NULL;
 
                        player.effects &= ~(EF_NOSHADOW);
                }
        }
 
-       if(player.buff_model)
-       {
+       if (player.buff_model) {
                player.buff_model.effects = player.effects;
                player.buff_model.effects |= EF_LOWPRECISION;
                player.buff_model.effects = player.buff_model.effects & EFMASK_CHEAP; // eat performance
@@ -996,43 +1033,44 @@ MUTATOR_HOOKFUNCTION(buffs, PlayerRegen)
 {
        entity player = M_ARGV(0, entity);
 
-       if(player.buffs & BUFF_MEDIC.m_itemid)
-       {
-               M_ARGV(2, float) = autocvar_g_buffs_medic_rot; // rot_mod
+       if (player.buffs & BUFF_MEDIC.m_itemid) {
+               M_ARGV(2, float) = autocvar_g_buffs_medic_rot;                    // rot_mod
                M_ARGV(4, float) = M_ARGV(1, float) = autocvar_g_buffs_medic_max; // limit_mod = max_mod
-               M_ARGV(2, float) = autocvar_g_buffs_medic_regen; // regen_mod
+               M_ARGV(2, float) = autocvar_g_buffs_medic_regen;                  // regen_mod
        }
 
-       if(player.buffs & BUFF_SPEED.m_itemid)
+       if (player.buffs & BUFF_SPEED.m_itemid) {
                M_ARGV(2, float) = autocvar_g_buffs_speed_regen; // regen_mod
+       }
 }
 
 REPLICATE(cvar_cl_buffs_autoreplace, bool, "cl_buffs_autoreplace");
 
 MUTATOR_HOOKFUNCTION(buffs, BuildMutatorsString)
 {
-       if(autocvar_g_buffs > 0) // only report as a mutator if they're enabled
+       if (autocvar_g_buffs > 0) { // only report as a mutator if they're enabled
                M_ARGV(0, string) = strcat(M_ARGV(0, string), ":Buffs");
+       }
 }
 
 MUTATOR_HOOKFUNCTION(buffs, BuildMutatorsPrettyString)
 {
-       if(autocvar_g_buffs > 0)
+       if (autocvar_g_buffs > 0) {
                M_ARGV(0, string) = strcat(M_ARGV(0, string), ", Buffs");
+       }
 }
 
 void buffs_DelayedInit(entity this)
 {
-       if(autocvar_g_buffs_spawn_count > 0)
-       if(find(NULL, classname, "item_buff") == NULL)
-       {
-               float i;
-               for(i = 0; i < autocvar_g_buffs_spawn_count; ++i)
-               {
-                       entity e = spawn();
-                       e.spawnflags |= 64; // always randomize
-                       e.velocity = randomvec() * 250; // this gets reset anyway if random location works
-                       buff_Init(e);
+       if (autocvar_g_buffs_spawn_count > 0) {
+               if (find(NULL, classname, "item_buff") == NULL) {
+                       float i;
+                       for (i = 0; i < autocvar_g_buffs_spawn_count; ++i) {
+                               entity e = spawn();
+                               e.spawnflags |= 64;             // always randomize
+                               e.velocity = randomvec() * 250; // this gets reset anyway if random location works
+                               buff_Init(e);
+                       }
                }
        }
 }
index 4d9f107af794270f54a2beddddf23b26740a4d09..d5b863045d1bd50a602c56cd9d6bac2ef8de06f8 100644 (file)
@@ -72,7 +72,7 @@ float autocvar_g_buffs_luck_damagemultiplier = 3;
 .float buff_activetime;
 .float buff_activetime_updated;
 .entity buff_waypoint;
-.int oldbuffs; // for updating effects
+.int oldbuffs;      // for updating effects
 .float buff_shield; // delay for players to keep them from spamming buff pickups
 .entity buff_model; // controls effects (TODO: make csqc)
 
index 83d8be1011e4caa09072f9534e6b8f08f01bc591..6f903d97a33fbfe42e49d047239a696ae47b9a1f 100644 (file)
@@ -3,7 +3,7 @@
 #ifdef GAMEQC
 
 #ifdef SVQC
-       #include <server/antilag.qh>
+#include <server/antilag.qh>
 #endif
 #include <common/physics/player.qh>
 
@@ -24,21 +24,21 @@ REGISTER_MUTATOR(bugrigs, true);
 #endif
 
 
-#define PHYS_BUGRIGS(s)                        STAT(BUGRIGS, s)
-#define PHYS_BUGRIGS_ACCEL(s)                  STAT(BUGRIGS_ACCEL, s)
-#define PHYS_BUGRIGS_AIR_STEERING(s)           STAT(BUGRIGS_AIR_STEERING, s)
-#define PHYS_BUGRIGS_ANGLE_SMOOTHING(s)        STAT(BUGRIGS_ANGLE_SMOOTHING, s)
-#define PHYS_BUGRIGS_CAR_JUMPING(s)            STAT(BUGRIGS_CAR_JUMPING, s)
-#define PHYS_BUGRIGS_FRICTION_AIR(s)           STAT(BUGRIGS_FRICTION_AIR, s)
-#define PHYS_BUGRIGS_FRICTION_BRAKE(s)         STAT(BUGRIGS_FRICTION_BRAKE, s)
-#define PHYS_BUGRIGS_FRICTION_FLOOR(s)         STAT(BUGRIGS_FRICTION_FLOOR, s)
-#define PHYS_BUGRIGS_PLANAR_MOVEMENT(s)        STAT(BUGRIGS_PLANAR_MOVEMENT, s)
-#define PHYS_BUGRIGS_REVERSE_SPEEDING(s)       STAT(BUGRIGS_REVERSE_SPEEDING, s)
-#define PHYS_BUGRIGS_REVERSE_SPINNING(s)       STAT(BUGRIGS_REVERSE_SPINNING, s)
-#define PHYS_BUGRIGS_REVERSE_STOPPING(s)       STAT(BUGRIGS_REVERSE_STOPPING, s)
-#define PHYS_BUGRIGS_SPEED_POW(s)              STAT(BUGRIGS_SPEED_POW, s)
-#define PHYS_BUGRIGS_SPEED_REF(s)              STAT(BUGRIGS_SPEED_REF, s)
-#define PHYS_BUGRIGS_STEER(s)                  STAT(BUGRIGS_STEER, s)
+#define PHYS_BUGRIGS(s) STAT(BUGRIGS, s)
+#define PHYS_BUGRIGS_ACCEL(s) STAT(BUGRIGS_ACCEL, s)
+#define PHYS_BUGRIGS_AIR_STEERING(s) STAT(BUGRIGS_AIR_STEERING, s)
+#define PHYS_BUGRIGS_ANGLE_SMOOTHING(s) STAT(BUGRIGS_ANGLE_SMOOTHING, s)
+#define PHYS_BUGRIGS_CAR_JUMPING(s) STAT(BUGRIGS_CAR_JUMPING, s)
+#define PHYS_BUGRIGS_FRICTION_AIR(s) STAT(BUGRIGS_FRICTION_AIR, s)
+#define PHYS_BUGRIGS_FRICTION_BRAKE(s) STAT(BUGRIGS_FRICTION_BRAKE, s)
+#define PHYS_BUGRIGS_FRICTION_FLOOR(s) STAT(BUGRIGS_FRICTION_FLOOR, s)
+#define PHYS_BUGRIGS_PLANAR_MOVEMENT(s) STAT(BUGRIGS_PLANAR_MOVEMENT, s)
+#define PHYS_BUGRIGS_REVERSE_SPEEDING(s) STAT(BUGRIGS_REVERSE_SPEEDING, s)
+#define PHYS_BUGRIGS_REVERSE_SPINNING(s) STAT(BUGRIGS_REVERSE_SPINNING, s)
+#define PHYS_BUGRIGS_REVERSE_STOPPING(s) STAT(BUGRIGS_REVERSE_STOPPING, s)
+#define PHYS_BUGRIGS_SPEED_POW(s) STAT(BUGRIGS_SPEED_POW, s)
+#define PHYS_BUGRIGS_SPEED_REF(s) STAT(BUGRIGS_SPEED_REF, s)
+#define PHYS_BUGRIGS_STEER(s) STAT(BUGRIGS_STEER, s)
 
 #if defined(SVQC)
 
@@ -65,8 +65,7 @@ void bugrigs_SetVars()
 
 float racecar_angle(float forward, float down)
 {
-       if (forward < 0)
-       {
+       if (forward < 0) {
                forward = -forward;
                down = -down;
        }
@@ -75,10 +74,11 @@ float racecar_angle(float forward, float down)
 
        float angle_mult = forward / (800 + forward);
 
-       if (ret > 180)
+       if (ret > 180) {
                return ret * angle_mult + 360 * (1 - angle_mult);
-       else
+       } else {
                return ret * angle_mult;
+       }
 }
 
 void RaceCarPhysics(entity this, float dt)
@@ -92,16 +92,15 @@ void RaceCarPhysics(entity this, float dt)
        float accel = bound(-1, PHYS_CS(this).movement.x / PHYS_MAXSPEED(this), 1);
        float steer = bound(-1, PHYS_CS(this).movement.y / PHYS_MAXSPEED(this), 1);
 
-       if (PHYS_BUGRIGS_REVERSE_SPEEDING(this))
-       {
-               if (accel < 0)
-               {
+       if (PHYS_BUGRIGS_REVERSE_SPEEDING(this)) {
+               if (accel < 0) {
                        // back accel is DIGITAL
                        // to prevent speedhack
-                       if (accel < -0.5)
+                       if (accel < -0.5) {
                                accel = -1;
-                       else
+                       } else {
                                accel = 0;
+                       }
                }
        }
 
@@ -109,66 +108,58 @@ void RaceCarPhysics(entity this, float dt)
        this.angles_z = 0;
        makevectors(this.angles); // new forward direction!
 
-       if (IS_ONGROUND(this) || PHYS_BUGRIGS_AIR_STEERING(this))
-       {
+       if (IS_ONGROUND(this) || PHYS_BUGRIGS_AIR_STEERING(this)) {
                float myspeed = this.velocity * v_forward;
                float upspeed = this.velocity * v_up;
 
                // responsiveness factor for steering and acceleration
                float f = 1 / (1 + POW((max(-myspeed, myspeed) / PHYS_BUGRIGS_SPEED_REF(this)), PHYS_BUGRIGS_SPEED_POW(this)));
-               //MAXIMA: f(v) := 1 / (1 + (v / PHYS_BUGRIGS_SPEED_REF(this)) ^ PHYS_BUGRIGS_SPEED_POW(this));
+               // MAXIMA: f(v) := 1 / (1 + (v / PHYS_BUGRIGS_SPEED_REF(this)) ^ PHYS_BUGRIGS_SPEED_POW(this));
 
                float steerfactor;
-               if (myspeed < 0 && PHYS_BUGRIGS_REVERSE_SPINNING(this))
+               if (myspeed < 0 && PHYS_BUGRIGS_REVERSE_SPINNING(this)) {
                        steerfactor = -myspeed * PHYS_BUGRIGS_STEER(this);
-               else
+               } else {
                        steerfactor = -myspeed * f * PHYS_BUGRIGS_STEER(this);
+               }
 
                float accelfactor;
-               if (myspeed < 0 && PHYS_BUGRIGS_REVERSE_SPEEDING(this))
+               if (myspeed < 0 && PHYS_BUGRIGS_REVERSE_SPEEDING(this)) {
                        accelfactor = PHYS_BUGRIGS_ACCEL(this);
-               else
+               } else {
                        accelfactor = f * PHYS_BUGRIGS_ACCEL(this);
-               //MAXIMA: accel(v) := f(v) * PHYS_BUGRIGS_ACCEL(this);
+               }
+               // MAXIMA: accel(v) := f(v) * PHYS_BUGRIGS_ACCEL(this);
 
-               if (accel < 0)
-               {
-                       if (myspeed > 0)
-                       {
+               if (accel < 0) {
+                       if (myspeed > 0) {
                                myspeed = max(0, myspeed - dt * (PHYS_BUGRIGS_FRICTION_FLOOR(this) - PHYS_BUGRIGS_FRICTION_BRAKE(this) * accel));
-                       }
-                       else
-                       {
-                               if (!PHYS_BUGRIGS_REVERSE_SPEEDING(this))
+                       } else {
+                               if (!PHYS_BUGRIGS_REVERSE_SPEEDING(this)) {
                                        myspeed = min(0, myspeed + dt * PHYS_BUGRIGS_FRICTION_FLOOR(this));
+                               }
                        }
-               }
-               else
-               {
-                       if (myspeed >= 0)
-                       {
+               } else {
+                       if (myspeed >= 0) {
                                myspeed = max(0, myspeed - dt * PHYS_BUGRIGS_FRICTION_FLOOR(this));
-                       }
-                       else
-                       {
-                               if (PHYS_BUGRIGS_REVERSE_STOPPING(this))
+                       } else {
+                               if (PHYS_BUGRIGS_REVERSE_STOPPING(this)) {
                                        myspeed = 0;
-                               else
+                               } else {
                                        myspeed = min(0, myspeed + dt * (PHYS_BUGRIGS_FRICTION_FLOOR(this) + PHYS_BUGRIGS_FRICTION_BRAKE(this) * accel));
+                               }
                        }
                }
                // terminal velocity = velocity at which 50 == accelfactor, that is, 1549 units/sec
-               //MAXIMA: friction(v) := PHYS_BUGRIGS_FRICTION_FLOOR(this);
+               // MAXIMA: friction(v) := PHYS_BUGRIGS_FRICTION_FLOOR(this);
 
                this.angles_y += steer * dt * steerfactor; // apply steering
-               makevectors(this.angles); // new forward direction!
+               makevectors(this.angles);                  // new forward direction!
 
                myspeed += accel * accelfactor * dt;
 
                rigvel = myspeed * v_forward + '0 0 1' * upspeed;
-       }
-       else
-       {
+       } else {
                float myspeed = vlen(this.velocity);
 
                // responsiveness factor for steering and acceleration
@@ -177,26 +168,26 @@ void RaceCarPhysics(entity this, float dt)
                this.angles_y += steer * dt * steerfactor; // apply steering
 
                rigvel = this.velocity;
-               makevectors(this.angles); // new forward direction!
+               makevectors(this.angles);                  // new forward direction!
        }
 
        rigvel *= max(0, 1 - vlen(rigvel) * PHYS_BUGRIGS_FRICTION_AIR(this) * dt);
-       //MAXIMA: airfriction(v) := v * v * PHYS_BUGRIGS_FRICTION_AIR(this);
-       //MAXIMA: total_acceleration(v) := accel(v) - friction(v) - airfriction(v);
-       //MAXIMA: solve(total_acceleration(v) = 0, v);
+       // MAXIMA: airfriction(v) := v * v * PHYS_BUGRIGS_FRICTION_AIR(this);
+       // MAXIMA: total_acceleration(v) := accel(v) - friction(v) - airfriction(v);
+       // MAXIMA: solve(total_acceleration(v) = 0, v);
 
-       if (PHYS_BUGRIGS_PLANAR_MOVEMENT(this))
-       {
+       if (PHYS_BUGRIGS_PLANAR_MOVEMENT(this)) {
                vector rigvel_xy, neworigin, up;
                float mt;
 
                rigvel_z -= dt * PHYS_GRAVITY(this); // 4x gravity plays better
                rigvel_xy = vec2(rigvel);
 
-               if (PHYS_BUGRIGS_CAR_JUMPING(this))
+               if (PHYS_BUGRIGS_CAR_JUMPING(this)) {
                        mt = MOVE_NORMAL;
-               else
+               } else {
                        mt = MOVE_NOMONSTERS;
+               }
 
                tracebox(this.origin, this.mins, this.maxs, this.origin + '0 0 1024', mt, this);
                up = trace_endpos - this.origin;
@@ -208,37 +199,31 @@ void RaceCarPhysics(entity this, float dt)
                // align to surface
                tracebox(trace_endpos, this.mins, this.maxs, trace_endpos - up + '0 0 1' * rigvel_z * dt, mt, this);
 
-               if (trace_fraction < 0.5)
-               {
+               if (trace_fraction < 0.5) {
                        trace_fraction = 1;
                        neworigin = this.origin;
-               }
-               else
+               } else {
                        neworigin = trace_endpos;
+               }
 
-               if (trace_fraction < 1)
-               {
+               if (trace_fraction < 1) {
                        // now set angles_x so that the car points parallel to the surface
                        this.angles = vectoangles(
-                                       '1 0 0' * v_forward.x * trace_plane_normal.z
-                                       +
-                                       '0 1 0' * v_forward.y * trace_plane_normal.z
-                                       +
-                                       '0 0 1' * -(v_forward.x * trace_plane_normal.x + v_forward.y * trace_plane_normal.y)
-                                       );
+                               '1 0 0' * v_forward.x * trace_plane_normal.z
+                               +
+                               '0 1 0' * v_forward.y * trace_plane_normal.z
+                               +
+                               '0 0 1' * -(v_forward.x * trace_plane_normal.x + v_forward.y * trace_plane_normal.y)
+                               );
                        SET_ONGROUND(this);
-               }
-               else
-               {
+               } else {
                        // now set angles_x so that the car points forward, but is tilted in velocity direction
                        UNSET_ONGROUND(this);
                }
 
                this.velocity = (neworigin - this.origin) * (1.0 / dt);
                set_movetype(this, MOVETYPE_NOCLIP);
-       }
-       else
-       {
+       } else {
                rigvel_z -= dt * PHYS_GRAVITY(this); // 4x gravity plays better
                this.velocity = rigvel;
                set_movetype(this, MOVETYPE_FLY);
@@ -246,19 +231,16 @@ void RaceCarPhysics(entity this, float dt)
 
        trace_fraction = 1;
        tracebox(this.origin, this.mins, this.maxs, this.origin - '0 0 4', MOVE_NORMAL, this);
-       if (trace_fraction != 1)
-       {
+       if (trace_fraction != 1) {
                this.angles = vectoangles2(
-                               '1 0 0' * v_forward.x * trace_plane_normal.z
-                               +
-                               '0 1 0' * v_forward.y * trace_plane_normal.z
-                               +
-                               '0 0 1' * -(v_forward.x * trace_plane_normal.x + v_forward.y * trace_plane_normal.y),
-                               trace_plane_normal
-                               );
-       }
-       else
-       {
+                       '1 0 0' * v_forward.x * trace_plane_normal.z
+                       +
+                       '0 1 0' * v_forward.y * trace_plane_normal.z
+                       +
+                       '0 0 1' * -(v_forward.x * trace_plane_normal.x + v_forward.y * trace_plane_normal.y),
+                       trace_plane_normal
+                       );
+       } else {
                vector vel_local;
 
                vel_local.x = v_forward * this.velocity;
@@ -273,8 +255,9 @@ void RaceCarPhysics(entity this, float dt)
        vector vf1, vu1, smoothangles;
        makevectors(this.angles);
        float f = bound(0, dt * PHYS_BUGRIGS_ANGLE_SMOOTHING(this), 1);
-       if (f == 0)
+       if (f == 0) {
                f = 1;
+       }
        vf1 = v_forward * f;
        vu1 = v_up * f;
        makevectors(angles_save);
@@ -290,10 +273,10 @@ void RaceCarPhysics(entity this, float dt)
 #endif
 MUTATOR_HOOKFUNCTION(bugrigs, PM_Physics)
 {
-    entity player = M_ARGV(0, entity);
-    float dt = M_ARGV(2, float);
+       entity player = M_ARGV(0, entity);
+       float dt = M_ARGV(2, float);
 
-       if(!PHYS_BUGRIGS(player) || !IS_PLAYER(player)) { return; }
+       if (!PHYS_BUGRIGS(player) || !IS_PLAYER(player)) { return; }
 
 #ifdef SVQC
        player.angles = player.bugrigs_prevangles;
@@ -305,7 +288,7 @@ MUTATOR_HOOKFUNCTION(bugrigs, PM_Physics)
 
 MUTATOR_HOOKFUNCTION(bugrigs, PlayerPhysics)
 {
-       if(!PHYS_BUGRIGS(M_ARGV(0, entity))) { return; }
+       if (!PHYS_BUGRIGS(M_ARGV(0, entity))) { return; }
 #ifdef SVQC
        entity player = M_ARGV(0, entity);
        player.bugrigs_prevangles = player.angles;
@@ -316,7 +299,7 @@ MUTATOR_HOOKFUNCTION(bugrigs, PlayerPhysics)
 
 MUTATOR_HOOKFUNCTION(bugrigs, ClientConnect)
 {
-    entity player = M_ARGV(0, entity);
+       entity player = M_ARGV(0, entity);
 
        stuffcmd(player, "cl_cmd settemp chase_active 1\n");
 }
index 987645aaa0c719a5546ceeb03d47ee9b2901c804..4226f97e1be351125ad9095b6b375402b7f9471e 100644 (file)
@@ -24,12 +24,13 @@ MUTATOR_HOOKFUNCTION(campcheck, Damage_Calculate)
        entity frag_attacker = M_ARGV(1, entity);
        entity frag_target = M_ARGV(2, entity);
 
-       if(IS_PLAYER(frag_target))
-       if(IS_PLAYER(frag_attacker))
-       if(frag_attacker != frag_target)
-       {
-               frag_target.campcheck_traveled_distance = autocvar_g_campcheck_distance;
-               frag_attacker.campcheck_traveled_distance = autocvar_g_campcheck_distance;
+       if (IS_PLAYER(frag_target)) {
+               if (IS_PLAYER(frag_attacker)) {
+                       if (frag_attacker != frag_target) {
+                               frag_target.campcheck_traveled_distance = autocvar_g_campcheck_distance;
+                               frag_attacker.campcheck_traveled_distance = autocvar_g_campcheck_distance;
+                       }
+               }
        }
 }
 
@@ -38,45 +39,49 @@ MUTATOR_HOOKFUNCTION(campcheck, PlayerPreThink)
        entity player = M_ARGV(0, entity);
        bool checked = false;
 
-       if(autocvar_g_campcheck_interval)
-       if(!game_stopped && !warmup_stage && time >= game_starttime)
-       if(IS_PLAYER(player))
-       if(!IS_DEAD(player))
-       if(!STAT(FROZEN, player))
-       if(!PHYS_INPUT_BUTTON_CHAT(player))
-       if(IS_REAL_CLIENT(player)) // bots may camp, but that's no reason to constantly kill them
-       if(!forbidWeaponUse(player))
-       {
-               // calculate player movement (in 2 dimensions only, so jumping on one spot doesn't count as movement)
-               vector dist = vec2(player.campcheck_prevorigin - player.origin);
-               player.campcheck_traveled_distance += fabs(vlen(dist));
-
-               if((autocvar_g_campaign && !campaign_bots_may_start) || (time < game_starttime) || (round_handler_IsActive() && !round_handler_IsRoundStarted()))
-               {
-                       player.campcheck_nextcheck = time + autocvar_g_campcheck_interval * 2;
-                       player.campcheck_traveled_distance = 0;
-               }
-
-               if(time > player.campcheck_nextcheck)
-               {
-                       if(player.campcheck_traveled_distance < autocvar_g_campcheck_distance)
-                       {
-                               Send_Notification(NOTIF_ONE, player, MSG_CENTER, CENTER_CAMPCHECK);
-                               if(player.vehicle)
-                                       Damage(player.vehicle, NULL, NULL, autocvar_g_campcheck_damage * 2, DEATH_CAMP.m_id, player.vehicle.origin, '0 0 0');
-                               else
-                                       Damage(player, NULL, NULL, bound(0, autocvar_g_campcheck_damage, GetResourceAmount(player, RESOURCE_HEALTH) + GetResourceAmount(player, RESOURCE_ARMOR) * autocvar_g_balance_armor_blockpercent + 5), DEATH_CAMP.m_id, player.origin, '0 0 0');
+       if (autocvar_g_campcheck_interval) {
+               if (!game_stopped && !warmup_stage && time >= game_starttime) {
+                       if (IS_PLAYER(player)) {
+                               if (!IS_DEAD(player)) {
+                                       if (!STAT(FROZEN, player)) {
+                                               if (!PHYS_INPUT_BUTTON_CHAT(player)) {
+                                                       if (IS_REAL_CLIENT(player)) { // bots may camp, but that's no reason to constantly kill them
+                                                               if (!forbidWeaponUse(player)) {
+                                                                       // calculate player movement (in 2 dimensions only, so jumping on one spot doesn't count as movement)
+                                                                       vector dist = vec2(player.campcheck_prevorigin - player.origin);
+                                                                       player.campcheck_traveled_distance += fabs(vlen(dist));
+
+                                                                       if ((autocvar_g_campaign && !campaign_bots_may_start) || (time < game_starttime) || (round_handler_IsActive() && !round_handler_IsRoundStarted())) {
+                                                                               player.campcheck_nextcheck = time + autocvar_g_campcheck_interval * 2;
+                                                                               player.campcheck_traveled_distance = 0;
+                                                                       }
+
+                                                                       if (time > player.campcheck_nextcheck) {
+                                                                               if (player.campcheck_traveled_distance < autocvar_g_campcheck_distance) {
+                                                                                       Send_Notification(NOTIF_ONE, player, MSG_CENTER, CENTER_CAMPCHECK);
+                                                                                       if (player.vehicle) {
+                                                                                               Damage(player.vehicle, NULL, NULL, autocvar_g_campcheck_damage * 2, DEATH_CAMP.m_id, player.vehicle.origin, '0 0 0');
+                                                                                       } else {
+                                                                                               Damage(player, NULL, NULL, bound(0, autocvar_g_campcheck_damage, GetResourceAmount(player, RESOURCE_HEALTH) + GetResourceAmount(player, RESOURCE_ARMOR) * autocvar_g_balance_armor_blockpercent + 5), DEATH_CAMP.m_id, player.origin, '0 0 0');
+                                                                                       }
+                                                                               }
+                                                                               player.campcheck_nextcheck = time + autocvar_g_campcheck_interval;
+                                                                               player.campcheck_traveled_distance = 0;
+                                                                       }
+
+                                                                       checked = true;
+                                                               }
+                                                       }
+                                               }
+                                       }
+                               }
                        }
-                       player.campcheck_nextcheck = time + autocvar_g_campcheck_interval;
-                       player.campcheck_traveled_distance = 0;
                }
-
-               checked = true;
        }
 
-       if(!checked)
+       if (!checked) {
                player.campcheck_nextcheck = time + autocvar_g_campcheck_interval; // one of the above checks failed, so keep the timer up to date
-
+       }
        player.campcheck_prevorigin = player.origin;
 }
 
index a1fe27a877c3e46e5e4dfe59a15239c583930f0a..fdac00a6477b6bdf136b104db99cee2dc7364b1d 100644 (file)
@@ -7,12 +7,12 @@ float autocvar_g_balance_cloaked_alpha;
 
 MUTATOR_HOOKFUNCTION(cloaked, SetDefaultAlpha)
 {
-    default_player_alpha = autocvar_g_balance_cloaked_alpha;
-    default_weapon_alpha = default_player_alpha;
-    return true;
+       default_player_alpha = autocvar_g_balance_cloaked_alpha;
+       default_weapon_alpha = default_player_alpha;
+       return true;
 }
 
 MUTATOR_HOOKFUNCTION(cloaked, BuildMutatorsPrettyString)
 {
-       if (!g_cts) M_ARGV(0, string) = strcat(M_ARGV(0, string), ", Cloaked");
+       if (!g_cts) { M_ARGV(0, string) = strcat(M_ARGV(0, string), ", Cloaked"); }
 }
index 4a18cc930879ad34e28ef7551c7af1e381bf8d46..62e44bdc7bd6295d2762292714683d291523a638 100644 (file)
@@ -4,54 +4,51 @@ AUTOCVAR(sv_damagetext, int, 2, "<= 0: disabled, >= 1: visible to spectators, >=
 
 REGISTER_MUTATOR(damagetext, true);
 
-#define SV_DAMAGETEXT_DISABLED()        (autocvar_sv_damagetext <= 0 || autocvar_g_instagib)
+#define SV_DAMAGETEXT_DISABLED() (autocvar_sv_damagetext <= 0 || autocvar_g_instagib)
 #define SV_DAMAGETEXT_SPECTATORS_ONLY() (autocvar_sv_damagetext >= 1)
-#define SV_DAMAGETEXT_PLAYERS()         (autocvar_sv_damagetext >= 2)
-#define SV_DAMAGETEXT_ALL()             (autocvar_sv_damagetext >= 3)
-MUTATOR_HOOKFUNCTION(damagetext, PlayerDamaged) {
-    if (SV_DAMAGETEXT_DISABLED()) return;
-    const entity attacker = M_ARGV(0, entity);
-    const entity hit = M_ARGV(1, entity); if (hit == attacker) return;
-    const float health = M_ARGV(2, float);
-    const float armor = M_ARGV(3, float);
-    const int deathtype = M_ARGV(5, int);
-    const float potential_damage = M_ARGV(6, float);
-    FOREACH_CLIENT(IS_REAL_CLIENT(it), {
-        if (
-            (SV_DAMAGETEXT_ALL()) ||
-            (SV_DAMAGETEXT_PLAYERS() && it == attacker) ||
-            (SV_DAMAGETEXT_SPECTATORS_ONLY() && IS_SPEC(it) && it.enemy == attacker) ||
-            (SV_DAMAGETEXT_SPECTATORS_ONLY() && IS_OBSERVER(it))
-        ) {
-            int flags = 0;
-            if (SAME_TEAM(hit, attacker)) flags |= DTFLAG_SAMETEAM;
-            if (health >= DAMAGETEXT_SHORT_LIMIT) flags |= DTFLAG_BIG_HEALTH;
-            if (armor >= DAMAGETEXT_SHORT_LIMIT) flags |= DTFLAG_BIG_ARMOR;
-            if (potential_damage >= DAMAGETEXT_SHORT_LIMIT) flags |= DTFLAG_BIG_POTENTIAL;
-            if (!armor) flags |= DTFLAG_NO_ARMOR;
-            if (almost_equals_eps(armor + health, potential_damage, 5)) flags |= DTFLAG_NO_POTENTIAL;
+#define SV_DAMAGETEXT_PLAYERS() (autocvar_sv_damagetext >= 2)
+#define SV_DAMAGETEXT_ALL() (autocvar_sv_damagetext >= 3)
+MUTATOR_HOOKFUNCTION(damagetext, PlayerDamaged)
+{
+       if (SV_DAMAGETEXT_DISABLED()) { return; }
+       const entity attacker = M_ARGV(0, entity);
+       const entity hit = M_ARGV(1, entity);
+       if (hit == attacker) { return; }
+       const float health = M_ARGV(2, float);
+       const float armor = M_ARGV(3, float);
+       const int deathtype = M_ARGV(5, int);
+       const float potential_damage = M_ARGV(6, float);
+       FOREACH_CLIENT(IS_REAL_CLIENT(it), {
+               if (
+                       (SV_DAMAGETEXT_ALL())
+                       || (SV_DAMAGETEXT_PLAYERS() && it == attacker)
+                       || (SV_DAMAGETEXT_SPECTATORS_ONLY() && IS_SPEC(it) && it.enemy == attacker)
+                       || (SV_DAMAGETEXT_SPECTATORS_ONLY() && IS_OBSERVER(it))
+               ) {
+                       int flags = 0;
+                       if (SAME_TEAM(hit, attacker)) { flags |= DTFLAG_SAMETEAM; }
+                       if (health >= DAMAGETEXT_SHORT_LIMIT) { flags |= DTFLAG_BIG_HEALTH; }
+                       if (armor >= DAMAGETEXT_SHORT_LIMIT) { flags |= DTFLAG_BIG_ARMOR; }
+                       if (potential_damage >= DAMAGETEXT_SHORT_LIMIT) { flags |= DTFLAG_BIG_POTENTIAL; }
+                       if (!armor) { flags |= DTFLAG_NO_ARMOR; }
+                       if (almost_equals_eps(armor + health, potential_damage, 5)) { flags |= DTFLAG_NO_POTENTIAL; }
 
-            msg_entity = it;
-            WriteHeader(MSG_ONE, damagetext);
-            WriteByte(MSG_ONE, etof(hit));
-            WriteInt24_t(MSG_ONE, deathtype);
-            WriteByte(MSG_ONE, flags);
+                       msg_entity = it;
+                       WriteHeader(MSG_ONE, damagetext);
+                       WriteByte(MSG_ONE, etof(hit));
+                       WriteInt24_t(MSG_ONE, deathtype);
+                       WriteByte(MSG_ONE, flags);
 
-            // we need to send a few decimal places to minimize errors when accumulating damage
-            // sending them multiplied saves bandwidth compared to using WriteCoord,
-            // however if the multiplied damage would be too much for (signed) short, we send an int24
-            if (flags & DTFLAG_BIG_HEALTH) WriteInt24_t(MSG_ONE, health * DAMAGETEXT_PRECISION_MULTIPLIER);
-            else WriteShort(MSG_ONE, health * DAMAGETEXT_PRECISION_MULTIPLIER);
-            if (!(flags & DTFLAG_NO_ARMOR))
-            {
-                if (flags & DTFLAG_BIG_ARMOR) WriteInt24_t(MSG_ONE, armor * DAMAGETEXT_PRECISION_MULTIPLIER);
-                else WriteShort(MSG_ONE, armor * DAMAGETEXT_PRECISION_MULTIPLIER);
-            }
-            if (!(flags & DTFLAG_NO_POTENTIAL))
-            {
-                if (flags & DTFLAG_BIG_POTENTIAL) WriteInt24_t(MSG_ONE, potential_damage * DAMAGETEXT_PRECISION_MULTIPLIER);
-                else WriteShort(MSG_ONE, potential_damage * DAMAGETEXT_PRECISION_MULTIPLIER);
+                   // we need to send a few decimal places to minimize errors when accumulating damage
+                   // sending them multiplied saves bandwidth compared to using WriteCoord,
+                   // however if the multiplied damage would be too much for (signed) short, we send an int24
+                       if (flags & DTFLAG_BIG_HEALTH) { WriteInt24_t(MSG_ONE, health * DAMAGETEXT_PRECISION_MULTIPLIER); } else { WriteShort(MSG_ONE, health * DAMAGETEXT_PRECISION_MULTIPLIER); }
+                       if (!(flags & DTFLAG_NO_ARMOR)) {
+                               if (flags & DTFLAG_BIG_ARMOR) { WriteInt24_t(MSG_ONE, armor * DAMAGETEXT_PRECISION_MULTIPLIER); } else { WriteShort(MSG_ONE, armor * DAMAGETEXT_PRECISION_MULTIPLIER); }
                        }
-        }
-    });
+                       if (!(flags & DTFLAG_NO_POTENTIAL)) {
+                               if (flags & DTFLAG_BIG_POTENTIAL) { WriteInt24_t(MSG_ONE, potential_damage * DAMAGETEXT_PRECISION_MULTIPLIER); } else { WriteShort(MSG_ONE, potential_damage * DAMAGETEXT_PRECISION_MULTIPLIER); }
+                       }
+               }
+       });
 }
index 78834ce633596547553b4fb8fe80772af9fec196..7b7ae8095f981c96c8318cfdd7dddf9f63107072 100644 (file)
@@ -4,53 +4,60 @@
 #include <menu/xonotic/tab.qh>
 
 CLASS(XonoticDamageTextSettings, XonoticTab)
-    REGISTER_SETTINGS(damagetext, NEW(XonoticDamageTextSettings));
-    ATTRIB(XonoticDamageTextSettings, title, string, _("Damage text"));
-    ATTRIB(XonoticDamageTextSettings, intendedWidth, float, 0.9);
-    ATTRIB(XonoticDamageTextSettings, rows, float, 15.5);
-    ATTRIB(XonoticDamageTextSettings, columns, float, 5);
-    INIT(XonoticDamageTextSettings) { this.configureDialog(this); }
-    METHOD(XonoticDamageTextSettings, showNotify, void(entity this)) { loadAllCvars(this); }
-    METHOD(XonoticDamageTextSettings, fill, void(entity this))
-    {
-        entity e;
-        this.gotoRC(this, 0, 1); this.setFirstColumn(this, this.currentColumn);
-            this.TD(this, 1, 3, makeXonoticCheckBox(0, "cl_damagetext", _("Draw damage numbers")));
-        this.TR(this);
-            this.TD(this, 1, 1, e = makeXonoticTextLabel(0, _("Font size minimum:")));
-                setDependent(e, "cl_damagetext", 1, 1);
-            this.TD(this, 1, 2, e = makeXonoticSlider(0, 50, 1, "cl_damagetext_size_min"));
-                setDependent(e, "cl_damagetext", 1, 1);
-        this.TR(this);
-            this.TD(this, 1, 1, e = makeXonoticTextLabel(0, _("Font size maximum:")));
-                setDependent(e, "cl_damagetext", 1, 1);
-            this.TD(this, 1, 2, e = makeXonoticSlider(0, 50, 1, "cl_damagetext_size_max"));
-                setDependent(e, "cl_damagetext", 1, 1);
-        this.TR(this);
-            this.TD(this, 1, 1, e = makeXonoticTextLabel(0, _("Accumulate range:")));
-                setDependent(e, "cl_damagetext", 1, 1);
-            this.TD(this, 1, 2, e = makeXonoticSlider(0, 500, 1, "cl_damagetext_accumulate_range"));
-                setDependent(e, "cl_damagetext", 1, 1);
-        this.TR(this);
-            this.TD(this, 1, 1, e = makeXonoticTextLabel(0, _("Lifetime:")));
-                setDependent(e, "cl_damagetext", 1, 1);
-            this.TD(this, 1, 2, e = makeXonoticSlider(0, 10, 1, "cl_damagetext_alpha_lifetime"));
-                setDependent(e, "cl_damagetext", 1, 1);
-        this.TR(this);
-            this.TD(this, 1, 1, e = makeXonoticTextLabel(0, _("Color:")));
-                setDependent(e, "cl_damagetext", 1, 1);
-            this.TD(this, 2, 2, e = makeXonoticColorpickerString("cl_damagetext_color", "cl_damagetext_color"));
-                setDependent(e, "cl_damagetext", 1, 1);
-        this.TR(this);
-        this.TR(this);
-        // friendly fire
-            this.TD(this, 1, 3, e = makeXonoticCheckBox(0, "cl_damagetext_friendlyfire", _("Draw damage numbers for friendly fire")));
-                setDependent(e, "cl_damagetext", 1, 1);
-        this.TR(this);
-            this.TD(this, 1, 1, e = makeXonoticTextLabel(0, _("Color:")));
-                setDependentAND(e, "cl_damagetext", 1, 1, "cl_damagetext_friendlyfire", 1, 1);
-            this.TD(this, 2, 2, e = makeXonoticColorpickerString("cl_damagetext_friendlyfire_color", "cl_damagetext_friendlyfire_color"));
-                setDependentAND(e, "cl_damagetext", 1, 1, "cl_damagetext_friendlyfire", 1, 1);
-        this.TR(this);
-    }
+       REGISTER_SETTINGS(damagetext, NEW(XonoticDamageTextSettings));
+       ATTRIB(XonoticDamageTextSettings, title, string, _("Damage text"));
+       ATTRIB(XonoticDamageTextSettings, intendedWidth, float, 0.9);
+       ATTRIB(XonoticDamageTextSettings, rows, float, 15.5);
+       ATTRIB(XonoticDamageTextSettings, columns, float, 5);
+       INIT(XonoticDamageTextSettings)
+       {
+               this.configureDialog(this);
+       }
+       METHOD(XonoticDamageTextSettings, showNotify, void(entity this))
+       {
+               loadAllCvars(this);
+       }
+       METHOD(XonoticDamageTextSettings, fill, void(entity this))
+       {
+               entity e;
+               this.gotoRC(this, 0, 1);
+               this.setFirstColumn(this, this.currentColumn);
+               this.TD(this, 1, 3, makeXonoticCheckBox(0, "cl_damagetext", _("Draw damage numbers")));
+               this.TR(this);
+               this.TD(this, 1, 1, e = makeXonoticTextLabel(0, _("Font size minimum:")));
+               setDependent(e, "cl_damagetext", 1, 1);
+               this.TD(this, 1, 2, e = makeXonoticSlider(0, 50, 1, "cl_damagetext_size_min"));
+               setDependent(e, "cl_damagetext", 1, 1);
+               this.TR(this);
+               this.TD(this, 1, 1, e = makeXonoticTextLabel(0, _("Font size maximum:")));
+               setDependent(e, "cl_damagetext", 1, 1);
+               this.TD(this, 1, 2, e = makeXonoticSlider(0, 50, 1, "cl_damagetext_size_max"));
+               setDependent(e, "cl_damagetext", 1, 1);
+               this.TR(this);
+               this.TD(this, 1, 1, e = makeXonoticTextLabel(0, _("Accumulate range:")));
+               setDependent(e, "cl_damagetext", 1, 1);
+               this.TD(this, 1, 2, e = makeXonoticSlider(0, 500, 1, "cl_damagetext_accumulate_range"));
+               setDependent(e, "cl_damagetext", 1, 1);
+               this.TR(this);
+               this.TD(this, 1, 1, e = makeXonoticTextLabel(0, _("Lifetime:")));
+               setDependent(e, "cl_damagetext", 1, 1);
+               this.TD(this, 1, 2, e = makeXonoticSlider(0, 10, 1, "cl_damagetext_alpha_lifetime"));
+               setDependent(e, "cl_damagetext", 1, 1);
+               this.TR(this);
+               this.TD(this, 1, 1, e = makeXonoticTextLabel(0, _("Color:")));
+               setDependent(e, "cl_damagetext", 1, 1);
+               this.TD(this, 2, 2, e = makeXonoticColorpickerString("cl_damagetext_color", "cl_damagetext_color"));
+               setDependent(e, "cl_damagetext", 1, 1);
+               this.TR(this);
+               this.TR(this);
+               // friendly fire
+               this.TD(this, 1, 3, e = makeXonoticCheckBox(0, "cl_damagetext_friendlyfire", _("Draw damage numbers for friendly fire")));
+               setDependent(e, "cl_damagetext", 1, 1);
+               this.TR(this);
+               this.TD(this, 1, 1, e = makeXonoticTextLabel(0, _("Color:")));
+               setDependentAND(e, "cl_damagetext", 1, 1, "cl_damagetext_friendlyfire", 1, 1);
+               this.TD(this, 2, 2, e = makeXonoticColorpickerString("cl_damagetext_friendlyfire_color", "cl_damagetext_friendlyfire_color"));
+               setDependentAND(e, "cl_damagetext", 1, 1, "cl_damagetext_friendlyfire", 1, 1);
+               this.TR(this);
+       }
 ENDCLASS(XonoticDamageTextSettings)
index cc60ccc1fd8a9bccf1a9006ca0b46a86796d35f8..19e24b2dc443b45e3e10835e414c04571ab66989 100644 (file)
@@ -2,7 +2,7 @@
 
 #ifdef GAMEQC
 #ifdef SVQC
-       #include <server/antilag.qh>
+#include <server/antilag.qh>
 #endif
 #include <common/physics/player.qh>
 
@@ -12,24 +12,23 @@ REGISTER_MUTATOR(doublejump, autocvar_sv_doublejump);
 REGISTER_MUTATOR(doublejump, true);
 #endif
 
-#define PHYS_DOUBLEJUMP(s)                     STAT(DOUBLEJUMP, s)
+#define PHYS_DOUBLEJUMP(s) STAT(DOUBLEJUMP, s)
 
 
 MUTATOR_HOOKFUNCTION(doublejump, PlayerJump)
 {
-    entity player = M_ARGV(0, entity);
+       entity player = M_ARGV(0, entity);
 
-       if (PHYS_DOUBLEJUMP(player))
-       {
+       if (PHYS_DOUBLEJUMP(player)) {
                tracebox(player.origin + '0 0 0.01', player.mins, player.maxs, player.origin - '0 0 0.01', MOVE_NORMAL, player);
-               if (trace_fraction < 1 && trace_plane_normal_z > 0.7)
-               {
+               if (trace_fraction < 1 && trace_plane_normal_z > 0.7) {
                        M_ARGV(2, bool) = true;
 
                        // we MUST clip velocity here!
                        float f = player.velocity * trace_plane_normal;
-                       if (f < 0)
+                       if (f < 0) {
                                player.velocity -= f * trace_plane_normal;
+                       }
                }
        }
 }
index c31ee5cfcb8ace1afa7157f7b38569db30cd8dbd..91eee3f75187daca840612536f90f68eea1affe8 100644 (file)
@@ -1,4 +1,4 @@
 // generated file; do not modify
 #ifdef SVQC
-    #include <common/mutators/mutator/globalforces/sv_globalforces.qh>
+#include <common/mutators/mutator/globalforces/sv_globalforces.qh>
 #endif
index 3e9cd0d51c112fbd22e6d705b19fdfbcc530bf8b..e35cb1b0886bce8ec1b9d99331fdcf5582ccac6d 100644 (file)
@@ -6,26 +6,29 @@ AUTOCVAR(g_globalforces_self, float, 1, "Global forces: knockback self scale");
 AUTOCVAR(g_globalforces_range, float, 1000, "Global forces: max range of effect");
 REGISTER_MUTATOR(mutator_globalforces, autocvar_g_globalforces);
 
-MUTATOR_HOOKFUNCTION(mutator_globalforces, BuildMutatorsString) {
-    M_ARGV(0, string) = strcat(M_ARGV(0, string), ":GlobalForces");
+MUTATOR_HOOKFUNCTION(mutator_globalforces, BuildMutatorsString)
+{
+       M_ARGV(0, string) = strcat(M_ARGV(0, string), ":GlobalForces");
 }
 
-MUTATOR_HOOKFUNCTION(mutator_globalforces, BuildMutatorsPrettyString) {
-    M_ARGV(0, string) = strcat(M_ARGV(0, string), ", Global forces");
+MUTATOR_HOOKFUNCTION(mutator_globalforces, BuildMutatorsPrettyString)
+{
+       M_ARGV(0, string) = strcat(M_ARGV(0, string), ", Global forces");
 }
 
-MUTATOR_HOOKFUNCTION(mutator_globalforces, PlayerDamage_SplitHealthArmor) {
-    entity frag_attacker = M_ARGV(1, entity);
-    entity frag_target = M_ARGV(2, entity);
-    if (autocvar_g_globalforces_noself && frag_target == frag_attacker) return;
-    vector damage_force = M_ARGV(3, vector) * autocvar_g_globalforces;
-    FOREACH_CLIENT(IS_PLAYER(it) && it != frag_target, {
-        if (autocvar_g_globalforces_range) {
-            if (vdist(it.origin - frag_target.origin, >, autocvar_g_globalforces_range)) {
-                continue;
-            }
-        }
-        float f = (it == frag_attacker) ? autocvar_g_globalforces_self : 1;
-        it.velocity += damage_explosion_calcpush(f * it.damageforcescale * damage_force, it.velocity, autocvar_g_balance_damagepush_speedfactor);
-    });
+MUTATOR_HOOKFUNCTION(mutator_globalforces, PlayerDamage_SplitHealthArmor)
+{
+       entity frag_attacker = M_ARGV(1, entity);
+       entity frag_target = M_ARGV(2, entity);
+       if (autocvar_g_globalforces_noself && frag_target == frag_attacker) { return; }
+       vector damage_force = M_ARGV(3, vector) * autocvar_g_globalforces;
+       FOREACH_CLIENT(IS_PLAYER(it) && it != frag_target, {
+               if (autocvar_g_globalforces_range) {
+                       if (vdist(it.origin - frag_target.origin, >, autocvar_g_globalforces_range)) {
+                               continue;
+                       }
+               }
+               float f = (it == frag_attacker) ? autocvar_g_globalforces_self : 1;
+               it.velocity += damage_explosion_calcpush(f * it.damageforcescale * damage_force, it.velocity, autocvar_g_balance_damagepush_speedfactor);
+       });
 }
index c3967811973a9ec009bbe17d120a0be38f86387d..77e5f9b357b2e470719f1bf9b1adf553759ee67d 100644 (file)
@@ -1,62 +1,64 @@
 #include "sv_hook.qh"
 
 // can't use the autocvar as it doesn't work in the campaign
-//AUTOCVAR(g_grappling_hook, bool, false, "let players spawn with the grappling hook which allows them to pull themselves up");
+// AUTOCVAR(g_grappling_hook, bool, false, "let players spawn with the grappling hook which allows them to pull themselves up");
 #ifdef SVQC
 AUTOCVAR(g_grappling_hook_useammo, bool, false, "Use ammunition with the off-hand grappling hook");
 
-REGISTER_MUTATOR(hook, expr_evaluate(cvar_string("g_grappling_hook"))) {
-    MUTATOR_ONADD {
-        g_grappling_hook = true;
-        if(!autocvar_g_grappling_hook_useammo)
-            WEP_HOOK.ammo_factor = 0;
-    }
-    MUTATOR_ONROLLBACK_OR_REMOVE {
-        g_grappling_hook = false;
-        if(!autocvar_g_grappling_hook_useammo)
-            WEP_HOOK.ammo_factor = 1; // we don't need to change it
-    }
-
-    return false;
+REGISTER_MUTATOR(hook, expr_evaluate(cvar_string("g_grappling_hook")))
+{
+       MUTATOR_ONADD {
+               g_grappling_hook = true;
+               if (!autocvar_g_grappling_hook_useammo) {
+                       WEP_HOOK.ammo_factor = 0;
+               }
+       }
+       MUTATOR_ONROLLBACK_OR_REMOVE {
+               g_grappling_hook = false;
+               if (!autocvar_g_grappling_hook_useammo) {
+                       WEP_HOOK.ammo_factor = 1; // we don't need to change it
+               }
+       }
+
+       return false;
 }
 
 MUTATOR_HOOKFUNCTION(hook, BuildMutatorsString)
 {
-    M_ARGV(0, string) = strcat(M_ARGV(0, string), ":grappling_hook");
+       M_ARGV(0, string) = strcat(M_ARGV(0, string), ":grappling_hook");
 }
 
 MUTATOR_HOOKFUNCTION(hook, BuildMutatorsPrettyString)
 {
-    M_ARGV(0, string) = strcat(M_ARGV(0, string), ", Hook");
+       M_ARGV(0, string) = strcat(M_ARGV(0, string), ", Hook");
 }
 
 MUTATOR_HOOKFUNCTION(hook, BuildGameplayTipsString)
 {
-    M_ARGV(0, string) = strcat(M_ARGV(0, string), "\n\n^3grappling hook^8 is enabled, press 'e' to use it\n");
+       M_ARGV(0, string) = strcat(M_ARGV(0, string), "\n\n^3grappling hook^8 is enabled, press 'e' to use it\n");
 }
 
 MUTATOR_HOOKFUNCTION(hook, SetStartItems)
 {
-    if(autocvar_g_grappling_hook_useammo)
-    {
-        start_items |= ITEM_JetpackRegen.m_itemid;
-        start_ammo_fuel = max(start_ammo_fuel, cvar("g_balance_fuel_rotstable"));
-        warmup_start_ammo_fuel = max(warmup_start_ammo_fuel, cvar("g_balance_fuel_rotstable"));
-    }
+       if (autocvar_g_grappling_hook_useammo) {
+               start_items |= ITEM_JetpackRegen.m_itemid;
+               start_ammo_fuel = max(start_ammo_fuel, cvar("g_balance_fuel_rotstable"));
+               warmup_start_ammo_fuel = max(warmup_start_ammo_fuel, cvar("g_balance_fuel_rotstable"));
+       }
 }
 
 MUTATOR_HOOKFUNCTION(hook, PlayerSpawn)
 {
-    entity player = M_ARGV(0, entity);
+       entity player = M_ARGV(0, entity);
 
-    player.offhand = OFFHAND_HOOK;
+       player.offhand = OFFHAND_HOOK;
 }
 
 MUTATOR_HOOKFUNCTION(hook, FilterItem)
 {
-    entity item = M_ARGV(0, entity);
+       entity item = M_ARGV(0, entity);
 
-    return item.weapon == WEP_HOOK.m_id;
+       return item.weapon == WEP_HOOK.m_id;
 }
 
 #endif
index e80f36e1a087542eb7d3ee0c06f5c493c7902d0c..4fa46f21175fbb680767df78d9341c67f8b5d605 100644 (file)
@@ -18,24 +18,26 @@ SOUND(VaporizerCells, Item_Sound("itempickup"));
 int autocvar_g_instagib_ammo_drop;
 void ammo_vaporizercells_init(entity item)
 {
-    if(!item.ammo_cells)
-        item.ammo_cells = autocvar_g_instagib_ammo_drop;
+       if (!item.ammo_cells) {
+               item.ammo_cells = autocvar_g_instagib_ammo_drop;
+       }
 }
 #endif
-REGISTER_ITEM(VaporizerCells, Ammo) {
+REGISTER_ITEM(VaporizerCells, Ammo)
+{
 #ifdef GAMEQC
-    this.m_model                =   MDL_VaporizerCells_ITEM;
-    this.m_sound                =   SND_VaporizerCells;
+       this.m_model                =   MDL_VaporizerCells_ITEM;
+       this.m_sound                =   SND_VaporizerCells;
 #endif
-    this.netname                =   "minst_cells";
-    this.m_name                 =   "Vaporizer Ammo";
-    this.m_icon                 =   "ammo_supercells";
+       this.netname                =   "minst_cells";
+       this.m_name                 =   "Vaporizer Ammo";
+       this.m_icon                 =   "ammo_supercells";
 #ifdef SVQC
-    this.m_botvalue             =   2000;
-    this.m_itemid               =   IT_CELLS;
-    this.m_respawntime          =   GET(instagib_respawntime_ammo);
-    this.m_respawntimejitter    =   GET(instagib_respawntimejitter_ammo);
-    this.m_iteminit             =   ammo_vaporizercells_init;
+       this.m_botvalue             =   2000;
+       this.m_itemid               =   IT_CELLS;
+       this.m_respawntime          =   GET(instagib_respawntime_ammo);
+       this.m_respawntimejitter    =   GET(instagib_respawntimejitter_ammo);
+       this.m_iteminit             =   ammo_vaporizercells_init;
 #endif
 }
 
@@ -44,18 +46,19 @@ MODEL(ExtraLife_ITEM, Item_Model("g_h100.md3"));
 SOUND(ExtraLife, Item_Sound("megahealth"));
 #endif
 
-REGISTER_ITEM(ExtraLife, Powerup) {
+REGISTER_ITEM(ExtraLife, Powerup)
+{
 #ifdef GAMEQC
-    this.m_model                =   MDL_ExtraLife_ITEM;
-    this.m_sound                =   SND_ExtraLife;
+       this.m_model                =   MDL_ExtraLife_ITEM;
+       this.m_sound                =   SND_ExtraLife;
 #endif
-    this.netname                =   "health_mega";
-    this.m_name                 =   "Extra life";
-    this.m_icon                 =   "item_mega_health";
-    this.m_color                =   '1 0 0';
-    this.m_waypoint             =   _("Extra life");
-    this.m_waypointblink        =   2;
-    this.m_itemid               =   IT_NAILS;
+       this.netname                =   "health_mega";
+       this.m_name                 =   "Extra life";
+       this.m_icon                 =   "item_mega_health";
+       this.m_color                =   '1 0 0';
+       this.m_waypoint             =   _("Extra life");
+       this.m_waypointblink        =   2;
+       this.m_itemid               =   IT_NAILS;
 }
 
 #ifdef GAMEQC
@@ -63,18 +66,19 @@ MODEL(Invisibility_ITEM, Item_Model("g_strength.md3"));
 SOUND(Invisibility, Item_Sound("powerup"));
 #endif
 
-REGISTER_ITEM(Invisibility, Powerup) {
+REGISTER_ITEM(Invisibility, Powerup)
+{
 #ifdef GAMEQC
-    this.m_model            =   MDL_Invisibility_ITEM;
-    this.m_sound            =   SND_Invisibility;
+       this.m_model            =   MDL_Invisibility_ITEM;
+       this.m_sound            =   SND_Invisibility;
 #endif
-    this.netname            =   "strength";
-    this.m_name             =   "Invisibility";
-    this.m_icon             =   "strength";
-    this.m_color            =   '0 0 1';
-    this.m_waypoint         =   _("Invisibility");
-    this.m_waypointblink    =   2;
-    this.m_itemid           =   IT_STRENGTH;
+       this.netname            =   "strength";
+       this.m_name             =   "Invisibility";
+       this.m_icon             =   "strength";
+       this.m_color            =   '0 0 1';
+       this.m_waypoint         =   _("Invisibility");
+       this.m_waypointblink    =   2;
+       this.m_itemid           =   IT_STRENGTH;
 }
 
 #ifdef GAMEQC
@@ -82,16 +86,17 @@ MODEL(Speed_ITEM, Item_Model("g_invincible.md3"));
 SOUND(Speed, Item_Sound("powerup_shield"));
 #endif
 
-REGISTER_ITEM(Speed, Powerup) {
+REGISTER_ITEM(Speed, Powerup)
+{
 #ifdef GAMEQC
-    this.m_model            =   MDL_Speed_ITEM;
-    this.m_sound            =   SND_Speed;
+       this.m_model            =   MDL_Speed_ITEM;
+       this.m_sound            =   SND_Speed;
 #endif
-    this.netname            =   "invincible";
-    this.m_name             =   "Speed";
-    this.m_icon             =   "shield";
-    this.m_color            =   '1 0 1';
-    this.m_waypoint         =   _("Speed");
-    this.m_waypointblink    =   2;
-    this.m_itemid           =   IT_INVINCIBLE;
+       this.netname            =   "invincible";
+       this.m_name             =   "Speed";
+       this.m_icon             =   "shield";
+       this.m_color            =   '1 0 1';
+       this.m_waypoint         =   _("Speed");
+       this.m_waypointblink    =   2;
+       this.m_itemid           =   IT_INVINCIBLE;
 }
index 1561dc10db9a326acf932de70df86365e179bd4f..8b52589e2589ef34978713596c07db67956785a3 100644 (file)
@@ -5,7 +5,7 @@ bool autocvar_g_instagib_blaster_keepdamage = false;
 bool autocvar_g_instagib_blaster_keepforce = false;
 bool autocvar_g_instagib_mirrordamage;
 bool autocvar_g_instagib_friendlypush = true;
-//int autocvar_g_instagib_ammo_drop;
+// int autocvar_g_instagib_ammo_drop;
 bool autocvar_g_instagib_ammo_convert_cells;
 bool autocvar_g_instagib_ammo_convert_rockets;
 bool autocvar_g_instagib_ammo_convert_shells;
@@ -46,87 +46,64 @@ void instagib_speed(entity this)
 .float instagib_needammo;
 void instagib_stop_countdown(entity e)
 {
-       if (!e.instagib_needammo)
+       if (!e.instagib_needammo) {
                return;
+       }
        Kill_Notification(NOTIF_ONE_ONLY, e, MSG_CENTER, CPID_INSTAGIB_FINDAMMO);
        e.instagib_needammo = false;
 }
 void instagib_ammocheck(entity this)
 {
-       if(time < this.instagib_nextthink)
+       if (time < this.instagib_nextthink) {
                return;
-       if(!IS_PLAYER(this))
+       }
+       if (!IS_PLAYER(this)) {
                return; // not a player
-
-       if(IS_DEAD(this) || game_stopped)
+       }
+       if (IS_DEAD(this) || game_stopped) {
                instagib_stop_countdown(this);
-       else if (GetResourceAmount(this, RESOURCE_CELLS) > 0 || (this.items & IT_UNLIMITED_WEAPON_AMMO) || (this.flags & FL_GODMODE))
+       } else if (GetResourceAmount(this, RESOURCE_CELLS) > 0 || (this.items & IT_UNLIMITED_WEAPON_AMMO) || (this.flags & FL_GODMODE)) {
                instagib_stop_countdown(this);
-       else if(autocvar_g_rm && autocvar_g_rm_laser)
-       {
-               if(!this.instagib_needammo)
-               {
+       } else if (autocvar_g_rm && autocvar_g_rm_laser) {
+               if (!this.instagib_needammo) {
                        Send_Notification(NOTIF_ONE, this, MSG_CENTER, CENTER_INSTAGIB_DOWNGRADE);
                        this.instagib_needammo = true;
                }
-       }
-       else
-       {
+       } else {
                float hp = GetResourceAmount(this, RESOURCE_HEALTH);
                this.instagib_needammo = true;
-               if (hp <= 5)
-               {
+               if (hp <= 5) {
                        Damage(this, this, this, 5, DEATH_NOAMMO.m_id, this.origin, '0 0 0');
                        Send_Notification(NOTIF_ONE, this, MSG_ANNCE, ANNCE_INSTAGIB_TERMINATED);
-               }
-               else if (hp <= 10)
-               {
+               } else if (hp <= 10) {
                        Damage(this, this, this, 5, DEATH_NOAMMO.m_id, this.origin, '0 0 0');
                        Send_Notification(NOTIF_ONE, this, MSG_ANNCE, ANNCE_NUM_1);
-               }
-               else if (hp <= 20)
-               {
+               } else if (hp <= 20) {
                        Damage(this, this, this, 10, DEATH_NOAMMO.m_id, this.origin, '0 0 0');
                        Send_Notification(NOTIF_ONE, this, MSG_ANNCE, ANNCE_NUM_2);
-               }
-               else if (hp <= 30)
-               {
+               } else if (hp <= 30) {
                        Damage(this, this, this, 10, DEATH_NOAMMO.m_id, this.origin, '0 0 0');
                        Send_Notification(NOTIF_ONE, this, MSG_ANNCE, ANNCE_NUM_3);
-               }
-               else if (hp <= 40)
-               {
+               } else if (hp <= 40) {
                        Damage(this, this, this, 10, DEATH_NOAMMO.m_id, this.origin, '0 0 0');
                        Send_Notification(NOTIF_ONE, this, MSG_ANNCE, ANNCE_NUM_4);
-               }
-               else if (hp <= 50)
-               {
+               } else if (hp <= 50) {
                        Damage(this, this, this, 10, DEATH_NOAMMO.m_id, this.origin, '0 0 0');
                        Send_Notification(NOTIF_ONE, this, MSG_ANNCE, ANNCE_NUM_5);
-               }
-               else if (hp <= 60)
-               {
+               } else if (hp <= 60) {
                        Damage(this, this, this, 10, DEATH_NOAMMO.m_id, this.origin, '0 0 0');
                        Send_Notification(NOTIF_ONE, this, MSG_ANNCE, ANNCE_NUM_6);
-               }
-               else if (hp <= 70)
-               {
+               } else if (hp <= 70) {
                        Damage(this, this, this, 10, DEATH_NOAMMO.m_id, this.origin, '0 0 0');
                        Send_Notification(NOTIF_ONE, this, MSG_ANNCE, ANNCE_NUM_7);
-               }
-               else if (hp <= 80)
-               {
+               } else if (hp <= 80) {
                        Damage(this, this, this, 10, DEATH_NOAMMO.m_id, this.origin, '0 0 0');
                        Send_Notification(NOTIF_ONE, this, MSG_ANNCE, ANNCE_NUM_8);
-               }
-               else if (hp <= 90)
-               {
+               } else if (hp <= 90) {
                        Send_Notification(NOTIF_ONE_ONLY, this, MSG_CENTER, CENTER_INSTAGIB_FINDAMMO);
                        Damage(this, this, this, 10, DEATH_NOAMMO.m_id, this.origin, '0 0 0');
                        Send_Notification(NOTIF_ONE, this, MSG_ANNCE, ANNCE_NUM_9);
-               }
-               else
-               {
+               } else {
                        Send_Notification(NOTIF_ONE_ONLY, this, MSG_MULTI, MULTI_INSTAGIB_FINDAMMO);
                        Damage(this, this, this, 10, DEATH_NOAMMO.m_id, this.origin, '0 0 0');
                }
@@ -136,7 +113,8 @@ void instagib_ammocheck(entity this)
 
 MUTATOR_HOOKFUNCTION(mutator_instagib, MatchEnd)
 {
-       FOREACH_CLIENT(IS_PLAYER(it), { instagib_stop_countdown(it); });
+       FOREACH_CLIENT(IS_PLAYER(it), { instagib_stop_countdown(it);
+               });
 }
 
 MUTATOR_HOOKFUNCTION(mutator_instagib, MonsterDropItem)
@@ -151,16 +129,18 @@ MUTATOR_HOOKFUNCTION(mutator_instagib, MonsterSpawn)
        entity mon = M_ARGV(0, entity);
 
        // always refill ammo
-       if(mon.monsterid == MON_MAGE.monsterid)
+       if (mon.monsterid == MON_MAGE.monsterid) {
                mon.skin = 1;
+       }
 }
 
 MUTATOR_HOOKFUNCTION(mutator_instagib, BotShouldAttack)
 {
        entity targ = M_ARGV(1, entity);
 
-       if (targ.items & ITEM_Invisibility.m_itemid)
+       if (targ.items & ITEM_Invisibility.m_itemid) {
                return true;
+       }
 }
 
 MUTATOR_HOOKFUNCTION(mutator_instagib, MakePlayerObserver)
@@ -194,24 +174,20 @@ MUTATOR_HOOKFUNCTION(mutator_instagib, PlayerPowerups)
 {
        entity player = M_ARGV(0, entity);
 
-       if (!(player.effects & EF_FULLBRIGHT))
+       if (!(player.effects & EF_FULLBRIGHT)) {
                player.effects |= EF_FULLBRIGHT;
+       }
 
-       if (player.items & ITEM_Invisibility.m_itemid)
-       {
+       if (player.items & ITEM_Invisibility.m_itemid) {
                play_countdown(player, player.strength_finished, SND_POWEROFF);
-               if (time > player.strength_finished)
-               {
+               if (time > player.strength_finished) {
                        player.alpha = default_player_alpha;
                        player.exteriorweaponentity.alpha = default_weapon_alpha;
                        player.items &= ~ITEM_Invisibility.m_itemid;
                        Send_Notification(NOTIF_ONE, player, MSG_CENTER, CENTER_POWERDOWN_INVISIBILITY);
                }
-       }
-       else
-       {
-               if (time < player.strength_finished)
-               {
+       } else {
+               if (time < player.strength_finished) {
                        player.alpha = autocvar_g_instagib_invis_alpha;
                        player.exteriorweaponentity.alpha = autocvar_g_instagib_invis_alpha;
                        player.items |= ITEM_Invisibility.m_itemid;
@@ -220,19 +196,14 @@ MUTATOR_HOOKFUNCTION(mutator_instagib, PlayerPowerups)
                }
        }
 
-       if (player.items & ITEM_Speed.m_itemid)
-       {
+       if (player.items & ITEM_Speed.m_itemid) {
                play_countdown(player, player.invincible_finished, SND_POWEROFF);
-               if (time > player.invincible_finished)
-               {
+               if (time > player.invincible_finished) {
                        player.items &= ~ITEM_Speed.m_itemid;
                        Send_Notification(NOTIF_ONE, player, MSG_CENTER, CENTER_POWERDOWN_SPEED);
                }
-       }
-       else
-       {
-               if (time < player.invincible_finished)
-               {
+       } else {
+               if (time < player.invincible_finished) {
                        player.items |= ITEM_Speed.m_itemid;
                        Send_Notification(NOTIF_ALL, NULL, MSG_INFO, INFO_POWERUP_SPEED, player.netname);
                        Send_Notification(NOTIF_ONE, player, MSG_CENTER, CENTER_POWERUP_SPEED);
@@ -246,14 +217,15 @@ MUTATOR_HOOKFUNCTION(mutator_instagib, PlayerPhysics)
 {
        entity player = M_ARGV(0, entity);
 
-       if(player.items & ITEM_Speed.m_itemid)
+       if (player.items & ITEM_Speed.m_itemid) {
                player.stat_sv_maxspeed = player.stat_sv_maxspeed * autocvar_g_instagib_speed_highspeed;
+       }
 }
 
 MUTATOR_HOOKFUNCTION(mutator_instagib, PlayerDamage_SplitHealthArmor)
 {
        M_ARGV(4, float) = M_ARGV(7, float); // take = damage
-       M_ARGV(5, float) = 0; // save
+       M_ARGV(5, float) = 0;                // save
 }
 
 MUTATOR_HOOKFUNCTION(mutator_instagib, ForbidThrowCurrentWeapon)
@@ -271,82 +243,82 @@ MUTATOR_HOOKFUNCTION(mutator_instagib, Damage_Calculate)
        float frag_mirrordamage = M_ARGV(5, float);
        vector frag_force = M_ARGV(6, vector);
 
-       if(autocvar_g_friendlyfire == 0 && SAME_TEAM(frag_target, frag_attacker) && IS_PLAYER(frag_target) && IS_PLAYER(frag_attacker))
+       if (autocvar_g_friendlyfire == 0 && SAME_TEAM(frag_target, frag_attacker) && IS_PLAYER(frag_target) && IS_PLAYER(frag_attacker)) {
                frag_damage = 0;
+       }
 
-       if(IS_PLAYER(frag_target))
-       {
-               if(frag_deathtype == DEATH_FALL.m_id)
+       if (IS_PLAYER(frag_target)) {
+               if (frag_deathtype == DEATH_FALL.m_id) {
                        frag_damage = 0; // never count fall damage
-
-               if(!autocvar_g_instagib_damagedbycontents)
-               switch(DEATH_ENT(frag_deathtype))
-               {
-                       case DEATH_DROWN:
-                       case DEATH_SLIME:
-                       case DEATH_LAVA:
-                               frag_damage = 0;
-                               break;
                }
+               if (!autocvar_g_instagib_damagedbycontents) {
+                       switch (DEATH_ENT(frag_deathtype)) {
+                               case DEATH_DROWN:
+                               case DEATH_SLIME:
+                               case DEATH_LAVA:
+                                       frag_damage = 0;
+                                       break;
+                       }
+               }
+
+               if (IS_PLAYER(frag_attacker)) {
+                       if (DEATH_ISWEAPON(frag_deathtype, WEP_VAPORIZER)) {
+                               if (!autocvar_g_instagib_friendlypush && SAME_TEAM(frag_target, frag_attacker)) {
+                                       frag_force = '0 0 0';
+                               }
 
-               if(IS_PLAYER(frag_attacker))
-               if(DEATH_ISWEAPON(frag_deathtype, WEP_VAPORIZER))
-               {
-                       if(!autocvar_g_instagib_friendlypush && SAME_TEAM(frag_target, frag_attacker))
-                               frag_force = '0 0 0';
-
-                       float armor = GetResourceAmount(frag_target, RESOURCE_ARMOR);
-                       if(armor)
-                       {
-                               armor -= 1;
-                               SetResourceAmount(frag_target, RESOURCE_ARMOR, armor);
-                               frag_damage = 0;
-                               frag_target.damage_dealt += 1;
-                               frag_attacker.damage_dealt += 1;
-                               Send_Notification(NOTIF_ONE, frag_target, MSG_CENTER, CENTER_INSTAGIB_LIVES_REMAINING, armor);
+                               float armor = GetResourceAmount(frag_target, RESOURCE_ARMOR);
+                               if (armor) {
+                                       armor -= 1;
+                                       SetResourceAmount(frag_target, RESOURCE_ARMOR, armor);
+                                       frag_damage = 0;
+                                       frag_target.damage_dealt += 1;
+                                       frag_attacker.damage_dealt += 1;
+                                       Send_Notification(NOTIF_ONE, frag_target, MSG_CENTER, CENTER_INSTAGIB_LIVES_REMAINING, armor);
+                               }
                        }
                }
 
-               if(IS_PLAYER(frag_attacker) && DEATH_ISWEAPON(frag_deathtype, WEP_BLASTER))
-               {
-                       if(frag_deathtype & HITTYPE_SECONDARY)
-                       {
-                               if(!autocvar_g_instagib_blaster_keepdamage || frag_attacker == frag_target)
-                               {
+               if (IS_PLAYER(frag_attacker) && DEATH_ISWEAPON(frag_deathtype, WEP_BLASTER)) {
+                       if (frag_deathtype & HITTYPE_SECONDARY) {
+                               if (!autocvar_g_instagib_blaster_keepdamage || frag_attacker == frag_target) {
                                        frag_damage = 0;
-                                       if(!autocvar_g_instagib_mirrordamage)
+                                       if (!autocvar_g_instagib_mirrordamage) {
                                                frag_mirrordamage = 0; // never do mirror damage on enemies
+                                       }
                                }
 
-                               if(frag_target != frag_attacker)
-                               {
-                                       if(frag_damage <= 0 && GetResourceAmount(frag_target, RESOURCE_HEALTH) > 0) { Send_Notification(NOTIF_ONE, frag_attacker, MSG_CENTER, CENTER_SECONDARY_NODAMAGE); }
-                                       if(!autocvar_g_instagib_blaster_keepforce)
+                               if (frag_target != frag_attacker) {
+                                       if (frag_damage <= 0 && GetResourceAmount(frag_target, RESOURCE_HEALTH) > 0) { Send_Notification(NOTIF_ONE, frag_attacker, MSG_CENTER, CENTER_SECONDARY_NODAMAGE); }
+                                       if (!autocvar_g_instagib_blaster_keepforce) {
                                                frag_force = '0 0 0';
+                                       }
                                }
                        }
                }
        }
 
-       if(!autocvar_g_instagib_mirrordamage) // only apply the taking lives hack if we don't want to support real damage mirroring
-       if(IS_PLAYER(frag_attacker))
-       if(frag_mirrordamage > 0)
-       {
-               // just lose extra LIVES, don't kill the player for mirror damage
-               float armor = GetResourceAmount(frag_attacker, RESOURCE_ARMOR);
-               if(armor > 0)
-               {
-                       armor -= 1;
-                       SetResourceAmount(frag_attacker, RESOURCE_ARMOR, armor);
-                       Send_Notification(NOTIF_ONE, frag_attacker, MSG_CENTER, CENTER_INSTAGIB_LIVES_REMAINING, armor);
-                       frag_attacker.damage_dealt += frag_mirrordamage;
+       if (!autocvar_g_instagib_mirrordamage) { // only apply the taking lives hack if we don't want to support real damage mirroring
+               if (IS_PLAYER(frag_attacker)) {
+                       if (frag_mirrordamage > 0) {
+                               // just lose extra LIVES, don't kill the player for mirror damage
+                               float armor = GetResourceAmount(frag_attacker, RESOURCE_ARMOR);
+                               if (armor > 0) {
+                                       armor -= 1;
+                                       SetResourceAmount(frag_attacker, RESOURCE_ARMOR, armor);
+                                       Send_Notification(NOTIF_ONE, frag_attacker, MSG_CENTER, CENTER_INSTAGIB_LIVES_REMAINING, armor);
+                                       frag_attacker.damage_dealt += frag_mirrordamage;
+                               }
+                               frag_mirrordamage = 0;
+                       }
                }
-               frag_mirrordamage = 0;
        }
 
-       if(frag_target.alpha && frag_target.alpha < 1)
-       if(IS_PLAYER(frag_target))
-               yoda = 1;
+       if (frag_target.alpha && frag_target.alpha < 1) {
+               if (IS_PLAYER(frag_target)) {
+                       yoda = 1;
+               }
+       }
 
        M_ARGV(4, float) = frag_damage;
        M_ARGV(5, float) = frag_mirrordamage;
@@ -363,7 +335,7 @@ MUTATOR_HOOKFUNCTION(mutator_instagib, SetStartItems)
        start_ammo_cells   = warmup_start_ammo_cells   = cvar("g_instagib_ammo_start");
        start_ammo_plasma  = warmup_start_ammo_plasma  = 0;
        start_ammo_rockets = warmup_start_ammo_rockets = 0;
-       //start_ammo_fuel    = warmup_start_ammo_fuel    = 0;
+       // start_ammo_fuel    = warmup_start_ammo_fuel    = 0;
 
        start_weapons = warmup_start_weapons = WEPSET(VAPORIZER);
        start_items |= IT_UNLIMITED_SUPERWEAPONS;
@@ -390,60 +362,50 @@ MUTATOR_HOOKFUNCTION(mutator_instagib, FilterItem)
 {
        entity item = M_ARGV(0, entity);
 
-       if(item.classname == "item_cells")
-       {
-               if(autocvar_g_instagib_ammo_convert_cells)
-               {
+       if (item.classname == "item_cells") {
+               if (autocvar_g_instagib_ammo_convert_cells) {
                        replace_with_insta_cells(item);
                }
                return true;
-       }
-       else if(item.classname == "item_rockets")
-       {
-               if(autocvar_g_instagib_ammo_convert_rockets)
-               {
+       } else if (item.classname == "item_rockets") {
+               if (autocvar_g_instagib_ammo_convert_rockets) {
                        replace_with_insta_cells(item);
                }
                return true;
-       }
-       else if(item.classname == "item_shells")
-       {
-               if(autocvar_g_instagib_ammo_convert_shells)
-               {
+       } else if (item.classname == "item_shells") {
+               if (autocvar_g_instagib_ammo_convert_shells) {
                        replace_with_insta_cells(item);
                }
                return true;
-       }
-       else if(item.classname == "item_bullets")
-       {
-               if(autocvar_g_instagib_ammo_convert_bullets)
-               {
+       } else if (item.classname == "item_bullets") {
+               if (autocvar_g_instagib_ammo_convert_bullets) {
                        replace_with_insta_cells(item);
                }
                return true;
        }
 
-       if(item.weapon == WEP_VAPORIZER.m_id && item.classname == "droppedweapon")
-       {
+       if (item.weapon == WEP_VAPORIZER.m_id && item.classname == "droppedweapon") {
                SetResourceAmount(item, RESOURCE_CELLS, autocvar_g_instagib_ammo_drop);
                return false;
        }
 
-       if(item.weapon == WEP_DEVASTATOR.m_id || item.weapon == WEP_VORTEX.m_id)
-       {
+       if (item.weapon == WEP_DEVASTATOR.m_id || item.weapon == WEP_VORTEX.m_id) {
                replace_with_insta_cells(item);
                return true;
        }
 
-       if(item.flags & FL_POWERUP)
+       if (item.flags & FL_POWERUP) {
                return false;
+       }
 
        float cells = GetResourceAmount(item, RESOURCE_CELLS);
-       if(cells > autocvar_g_instagib_ammo_drop && item.classname != "item_minst_cells")
+       if (cells > autocvar_g_instagib_ammo_drop && item.classname != "item_minst_cells") {
                SetResourceAmount(item, RESOURCE_CELLS, autocvar_g_instagib_ammo_drop);
+       }
 
-       if(cells && !item.weapon)
+       if (cells && !item.weapon) {
                return false;
+       }
 
        return true;
 }
@@ -457,17 +419,20 @@ MUTATOR_HOOKFUNCTION(mutator_instagib, CustomizeWaypoint)
 
        // if you have the invisibility powerup, sprites ALWAYS are restricted to your team
        // but only apply this to real players, not to spectators
-       if((wp.owner.flags & FL_CLIENT) && (wp.owner.items & ITEM_Invisibility.m_itemid) && (e == player))
-       if(DIFF_TEAM(wp.owner, e))
-               return true;
+       if ((wp.owner.flags & FL_CLIENT) && (wp.owner.items & ITEM_Invisibility.m_itemid) && (e == player)) {
+               if (DIFF_TEAM(wp.owner, e)) {
+                       return true;
+               }
+       }
 }
 
 MUTATOR_HOOKFUNCTION(mutator_instagib, PlayerDies)
 {
        float frag_deathtype = M_ARGV(3, float);
 
-       if(DEATH_ISWEAPON(frag_deathtype, WEP_VAPORIZER))
+       if (DEATH_ISWEAPON(frag_deathtype, WEP_VAPORIZER)) {
                M_ARGV(4, float) = 1000; // always gib if it was a vaporizer death
+       }
 }
 
 MUTATOR_HOOKFUNCTION(mutator_instagib, ItemTouch)
@@ -475,26 +440,25 @@ MUTATOR_HOOKFUNCTION(mutator_instagib, ItemTouch)
        entity item = M_ARGV(0, entity);
        entity toucher = M_ARGV(1, entity);
 
-       if(GetResourceAmount(item, RESOURCE_CELLS))
-       {
+       if (GetResourceAmount(item, RESOURCE_CELLS)) {
                // play some cool sounds ;)
                float hp = GetResourceAmount(toucher, RESOURCE_HEALTH);
-               if (IS_CLIENT(toucher))
-               {
-                       if(hp <= 5)
+               if (IS_CLIENT(toucher)) {
+                       if (hp <= 5) {
                                Send_Notification(NOTIF_ONE, toucher, MSG_ANNCE, ANNCE_INSTAGIB_LASTSECOND);
-                       else if(hp < 50)
+                       } else if (hp < 50) {
                                Send_Notification(NOTIF_ONE, toucher, MSG_ANNCE, ANNCE_INSTAGIB_NARROWLY);
+                       }
                }
 
-               if(hp < 100)
+               if (hp < 100) {
                        SetResourceAmount(toucher, RESOURCE_HEALTH, 100);
+               }
 
                return MUT_ITEMTOUCH_CONTINUE;
        }
 
-       if(item.itemdef == ITEM_ExtraLife)
-       {
+       if (item.itemdef == ITEM_ExtraLife) {
                GiveResource(toucher, RESOURCE_ARMOR, autocvar_g_instagib_extralives);
                Send_Notification(NOTIF_ONE, toucher, MSG_CENTER, CENTER_EXTRALIVES);
                return MUT_ITEMTOUCH_PICKUP;
@@ -508,18 +472,20 @@ MUTATOR_HOOKFUNCTION(mutator_instagib, OnEntityPreSpawn)
        if (!autocvar_g_powerups) { return; }
        entity ent = M_ARGV(0, entity);
        // Can't use .itemdef here
-       if (!(ent.classname == "item_strength" || ent.classname == "item_invincible" || ent.classname == "item_health_mega"))
+       if (!(ent.classname == "item_strength" || ent.classname == "item_invincible" || ent.classname == "item_health_mega")) {
                return;
+       }
 
        entity e = spawn();
 
        float r = random();
-       if (r < 0.3)
+       if (r < 0.3) {
                setthink(e, instagib_invisibility);
-       else if (r < 0.6)
+       } else if (r < 0.6) {
                setthink(e, instagib_extralife);
-       else
+       } else {
                setthink(e, instagib_speed);
+       }
 
        e.nextthink = time + 0.1;
        e.spawnflags = ent.spawnflags;
index e68c687bdeb65058bac0c887c5f8aab8967bd560..40dcf55a93efb8b7e9d281c7cb79f8ed23fd8280 100644 (file)
@@ -7,8 +7,7 @@ MUTATOR_HOOKFUNCTION(invincibleprojectiles, EditProjectile)
 {
        entity proj = M_ARGV(1, entity);
 
-       if(proj.health)
-       {
+       if (proj.health) {
                // disable health which in effect disables damage calculations
                proj.health = 0;
        }
index c2402ef4608c95d7b1f5fbb84e8f70768ffed1e9..245e62f47c79683e82d7be55d1dbaf22827bf751 100644 (file)
@@ -5,12 +5,13 @@ REGISTER_MUTATOR(itemstime, true);
 REGISTER_NET_TEMP(itemstime)
 
 #ifdef SVQC
-void IT_Write(entity e, int i, float f) {
-    if (!IS_REAL_CLIENT(e)) return;
-    msg_entity = e;
-    WriteHeader(MSG_ONE, itemstime);
-    WriteByte(MSG_ONE, i);
-    WriteFloat(MSG_ONE, f);
+void IT_Write(entity e, int i, float f)
+{
+       if (!IS_REAL_CLIENT(e)) { return; }
+       msg_entity = e;
+       WriteHeader(MSG_ONE, itemstime);
+       WriteByte(MSG_ONE, i);
+       WriteFloat(MSG_ONE, f);
 }
 #endif
 
@@ -20,24 +21,25 @@ float ItemsTime_time[Items_MAX + 1];
 float ItemsTime_availableTime[Items_MAX + 1];
 NET_HANDLE(itemstime, bool isNew)
 {
-    int i = ReadByte();
-    float f = ReadFloat();
-    return = true;
-    ItemsTime_time[i] = f;
+       int i = ReadByte();
+       float f = ReadFloat();
+       return = true;
+       ItemsTime_time[i] = f;
 }
 #endif
 
 #ifdef CSQC
 void Item_ItemsTime_Init()
 {
-    FOREACH(Items, true, {
-        ItemsTime_time[it.m_id] = -1;
-    });
-    ItemsTime_time[Items_MAX] = -1;
+       FOREACH(Items, true, {
+               ItemsTime_time[it.m_id] = -1;
+       });
+       ItemsTime_time[Items_MAX] = -1;
 }
 
-STATIC_INIT(ItemsTime_Init) {
-    Item_ItemsTime_Init();
+STATIC_INIT(ItemsTime_Init)
+{
+       Item_ItemsTime_Init();
 }
 
 int autocvar_hud_panel_itemstime = 2;
@@ -58,18 +60,18 @@ int autocvar_hud_panel_itemstime_text = 1;
 
 bool Item_ItemsTime_SpectatorOnly(GameItem it)
 {
-    return (false
-    || it == ITEM_ArmorMega     || (it == ITEM_ArmorBig && !hud_panel_itemstime_hidebig)
-    || it == ITEM_HealthMega    || (it == ITEM_HealthBig && !hud_panel_itemstime_hidebig)
-    );
+       return false
+                  || it == ITEM_ArmorMega     || (it == ITEM_ArmorBig && !hud_panel_itemstime_hidebig)
+                  || it == ITEM_HealthMega    || (it == ITEM_HealthBig && !hud_panel_itemstime_hidebig)
+       ;
 }
 
 bool Item_ItemsTime_Allow(GameItem it)
 {
-    return (false
-    || it.instanceOfPowerup
-    || Item_ItemsTime_SpectatorOnly(it)
-    );
+       return false
+                  || it.instanceOfPowerup
+                  || Item_ItemsTime_SpectatorOnly(it)
+       ;
 }
 
 #ifdef SVQC
@@ -79,116 +81,123 @@ float it_times[Items_MAX + 1];
 
 void Item_ItemsTime_Init()
 {
-    FOREACH(Items, Item_ItemsTime_Allow(it), {
-        it_times[it.m_id] = -1;
-    });
-    it_times[Items_MAX] = -1;
+       FOREACH(Items, Item_ItemsTime_Allow(it), {
+               it_times[it.m_id] = -1;
+       });
+       it_times[Items_MAX] = -1;
 }
 
-STATIC_INIT(ItemsTime_Init) {
-    // items time
-    Item_ItemsTime_Init();
+STATIC_INIT(ItemsTime_Init)
+{
+       // items time
+       Item_ItemsTime_Init();
 }
 
 void Item_ItemsTime_ResetTimes()
 {
-    FOREACH(Items, Item_ItemsTime_Allow(it), {
-        it_times[it.m_id] = (it_times[it.m_id] == -1) ? -1 : 0;
-    });
-    it_times[Items_MAX] = (it_times[Items_MAX] == -1) ? -1 : 0;
+       FOREACH(Items, Item_ItemsTime_Allow(it), {
+               it_times[it.m_id] = (it_times[it.m_id] == -1) ? -1 : 0;
+       });
+       it_times[Items_MAX] = (it_times[Items_MAX] == -1) ? -1 : 0;
 }
 
 void Item_ItemsTime_ResetTimesForPlayer(entity e)
 {
-    FOREACH(Items, Item_ItemsTime_Allow(it), {
-        IT_Write(e, it.m_id, (it_times[it.m_id] == -1) ? -1 : 0);
-    });
-    IT_Write(e, Items_MAX, (it_times[Items_MAX] == -1) ? -1 : 0);
+       FOREACH(Items, Item_ItemsTime_Allow(it), {
+               IT_Write(e, it.m_id, (it_times[it.m_id] == -1) ? -1 : 0);
+       });
+       IT_Write(e, Items_MAX, (it_times[Items_MAX] == -1) ? -1 : 0);
 }
 
 void Item_ItemsTime_SetTimesForPlayer(entity e)
 {
-    FOREACH(Items, Item_ItemsTime_Allow(it), {
-        IT_Write(e, it.m_id, it_times[it.m_id]);
-    });
-    IT_Write(e, Items_MAX, it_times[Items_MAX]);
+       FOREACH(Items, Item_ItemsTime_Allow(it), {
+               IT_Write(e, it.m_id, it_times[it.m_id]);
+       });
+       IT_Write(e, Items_MAX, it_times[Items_MAX]);
 }
 
 void Item_ItemsTime_SetTime(entity e, float t)
 {
-    if (!autocvar_sv_itemstime)
-        return;
+       if (!autocvar_sv_itemstime) {
+               return;
+       }
 
-    GameItem item = e.itemdef;
-    if (item.instanceOfGameItem)
-    {
-               if (!item.instanceOfWeaponPickup)
+       GameItem item = e.itemdef;
+       if (item.instanceOfGameItem) {
+               if (!item.instanceOfWeaponPickup) {
                        it_times[item.m_id] = t;
-               else if (e.weapons & WEPSET_SUPERWEAPONS)
+               } else if (e.weapons & WEPSET_SUPERWEAPONS) {
                        it_times[Items_MAX] = t;
-    }
+               }
+       }
 }
 
 void Item_ItemsTime_SetTimesForAllPlayers()
 {
-    FOREACH_CLIENT(IS_REAL_CLIENT(it) && (warmup_stage || !IS_PLAYER(it) || autocvar_sv_itemstime == 2), { Item_ItemsTime_SetTimesForPlayer(it); });
+       FOREACH_CLIENT(IS_REAL_CLIENT(it) && (warmup_stage || !IS_PLAYER(it) || autocvar_sv_itemstime == 2), { Item_ItemsTime_SetTimesForPlayer(it);
+               });
 }
 
 float Item_ItemsTime_UpdateTime(entity e, float t)
 {
-    bool isavailable = (t == 0);
-    IL_EACH(g_items, it != e,
-    {
-        if(!(it.itemdef == e.itemdef || ((e.weapons & WEPSET_SUPERWEAPONS) && (it.weapons & WEPSET_SUPERWEAPONS))))
-            continue;
-        if (it.scheduledrespawntime <= time)
-            isavailable = true;
-        else if (t == 0 || it.scheduledrespawntime < t)
-            t = it.scheduledrespawntime;
-    });
-    if (isavailable)
-        t = -t; // let know the client there's another available item
-    return t;
+       bool isavailable = (t == 0);
+       IL_EACH(g_items, it != e,
+       {
+               if (!(it.itemdef == e.itemdef || ((e.weapons & WEPSET_SUPERWEAPONS) && (it.weapons & WEPSET_SUPERWEAPONS)))) {
+                       continue;
+               }
+               if (it.scheduledrespawntime <= time) {
+                       isavailable = true;
+               } else if (t == 0 || it.scheduledrespawntime < t) {
+                       t = it.scheduledrespawntime;
+               }
+       });
+       if (isavailable) {
+               t = -t; // let know the client there's another available item
+       }
+       return t;
 }
 
 MUTATOR_HOOKFUNCTION(itemstime, reset_map_global)
 {
-    Item_ItemsTime_ResetTimes();
-    // ALL the times need to be reset before .reset()ing each item
-    // since Item_Reset schedules respawn of superweapons and powerups
-    IL_EACH(g_items, it.reset,
-    {
-        Item_ItemsTime_SetTime(it, 0);
-    });
-    Item_ItemsTime_SetTimesForAllPlayers();
+       Item_ItemsTime_ResetTimes();
+       // ALL the times need to be reset before .reset() ing each item
+       // since Item_Reset schedules respawn of superweapons and powerups
+       IL_EACH(g_items, it.reset,
+       {
+               Item_ItemsTime_SetTime(it, 0);
+       });
+       Item_ItemsTime_SetTimesForAllPlayers();
 }
 
 MUTATOR_HOOKFUNCTION(itemstime, MakePlayerObserver)
 {
-    entity player = M_ARGV(0, entity);
+       entity player = M_ARGV(0, entity);
 
-    Item_ItemsTime_SetTimesForPlayer(player);
+       Item_ItemsTime_SetTimesForPlayer(player);
 }
 
 MUTATOR_HOOKFUNCTION(itemstime, ClientConnect, CBC_ORDER_LAST)
 {
-    entity player = M_ARGV(0, entity);
+       entity player = M_ARGV(0, entity);
 
-       if(IS_PLAYER(player))
-       {
+       if (IS_PLAYER(player)) {
                // client became player on connection skipping putObserverInServer step
-               if (IS_REAL_CLIENT(player))
-               if (warmup_stage || autocvar_sv_itemstime == 2)
-                       Item_ItemsTime_SetTimesForPlayer(player);
+               if (IS_REAL_CLIENT(player)) {
+                       if (warmup_stage || autocvar_sv_itemstime == 2) {
+                               Item_ItemsTime_SetTimesForPlayer(player);
+                       }
+               }
        }
 }
 
 MUTATOR_HOOKFUNCTION(itemstime, PlayerSpawn)
 {
-    if (warmup_stage || autocvar_sv_itemstime == 2) return;
-    entity player = M_ARGV(0, entity);
+       if (warmup_stage || autocvar_sv_itemstime == 2) { return; }
+       entity player = M_ARGV(0, entity);
 
-    Item_ItemsTime_ResetTimesForPlayer(player);
+       Item_ItemsTime_ResetTimesForPlayer(player);
 }
 
 #endif
@@ -197,246 +206,226 @@ MUTATOR_HOOKFUNCTION(itemstime, PlayerSpawn)
 
 void DrawItemsTimeItem(vector myPos, vector mySize, float ar, string item_icon, float item_time, bool item_available, float item_availableTime)
 {
-    float t = 0;
-    vector color = '0 0 0';
-    float picalpha;
-
-    if (autocvar_hud_panel_itemstime_hidespawned == 2)
-        picalpha = 1;
-    else if (item_available)
-    {
-        float BLINK_FACTOR = 0.15;
-        float BLINK_BASE = 0.85;
-        float BLINK_FREQ = 5;
-        picalpha = BLINK_BASE + BLINK_FACTOR * cos(time * BLINK_FREQ);
-    }
-    else
-        picalpha = 0.5;
-    t = floor(item_time - time + 0.999);
-    if (t < 5)
-        color = '0.7 0 0';
-    else if (t < 10)
-        color = '0.7 0.7 0';
-    else
-        color = '1 1 1';
-
-    vector picpos, numpos;
-    if (autocvar_hud_panel_itemstime_iconalign)
-    {
-        numpos = myPos;
-        picpos = myPos + eX * (ar - 1) * mySize_y;
-    }
-    else
-    {
-        numpos = myPos + eX * mySize_y;
-        picpos = myPos;
-    }
-
-    if (t > 0 && autocvar_hud_panel_itemstime_progressbar)
-    {
-        vector p_pos, p_size;
-        if (autocvar_hud_panel_itemstime_progressbar_reduced)
-        {
-            p_pos = numpos;
-            p_size = vec2(((ar - 1)/ar) * mySize.x, mySize.y);
-        }
-        else
-        {
-            p_pos = myPos;
-            p_size = mySize;
-        }
-        HUD_Panel_DrawProgressBar(p_pos, p_size, autocvar_hud_panel_itemstime_progressbar_name, t/autocvar_hud_panel_itemstime_progressbar_maxtime, 0, autocvar_hud_panel_itemstime_iconalign, color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
-    }
-
-    if(autocvar_hud_panel_itemstime_text)
-    {
-        if(t > 0)
-            drawstring_aspect(numpos, ftos(t), vec2(((ar - 1)/ar) * mySize.x, mySize.y), color, panel_fg_alpha, DRAWFLAG_NORMAL);
-        else if(precache_pic("gfx/hud/default/checkmark")) // COMPAT: check if this image exists, as 0.8.1 clients lack it
-            drawpic_aspect_skin(numpos, "checkmark", vec2((ar - 1) * mySize.y, mySize.y), '1 1 1', panel_fg_alpha * picalpha, DRAWFLAG_NORMAL);
-        else // legacy code, if the image is missing just center the icon
-            picpos.x = myPos.x + mySize.x / 2 - mySize.y / 2;
-    }
-    if (item_availableTime)
-        drawpic_aspect_skin_expanding(picpos, item_icon, '1 1 0' * mySize_y, '1 1 1', panel_fg_alpha * picalpha, DRAWFLAG_NORMAL, item_availableTime);
-    drawpic_aspect_skin(picpos, item_icon, '1 1 0' * mySize_y, '1 1 1', panel_fg_alpha * picalpha, DRAWFLAG_NORMAL);
+       float t = 0;
+       vector color = '0 0 0';
+       float picalpha;
+
+       if (autocvar_hud_panel_itemstime_hidespawned == 2) {
+               picalpha = 1;
+       } else if (item_available) {
+               float BLINK_FACTOR = 0.15;
+               float BLINK_BASE = 0.85;
+               float BLINK_FREQ = 5;
+               picalpha = BLINK_BASE + BLINK_FACTOR * cos(time * BLINK_FREQ);
+       } else {
+               picalpha = 0.5;
+       }
+       t = floor(item_time - time + 0.999);
+       if (t < 5) {
+               color = '0.7 0 0';
+       } else if (t < 10) {
+               color = '0.7 0.7 0';
+       } else {
+               color = '1 1 1';
+       }
+
+       vector picpos, numpos;
+       if (autocvar_hud_panel_itemstime_iconalign) {
+               numpos = myPos;
+               picpos = myPos + eX * (ar - 1) * mySize_y;
+       } else {
+               numpos = myPos + eX * mySize_y;
+               picpos = myPos;
+       }
+
+       if (t > 0 && autocvar_hud_panel_itemstime_progressbar) {
+               vector p_pos, p_size;
+               if (autocvar_hud_panel_itemstime_progressbar_reduced) {
+                       p_pos = numpos;
+                       p_size = vec2(((ar - 1) / ar) * mySize.x, mySize.y);
+               } else {
+                       p_pos = myPos;
+                       p_size = mySize;
+               }
+               HUD_Panel_DrawProgressBar(p_pos, p_size, autocvar_hud_panel_itemstime_progressbar_name, t / autocvar_hud_panel_itemstime_progressbar_maxtime, 0, autocvar_hud_panel_itemstime_iconalign, color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
+       }
+
+       if (autocvar_hud_panel_itemstime_text) {
+               if (t > 0) {
+                       drawstring_aspect(numpos, ftos(t), vec2(((ar - 1) / ar) * mySize.x, mySize.y), color, panel_fg_alpha, DRAWFLAG_NORMAL);
+               } else if (precache_pic("gfx/hud/default/checkmark")) { // COMPAT: check if this image exists, as 0.8.1 clients lack it
+                       drawpic_aspect_skin(numpos, "checkmark", vec2((ar - 1) * mySize.y, mySize.y), '1 1 1', panel_fg_alpha * picalpha, DRAWFLAG_NORMAL);
+               } else {                                                // legacy code, if the image is missing just center the icon
+                       picpos.x = myPos.x + mySize.x / 2 - mySize.y / 2;
+               }
+       }
+       if (item_availableTime) {
+               drawpic_aspect_skin_expanding(picpos, item_icon, '1 1 0' * mySize_y, '1 1 1', panel_fg_alpha * picalpha, DRAWFLAG_NORMAL, item_availableTime);
+       }
+       drawpic_aspect_skin(picpos, item_icon, '1 1 0' * mySize_y, '1 1 1', panel_fg_alpha * picalpha, DRAWFLAG_NORMAL);
 }
 
 float Item_ItemsTime_GetTime(int item)
 {
-    if(autocvar__hud_configure)
-    {
-        switch(item)
-        {
-            case ITEM_ArmorMega.m_id: return time + 0;
-            case ITEM_HealthMega.m_id: return time + 8;
-            case ITEM_Strength.m_id: return time + 0;
-            case ITEM_Shield.m_id: return time + 4;
-        }
-
-        return -1; // don't show others
-    }
-    else
-        return ItemsTime_time[item];
+       if (autocvar__hud_configure) {
+               switch (item) {
+                       case ITEM_ArmorMega.m_id: return time + 0;
+                       case ITEM_HealthMega.m_id: return time + 8;
+                       case ITEM_Strength.m_id: return time + 0;
+                       case ITEM_Shield.m_id: return time + 4;
+               }
+
+               return -1; // don't show others
+       } else {
+               return ItemsTime_time[item];
+       }
 }
 
 void HUD_ItemsTime()
 {
-    if (!autocvar__hud_configure)
-    {
-        if (!(
-            (autocvar_hud_panel_itemstime == 1 && spectatee_status != 0)
-        ||     (autocvar_hud_panel_itemstime == 2 && (spectatee_status != 0 || warmup_stage || STAT(ITEMSTIME) == 2))
-            )) { return; }
-    }
-
-    int count = 0;
-    if (autocvar_hud_panel_itemstime_hidespawned == 1)
-    {
-        FOREACH(Items, Item_ItemsTime_Allow(it), {
-            count += (Item_ItemsTime_GetTime(it.m_id) > time || -Item_ItemsTime_GetTime(it.m_id) > time);
-        });
-        count += (Item_ItemsTime_GetTime(Items_MAX) > time || -Item_ItemsTime_GetTime(Items_MAX) > time);
-    }
-    else if (autocvar_hud_panel_itemstime_hidespawned == 2)
-    {
-        FOREACH(Items, Item_ItemsTime_Allow(it), {
-            count += (Item_ItemsTime_GetTime(it.m_id) > time);
-        });
-        count += (Item_ItemsTime_GetTime(Items_MAX) > time);
-    }
-    else
-    {
-        FOREACH(Items, Item_ItemsTime_Allow(it), {
-            count += (Item_ItemsTime_GetTime(it.m_id) != -1);
-        });
-        count += (Item_ItemsTime_GetTime(Items_MAX) != -1);
-    }
-    if (count == 0)
-        return;
-
-    HUD_Panel_LoadCvars();
-
-    vector pos, mySize;
-    pos = panel_pos;
-    mySize = panel_size;
-
-    if (panel_bg_padding)
-    {
-        pos += '1 1 0' * panel_bg_padding;
-        mySize -= '2 2 0' * panel_bg_padding;
-    }
-
-    float rows, columns;
-    float ar = max(2, autocvar_hud_panel_itemstime_ratio) + 1;
-    rows = HUD_GetRowCount(count, mySize, ar);
-    columns = ceil(count/rows);
-
-    vector itemstime_size = vec2(mySize.x / columns, mySize.y / rows);
-
-    vector offset = '0 0 0';
-    float newSize;
-    if (autocvar_hud_panel_itemstime_dynamicsize)
-    {
-        if (autocvar__hud_configure)
-        if (hud_configure_menu_open != 2)
-            HUD_Panel_DrawBg(); // also draw the bg of the entire panel
-
-        // reduce panel to avoid spacing items
-        if (itemstime_size.x / itemstime_size.y < ar)
-        {
-            newSize = rows * itemstime_size.x / ar;
-            pos.y += (mySize.y - newSize) / 2;
-            mySize.y = newSize;
-            itemstime_size.y = mySize.y / rows;
-        }
-        else
-        {
-            newSize = columns * itemstime_size.y * ar;
-            pos.x += (mySize.x - newSize) / 2;
-            mySize.x = newSize;
-            itemstime_size.x = mySize.x / columns;
-        }
-        panel_pos = pos - '1 1 0' * panel_bg_padding;
-        panel_size = mySize + '2 2 0' * panel_bg_padding;
-    }
-    else
-    {
-        if (itemstime_size.x/itemstime_size.y > ar)
-        {
-            newSize = ar * itemstime_size.y;
-            offset.x = itemstime_size.x - newSize;
-            pos.x += offset.x/2;
-            itemstime_size.x = newSize;
-        }
-        else
-        {
-            newSize = 1/ar * itemstime_size.x;
-            offset.y = itemstime_size.y - newSize;
-            pos.y += offset.y/2;
-            itemstime_size.y = newSize;
-        }
-    }
-
-    HUD_Scale_Enable();
-    HUD_Panel_DrawBg();
-
-    float row = 0, column = 0;
-    bool item_available;
-    int id = 0;
-    string icon = "";
-    FOREACH(Items, Item_ItemsTime_Allow(it) && Item_ItemsTime_GetTime(it.m_id) != -1, {
-       id = it.m_id;
-       icon = it.m_icon;
-
-LABEL(iteration)
-        float item_time = Item_ItemsTime_GetTime(id);
-        if (item_time < -1)
-        {
-            item_available = true;
-            item_time = -item_time;
-        }
-        else
-            item_available = (item_time <= time);
-
-        if (Item_ItemsTime_GetTime(id) >= 0)
-        {
-            if (time <= Item_ItemsTime_GetTime(id))
-                ItemsTime_availableTime[id] = 0;
-            else if (ItemsTime_availableTime[id] == 0)
-                ItemsTime_availableTime[id] = time;
-        }
-        else if (ItemsTime_availableTime[id] == 0)
-            ItemsTime_availableTime[id] = time;
-
-        float f = (time - ItemsTime_availableTime[id]) * 2;
-        f = (f > 1) ? 0 : bound(0, f, 1);
-
-        if (autocvar_hud_panel_itemstime_hidespawned == 1)
-            if (!(Item_ItemsTime_GetTime(id) > time || -Item_ItemsTime_GetTime(id) > time))
-                continue;
-
-        if (autocvar_hud_panel_itemstime_hidespawned == 2)
-            if (!(Item_ItemsTime_GetTime(id) > time))
-                continue;
-
-        DrawItemsTimeItem(pos + vec2(column * (itemstime_size.x + offset.x), row * (itemstime_size.y + offset.y)), itemstime_size, ar, icon, item_time, item_available, f);
-        ++row;
-        if (row >= rows)
-        {
-            row = 0;
-            column = column + 1;
-        }
-        if(id == Items_MAX) // can happen only in the last fake iteration
-               break;
-    });
-    // add another fake iteration for superweapons time
-    if(id < Items_MAX && Item_ItemsTime_GetTime(Items_MAX) != -1)
-    {
+       if (!autocvar__hud_configure) {
+               if (!(
+                               (autocvar_hud_panel_itemstime == 1 && spectatee_status != 0)
+                               ||  (autocvar_hud_panel_itemstime == 2 && (spectatee_status != 0 || warmup_stage || STAT(ITEMSTIME) == 2))
+                       )) { return; }
+       }
+
+       int count = 0;
+       if (autocvar_hud_panel_itemstime_hidespawned == 1) {
+               FOREACH(Items, Item_ItemsTime_Allow(it), {
+                       count += (Item_ItemsTime_GetTime(it.m_id) > time || -Item_ItemsTime_GetTime(it.m_id) > time);
+               });
+               count += (Item_ItemsTime_GetTime(Items_MAX) > time || -Item_ItemsTime_GetTime(Items_MAX) > time);
+       } else if (autocvar_hud_panel_itemstime_hidespawned == 2) {
+               FOREACH(Items, Item_ItemsTime_Allow(it), {
+                       count += (Item_ItemsTime_GetTime(it.m_id) > time);
+               });
+               count += (Item_ItemsTime_GetTime(Items_MAX) > time);
+       } else {
+               FOREACH(Items, Item_ItemsTime_Allow(it), {
+                       count += (Item_ItemsTime_GetTime(it.m_id) != -1);
+               });
+               count += (Item_ItemsTime_GetTime(Items_MAX) != -1);
+       }
+       if (count == 0) {
+               return;
+       }
+
+       HUD_Panel_LoadCvars();
+
+       vector pos, mySize;
+       pos = panel_pos;
+       mySize = panel_size;
+
+       if (panel_bg_padding) {
+               pos += '1 1 0' * panel_bg_padding;
+               mySize -= '2 2 0' * panel_bg_padding;
+       }
+
+       float rows, columns;
+       float ar = max(2, autocvar_hud_panel_itemstime_ratio) + 1;
+       rows = HUD_GetRowCount(count, mySize, ar);
+       columns = ceil(count / rows);
+
+       vector itemstime_size = vec2(mySize.x / columns, mySize.y / rows);
+
+       vector offset = '0 0 0';
+       float newSize;
+       if (autocvar_hud_panel_itemstime_dynamicsize) {
+               if (autocvar__hud_configure) {
+                       if (hud_configure_menu_open != 2) {
+                               HUD_Panel_DrawBg(); // also draw the bg of the entire panel
+                       }
+               }
+               // reduce panel to avoid spacing items
+               if (itemstime_size.x / itemstime_size.y < ar) {
+                       newSize = rows * itemstime_size.x / ar;
+                       pos.y += (mySize.y - newSize) / 2;
+                       mySize.y = newSize;
+                       itemstime_size.y = mySize.y / rows;
+               } else {
+                       newSize = columns * itemstime_size.y * ar;
+                       pos.x += (mySize.x - newSize) / 2;
+                       mySize.x = newSize;
+                       itemstime_size.x = mySize.x / columns;
+               }
+               panel_pos = pos - '1 1 0' * panel_bg_padding;
+               panel_size = mySize + '2 2 0' * panel_bg_padding;
+       } else {
+               if (itemstime_size.x / itemstime_size.y > ar) {
+                       newSize = ar * itemstime_size.y;
+                       offset.x = itemstime_size.x - newSize;
+                       pos.x += offset.x / 2;
+                       itemstime_size.x = newSize;
+               } else {
+                       newSize = 1 / ar * itemstime_size.x;
+                       offset.y = itemstime_size.y - newSize;
+                       pos.y += offset.y / 2;
+                       itemstime_size.y = newSize;
+               }
+       }
+
+       HUD_Scale_Enable();
+       HUD_Panel_DrawBg();
+
+       float row = 0, column = 0;
+       bool item_available;
+       int id = 0;
+       string icon = "";
+       FOREACH(Items, Item_ItemsTime_Allow(it) && Item_ItemsTime_GetTime(it.m_id) != -1, {
+               id = it.m_id;
+               icon = it.m_icon;
+
+               LABEL(iteration)
+               float item_time = Item_ItemsTime_GetTime(id);
+               if (item_time < -1) {
+                       item_available = true;
+                       item_time = -item_time;
+               } else {
+                       item_available = (item_time <= time);
+               }
+
+               if (Item_ItemsTime_GetTime(id) >= 0) {
+                       if (time <= Item_ItemsTime_GetTime(id)) {
+                               ItemsTime_availableTime[id] = 0;
+                       } else if (ItemsTime_availableTime[id] == 0) {
+                               ItemsTime_availableTime[id] = time;
+                       }
+               } else if (ItemsTime_availableTime[id] == 0) {
+                       ItemsTime_availableTime[id] = time;
+               }
+
+               float f = (time - ItemsTime_availableTime[id]) * 2;
+               f = (f > 1) ? 0 : bound(0, f, 1);
+
+               if (autocvar_hud_panel_itemstime_hidespawned == 1) {
+                       if (!(Item_ItemsTime_GetTime(id) > time || -Item_ItemsTime_GetTime(id) > time)) {
+                               continue;
+                       }
+               }
+
+               if (autocvar_hud_panel_itemstime_hidespawned == 2) {
+                       if (!(Item_ItemsTime_GetTime(id) > time)) {
+                               continue;
+                       }
+               }
+
+               DrawItemsTimeItem(pos + vec2(column * (itemstime_size.x + offset.x), row * (itemstime_size.y + offset.y)), itemstime_size, ar, icon, item_time, item_available, f);
+               ++row;
+               if (row >= rows) {
+                       row = 0;
+                       column = column + 1;
+               }
+               if (id == Items_MAX) { // can happen only in the last fake iteration
+                       break;
+               }
+       });
+       // add another fake iteration for superweapons time
+       if (id < Items_MAX && Item_ItemsTime_GetTime(Items_MAX) != -1) {
                id = Items_MAX;
                icon = "superweapons";
                goto iteration;
-    }
+       }
 }
 
 #endif
index ac06a8f7747160259588667e74a20ba33878da9e..5bab3429530028fdb616c906aba5d0042f786260 100644 (file)
@@ -24,8 +24,7 @@ MUTATOR_HOOKFUNCTION(melee_only, FilterItem)
 {
        entity item = M_ARGV(0, entity);
 
-       switch (item.itemdef)
-       {
+       switch (item.itemdef) {
                case ITEM_HealthSmall:
                case ITEM_ArmorSmall:
                        return false;
index 54b3673c6e245331c69b72dc69a0bffaa3f5ad13..f5c9f5d5e812bb7eed339a1513b8ce68261e6a51 100644 (file)
@@ -12,21 +12,24 @@ MUTATOR_HOOKFUNCTION(midair, Damage_Calculate)
        entity frag_attacker = M_ARGV(1, entity);
        entity frag_target = M_ARGV(2, entity);
 
-       if(IS_PLAYER(frag_attacker))
-       if(IS_PLAYER(frag_target))
-       if(time < frag_target.midair_shieldtime)
-               M_ARGV(4, float) = 0;
+       if (IS_PLAYER(frag_attacker)) {
+               if (IS_PLAYER(frag_target)) {
+                       if (time < frag_target.midair_shieldtime) {
+                               M_ARGV(4, float) = 0;
+                       }
+               }
+       }
 }
 
 MUTATOR_HOOKFUNCTION(midair, PlayerPowerups)
 {
        entity player = M_ARGV(0, entity);
 
-       if(time >= game_starttime)
-       if(IS_ONGROUND(player))
-       {
-               player.effects |= (EF_ADDITIVE | EF_FULLBRIGHT);
-               player.midair_shieldtime = max(player.midair_shieldtime, time + autocvar_g_midair_shieldtime);
+       if (time >= game_starttime) {
+               if (IS_ONGROUND(player)) {
+                       player.effects |= (EF_ADDITIVE | EF_FULLBRIGHT);
+                       player.midair_shieldtime = max(player.midair_shieldtime, time + autocvar_g_midair_shieldtime);
+               }
        }
 }
 
@@ -34,8 +37,9 @@ MUTATOR_HOOKFUNCTION(midair, PlayerSpawn)
 {
        entity player = M_ARGV(0, entity);
 
-       if(IS_BOT_CLIENT(player))
+       if (IS_BOT_CLIENT(player)) {
                player.bot_moveskill = 0; // disable bunnyhopping
+       }
 }
 
 MUTATOR_HOOKFUNCTION(midair, BuildMutatorsString)
index 081a1fdb6fd69d7767de22b0ebecd8c8445e93b4..a1ad372e89a7c5d9956b0c4d85ad29d8bffb1216 100644 (file)
@@ -3,7 +3,7 @@
 #ifdef GAMEQC
 
 #ifdef SVQC
-       #include <server/antilag.qh>
+#include <server/antilag.qh>
 #endif
 #include <common/physics/player.qh>
 
@@ -14,98 +14,94 @@ REGISTER_MUTATOR(multijump, autocvar_g_multijump);
 REGISTER_MUTATOR(multijump, true);
 #endif
 
-#define PHYS_MULTIJUMP(s)                              STAT(MULTIJUMP, s)
-#define PHYS_MULTIJUMP_SPEED(s)                STAT(MULTIJUMP_SPEED, s)
-#define PHYS_MULTIJUMP_ADD(s)                  STAT(MULTIJUMP_ADD, s)
-#define PHYS_MULTIJUMP_MAXSPEED(s)             STAT(MULTIJUMP_MAXSPEED, s)
-#define PHYS_MULTIJUMP_DODGING(s)              STAT(MULTIJUMP_DODGING, s)
-#define PHYS_MULTIJUMP_COUNT(s)                STAT(MULTIJUMP_COUNT, s)
+#define PHYS_MULTIJUMP(s) STAT(MULTIJUMP, s)
+#define PHYS_MULTIJUMP_SPEED(s) STAT(MULTIJUMP_SPEED, s)
+#define PHYS_MULTIJUMP_ADD(s) STAT(MULTIJUMP_ADD, s)
+#define PHYS_MULTIJUMP_MAXSPEED(s) STAT(MULTIJUMP_MAXSPEED, s)
+#define PHYS_MULTIJUMP_DODGING(s) STAT(MULTIJUMP_DODGING, s)
+#define PHYS_MULTIJUMP_COUNT(s) STAT(MULTIJUMP_COUNT, s)
 
 .bool multijump_ready;
 
 #ifdef CSQC
 bool autocvar_cl_multijump = true;
 
-       #define PHYS_MULTIJUMP_CLIENT(s)        autocvar_cl_multijump
+#define PHYS_MULTIJUMP_CLIENT(s) autocvar_cl_multijump
 #elif defined(SVQC)
 .bool cvar_cl_multijump;
 
-       #define PHYS_MULTIJUMP_CLIENT(s)        CS(s).cvar_cl_multijump
+#define PHYS_MULTIJUMP_CLIENT(s) CS(s).cvar_cl_multijump
 #endif
 
 MUTATOR_HOOKFUNCTION(multijump, PlayerPhysics)
 {
-    entity player = M_ARGV(0, entity);
+       entity player = M_ARGV(0, entity);
 
 #ifdef CSQC
        player.multijump_count = PHYS_MULTIJUMP_COUNT(player);
 #endif
-       if(!PHYS_MULTIJUMP(player)) { return; }
+       if (!PHYS_MULTIJUMP(player)) { return; }
 
-       if(IS_ONGROUND(player))
+       if (IS_ONGROUND(player)) {
                player.multijump_count = 0;
+       }
 }
 
 MUTATOR_HOOKFUNCTION(multijump, PlayerJump)
 {
        entity player = M_ARGV(0, entity);
 
-       if(!PHYS_MULTIJUMP(player)) { return; }
+       if (!PHYS_MULTIJUMP(player)) { return; }
 
        int client_multijump = PHYS_MULTIJUMP_CLIENT(player);
-       if(client_multijump > 1)
-               return; // nope
-
-       if (!IS_JUMP_HELD(player) && !IS_ONGROUND(player) && client_multijump) // jump button pressed this frame and we are in midair
-               player.multijump_ready = true;  // this is necessary to check that we released the jump button and pressed it again
-       else
+       if (client_multijump > 1) {
+               return;                        // nope
+       }
+       if (!IS_JUMP_HELD(player) && !IS_ONGROUND(player) && client_multijump) // jump button pressed this frame and we are in midair
+               player.multijump_ready = true; // this is necessary to check that we released the jump button and pressed it again
+       } else {
                player.multijump_ready = false;
+       }
 
        int phys_multijump = PHYS_MULTIJUMP(player);
 
-       if(!M_ARGV(2, bool) && player.multijump_ready && (PHYS_MULTIJUMP_COUNT(player) < phys_multijump || phys_multijump == -1) && player.velocity_z > PHYS_MULTIJUMP_SPEED(player) &&
-               (!PHYS_MULTIJUMP_MAXSPEED(player) || vdist(player.velocity, <=, PHYS_MULTIJUMP_MAXSPEED(player))))
-       {
-               if (PHYS_MULTIJUMP(player))
-               {
-                       if (!PHYS_MULTIJUMP_ADD(player)) // in this case we make the z velocity == jumpvelocity
-                       {
-                               if (player.velocity_z < PHYS_JUMPVELOCITY(player))
-                               {
+       if (!M_ARGV(2, bool) && player.multijump_ready && (PHYS_MULTIJUMP_COUNT(player) < phys_multijump || phys_multijump == -1) && player.velocity_z > PHYS_MULTIJUMP_SPEED(player)
+               && (!PHYS_MULTIJUMP_MAXSPEED(player) || vdist(player.velocity, <=, PHYS_MULTIJUMP_MAXSPEED(player)))) {
+               if (PHYS_MULTIJUMP(player)) {
+                       if (!PHYS_MULTIJUMP_ADD(player)) { // in this case we make the z velocity == jumpvelocity
+                               if (player.velocity_z < PHYS_JUMPVELOCITY(player)) {
                                        M_ARGV(2, bool) = true;
                                        player.velocity_z = 0;
                                }
-                       }
-                       else
+                       } else {
                                M_ARGV(2, bool) = true;
+                       }
 
-                       if(M_ARGV(2, bool))
-                       {
-                               if(PHYS_MULTIJUMP_DODGING(player))
-                               if(PHYS_CS(player).movement_x != 0 || PHYS_CS(player).movement_y != 0) // don't remove all speed if player isnt pressing any movement keys
-                               {
-                                       float curspeed;
-                                       vector wishvel, wishdir;
+                       if (M_ARGV(2, bool)) {
+                               if (PHYS_MULTIJUMP_DODGING(player)) {
+                                       if (PHYS_CS(player).movement_x != 0 || PHYS_CS(player).movement_y != 0) { // don't remove all speed if player isnt pressing any movement keys
+                                               float curspeed;
+                                               vector wishvel, wishdir;
 
 /*#ifdef SVQC
-                                       curspeed = max(
-                                               vlen(vec2(player.velocity)), // current xy speed
-                                               vlen(vec2(antilag_takebackavgvelocity(player, max(player.lastteleporttime + sys_frametime, time - 0.25), time))) // average xy topspeed over the last 0.25 secs
-                                       );
+                    curspeed = max(
+                        vlen(vec2(player.velocity)), // current xy speed
+                        vlen(vec2(antilag_takebackavgvelocity(player, max(player.lastteleporttime + sys_frametime, time - 0.25), time))) // average xy topspeed over the last 0.25 secs
+                    );
 #elif defined(CSQC)*/
-                                       curspeed = vlen(vec2(player.velocity));
-//#endif
+                                               curspeed = vlen(vec2(player.velocity));
+// #endif
 
-                                       makevectors(player.v_angle_y * '0 1 0');
-                                       wishvel = v_forward * PHYS_CS(player).movement_x + v_right * PHYS_CS(player).movement_y;
-                                       wishdir = normalize(wishvel);
+                                               makevectors(player.v_angle_y * '0 1 0');
+                                               wishvel = v_forward * PHYS_CS(player).movement_x + v_right * PHYS_CS(player).movement_y;
+                                               wishdir = normalize(wishvel);
 
-                                       player.velocity_x = wishdir_x * curspeed; // allow "dodging" at a multijump
-                                       player.velocity_y = wishdir_y * curspeed;
-                                       // keep velocity_z unchanged!
+                                               player.velocity_x = wishdir_x * curspeed; // allow "dodging" at a multijump
+                                               player.velocity_y = wishdir_y * curspeed;
+                                               // keep velocity_z unchanged!
+                                       }
                                }
-                               if (PHYS_MULTIJUMP(player) > 0)
-                               {
+                               if (PHYS_MULTIJUMP(player) > 0) {
                                        player.multijump_count += 1;
                                }
                        }
index 3618fd4181c0a4854704905e0e29a7b54ac971fb..1c12a5767ff147434ffba43857fafcf79a0954e9 100644 (file)
@@ -27,28 +27,28 @@ REGISTRY_CHECK(Nades)
 #define REGISTER_NADE(id) REGISTER(Nades, NADE_TYPE, id, m_id, NEW(Nade))
 
 CLASS(Nade, Object)
-    ATTRIB(Nade, m_id, int, 0);
-    ATTRIB(Nade, m_color, vector, '0 0 0');
-    ATTRIB(Nade, m_name, string, _("Grenade"));
-    ATTRIB(Nade, m_icon, string, "nade_normal");
-    ATTRIBARRAY(Nade, m_projectile, int, 2);
-    ATTRIBARRAY(Nade, m_trail, entity, 2);
-    METHOD(Nade, display, void(entity this, void(string name, string icon) returns)) {
-        returns(this.m_name, sprintf("/gfx/hud/%s/%s", cvar_string("menu_skin"), this.m_icon));
-    }
+       ATTRIB(Nade, m_id, int, 0);
+       ATTRIB(Nade, m_color, vector, '0 0 0');
+       ATTRIB(Nade, m_name, string, _("Grenade"));
+       ATTRIB(Nade, m_icon, string, "nade_normal");
+       ATTRIBARRAY(Nade, m_projectile, int, 2);
+       ATTRIBARRAY(Nade, m_trail, entity, 2);
+       METHOD(Nade, display, void(entity this, void(string name, string icon) returns))
+       {
+               returns(this.m_name, sprintf("/gfx/hud/%s/%s", cvar_string("menu_skin"), this.m_icon));
+       }
 ENDCLASS(Nade)
 
 REGISTER_NADE(Null);
 
 Nade Nade_FromProjectile(int proj)
 {
-    FOREACH(Nades, true, {
-        for (int j = 0; j < 2; j++)
-        {
-            if (it.m_projectile[j] == proj) return it;
-        }
-    });
-    return NADE_TYPE_Null;
+       FOREACH(Nades, true, {
+               for (int j = 0; j < 2; j++) {
+                       if (it.m_projectile[j] == proj) { return it; }
+               }
+       });
+       return NADE_TYPE_Null;
 }
 
 #ifdef GAMEQC
@@ -91,13 +91,13 @@ void nades_GiveBonus(entity player, float score);
  * called to adjust nade damage and force on hit
  */
 #define EV_Nade_Damage(i, o) \
-    /** nade */   i(entity, MUTATOR_ARGV_0_entity) \
-       /** weapon */ i(entity, MUTATOR_ARGV_1_entity) \
-    /** force */  i(vector, MUTATOR_ARGV_2_vector) \
-    /**/          o(vector, MUTATOR_ARGV_2_vector) \
-       /** damage */ i(float,  MUTATOR_ARGV_3_float) \
-    /**/          o(float,  MUTATOR_ARGV_3_float) \
-    /**/
+       /** nade */ i(entity, MUTATOR_ARGV_0_entity) \
+       /** weapon */ i(entity, MUTATOR_ARGV_1_entity) \
+       /** force */ i(vector, MUTATOR_ARGV_2_vector) \
+       /**/ o(vector, MUTATOR_ARGV_2_vector) \
+       /** damage */ i(float,  MUTATOR_ARGV_3_float) \
+       /**/ o(float,  MUTATOR_ARGV_3_float) \
+       /**/
 MUTATOR_HOOKABLE(Nade_Damage, EV_Nade_Damage);
 
 #endif
index 498d878d2d272341bd2ba9b04fd8908393a5e713..e50e0228ba50d150b8624b6f2da9fbe61610f208 100644 (file)
@@ -10,11 +10,12 @@ void orb_draw(entity this)
 {
        float dt = time - this.move_time;
        this.move_time = time;
-       if(dt <= 0)
+       if (dt <= 0) {
                return;
+       }
 
        this.alpha = (this.ltime - time) / this.orb_lifetime;
-       this.scale = min((1 - this.alpha)*this.orb_lifetime*4,1)*this.orb_radius;
+       this.scale = min((1 - this.alpha) * this.orb_lifetime * 4, 1) * this.orb_radius;
        this.angles = this.angles + dt * this.avelocity;
 }
 
@@ -27,8 +28,8 @@ void orb_setup(entity e)
 
        float model_radius = e.maxs.x;
        vector size = '1 1 1' * e.orb_radius / 2;
-       setsize(e,-size,size);
-       e.orb_radius = e.orb_radius/model_radius*0.6;
+       setsize(e, -size, size);
+       e.orb_radius = e.orb_radius / model_radius * 0.6;
 
        e.draw = orb_draw;
        IL_PUSH(g_drawables, e);
@@ -59,7 +60,7 @@ NET_HANDLE(Nade_Orb, bool isNew)
                this.colormod_z = ReadCoord();
                this.orb_lifetime = ReadByte();
                this.orb_radius = ReadShort();
-               this.ltime = time + ReadByte()/10.0;
+               this.ltime = time + ReadByte() / 10.0;
                // this.ltime = time + this.orb_lifetime;
                orb_setup(this);
        }
@@ -83,10 +84,10 @@ bool orb_send(entity this, entity to, int sf)
                WriteCoord(channel, this.colormod.z);
 
                WriteByte(channel, this.orb_lifetime);
-               //WriteByte(MSG_ENTITY, this.ltime - time + 1);
+               // WriteByte(MSG_ENTITY, this.ltime - time + 1);
                WriteShort(channel, this.orb_radius);
                // round time delta to a 1/10th of a second
-               WriteByte(channel, (this.ltime - time)*10.0+0.5);
+               WriteByte(channel, (this.ltime - time) * 10.0 + 0.5);
        }
        return true;
 }
index af364995a1e92bc13c42b287babb5e3471938441..3e9a0d20106d2be65c49f6d1cd52cdda69dab647 100644 (file)
@@ -3,8 +3,8 @@
 /*
 
 CORE    laser   vortex     lg      rl      cry     gl      elec    hagar   fireb   hook
-                                                                       vaporizer  porto
-                                                                       tuba
+                                    vaporizer  porto
+                                    tuba
 
 NEW             rifle   hlac    minel                           seeker
 IDEAS                                   OPEN    flak    OPEN            FUN FUN FUN FUN
@@ -76,21 +76,24 @@ REGISTER_MUTATOR(nt, expr_evaluate(autocvar_g_new_toys) && !cvar("g_instagib") &
 {
        MUTATOR_ONADD
        {
-               if(time > 1) // game loads at time 1
+               if (time > 1) { // game loads at time 1
                        error("This cannot be added at runtime\n");
+               }
 
                // mark the guns as ok to use by e.g. impulse 99
                FOREACH(Weapons, it != WEP_Null, {
-                       if(nt_IsNewToy(it.m_id))
+                       if (nt_IsNewToy(it.m_id)) {
                                it.spawnflags &= ~WEP_FLAG_MUTATORBLOCKED;
+                       }
                });
        }
 
        MUTATOR_ONROLLBACK_OR_REMOVE
        {
                FOREACH(Weapons, it != WEP_Null, {
-                       if(nt_IsNewToy(it.m_id))
+                       if (nt_IsNewToy(it.m_id)) {
                                it.spawnflags |= WEP_FLAG_MUTATORBLOCKED;
+                       }
                });
        }
 
@@ -113,8 +116,7 @@ const float NT_AUTOREPLACE_RANDOM = 2;
 
 bool nt_IsNewToy(int w)
 {
-       switch(w)
-       {
+       switch (w) {
                case WEP_SEEKER.m_id:
                case WEP_MINE_LAYER.m_id:
                case WEP_HLAC.m_id:
@@ -128,26 +130,28 @@ bool nt_IsNewToy(int w)
 
 string nt_GetFullReplacement(string w)
 {
-       switch(w)
-       {
+       switch (w) {
                case "hagar": return "seeker";
                case "devastator": return "minelayer";
                case "machinegun": return "hlac";
                case "vortex": return "rifle";
-               //case "shotgun": return "shockwave";
+               // case "shotgun": return "shockwave";
                default: return string_null;
        }
 }
 
 string nt_GetReplacement(string w, float m)
 {
-       if(m == NT_AUTOREPLACE_NEVER)
+       if (m == NT_AUTOREPLACE_NEVER) {
                return w;
+       }
        string s = nt_GetFullReplacement(w);
-       if (!s)
+       if (!s) {
                return w;
-       if(m == NT_AUTOREPLACE_RANDOM)
+       }
+       if (m == NT_AUTOREPLACE_RANDOM) {
                s = strcat(w, " ", s);
+       }
        return s;
 }
 
@@ -171,15 +175,15 @@ MUTATOR_HOOKFUNCTION(nt, SetStartItems)
                seti = it.m_wepset;
                n = tokenize_console(nt_GetReplacement(it.netname, autocvar_g_new_toys_autoreplace));
 
-               for(j = 0; j < n; ++j)
+               for (j = 0; j < n; ++j) {
                        FOREACH(Weapons, it != WEP_Null, {
-                               if(it.netname == argv(j))
-                               {
+                               if (it.netname == argv(j)) {
                                        WepSet setk = it.m_wepset;
-                                       if(start_weapons & seti) newdefault |= setk;
-                                       if(warmup_start_weapons & seti) warmup_newdefault |= setk;
+                                       if (start_weapons & seti) { newdefault |= setk; }
+                                       if (warmup_start_weapons & seti) { warmup_newdefault |= setk; }
                                }
                        });
+               }
        });
 
        newdefault &= start_weapons_defaultmask;
@@ -198,13 +202,10 @@ MUTATOR_HOOKFUNCTION(nt, SetWeaponreplace)
        string ret_string = M_ARGV(2, string);
 
        // otherwise, we do replace
-       if(wep.new_toys)
-       {
+       if (wep.new_toys) {
                // map defined replacement:
                ret_string = wep.new_toys;
-       }
-       else
-       {
+       } else {
                // auto replacement:
                ret_string = nt_GetReplacement(wepinfo.netname, autocvar_g_new_toys_autoreplace);
        }
@@ -219,7 +220,7 @@ MUTATOR_HOOKFUNCTION(nt, FilterItem)
 {
        entity item = M_ARGV(0, entity);
 
-       if(nt_IsNewToy(item.weapon) && autocvar_g_new_toys_use_pickupsound) {
+       if (nt_IsNewToy(item.weapon) && autocvar_g_new_toys_use_pickupsound) {
                item.item_pickupsound = string_null;
                item.item_pickupsound_ent = SND_WEAPONPICKUP_NEW_TOYS;
        }
index 38cd7474b786c34343e4acf30009421d3fb8ec05..cd396451220163605eced0da9ec39fc07507960c 100644 (file)
@@ -9,8 +9,7 @@ REGISTER_MUTATOR(physical_items, autocvar_g_physical_items)
        // check if we have a physics engine
        MUTATOR_ONADD
        {
-               if (!(autocvar_physics_ode && checkextension("DP_PHYSICS_ODE")))
-               {
+               if (!(autocvar_physics_ode && checkextension("DP_PHYSICS_ODE"))) {
                        LOG_TRACE("Warning: Physical items are enabled but no physics engine can be used. Reverting to old items.");
                        return -1;
                }
@@ -38,26 +37,21 @@ void physical_item_think(entity this)
 
        this.alpha = this.owner.alpha; // apply fading and ghosting
 
-       if(!this.cnt) // map item, not dropped
-       {
+       if (!this.cnt) { // map item, not dropped
                // copy ghost item properties
                this.colormap = this.owner.colormap;
                this.colormod = this.owner.colormod;
                this.glowmod = this.owner.glowmod;
 
                // if the item is not spawned, make sure the invisible / ghost item returns to its origin and stays there
-               if(autocvar_g_physical_items_reset)
-               {
-                       if(this.owner.wait > time) // awaiting respawn
-                       {
+               if (autocvar_g_physical_items_reset) {
+                       if (this.owner.wait > time) { // awaiting respawn
                                setorigin(this, this.spawn_origin);
                                this.angles = this.spawn_angles;
                                this.solid = SOLID_NOT;
                                this.alpha = -1;
                                set_movetype(this, MOVETYPE_NONE);
-                       }
-                       else
-                       {
+                       } else {
                                this.alpha = 1;
                                this.solid = SOLID_CORPSE;
                                set_movetype(this, MOVETYPE_PHYSICS);
@@ -65,27 +59,28 @@ void physical_item_think(entity this)
                }
        }
 
-       if(!this.owner.modelindex)
+       if (!this.owner.modelindex) {
                delete(this); // the real item is gone, remove this
+       }
 }
 
 void physical_item_touch(entity this, entity toucher)
 {
-       if(!this.cnt) // not for dropped items
-       if (ITEM_TOUCH_NEEDKILL())
-       {
-               setorigin(this, this.spawn_origin);
-               this.angles = this.spawn_angles;
+       if (!this.cnt) { // not for dropped items
+               if (ITEM_TOUCH_NEEDKILL()) {
+                       setorigin(this, this.spawn_origin);
+                       this.angles = this.spawn_angles;
+               }
        }
 }
 
 void physical_item_damage(entity this, entity inflictor, entity attacker, float damage, int deathtype, vector hitloc, vector force)
 {
-       if(!this.cnt) // not for dropped items
-       if(ITEM_DAMAGE_NEEDKILL(deathtype))
-       {
-               setorigin(this, this.spawn_origin);
-               this.angles = this.spawn_angles;
+       if (!this.cnt) { // not for dropped items
+               if (ITEM_DAMAGE_NEEDKILL(deathtype)) {
+                       setorigin(this, this.spawn_origin);
+                       this.angles = this.spawn_angles;
+               }
        }
 }
 
@@ -93,10 +88,12 @@ MUTATOR_HOOKFUNCTION(physical_items, Item_Spawn)
 {
        entity item = M_ARGV(0, entity);
 
-       if(item.owner == NULL && autocvar_g_physical_items <= 1)
+       if (item.owner == NULL && autocvar_g_physical_items <= 1) {
                return;
-       if (item.spawnflags & 1) // floating item
+       }
+       if (item.spawnflags & 1) { // floating item
                return;
+       }
 
        // The actual item can't be physical and trigger at the same time, so make it invisible and use a second entity for physics.
        // Ugly hack, but unless SOLID_TRIGGER is gotten to work with MOVETYPE_PHYSICS in the engine it can't be fixed.
@@ -124,8 +121,7 @@ MUTATOR_HOOKFUNCTION(physical_items, Item_Spawn)
        settouch(wep, physical_item_touch);
        wep.event_damage = physical_item_damage;
 
-       if(!wep.cnt)
-       {
+       if (!wep.cnt) {
                // fix the spawn origin
                setorigin(wep, wep.origin + '0 0 1');
                droptofloor(wep);
@@ -136,6 +132,6 @@ MUTATOR_HOOKFUNCTION(physical_items, Item_Spawn)
 
        item.effects |= EF_NODRAW; // hide the original weapon
        set_movetype(item, MOVETYPE_FOLLOW);
-       item.aiment = wep; // attach the original weapon
+       item.aiment = wep;         // attach the original weapon
        setSendEntity(item, func_null);
 }
index 1084ff77895aa079e2dd9104ffe1159551f54db2..bba5d447a15d41cf37aa52dd09a782c7ce4b57e3 100644 (file)
@@ -7,18 +7,21 @@ MUTATOR_HOOKFUNCTION(pinata, PlayerDies)
 {
        entity frag_target = M_ARGV(2, entity);
 
-       for(int slot = 0; slot < MAX_WEAPONSLOTS; ++slot)
-       {
+       for (int slot = 0; slot < MAX_WEAPONSLOTS; ++slot) {
                .entity weaponentity = weaponentities[slot];
 
-               if(frag_target.(weaponentity).m_weapon == WEP_Null)
+               if (frag_target.(weaponentity).m_weapon == WEP_Null) {
                        continue;
+               }
 
                FOREACH(Weapons, it != WEP_Null, {
-                       if(frag_target.weapons & WepSet_FromWeapon(it))
-                       if(frag_target.(weaponentity).m_weapon != it)
-                       if(W_IsWeaponThrowable(frag_target, it.m_id))
-                               W_ThrowNewWeapon(frag_target, it.m_id, false, CENTER_OR_VIEWOFS(frag_target), randomvec() * 175 + '0 0 325', weaponentity);
+                       if (frag_target.weapons & WepSet_FromWeapon(it)) {
+                               if (frag_target.(weaponentity).m_weapon != it) {
+                                       if (W_IsWeaponThrowable(frag_target, it.m_id)) {
+                                               W_ThrowNewWeapon(frag_target, it.m_id, false, CENTER_OR_VIEWOFS(frag_target), randomvec() * 175 + '0 0 325', weaponentity);
+                                       }
+                               }
+                       }
                });
        }
 
index db361850d0d3b45bff34af0fd985e7c4d0a288db..75483eb6ab3a8bb09e12410e84b1044b34b39c5a 100644 (file)
@@ -24,15 +24,16 @@ float gravity_delay;
 
 MUTATOR_HOOKFUNCTION(random_gravity, SV_StartFrame)
 {
-       if(game_stopped || !cvar("g_random_gravity")) return false;
-       if(time < gravity_delay) return false;
-       if(time < game_starttime) return false;
-       if(round_handler_IsActive() && !round_handler_IsRoundStarted()) return false;
-
-    if(random() >= autocvar_g_random_gravity_negative_chance)
-        cvar_set("sv_gravity", ftos(bound(autocvar_g_random_gravity_min, random() - random() * -autocvar_g_random_gravity_negative, autocvar_g_random_gravity_max)));
-    else
-        cvar_set("sv_gravity", ftos(bound(autocvar_g_random_gravity_min, random() * autocvar_g_random_gravity_positive, autocvar_g_random_gravity_max)));
+       if (game_stopped || !cvar("g_random_gravity")) { return false; }
+       if (time < gravity_delay) { return false; }
+       if (time < game_starttime) { return false; }
+       if (round_handler_IsActive() && !round_handler_IsRoundStarted()) { return false; }
+
+       if (random() >= autocvar_g_random_gravity_negative_chance) {
+               cvar_set("sv_gravity", ftos(bound(autocvar_g_random_gravity_min, random() - random() * -autocvar_g_random_gravity_negative, autocvar_g_random_gravity_max)));
+       } else {
+               cvar_set("sv_gravity", ftos(bound(autocvar_g_random_gravity_min, random() * autocvar_g_random_gravity_positive, autocvar_g_random_gravity_max)));
+       }
 
        gravity_delay = time + autocvar_g_random_gravity_delay;
 
index d3c1922b997c9437ab82ba9f9c27603d1ed14e1f..4bcec727f0dbea9e2df8adf5944ecfbff2b871a2 100644 (file)
@@ -7,8 +7,7 @@ MUTATOR_HOOKFUNCTION(rocketflying, EditProjectile)
 {
        entity proj = M_ARGV(1, entity);
 
-       if(proj.classname == "rocket" || proj.classname == "mine")
-       {
+       if (proj.classname == "rocket" || proj.classname == "mine") {
                // kill detonate delay of rockets
                proj.spawnshieldtime = time;
        }
index 7edef9813de0fd3c13ca1d79d6593674202c32c1..bcfcb4652aca51b4be91464bf5f299563dd9b907 100644 (file)
@@ -8,21 +8,26 @@ REGISTER_MUTATOR(rm, cvar("g_instagib"));
 MUTATOR_HOOKFUNCTION(rm, Damage_Calculate)
 {
        // we do it this way, so rm can be toggled during the match
-       if(!autocvar_g_rm) { return; }
+       if (!autocvar_g_rm) { return; }
 
        entity frag_attacker = M_ARGV(1, entity);
        entity frag_target = M_ARGV(2, entity);
        float frag_deathtype = M_ARGV(3, float);
        float frag_damage = M_ARGV(4, float);
 
-       if(DEATH_ISWEAPON(frag_deathtype, WEP_DEVASTATOR))
-       if(frag_attacker == frag_target || frag_target.classname == "nade")
-               frag_damage = 0;
+       if (DEATH_ISWEAPON(frag_deathtype, WEP_DEVASTATOR)) {
+               if (frag_attacker == frag_target || frag_target.classname == "nade") {
+                       frag_damage = 0;
+               }
+       }
 
-       if(autocvar_g_rm_laser)
-       if(DEATH_ISWEAPON(frag_deathtype, WEP_ELECTRO))
-       if(frag_attacker == frag_target || (round_handler_IsActive() && !round_handler_IsRoundStarted()))
-               frag_damage = 0;
+       if (autocvar_g_rm_laser) {
+               if (DEATH_ISWEAPON(frag_deathtype, WEP_ELECTRO)) {
+                       if (frag_attacker == frag_target || (round_handler_IsActive() && !round_handler_IsRoundStarted())) {
+                               frag_damage = 0;
+                       }
+               }
+       }
 
        M_ARGV(4, float) = frag_damage;
 }
@@ -30,10 +35,11 @@ MUTATOR_HOOKFUNCTION(rm, Damage_Calculate)
 MUTATOR_HOOKFUNCTION(rm, PlayerDies)
 {
        // we do it this way, so rm can be toggled during the match
-       if(!autocvar_g_rm) { return; }
+       if (!autocvar_g_rm) { return; }
 
        float frag_deathtype = M_ARGV(3, float);
 
-       if(DEATH_ISWEAPON(frag_deathtype, WEP_DEVASTATOR) || DEATH_ISWEAPON(frag_deathtype, WEP_ELECTRO))
+       if (DEATH_ISWEAPON(frag_deathtype, WEP_DEVASTATOR) || DEATH_ISWEAPON(frag_deathtype, WEP_ELECTRO)) {
                M_ARGV(4, float) = 1000; // always gib if it was a vaporizer death
+       }
 }
index d121cf1094685ac9263f55143b59da831cf37610..75cffc825c6584c5623441f0fb9b43a2f7c8a9c8 100644 (file)
@@ -24,8 +24,9 @@ REGISTER_MUTATOR(sandbox, expr_evaluate(autocvar_g_sandbox))
        MUTATOR_ONADD
        {
                autosave_time = time + autocvar_g_sandbox_storage_autosave; // don't save the first server frame
-               if(autocvar_g_sandbox_storage_autoload)
+               if (autocvar_g_sandbox_storage_autoload) {
                        sandbox_Database_Load();
+               }
        }
 }
 
@@ -40,45 +41,48 @@ void sandbox_ObjectFunction_Touch(entity this, entity toucher)
 {
        // apply material impact effects
 
-       if(!this.material)
+       if (!this.material) {
                return;
-       if(this.touch_timer > time)
+       }
+       if (this.touch_timer > time) {
                return; // don't execute each frame
+       }
        this.touch_timer = time + 0.1;
 
        // make particle count and sound volume depend on impact speed
        float intensity;
        intensity = vlen(this.velocity) + vlen(toucher.velocity);
-       if(intensity) // avoid divisions by 0
-               intensity /= 2; // average the two velocities
-       if (!(intensity >= autocvar_g_sandbox_object_material_velocity_min))
-               return; // impact not strong enough to do anything
+       if (intensity) { // avoid divisions by 0
+               intensity /= 2;                                           // average the two velocities
+       }
+       if (!(intensity >= autocvar_g_sandbox_object_material_velocity_min)) {
+               return;                                                   // impact not strong enough to do anything
+       }
        // now offset intensity and apply it to the effects
        intensity -= autocvar_g_sandbox_object_material_velocity_min; // start from minimum velocity, not actual velocity
        intensity = bound(0, intensity * autocvar_g_sandbox_object_material_velocity_factor, 1);
 
-       _sound(this, CH_TRIGGER, strcat("object/impact_", this.material, "_", ftos(ceil(random() * 5)) , ".wav"), VOL_BASE * intensity, ATTEN_NORM);
+       _sound(this, CH_TRIGGER, strcat("object/impact_", this.material, "_", ftos(ceil(random() * 5)), ".wav"), VOL_BASE * intensity, ATTEN_NORM);
        Send_Effect_(strcat("impact_", this.material), this.origin, '0 0 0', ceil(intensity * 10)); // allow a count from 1 to 10
 }
 
 void sandbox_ObjectFunction_Think(entity this)
 {
        // decide if and how this object can be grabbed
-       if(autocvar_g_sandbox_readonly)
+       if (autocvar_g_sandbox_readonly) {
                this.grab = 0; // no grabbing
-       else if(autocvar_g_sandbox_editor_free < 2 && this.crypto_idfp)
+       } else if (autocvar_g_sandbox_editor_free < 2 && this.crypto_idfp) {
                this.grab = 1; // owner only
-       else
+       } else {
                this.grab = 3; // anyone
-
+       }
        // Object owner is stored via player UID, but we also need the owner as an entity (if the player is available on the server).
        // Therefore, scan for all players, and update the owner as long as the player is present. We must always do this,
        // since if the owning player disconnects, the object's owner should also be reset.
 
        // bots can't have objects
        FOREACH_CLIENT(IS_PLAYER(it) && IS_REAL_CLIENT(it), {
-               if(this.crypto_idfp == it.crypto_idfp)
-               {
+               if (this.crypto_idfp == it.crypto_idfp) {
                        this.realowner = it;
                        break;
                }
@@ -98,26 +102,30 @@ entity sandbox_ObjectEdit_Get(entity this, float permissions)
        // Attached objects are SOLID_NOT and do not get traced.
 
        crosshair_trace_plusvisibletriggers(this);
-       if(vdist(this.origin - trace_ent.origin, >, autocvar_g_sandbox_editor_distance_edit))
-               return NULL; // out of trace range
-       if(trace_ent.classname != "object")
-               return NULL; // entity is not an object
-       if(!permissions)
+       if (vdist(this.origin - trace_ent.origin, >, autocvar_g_sandbox_editor_distance_edit)) {
+               return NULL;      // out of trace range
+       }
+       if (trace_ent.classname != "object") {
+               return NULL;      // entity is not an object
+       }
+       if (!permissions) {
                return trace_ent; // don't check permissions, anyone can edit this object
-       if(trace_ent.crypto_idfp == "")
+       }
+       if (trace_ent.crypto_idfp == "") {
                return trace_ent; // the player who spawned this object did not have an UID, so anyone can edit it
-       if (!(trace_ent.realowner != this && autocvar_g_sandbox_editor_free < 2))
+       }
+       if (!(trace_ent.realowner != this && autocvar_g_sandbox_editor_free < 2)) {
                return trace_ent; // object does not belong to the player, and players can only edit their own objects on this server
+       }
        return NULL;
 }
 
 void sandbox_ObjectEdit_Scale(entity e, float f)
 {
        e.scale = f;
-       if(e.scale)
-       {
+       if (e.scale) {
                e.scale = bound(autocvar_g_sandbox_object_scale_min, e.scale, autocvar_g_sandbox_object_scale_max);
-               _setmodel(e, e.model); // reset mins and maxs based on mesh
+               _setmodel(e, e.model);                          // reset mins and maxs based on mesh
                setsize(e, e.mins * e.scale, e.maxs * e.scale); // adapt bounding box size to model size
        }
 }
@@ -130,7 +138,7 @@ void sandbox_ObjectAttach_Set(entity e, entity parent, string s)
        // we can't attach to an attachment, for obvious reasons
        sandbox_ObjectAttach_Remove(e);
 
-       e.old_solid = e.solid; // persist solidity
+       e.old_solid = e.solid;            // persist solidity
        e.old_movetype = e.move_movetype; // persist physics
        set_movetype(e, MOVETYPE_FOLLOW);
        e.solid = SOLID_NOT;
@@ -152,9 +160,9 @@ void sandbox_ObjectAttach_Remove(entity e)
 
                // objects change origin and angles when detached, so apply previous position
                setorigin(it, org);
-               it.angles = e.angles; // don't allow detached objects to spin or roll
+               it.angles = e.angles;              // don't allow detached objects to spin or roll
 
-               it.solid = it.old_solid; // restore persisted solidity
+               it.solid = it.old_solid;           // restore persisted solidity
                set_movetype(it, it.old_movetype); // restore persisted physics
                it.takedamage = DAMAGE_AIM;
        });
@@ -176,20 +184,20 @@ entity sandbox_ObjectSpawn(entity this, float database)
        settouch(e, sandbox_ObjectFunction_Touch);
        setthink(e, sandbox_ObjectFunction_Think);
        e.nextthink = time;
-       //e.effects |= EF_SELECTABLE; // don't do this all the time, maybe just when editing objects?
+       // e.effects |= EF_SELECTABLE; // don't do this all the time, maybe just when editing objects?
 
-       if(!database)
-       {
+       if (!database) {
                // set the object's owner via player UID
                // if the player does not have an UID, the owner cannot be stored and his objects may be edited by anyone
-               if(this.crypto_idfp != "")
+               if (this.crypto_idfp != "") {
                        e.crypto_idfp = strzone(this.crypto_idfp);
-               else
+               } else {
                        print_to(this, "^1SANDBOX - WARNING: ^7You spawned an object, but lack a player UID. ^1Your objects are not secured and can be edited by any player!");
+               }
 
                // set public object information
-               e.netname = strzone(this.netname); // name of the owner
-               e.message = strzone(strftime(true, "%d-%m-%Y %H:%M:%S")); // creation time
+               e.netname = strzone(this.netname);                         // name of the owner
+               e.message = strzone(strftime(true, "%d-%m-%Y %H:%M:%S"));  // creation time
                e.message2 = strzone(strftime(true, "%d-%m-%Y %H:%M:%S")); // last editing time
 
                // set origin and direction based on player position and view angle
@@ -210,13 +218,14 @@ void sandbox_ObjectRemove(entity e)
        sandbox_ObjectAttach_Remove(e); // detach child objects
 
        // if the object being removed has been selected for attachment by a player, unset it
-       FOREACH_CLIENT(IS_PLAYER(it) && IS_REAL_CLIENT(it) && it.object_attach == e, { it.object_attach = NULL; });
-
-       if(e.material)  {       strunzone(e.material);  e.material = string_null;       }
-       if(e.crypto_idfp)       {       strunzone(e.crypto_idfp);       e.crypto_idfp = string_null;    }
-       if(e.netname)   {       strunzone(e.netname);   e.netname = string_null;        }
-       if(e.message)   {       strunzone(e.message);   e.message = string_null;        }
-       if(e.message2)  {       strunzone(e.message2);  e.message2 = string_null;       }
+       FOREACH_CLIENT(IS_PLAYER(it) && IS_REAL_CLIENT(it) && it.object_attach == e, { it.object_attach = NULL;
+               });
+
+       if (e.material) {   strunzone(e.material);  e.material = string_null;   }
+       if (e.crypto_idfp) {   strunzone(e.crypto_idfp);   e.crypto_idfp = string_null;    }
+       if (e.netname) {   strunzone(e.netname);   e.netname = string_null;    }
+       if (e.message) {   strunzone(e.message);   e.message = string_null;    }
+       if (e.message2) {   strunzone(e.message2);  e.message2 = string_null;   }
        delete(e);
        e = NULL;
 
@@ -232,44 +241,38 @@ string sandbox_ObjectPort_Save(entity e, bool database)
 
        // order doesn't really matter, as we're writing the file fresh
        IL_EACH(g_sandbox_objects, it == e || it.owner == e, LAMBDA(
-               // the main object needs to be first in the array [0] with attached objects following
+                       // the main object needs to be first in the array [0] with attached objects following
                int slot, physics, solidity;
-               if(it == e) // this is the main object, place it first
-               {
-                       slot = 0;
-                       solidity = it.solid; // applied solidity is normal solidity for children
-                       physics = it.move_movetype; // applied physics are normal physics for parents
-               }
-               else if(it.owner == e) // child object, list them in order
-               {
-                       o += 1; // children start from 1
-                       slot = o;
-                       solidity = it.old_solid; // persisted solidity is normal solidity for children
-                       physics = it.old_movetype; // persisted physics are normal physics for children
-                       gettaginfo(it.owner, it.tag_index); // get the name of the tag our object is attached to, used further below
-               }
-               else
-                       continue;
+               if (it == e) { // this is the main object, place it first
+               slot = 0;
+               solidity = it.solid;                // applied solidity is normal solidity for children
+               physics = it.move_movetype;         // applied physics are normal physics for parents
+       } else if (it.owner == e) { // child object, list them in order
+               o += 1;                             // children start from 1
+               slot = o;
+               solidity = it.old_solid;            // persisted solidity is normal solidity for children
+               physics = it.old_movetype;          // persisted physics are normal physics for children
+               gettaginfo(it.owner, it.tag_index); // get the name of the tag our object is attached to, used further below
+       } else {
+               continue;
+       }
 
-               // ---------------- OBJECT PROPERTY STORAGE: SAVE ----------------
-               if(slot)
-               {
-                       // properties stored only for child objects
-                       if(gettaginfo_name)
-                               port_string[slot] = strcat(port_string[slot], "\"", gettaginfo_name, "\" ");
-                       else
-                               port_string[slot] = strcat(port_string[slot], "\"\" "); // none
+                       // ---------------- OBJECT PROPERTY STORAGE: SAVE ----------------
+               if (slot) {
+               // properties stored only for child objects
+               if (gettaginfo_name) {
+                       port_string[slot] = strcat(port_string[slot], "\"", gettaginfo_name, "\" ");
+               } else {
+                       port_string[slot] = strcat(port_string[slot], "\"\" "); // none
                }
-               else
-               {
-                       // properties stored only for parent objects
-                       if(database)
-                       {
-                               port_string[slot] = strcat(port_string[slot], sprintf("\"%.9v\"", it.origin), " ");
-                               port_string[slot] = strcat(port_string[slot], sprintf("\"%.9v\"", it.angles), " ");
-                       }
+       } else {
+               // properties stored only for parent objects
+               if (database) {
+                       port_string[slot] = strcat(port_string[slot], sprintf("\"%.9v\"", it.origin), " ");
+                       port_string[slot] = strcat(port_string[slot], sprintf("\"%.9v\"", it.angles), " ");
                }
-               // properties stored for all objects
+       }
+                       // properties stored for all objects
                port_string[slot] = strcat(port_string[slot], "\"", it.model, "\" ");
                port_string[slot] = strcat(port_string[slot], ftos(it.skin), " ");
                port_string[slot] = strcat(port_string[slot], ftos(it.alpha), " ");
@@ -280,29 +283,30 @@ string sandbox_ObjectPort_Save(entity e, bool database)
                port_string[slot] = strcat(port_string[slot], ftos(solidity), " ");
                port_string[slot] = strcat(port_string[slot], ftos(physics), " ");
                port_string[slot] = strcat(port_string[slot], ftos(it.damageforcescale), " ");
-               if(it.material)
-                       port_string[slot] = strcat(port_string[slot], "\"", it.material, "\" ");
-               else
+               if (it.material) {
+               port_string[slot] = strcat(port_string[slot], "\"", it.material, "\" ");
+       } else {
+               port_string[slot] = strcat(port_string[slot], "\"\" "); // none
+       }
+               if (database) {
+               // properties stored only for the database
+               if (it.crypto_idfp) {
+                       port_string[slot] = strcat(port_string[slot], "\"", it.crypto_idfp, "\" ");
+               } else {
                        port_string[slot] = strcat(port_string[slot], "\"\" "); // none
-               if(database)
-               {
-                       // properties stored only for the database
-                       if(it.crypto_idfp)
-                               port_string[slot] = strcat(port_string[slot], "\"", it.crypto_idfp, "\" ");
-                       else
-                               port_string[slot] = strcat(port_string[slot], "\"\" "); // none
-                       port_string[slot] = strcat(port_string[slot], "\"", e.netname, "\" ");
-                       port_string[slot] = strcat(port_string[slot], "\"", e.message, "\" ");
-                       port_string[slot] = strcat(port_string[slot], "\"", e.message2, "\" ");
                }
-       ));
+               port_string[slot] = strcat(port_string[slot], "\"", e.netname, "\" ");
+               port_string[slot] = strcat(port_string[slot], "\"", e.message, "\" ");
+               port_string[slot] = strcat(port_string[slot], "\"", e.message2, "\" ");
+       }
+               ));
 
        // now apply the array to a simple string, with the ; symbol separating objects
        string s = "";
-       for(int j = 0; j <= MAX_STORAGE_ATTACHMENTS; ++j)
-       {
-               if(port_string[j])
+       for (int j = 0; j <= MAX_STORAGE_ATTACHMENTS; ++j) {
+               if (port_string[j]) {
                        s = strcat(s, port_string[j], "; ");
+               }
                port_string[j] = string_null; // fully clear the string
        }
 
@@ -317,12 +321,12 @@ entity sandbox_ObjectPort_Load(entity this, string s, float database)
 
        // separate objects between the ; symbols
        n = tokenizebyseparator(s, "; ");
-       for(i = 0; i < n; ++i)
+       for (i = 0; i < n; ++i) {
                port_string[i] = argv(i);
+       }
 
        // now separate and apply the properties of each object
-       for(i = 0; i < n; ++i)
-       {
+       for (i = 0; i < n; ++i) {
                float argv_num;
                string tagname = string_null;
                argv_num = 0;
@@ -330,51 +334,62 @@ entity sandbox_ObjectPort_Load(entity this, string s, float database)
                e = sandbox_ObjectSpawn(this, database);
 
                // ---------------- OBJECT PROPERTY STORAGE: LOAD ----------------
-               if(i)
-               {
+               if (i) {
                        // properties stored only for child objects
-                       if(argv(argv_num) != "")        tagname = argv(argv_num);       else tagname = string_null;     ++argv_num;
-               }
-               else
-               {
+                       if (argv(argv_num) != "") { tagname = argv(argv_num); } else { tagname = string_null; } ++argv_num;
+               } else {
                        // properties stored only for parent objects
-                       if(database)
-                       {
-                               setorigin(e, stov(argv(argv_num)));     ++argv_num;
-                               e.angles = stov(argv(argv_num));        ++argv_num;
+                       if (database) {
+                               setorigin(e, stov(argv(argv_num)));
+                               ++argv_num;
+                               e.angles = stov(argv(argv_num));
+                               ++argv_num;
                        }
                        parent = e; // mark parent objects as such
                }
                // properties stored for all objects
-               _setmodel(e, argv(argv_num));   ++argv_num;
-               e.skin = stof(argv(argv_num));  ++argv_num;
-               e.alpha = stof(argv(argv_num)); ++argv_num;
-               e.colormod = stov(argv(argv_num));      ++argv_num;
-               e.glowmod = stov(argv(argv_num));       ++argv_num;
-               e.frame = stof(argv(argv_num)); ++argv_num;
-               sandbox_ObjectEdit_Scale(e, stof(argv(argv_num)));      ++argv_num;
-               e.solid = e.old_solid = stof(argv(argv_num));   ++argv_num;
-               e.old_movetype = stof(argv(argv_num));  ++argv_num;
+               _setmodel(e, argv(argv_num));
+               ++argv_num;
+               e.skin = stof(argv(argv_num));
+               ++argv_num;
+               e.alpha = stof(argv(argv_num));
+               ++argv_num;
+               e.colormod = stov(argv(argv_num));
+               ++argv_num;
+               e.glowmod = stov(argv(argv_num));
+               ++argv_num;
+               e.frame = stof(argv(argv_num));
+               ++argv_num;
+               sandbox_ObjectEdit_Scale(e, stof(argv(argv_num)));
+               ++argv_num;
+               e.solid = e.old_solid = stof(argv(argv_num));
+               ++argv_num;
+               e.old_movetype = stof(argv(argv_num));
+               ++argv_num;
                set_movetype(e, e.old_movetype);
-               e.damageforcescale = stof(argv(argv_num));      ++argv_num;
-               if(e.material)  strunzone(e.material);  if(argv(argv_num) != "")        e.material = strzone(argv(argv_num));   else    e.material = string_null;       ++argv_num;
-               if(database)
-               {
+               e.damageforcescale = stof(argv(argv_num));
+               ++argv_num;
+               if (e.material) { strunzone(e.material); } if (argv(argv_num) != "") { e.material = strzone(argv(argv_num)); } else { e.material = string_null; } ++argv_num;
+               if (database) {
                        // properties stored only for the database
-                       if(e.crypto_idfp)       strunzone(e.crypto_idfp);       if(argv(argv_num) != "")        e.crypto_idfp = strzone(argv(argv_num));        else    e.crypto_idfp = string_null;    ++argv_num;
-                       if(e.netname)   strunzone(e.netname);   e.netname = strzone(argv(argv_num));    ++argv_num;
-                       if(e.message)   strunzone(e.message);   e.message = strzone(argv(argv_num));    ++argv_num;
-                       if(e.message2)  strunzone(e.message2);  e.message2 = strzone(argv(argv_num));   ++argv_num;
+                       if (e.crypto_idfp) { strunzone(e.crypto_idfp); } if (argv(argv_num) != "") { e.crypto_idfp = strzone(argv(argv_num)); } else { e.crypto_idfp = string_null; } ++argv_num;
+                       if (e.netname) { strunzone(e.netname); } e.netname = strzone(argv(argv_num));
+                       ++argv_num;
+                       if (e.message) { strunzone(e.message); } e.message = strzone(argv(argv_num));
+                       ++argv_num;
+                       if (e.message2) { strunzone(e.message2); } e.message2 = strzone(argv(argv_num));
+                       ++argv_num;
                }
 
                // attach last
-               if(i)
+               if (i) {
                        sandbox_ObjectAttach_Set(e, parent, tagname);
+               }
        }
 
-       for(i = 0; i <= MAX_STORAGE_ATTACHMENTS; ++i)
+       for (i = 0; i <= MAX_STORAGE_ATTACHMENTS; ++i) {
                port_string[i] = string_null; // fully clear the string
-
+       }
        return e;
 }
 
@@ -405,63 +420,61 @@ void sandbox_Database_Load()
 
        file_name = strcat("sandbox/storage_", autocvar_g_sandbox_storage_name, "_", GetMapname(), ".txt");
        file_get = fopen(file_name, FILE_READ);
-       if(file_get < 0)
-       {
-               if(autocvar_g_sandbox_info > 0)
+       if (file_get < 0) {
+               if (autocvar_g_sandbox_info > 0) {
                        LOG_INFO("^3SANDBOX - SERVER: ^7could not find storage file ^3", file_name, "^7, no objects were loaded");
-       }
-       else
-       {
-               for (;;)
-               {
+               }
+       } else {
+               for ( ; ; ) {
                        file_read = fgets(file_get);
-                       if(file_read == "")
+                       if (file_read == "") {
                                break;
-                       if(substring(file_read, 0, 2) == "//")
+                       }
+                       if (substring(file_read, 0, 2) == "//") {
                                continue;
-                       if(substring(file_read, 0, 1) == "#")
+                       }
+                       if (substring(file_read, 0, 1) == "#") {
                                continue;
+                       }
 
                        entity e;
                        e = sandbox_ObjectPort_Load(NULL, file_read, true);
 
-                       if(e.material)
-                       {
+                       if (e.material) {
                                // since objects are being loaded for the first time, precache material sounds for each
-                               for (i = 1; i <= 5; i++) // 5 sounds in total
+                               for (i = 1; i <= 5; i++) // 5 sounds in total
                                        precache_sound(strcat("object/impact_", e.material, "_", ftos(i), ".wav"));
+                               }
                        }
                }
-               if(autocvar_g_sandbox_info > 0)
+               if (autocvar_g_sandbox_info > 0) {
                        LOG_INFO("^3SANDBOX - SERVER: ^7successfully loaded storage file ^3", file_name);
+               }
        }
        fclose(file_get);
 }
 
 MUTATOR_HOOKFUNCTION(sandbox, SV_ParseClientCommand)
 {
-       if(MUTATOR_RETURNVALUE) // command was already handled?
+       if (MUTATOR_RETURNVALUE) { // command was already handled?
                return;
+       }
 
        entity player = M_ARGV(0, entity);
        string cmd_name = M_ARGV(1, string);
        int cmd_argc = M_ARGV(2, int);
 
-       if(cmd_name == "g_sandbox")
-       {
-               if(autocvar_g_sandbox_readonly)
-               {
+       if (cmd_name == "g_sandbox") {
+               if (autocvar_g_sandbox_readonly) {
                        print_to(player, "^2SANDBOX - INFO: ^7Sandbox mode is active, but in read-only mode. Sandbox commands cannot be used");
                        return true;
                }
-               if(cmd_argc < 2)
-               {
+               if (cmd_argc < 2) {
                        print_to(player, "^2SANDBOX - INFO: ^7Sandbox mode is active. For usage information, type 'sandbox help'");
                        return true;
                }
 
-               switch(argv(1))
-               {
+               switch (argv(1)) {
                        entity e;
                        int j;
                        string s;
@@ -499,24 +512,20 @@ MUTATOR_HOOKFUNCTION(sandbox, SV_ParseClientCommand)
 
                        // ---------------- COMMAND: OBJECT, SPAWN ----------------
                        case "object_spawn":
-                               if(time < player.object_flood)
-                               {
+                               if (time < player.object_flood) {
                                        print_to(player, strcat("^1SANDBOX - WARNING: ^7Flood protection active. Please wait ^3", ftos(player.object_flood - time), " ^7seconds beofore spawning another object"));
                                        return true;
                                }
                                player.object_flood = time + autocvar_g_sandbox_editor_flood;
-                               if(object_count >= autocvar_g_sandbox_editor_maxobjects)
-                               {
+                               if (object_count >= autocvar_g_sandbox_editor_maxobjects) {
                                        print_to(player, strcat("^1SANDBOX - WARNING: ^7Cannot spawn any more objects. Up to ^3", ftos(autocvar_g_sandbox_editor_maxobjects), " ^7objects may exist at a time"));
                                        return true;
                                }
-                               if(cmd_argc < 3)
-                               {
+                               if (cmd_argc < 3) {
                                        print_to(player, "^1SANDBOX - WARNING: ^7Attempted to spawn an object without specifying a model. Please specify the path to your model file after the 'object_spawn' command");
                                        return true;
                                }
-                               if (!(fexists(argv(2))))
-                               {
+                               if (!(fexists(argv(2)))) {
                                        print_to(player, "^1SANDBOX - WARNING: ^7Attempted to spawn an object with a non-existent model. Make sure the path to your model file is correct");
                                        return true;
                                }
@@ -524,17 +533,18 @@ MUTATOR_HOOKFUNCTION(sandbox, SV_ParseClientCommand)
                                e = sandbox_ObjectSpawn(player, false);
                                _setmodel(e, argv(2));
 
-                               if(autocvar_g_sandbox_info > 0)
+                               if (autocvar_g_sandbox_info > 0) {
                                        LOG_INFO("^3SANDBOX - SERVER: ^7", player.netname, " spawned an object at origin ^3", vtos(e.origin));
+                               }
                                return true;
 
                        // ---------------- COMMAND: OBJECT, REMOVE ----------------
                        case "object_remove":
                                e = sandbox_ObjectEdit_Get(player, true);
-                               if(e != NULL)
-                               {
-                                       if(autocvar_g_sandbox_info > 0)
+                               if (e != NULL) {
+                                       if (autocvar_g_sandbox_info > 0) {
                                                LOG_INFO("^3SANDBOX - SERVER: ^7", player.netname, " removed an object at origin ^3", vtos(e.origin));
+                                       }
                                        sandbox_ObjectRemove(e);
                                        return true;
                                }
@@ -544,13 +554,11 @@ MUTATOR_HOOKFUNCTION(sandbox, SV_ParseClientCommand)
 
                        // ---------------- COMMAND: OBJECT, DUPLICATE ----------------
                        case "object_duplicate":
-                               switch(argv(2))
-                               {
+                               switch (argv(2)) {
                                        case "copy":
                                                // copies customizable properties of the selected object to the clipboard cvar
                                                e = sandbox_ObjectEdit_Get(player, autocvar_g_sandbox_editor_free); // can we copy objects we can't edit?
-                                               if(e != NULL)
-                                               {
+                                               if (e != NULL) {
                                                        s = sandbox_ObjectPort_Save(e, false);
                                                        s = strreplace("\"", "\\\"", s);
                                                        stuffcmd(player, strcat("set ", argv(3), " \"", s, "\""));
@@ -563,40 +571,36 @@ MUTATOR_HOOKFUNCTION(sandbox, SV_ParseClientCommand)
 
                                        case "paste":
                                                // spawns a new object using the properties in the player's clipboard cvar
-                                               if(time < player.object_flood)
-                                               {
+                                               if (time < player.object_flood) {
                                                        print_to(player, strcat("^1SANDBOX - WARNING: ^7Flood protection active. Please wait ^3", ftos(player.object_flood - time), " ^7seconds beofore spawning another object"));
                                                        return true;
                                                }
                                                player.object_flood = time + autocvar_g_sandbox_editor_flood;
-                                               if(argv(3) == "") // no object in clipboard
-                                               {
+                                               if (argv(3) == "") { // no object in clipboard
                                                        print_to(player, "^1SANDBOX - WARNING: ^7No object in clipboard. You must copy an object before you can paste it");
                                                        return true;
                                                }
-                                               if(object_count >= autocvar_g_sandbox_editor_maxobjects)
-                                               {
+                                               if (object_count >= autocvar_g_sandbox_editor_maxobjects) {
                                                        print_to(player, strcat("^1SANDBOX - WARNING: ^7Cannot spawn any more objects. Up to ^3", ftos(autocvar_g_sandbox_editor_maxobjects), " ^7objects may exist at a time"));
                                                        return true;
                                                }
                                                e = sandbox_ObjectPort_Load(player, argv(3), false);
 
                                                print_to(player, "^2SANDBOX - INFO: ^7Object pasted successfully");
-                                               if(autocvar_g_sandbox_info > 0)
+                                               if (autocvar_g_sandbox_info > 0) {
                                                        LOG_INFO("^3SANDBOX - SERVER: ^7", player.netname, " pasted an object at origin ^3", vtos(e.origin));
+                                               }
                                                return true;
                                }
                                return true;
 
                        // ---------------- COMMAND: OBJECT, ATTACH ----------------
                        case "object_attach":
-                               switch(argv(2))
-                               {
+                               switch (argv(2)) {
                                        case "get":
                                                // select e as the object as meant to be attached
                                                e = sandbox_ObjectEdit_Get(player, true);
-                                               if(e != NULL)
-                                               {
+                                               if (e != NULL) {
                                                        player.object_attach = e;
                                                        print_to(player, "^2SANDBOX - INFO: ^7Object selected for attachment");
                                                        return true;
@@ -604,21 +608,20 @@ MUTATOR_HOOKFUNCTION(sandbox, SV_ParseClientCommand)
                                                print_to(player, "^1SANDBOX - WARNING: ^7Object could not be selected for attachment. Make sure you are facing an object that you have edit rights over");
                                                return true;
                                        case "set":
-                                               if(player.object_attach == NULL)
-                                               {
+                                               if (player.object_attach == NULL) {
                                                        print_to(player, "^1SANDBOX - WARNING: ^7No object selected for attachment. Please select an object to be attached first.");
                                                        return true;
                                                }
 
                                                // attaches the previously selected object to e
                                                e = sandbox_ObjectEdit_Get(player, true);
-                                               if(e != NULL)
-                                               {
+                                               if (e != NULL) {
                                                        sandbox_ObjectAttach_Set(player.object_attach, e, argv(3));
                                                        player.object_attach = NULL; // object was attached, no longer keep it scheduled for attachment
                                                        print_to(player, "^2SANDBOX - INFO: ^7Object attached successfully");
-                                                       if(autocvar_g_sandbox_info > 1)
+                                                       if (autocvar_g_sandbox_info > 1) {
                                                                LOG_INFO("^3SANDBOX - SERVER: ^7", player.netname, " attached objects at origin ^3", vtos(e.origin));
+                                                       }
                                                        return true;
                                                }
                                                print_to(player, "^1SANDBOX - WARNING: ^7Object could not be attached to the parent. Make sure you are facing an object that you have edit rights over");
@@ -626,12 +629,12 @@ MUTATOR_HOOKFUNCTION(sandbox, SV_ParseClientCommand)
                                        case "remove":
                                                // removes e if it was attached
                                                e = sandbox_ObjectEdit_Get(player, true);
-                                               if(e != NULL)
-                                               {
+                                               if (e != NULL) {
                                                        sandbox_ObjectAttach_Remove(e);
                                                        print_to(player, "^2SANDBOX - INFO: ^7Child objects detached successfully");
-                                                       if(autocvar_g_sandbox_info > 1)
+                                                       if (autocvar_g_sandbox_info > 1) {
                                                                LOG_INFO("^3SANDBOX - SERVER: ^7", player.netname, " detached objects at origin ^3", vtos(e.origin));
+                                                       }
                                                        return true;
                                                }
                                                print_to(player, "^1SANDBOX - WARNING: ^7Child objects could not be detached. Make sure you are facing an object that you have edit rights over");
@@ -641,17 +644,14 @@ MUTATOR_HOOKFUNCTION(sandbox, SV_ParseClientCommand)
 
                        // ---------------- COMMAND: OBJECT, EDIT ----------------
                        case "object_edit":
-                               if(argv(2) == "")
-                               {
+                               if (argv(2) == "") {
                                        print_to(player, "^1SANDBOX - WARNING: ^7Too few parameters. You must specify a property to edit");
                                        return true;
                                }
 
                                e = sandbox_ObjectEdit_Get(player, true);
-                               if(e != NULL)
-                               {
-                                       switch(argv(2))
-                                       {
+                               if (e != NULL) {
+                                       switch (argv(2)) {
                                                case "skin":
                                                        e.skin = stof(argv(3));
                                                        break;
@@ -671,8 +671,7 @@ MUTATOR_HOOKFUNCTION(sandbox, SV_ParseClientCommand)
                                                        sandbox_ObjectEdit_Scale(e, stof(argv(3)));
                                                        break;
                                                case "solidity":
-                                                       switch(argv(3))
-                                                       {
+                                                       switch (argv(3)) {
                                                                case "0": // non-solid
                                                                        e.solid = SOLID_TRIGGER;
                                                                        break;
@@ -683,8 +682,7 @@ MUTATOR_HOOKFUNCTION(sandbox, SV_ParseClientCommand)
                                                                        break;
                                                        }
                                                case "physics":
-                                                       switch(argv(3))
-                                                       {
+                                                       switch (argv(3)) {
                                                                case "0": // static
                                                                        set_movetype(e, MOVETYPE_NONE);
                                                                        break;
@@ -702,15 +700,15 @@ MUTATOR_HOOKFUNCTION(sandbox, SV_ParseClientCommand)
                                                        e.damageforcescale = stof(argv(3));
                                                        break;
                                                case "material":
-                                                       if(e.material)  strunzone(e.material);
-                                                       if(argv(3))
-                                                       {
-                                                               for (j = 1; j <= 5; j++) // precache material sounds, 5 in total
+                                                       if (e.material) { strunzone(e.material); }
+                                                       if (argv(3)) {
+                                                               for (j = 1; j <= 5; j++) { // precache material sounds, 5 in total
                                                                        precache_sound(strcat("object/impact_", argv(3), "_", ftos(j), ".wav"));
+                                                               }
                                                                e.material = strzone(argv(3));
-                                                       }
-                                                       else
+                                                       } else {
                                                                e.material = string_null; // no material
+                                                       }
                                                        break;
                                                default:
                                                        print_to(player, "^1SANDBOX - WARNING: ^7Invalid object property. For usage information, type 'sandbox help'");
@@ -718,11 +716,12 @@ MUTATOR_HOOKFUNCTION(sandbox, SV_ParseClientCommand)
                                        }
 
                                        // update last editing time
-                                       if(e.message2)  strunzone(e.message2);
+                                       if (e.message2) { strunzone(e.message2); }
                                        e.message2 = strzone(strftime(true, "%d-%m-%Y %H:%M:%S"));
 
-                                       if(autocvar_g_sandbox_info > 1)
+                                       if (autocvar_g_sandbox_info > 1) {
                                                LOG_INFO("^3SANDBOX - SERVER: ^7", player.netname, " edited property ^3", argv(2), " ^7of an object at origin ^3", vtos(e.origin));
+                                       }
                                        return true;
                                }
 
@@ -732,31 +731,27 @@ MUTATOR_HOOKFUNCTION(sandbox, SV_ParseClientCommand)
                        // ---------------- COMMAND: OBJECT, CLAIM ----------------
                        case "object_claim":
                                // if the player can edit an object but is not its owner, this can be used to claim that object
-                               if(player.crypto_idfp == "")
-                               {
+                               if (player.crypto_idfp == "") {
                                        print_to(player, "^1SANDBOX - WARNING: ^7You do not have a player UID, and cannot claim objects");
                                        return true;
                                }
                                e = sandbox_ObjectEdit_Get(player, true);
-                               if(e != NULL)
-                               {
+                               if (e != NULL) {
                                        // update the owner's name
                                        // Do this before checking if you're already the owner and skipping if such, so we
                                        // also update the player's nickname if he changed it (but has the same player UID)
-                                       if(e.netname != player.netname)
-                                       {
-                                               if(e.netname)   strunzone(e.netname);
+                                       if (e.netname != player.netname) {
+                                               if (e.netname) { strunzone(e.netname); }
                                                e.netname = strzone(player.netname);
                                                print_to(player, "^2SANDBOX - INFO: ^7Object owner name updated");
                                        }
 
-                                       if(e.crypto_idfp == player.crypto_idfp)
-                                       {
+                                       if (e.crypto_idfp == player.crypto_idfp) {
                                                print_to(player, "^2SANDBOX - INFO: ^7Object is already yours, nothing to claim");
                                                return true;
                                        }
 
-                                       if(e.crypto_idfp)       strunzone(e.crypto_idfp);
+                                       if (e.crypto_idfp) { strunzone(e.crypto_idfp); }
                                        e.crypto_idfp = strzone(player.crypto_idfp);
 
                                        print_to(player, "^2SANDBOX - INFO: ^7Object claimed successfully");
@@ -768,17 +763,15 @@ MUTATOR_HOOKFUNCTION(sandbox, SV_ParseClientCommand)
                        case "object_info":
                                // prints public information about the object to the player
                                e = sandbox_ObjectEdit_Get(player, false);
-                               if(e != NULL)
-                               {
-                                       switch(argv(2))
-                                       {
+                               if (e != NULL) {
+                                       switch (argv(2)) {
                                                case "object":
                                                        print_to(player, strcat("^2SANDBOX - INFO: ^7Object is owned by \"^7", e.netname, "^7\", created \"^3", e.message, "^7\", last edited \"^3", e.message2, "^7\""));
                                                        return true;
                                                case "mesh":
                                                        s = "";
                                                        FOR_EACH_TAG(e)
-                                                               s = strcat(s, "^7\"^5", gettaginfo_name, "^7\", ");
+                                                       s = strcat(s, "^7\"^5", gettaginfo_name, "^7\", ");
                                                        print_to(player, strcat("^2SANDBOX - INFO: ^7Object mesh is \"^3", e.model, "^7\" at animation frame ^3", ftos(e.frame), " ^7containing the following tags: ", s));
                                                        return true;
                                                case "attachments":
@@ -786,16 +779,17 @@ MUTATOR_HOOKFUNCTION(sandbox, SV_ParseClientCommand)
                                                        s = "";
                                                        j = 0;
                                                        IL_EACH(g_sandbox_objects, it.owner == e,
-                                                       {
-                                                               ++j; // start from 1
-                                                               gettaginfo(e, it.tag_index);
-                                                               s = strcat(s, "^1attachment ", ftos(j), "^7 has mesh \"^3", it.model, "^7\" at animation frame ^3", ftos(it.frame));
-                                                               s = strcat(s, "^7 and is attached to bone \"^5", gettaginfo_name, "^7\", ");
-                                                       });
-                                                       if(j) // object contains attachments
+                                       {
+                                               ++j; // start from 1
+                                               gettaginfo(e, it.tag_index);
+                                               s = strcat(s, "^1attachment ", ftos(j), "^7 has mesh \"^3", it.model, "^7\" at animation frame ^3", ftos(it.frame));
+                                               s = strcat(s, "^7 and is attached to bone \"^5", gettaginfo_name, "^7\", ");
+                                       });
+                                                       if (j) { // object contains attachments
                                                                print_to(player, strcat("^2SANDBOX - INFO: ^7Object contains the following ^1", ftos(j), "^7 attachment(s): ", s));
-                                                       else
+                                                       } else {
                                                                print_to(player, "^2SANDBOX - INFO: ^7Object contains no attachments");
+                                                       }
                                                        return true;
                                        }
                                }
@@ -812,10 +806,12 @@ MUTATOR_HOOKFUNCTION(sandbox, SV_ParseClientCommand)
 
 MUTATOR_HOOKFUNCTION(sandbox, SV_StartFrame)
 {
-       if(!autocvar_g_sandbox_storage_autosave)
+       if (!autocvar_g_sandbox_storage_autosave) {
                return;
-       if(time < autosave_time)
+       }
+       if (time < autosave_time) {
                return;
+       }
        autosave_time = time + autocvar_g_sandbox_storage_autosave;
 
        sandbox_Database_Save();
index f6a0afdf404c1fdb173299f20d86dee76a25e65c..0f88af689acfa30412929d4255d12ce4d6903852 100644 (file)
@@ -1,4 +1,7 @@
 #pragma once
 
 IntrusiveList g_sandbox_objects;
-STATIC_INIT(g_sandbox_objects) { g_sandbox_objects = IL_NEW(); }
+STATIC_INIT(g_sandbox_objects)
+{
+       g_sandbox_objects = IL_NEW();
+}
index eb20082359ec1f25f92643bdd3f6a2b4624ebe17..ae345f27bec870a2c0f38f2ea6ba7f07bb8a87ca 100644 (file)
@@ -6,16 +6,16 @@ REGISTER_MUTATOR(superspec, expr_evaluate(autocvar_g_superspectate));
 #define _SSMAGIX "SUPERSPEC_OPTIONSFILE_V1"
 #define _ISLOCAL(ent) ((edict_num(1) == (ent)) ? true : false)
 
-const float ASF_STRENGTH               = BIT(0);
-const float ASF_SHIELD                         = BIT(1);
-const float ASF_MEGA_AR                = BIT(2);
-const float ASF_MEGA_HP                = BIT(3);
-const float ASF_FLAG_GRAB              = BIT(4);
-const float ASF_OBSERVER_ONLY  = BIT(5);
-const float ASF_SHOWWHAT               = BIT(6);
-const float ASF_SSIM                   = BIT(7);
-const float ASF_FOLLOWKILLER   = BIT(8);
-const float ASF_ALL                    = 0xFFFFFF;
+const float ASF_STRENGTH        = BIT(0);
+const float ASF_SHIELD          = BIT(1);
+const float ASF_MEGA_AR         = BIT(2);
+const float ASF_MEGA_HP         = BIT(3);
+const float ASF_FLAG_GRAB       = BIT(4);
+const float ASF_OBSERVER_ONLY   = BIT(5);
+const float ASF_SHOWWHAT        = BIT(6);
+const float ASF_SSIM            = BIT(7);
+const float ASF_FOLLOWKILLER    = BIT(8);
+const float ASF_ALL             = 0xFFFFFF;
 .float autospec_flags;
 
 const float SSF_SILENT = 1;
@@ -23,12 +23,13 @@ const float SSF_VERBOSE = 2;
 const float SSF_ITEMMSG = 4;
 .float superspec_flags;
 
-.string superspec_itemfilter; //"classname1 classname2 ..."
+.string superspec_itemfilter; // "classname1 classname2 ..."
 
 bool superspec_Spectate(entity this, entity targ)
 {
-       if(Spectate(this, targ) == 1)
-           TRANSMUTE(Spectator, this);
+       if (Spectate(this, targ) == 1) {
+               TRANSMUTE(Spectator, this);
+       }
 
        return true;
 }
@@ -38,21 +39,18 @@ void superspec_save_client_conf(entity this)
        string fn = "superspec-local.options";
        float fh;
 
-       if (!_ISLOCAL(this))
-       {
-               if(this.crypto_idfp == "")
+       if (!_ISLOCAL(this)) {
+               if (this.crypto_idfp == "") {
                        return;
+               }
 
                fn = sprintf("superspec-%s.options", uri_escape(this.crypto_idfp));
        }
 
        fh = fopen(fn, FILE_WRITE);
-       if(fh < 0)
-       {
+       if (fh < 0) {
                LOG_TRACE("^1ERROR: ^7 superspec can not open ", fn, " for writing.");
-       }
-       else
-       {
+       } else {
                fputs(fh, _SSMAGIX);
                fputs(fh, "\n");
                fputs(fh, ftos(this.autospec_flags));
@@ -69,12 +67,15 @@ void superspec_msg(string _center_title, string _con_title, entity _to, string _
 {
        sprint(_to, strcat(_con_title, _msg));
 
-       if(_to.superspec_flags & SSF_SILENT)
+       if (_to.superspec_flags & SSF_SILENT) {
                return;
+       }
 
-       if(_spamlevel > 1)
-               if (!(_to.superspec_flags & SSF_VERBOSE))
+       if (_spamlevel > 1) {
+               if (!(_to.superspec_flags & SSF_VERBOSE)) {
                        return;
+               }
+       }
 
        centerprint(_to, strcat(_center_title, _msg));
 }
@@ -83,17 +84,19 @@ float superspec_filteritem(entity _for, entity _item)
 {
        float i;
 
-       if(_for.superspec_itemfilter == "")
+       if (_for.superspec_itemfilter == "") {
                return true;
+       }
 
-       if(_for.superspec_itemfilter == "")
+       if (_for.superspec_itemfilter == "") {
                return true;
+       }
 
        float l = tokenize_console(_for.superspec_itemfilter);
-       for(i = 0; i < l; ++i)
-       {
-               if(argv(i) == _item.classname)
+       for (i = 0; i < l; ++i) {
+               if (argv(i) == _item.classname) {
                        return true;
+               }
        }
 
        return false;
@@ -105,40 +108,37 @@ MUTATOR_HOOKFUNCTION(superspec, ItemTouch)
        entity toucher = M_ARGV(1, entity);
 
        FOREACH_CLIENT(true, {
-               if(!IS_SPEC(it) && !IS_OBSERVER(it))
+               if (!IS_SPEC(it) && !IS_OBSERVER(it)) {
                        continue;
-               if(it.superspec_flags & SSF_ITEMMSG)
-                       if(superspec_filteritem(it, item))
-                       {
-                               if(it.superspec_flags & SSF_VERBOSE)
+               }
+               if (it.superspec_flags & SSF_ITEMMSG) {
+                       if (superspec_filteritem(it, item)) {
+                               if (it.superspec_flags & SSF_VERBOSE) {
                                        superspec_msg("", "", it, sprintf("Player %s^7 just picked up ^3%s\n", toucher.netname, item.netname), 1);
-                               else
+                               } else {
                                        superspec_msg("", "", it, sprintf("Player %s^7 just picked up ^3%s\n^8(%s^8)\n", toucher.netname, item.netname, item.classname), 1);
-                               if((it.autospec_flags & ASF_SSIM) && it.enemy != toucher)
-                               {
+                               }
+                               if ((it.autospec_flags & ASF_SSIM) && it.enemy != toucher) {
                                        superspec_Spectate(it, toucher);
                                        return MUT_ITEMTOUCH_CONTINUE;
                                }
                        }
+               }
 
-               if((it.autospec_flags & ASF_SHIELD && item.invincible_finished) ||
-                       (it.autospec_flags & ASF_STRENGTH && item.strength_finished) ||
-                       (it.autospec_flags & ASF_MEGA_AR && item.itemdef == ITEM_ArmorMega) ||
-                       (it.autospec_flags & ASF_MEGA_HP && item.itemdef == ITEM_HealthMega) ||
-                       (it.autospec_flags & ASF_FLAG_GRAB && item.classname == "item_flag_team"))
-               {
-
-                       if((it.enemy != toucher) || IS_OBSERVER(it))
-                       {
-                               if(it.autospec_flags & ASF_OBSERVER_ONLY && !IS_OBSERVER(it))
-                               {
-                                       if(it.superspec_flags & SSF_VERBOSE)
+               if ((it.autospec_flags & ASF_SHIELD && item.invincible_finished)
+               || (it.autospec_flags & ASF_STRENGTH && item.strength_finished)
+               || (it.autospec_flags & ASF_MEGA_AR && item.itemdef == ITEM_ArmorMega)
+               || (it.autospec_flags & ASF_MEGA_HP && item.itemdef == ITEM_HealthMega)
+               || (it.autospec_flags & ASF_FLAG_GRAB && item.classname == "item_flag_team")) {
+                       if ((it.enemy != toucher) || IS_OBSERVER(it)) {
+                               if (it.autospec_flags & ASF_OBSERVER_ONLY && !IS_OBSERVER(it)) {
+                                       if (it.superspec_flags & SSF_VERBOSE) {
                                                superspec_msg("", "", it, sprintf("^8Ignored that ^7%s^8 grabbed %s^8 since the observer_only option is ON\n", toucher.netname, item.netname), 2);
-                               }
-                               else
-                               {
-                                       if(it.autospec_flags & ASF_SHOWWHAT)
+                                       }
+                               } else {
+                                       if (it.autospec_flags & ASF_SHOWWHAT) {
                                                superspec_msg("", "", it, sprintf("^7Following %s^7 due to picking up %s\n", toucher.netname, item.netname), 2);
+                                       }
 
                                        superspec_Spectate(it, toucher);
                                }
@@ -151,59 +151,55 @@ MUTATOR_HOOKFUNCTION(superspec, ItemTouch)
 
 MUTATOR_HOOKFUNCTION(superspec, SV_ParseClientCommand)
 {
-#define OPTIONINFO(flag,var,test,text,long,short) \
-    var = strcat(var, ((flag & test) ? "^2[ON]  ^7" : "^1[OFF] ^7")); \
-    var = strcat(var, text," ^7(^3 ", long, "^7 | ^3", short, " ^7)\n")
+#define OPTIONINFO(flag, var, test, text, long, short) \
+       var = strcat(var, ((flag & test) ? "^2[ON]  ^7" : "^1[OFF] ^7")); \
+       var = strcat(var, text, " ^7(^3 ", long, "^7 | ^3", short, " ^7)\n")
 
-       if(MUTATOR_RETURNVALUE) // command was already handled?
+       if (MUTATOR_RETURNVALUE) { // command was already handled?
                return;
+       }
 
        entity player = M_ARGV(0, entity);
        string cmd_name = M_ARGV(1, string);
        int cmd_argc = M_ARGV(2, int);
 
-       if(IS_PLAYER(player))
+       if (IS_PLAYER(player)) {
                return;
+       }
 
-       if(cmd_name == "superspec_itemfilter")
-       {
-               if(argv(1) == "help")
-               {
+       if (cmd_name == "superspec_itemfilter") {
+               if (argv(1) == "help") {
                        string _aspeco;
                        _aspeco = "^7 superspec_itemfilter ^3\"item_classname1 item_classname2\"^7 only show thise items when ^2superspec ^3item_message^7 is on\n";
                        _aspeco = strcat(_aspeco, "^3 clear^7 Remove the filter (show all pickups)\n");
                        _aspeco = strcat(_aspeco, "^3 show ^7 Display current filter\n");
                        superspec_msg("^3superspec_itemfilter help:\n\n\n", "\n^3superspec_itemfilter help:\n", player, _aspeco, 1);
-               }
-               else if(argv(1) == "clear")
-               {
-                       if(player.superspec_itemfilter != "")
+               } else if (argv(1) == "clear") {
+                       if (player.superspec_itemfilter != "") {
                                strunzone(player.superspec_itemfilter);
+                       }
 
                        player.superspec_itemfilter = "";
-               }
-               else if(argv(1) == "show" || argv(1) == "")
-               {
-                       if(player.superspec_itemfilter == "")
-                       {
+               } else if (argv(1) == "show" || argv(1) == "") {
+                       if (player.superspec_itemfilter == "") {
                                superspec_msg("^3superspec_itemfilter^7 is ^1not^7 set", "\n^3superspec_itemfilter^7 is ^1not^7 set\n", player, "", 1);
                                return true;
                        }
                        float i;
                        float l = tokenize_console(player.superspec_itemfilter);
                        string _msg = "";
-                       for(i = 0; i < l; ++i)
+                       for (i = 0; i < l; ++i) {
                                _msg = strcat(_msg, "^3#", ftos(i), " ^7", argv(i), "\n");
-                               //_msg = sprintf("^3#%d^7 %s\n%s", i, _msg, argv(i));
+                       }
+                       // _msg = sprintf("^3#%d^7 %s\n%s", i, _msg, argv(i));
 
-                       _msg = strcat(_msg,"\n");
+                       _msg = strcat(_msg, "\n");
 
                        superspec_msg("^3superspec_itemfilter is:\n\n\n", "\n^3superspec_itemfilter is:\n", player, _msg, 1);
-               }
-               else
-               {
-                       if(player.superspec_itemfilter != "")
+               } else {
+                       if (player.superspec_itemfilter != "") {
                                strunzone(player.superspec_itemfilter);
+                       }
 
                        player.superspec_itemfilter = strzone(argv(1));
                }
@@ -211,15 +207,12 @@ MUTATOR_HOOKFUNCTION(superspec, SV_ParseClientCommand)
                return true;
        }
 
-       if(cmd_name == "superspec")
-       {
+       if (cmd_name == "superspec") {
                string _aspeco;
 
-               if(cmd_argc > 1)
-               {
+               if (cmd_argc > 1) {
                        float i, _bits = 0, _start = 1;
-                       if(argv(1) == "help")
-                       {
+                       if (argv(1) == "help") {
                                _aspeco = "use cmd superspec [option] [on|off] to set options\n\n";
                                _aspeco = strcat(_aspeco, "^3 silent ^7(short^5 si^7) supresses ALL messages from superspectate.\n");
                                _aspeco = strcat(_aspeco, "^3 verbose ^7(short^5 ve^7) makes superspectate print some additional information.\n");
@@ -229,31 +222,25 @@ MUTATOR_HOOKFUNCTION(superspec, SV_ParseClientCommand)
                                return true;
                        }
 
-                       if(argv(1) == "clear")
-                       {
+                       if (argv(1) == "clear") {
                                player.superspec_flags = 0;
                                _start = 2;
                        }
 
-                       for(i = _start; i < cmd_argc; ++i)
-                       {
-                               if(argv(i) == "on" || argv(i) == "1")
-                               {
+                       for (i = _start; i < cmd_argc; ++i) {
+                               if (argv(i) == "on" || argv(i) == "1") {
                                        player.superspec_flags |= _bits;
                                        _bits = 0;
-                               }
-                               else if(argv(i) == "off" || argv(i) == "0")
-                               {
-                                       if(_start == 1)
+                               } else if (argv(i) == "off" || argv(i) == "0") {
+                                       if (_start == 1) {
                                                player.superspec_flags &= ~_bits;
+                                       }
 
                                        _bits = 0;
-                               }
-                               else
-                               {
-                                       if((argv(i) == "silent") || (argv(i) == "si")) _bits |= SSF_SILENT ;
-                                       if((argv(i) == "verbose") || (argv(i) == "ve")) _bits |= SSF_VERBOSE;
-                                       if((argv(i) == "item_message") || (argv(i) == "im")) _bits |= SSF_ITEMMSG;
+                               } else {
+                                       if ((argv(i) == "silent") || (argv(i) == "si")) { _bits |= SSF_SILENT; }
+                                       if ((argv(i) == "verbose") || (argv(i) == "ve")) { _bits |= SSF_VERBOSE; }
+                                       if ((argv(i) == "item_message") || (argv(i) == "im")) { _bits |= SSF_ITEMMSG; }
                                }
                        }
                }
@@ -270,13 +257,10 @@ MUTATOR_HOOKFUNCTION(superspec, SV_ParseClientCommand)
 
 /////////////////////
 
-       if(cmd_name == "autospec")
-       {
+       if (cmd_name == "autospec") {
                string _aspeco;
-               if(cmd_argc > 1)
-               {
-                       if(argv(1) == "help")
-                       {
+               if (cmd_argc > 1) {
+                       if (argv(1) == "help") {
                                _aspeco = "use cmd autospec [option] [on|off] to set options\n\n";
                                _aspeco = strcat(_aspeco, "^3 strength ^7(short^5 st^7) for automatic spectate on strength powerup\n");
                                _aspeco = strcat(_aspeco, "^3 shield ^7(short^5 sh^7) for automatic spectate on shield powerup\n");
@@ -293,38 +277,32 @@ MUTATOR_HOOKFUNCTION(superspec, SV_ParseClientCommand)
                        }
 
                        float i, _bits = 0, _start = 1;
-                       if(argv(1) == "clear")
-                       {
+                       if (argv(1) == "clear") {
                                player.autospec_flags = 0;
                                _start = 2;
                        }
 
-                       for(i = _start; i < cmd_argc; ++i)
-                       {
-                               if(argv(i) == "on" || argv(i) == "1")
-                               {
+                       for (i = _start; i < cmd_argc; ++i) {
+                               if (argv(i) == "on" || argv(i) == "1") {
                                        player.autospec_flags |= _bits;
                                        _bits = 0;
-                               }
-                               else if(argv(i) == "off" || argv(i) == "0")
-                               {
-                                       if(_start == 1)
+                               } else if (argv(i) == "off" || argv(i) == "0") {
+                                       if (_start == 1) {
                                                player.autospec_flags &= ~_bits;
+                                       }
 
                                        _bits = 0;
-                               }
-                               else
-                               {
-                                       if((argv(i) == "strength") || (argv(i) == "st")) _bits |= ASF_STRENGTH;
-                                       if((argv(i) == "shield") || (argv(i) == "sh")) _bits |= ASF_SHIELD;
-                                       if((argv(i) == "mega_health") || (argv(i) == "mh")) _bits |= ASF_MEGA_HP;
-                                       if((argv(i) == "mega_armor") || (argv(i) == "ma")) _bits |= ASF_MEGA_AR;
-                                       if((argv(i) == "flag_grab") || (argv(i) == "fg")) _bits |= ASF_FLAG_GRAB;
-                                       if((argv(i) == "observer_only") || (argv(i) == "oo")) _bits |= ASF_OBSERVER_ONLY;
-                                       if((argv(i) == "show_what") || (argv(i) == "sw")) _bits |= ASF_SHOWWHAT;
-                                       if((argv(i) == "item_msg") || (argv(i) == "im")) _bits |= ASF_SSIM;
-                                       if((argv(i) == "followkiller") || (argv(i) == "fk")) _bits |= ASF_FOLLOWKILLER;
-                                       if((argv(i) == "all") || (argv(i) == "aa")) _bits |= ASF_ALL;
+                               } else {
+                                       if ((argv(i) == "strength") || (argv(i) == "st")) { _bits |= ASF_STRENGTH; }
+                                       if ((argv(i) == "shield") || (argv(i) == "sh")) { _bits |= ASF_SHIELD; }
+                                       if ((argv(i) == "mega_health") || (argv(i) == "mh")) { _bits |= ASF_MEGA_HP; }
+                                       if ((argv(i) == "mega_armor") || (argv(i) == "ma")) { _bits |= ASF_MEGA_AR; }
+                                       if ((argv(i) == "flag_grab") || (argv(i) == "fg")) { _bits |= ASF_FLAG_GRAB; }
+                                       if ((argv(i) == "observer_only") || (argv(i) == "oo")) { _bits |= ASF_OBSERVER_ONLY; }
+                                       if ((argv(i) == "show_what") || (argv(i) == "sw")) { _bits |= ASF_SHOWWHAT; }
+                                       if ((argv(i) == "item_msg") || (argv(i) == "im")) { _bits |= ASF_SSIM; }
+                                       if ((argv(i) == "followkiller") || (argv(i) == "fk")) { _bits |= ASF_FOLLOWKILLER; }
+                                       if ((argv(i) == "all") || (argv(i) == "aa")) { _bits |= ASF_ALL; }
                                }
                        }
                }
@@ -334,7 +312,7 @@ MUTATOR_HOOKFUNCTION(superspec, SV_ParseClientCommand)
                OPTIONINFO(player.autospec_flags, _aspeco, ASF_SHIELD, "Shield", "shield", "sh");
                OPTIONINFO(player.autospec_flags, _aspeco, ASF_MEGA_HP, "Mega Health", "mega_health", "mh");
                OPTIONINFO(player.autospec_flags, _aspeco, ASF_MEGA_AR, "Mega Armor", "mega_armor", "ma");
-               OPTIONINFO(player.autospec_flags, _aspeco, ASF_FLAG_GRAB, "Flag grab", "flag_grab","fg");
+               OPTIONINFO(player.autospec_flags, _aspeco, ASF_FLAG_GRAB, "Flag grab", "flag_grab", "fg");
                OPTIONINFO(player.autospec_flags, _aspeco, ASF_OBSERVER_ONLY, "Only switch if observer", "observer_only", "oo");
                OPTIONINFO(player.autospec_flags, _aspeco, ASF_SHOWWHAT, "Show what item triggered spectate", "show_what", "sw");
                OPTIONINFO(player.autospec_flags, _aspeco, ASF_SSIM, "Switch on superspec item message", "item_msg", "im");
@@ -344,25 +322,25 @@ MUTATOR_HOOKFUNCTION(superspec, SV_ParseClientCommand)
                return true;
        }
 
-       if(cmd_name == "followpowerup")
-       {
-               FOREACH_CLIENT(IS_PLAYER(it) && (it.strength_finished > time || it.invincible_finished > time), { return superspec_Spectate(player, it); });
+       if (cmd_name == "followpowerup") {
+               FOREACH_CLIENT(IS_PLAYER(it) && (it.strength_finished > time || it.invincible_finished > time), { return superspec_Spectate(player, it);
+                       });
 
                superspec_msg("", "", player, "No active powerup\n", 1);
                return true;
        }
 
-       if(cmd_name == "followstrength")
-       {
-               FOREACH_CLIENT(IS_PLAYER(it) && it.strength_finished > time, { return superspec_Spectate(player, it); });
+       if (cmd_name == "followstrength") {
+               FOREACH_CLIENT(IS_PLAYER(it) && it.strength_finished > time, { return superspec_Spectate(player, it);
+                       });
 
                superspec_msg("", "", player, "No active Strength\n", 1);
                return true;
        }
 
-       if(cmd_name == "followshield")
-       {
-               FOREACH_CLIENT(IS_PLAYER(it) && it.invincible_finished > time, { return superspec_Spectate(player, it); });
+       if (cmd_name == "followshield") {
+               FOREACH_CLIENT(IS_PLAYER(it) && it.invincible_finished > time, { return superspec_Spectate(player, it);
+                       });
 
                superspec_msg("", "", player, "No active Shield\n", 1);
                return true;
@@ -382,8 +360,9 @@ MUTATOR_HOOKFUNCTION(superspec, BuildMutatorsPrettyString)
 
 void superspec_hello(entity this)
 {
-       if(this.enemy.crypto_idfp == "")
+       if (this.enemy.crypto_idfp == "") {
                Send_Notification(NOTIF_ONE_ONLY, this.enemy, MSG_INFO, INFO_SUPERSPEC_MISSING_UID);
+       }
 
        delete(this);
 }
@@ -392,8 +371,9 @@ MUTATOR_HOOKFUNCTION(superspec, ClientConnect)
 {
        entity player = M_ARGV(0, entity);
 
-       if(!IS_REAL_CLIENT(player))
+       if (!IS_REAL_CLIENT(player)) {
                return;
+       }
 
        string fn = "superspec-local.options";
        float fh;
@@ -406,28 +386,22 @@ MUTATOR_HOOKFUNCTION(superspec, ClientConnect)
        setthink(_hello, superspec_hello);
        _hello.nextthink = time + 5;
 
-       if (!_ISLOCAL(player))
-       {
-               if(player.crypto_idfp == "")
+       if (!_ISLOCAL(player)) {
+               if (player.crypto_idfp == "") {
                        return;
+               }
 
                fn = sprintf("superspec-%s.options", uri_escape(player.crypto_idfp));
        }
 
        fh = fopen(fn, FILE_READ);
-       if(fh < 0)
-       {
+       if (fh < 0) {
                LOG_TRACE("^1ERROR: ^7 superspec can not open ", fn, " for reading.");
-       }
-       else
-       {
+       } else {
                string _magic = fgets(fh);
-               if(_magic != _SSMAGIX)
-               {
+               if (_magic != _SSMAGIX) {
                        LOG_TRACE("^1ERROR^7 While reading superspec options file: unknown magic");
-               }
-               else
-               {
+               } else {
                        player.autospec_flags = stof(fgets(fh));
                        player.superspec_flags = stof(fgets(fh));
                        player.superspec_itemfilter = strzone(fgets(fh));
@@ -442,10 +416,10 @@ MUTATOR_HOOKFUNCTION(superspec, PlayerDies)
        entity frag_target = M_ARGV(2, entity);
 
        FOREACH_CLIENT(IS_SPEC(it), {
-               if(it.autospec_flags & ASF_FOLLOWKILLER && IS_PLAYER(frag_attacker) && it.enemy == frag_target)
-               {
-                       if(it.autospec_flags & ASF_SHOWWHAT)
+               if (it.autospec_flags & ASF_FOLLOWKILLER && IS_PLAYER(frag_attacker) && it.enemy == frag_target) {
+                       if (it.autospec_flags & ASF_SHOWWHAT) {
                                superspec_msg("", "", it, sprintf("^7Following %s^7 due to followkiller\n", frag_attacker.netname), 2);
+                       }
 
                        superspec_Spectate(it, frag_attacker);
                }
index a1b38fb6e750a2a44b6638189b6d18f3d89a3f0d..6e683d70c71bd6af227983248e1cba91f3ea24e6 100644 (file)
@@ -28,21 +28,30 @@ MUTATOR_HOOKFUNCTION(touchexplode, PlayerPreThink)
 {
        entity player = M_ARGV(0, entity);
 
-       if(time > player.touchexplode_time)
-       if(!game_stopped)
-       if(!STAT(FROZEN, player))
-       if(IS_PLAYER(player))
-       if(!IS_DEAD(player))
-       if(!IS_INDEPENDENT_PLAYER(player))
-               FOREACH_CLIENT(IS_PLAYER(it) && it != player, {
-                       if(time > it.touchexplode_time)
-                       if(!STAT(FROZEN, it))
-                       if(!IS_DEAD(it))
-                       if (!IS_INDEPENDENT_PLAYER(it))
-                       if(boxesoverlap(player.absmin, player.absmax, it.absmin, it.absmax))
-                       {
-                               PlayerTouchExplode(player, it);
-                               player.touchexplode_time = it.touchexplode_time = time + 0.2;
+       if (time > player.touchexplode_time) {
+               if (!game_stopped) {
+                       if (!STAT(FROZEN, player)) {
+                               if (IS_PLAYER(player)) {
+                                       if (!IS_DEAD(player)) {
+                                               if (!IS_INDEPENDENT_PLAYER(player)) {
+                                                       FOREACH_CLIENT(IS_PLAYER(it) && it != player, {
+                                                               if (time > it.touchexplode_time) {
+                                                                       if (!STAT(FROZEN, it)) {
+                                                                               if (!IS_DEAD(it)) {
+                                                                                       if (!IS_INDEPENDENT_PLAYER(it)) {
+                                                                                               if (boxesoverlap(player.absmin, player.absmax, it.absmin, it.absmax)) {
+                                                                                                       PlayerTouchExplode(player, it);
+                                                                                                       player.touchexplode_time = it.touchexplode_time = time + 0.2;
+                                                                                               }
+                                                                                       }
+                                                                               }
+                                                                       }
+                                                               }
+                                                       });
+                                               }
+                                       }
+                               }
                        }
-               });
+               }
+       }
 }
index 199b4e202a7351a9b2d25bfb4364ec02119a259d..4b25227aed768d7208dddd6bce77cef457a89309 100644 (file)
@@ -9,12 +9,13 @@ MUTATOR_HOOKFUNCTION(vampire, PlayerDamage_SplitHealthArmor)
        entity frag_target = M_ARGV(2, entity);
        float damage_take = M_ARGV(4, float);
 
-       if(time >= frag_target.spawnshieldtime)
-       if(frag_target != frag_attacker)
-       if(!IS_DEAD(frag_target))
-       {
-               GiveResource(frag_attacker, RESOURCE_HEALTH,
-                       bound(0, damage_take, frag_target.health));
+       if (time >= frag_target.spawnshieldtime) {
+               if (frag_target != frag_attacker) {
+                       if (!IS_DEAD(frag_target)) {
+                               GiveResource(frag_attacker, RESOURCE_HEALTH,
+                                       bound(0, damage_take, frag_target.health));
+                       }
+               }
        }
 }
 
index ce9e270654cb498281e01db990aa652e0ae8f8c1..0bfc8dfc94c156bae3c71a8ea29e51cb2f6a4089 100644 (file)
@@ -16,23 +16,30 @@ MUTATOR_HOOKFUNCTION(vh, GrappleHookThink)
 
        entity dmgent = ((SAME_TEAM(thehook.owner, thehook.aiment) && autocvar_g_vampirehook_teamheal) ? thehook.owner : thehook.aiment);
 
-       if(IS_PLAYER(thehook.aiment))
-       if(thehook.last_dmg < time)
-       if(!STAT(FROZEN, thehook.aiment))
-       if(time >= game_starttime)
-       if(DIFF_TEAM(thehook.owner, thehook.aiment) || autocvar_g_vampirehook_teamheal)
-       if(thehook.aiment.health > 0)
-       if(autocvar_g_vampirehook_damage)
-       {
-               thehook.last_dmg = time + autocvar_g_vampirehook_damagerate;
-               thehook.owner.damage_dealt += autocvar_g_vampirehook_damage;
-               Damage(dmgent, thehook, thehook.owner, autocvar_g_vampirehook_damage, WEP_HOOK.m_id, thehook.origin, '0 0 0');
-               if(SAME_TEAM(thehook.owner, thehook.aiment))
-                       thehook.aiment.health = min(thehook.aiment.health + autocvar_g_vampirehook_health_steal, g_pickup_healthsmall_max);
-               else
-                       thehook.owner.health = min(thehook.owner.health + autocvar_g_vampirehook_health_steal, g_pickup_healthsmall_max);
+       if (IS_PLAYER(thehook.aiment)) {
+               if (thehook.last_dmg < time) {
+                       if (!STAT(FROZEN, thehook.aiment)) {
+                               if (time >= game_starttime) {
+                                       if (DIFF_TEAM(thehook.owner, thehook.aiment) || autocvar_g_vampirehook_teamheal) {
+                                               if (thehook.aiment.health > 0) {
+                                                       if (autocvar_g_vampirehook_damage) {
+                                                               thehook.last_dmg = time + autocvar_g_vampirehook_damagerate;
+                                                               thehook.owner.damage_dealt += autocvar_g_vampirehook_damage;
+                                                               Damage(dmgent, thehook, thehook.owner, autocvar_g_vampirehook_damage, WEP_HOOK.m_id, thehook.origin, '0 0 0');
+                                                               if (SAME_TEAM(thehook.owner, thehook.aiment)) {
+                                                                       thehook.aiment.health = min(thehook.aiment.health + autocvar_g_vampirehook_health_steal, g_pickup_healthsmall_max);
+                                                               } else {
+                                                                       thehook.owner.health = min(thehook.owner.health + autocvar_g_vampirehook_health_steal, g_pickup_healthsmall_max);
+                                                               }
 
-               if(dmgent == thehook.owner)
-                       dmgent.health -= autocvar_g_vampirehook_damage; // FIXME: friendly fire?!
+                                                               if (dmgent == thehook.owner) {
+                                                                       dmgent.health -= autocvar_g_vampirehook_damage; // FIXME: friendly fire?!
+                                                               }
+                                                       }
+                                               }
+                                       }
+                               }
+                       }
+               }
        }
 }
index c462a7e2b7c869398e733019a107f69049d16472..c633f385b803b7d5c79b393e6b0ca92ef50b0bcc 100644 (file)
@@ -7,19 +7,21 @@ REGISTER_MUTATOR(walljump, true);
 REGISTER_MUTATOR(walljump, autocvar_g_walljump);
 #endif
 
-#define PHYS_WALLJUMP(s)                                               STAT(WALLJUMP, s)
-#define PHYS_WALLJUMP_VELOCITY_Z_FACTOR(s)             STAT(WALLJUMP_VELOCITY_Z_FACTOR, s)
-#define PHYS_WALLJUMP_VELOCITY_XY_FACTOR(s)    STAT(WALLJUMP_VELOCITY_XY_FACTOR, s)
-#define PHYS_WALLJUMP_DELAY(s)                                         STAT(WALLJUMP_DELAY, s)
-#define PHYS_WALLJUMP_FORCE(s)                                         STAT(WALLJUMP_FORCE, s)
+#define PHYS_WALLJUMP(s) STAT(WALLJUMP, s)
+#define PHYS_WALLJUMP_VELOCITY_Z_FACTOR(s) STAT(WALLJUMP_VELOCITY_Z_FACTOR, s)
+#define PHYS_WALLJUMP_VELOCITY_XY_FACTOR(s) STAT(WALLJUMP_VELOCITY_XY_FACTOR, s)
+#define PHYS_WALLJUMP_DELAY(s) STAT(WALLJUMP_DELAY, s)
+#define PHYS_WALLJUMP_FORCE(s) STAT(WALLJUMP_FORCE, s)
 
 vector PlayerTouchWall(entity this)
 {
 #define TRACE(newvec) \
-       tracebox (start, this.mins, this.maxs, (newvec), true, this); \
-       if (trace_fraction < 1 && vdist(this.origin - trace_endpos, <, dist) && trace_plane_normal_z < max_normal) \
-       if (!(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOIMPACT)) \
-               return trace_plane_normal;
+       tracebox(start, this.mins, this.maxs, (newvec), true, this); \
+       if (trace_fraction < 1 && vdist(this.origin - trace_endpos, <, dist) && trace_plane_normal_z < max_normal) { \
+               if (!(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOIMPACT)) { \
+                       return trace_plane_normal; \
+               } \
+       }
 
        float dist = 10, max_normal = 0.2, scaler = 100;
        vector start = this.origin;
@@ -35,37 +37,41 @@ MUTATOR_HOOKFUNCTION(walljump, PlayerJump)
 {
        entity player = M_ARGV(0, entity);
 
-       if(PHYS_WALLJUMP(player))
-       if(time - STAT(LASTWJ, player) > PHYS_WALLJUMP_DELAY(player)) // can't do this on client, as it's too stupid to obey counters
-       if(!IS_ONGROUND(player))
-       if(player.move_movetype != MOVETYPE_NONE && player.move_movetype != MOVETYPE_FOLLOW && player.move_movetype != MOVETYPE_FLY && player.move_movetype != MOVETYPE_NOCLIP)
-       if(!IS_JUMP_HELD(player))
-       if(!STAT(FROZEN, player))
-       if(!IS_DEAD(player))
-       {
-               vector plane_normal = PlayerTouchWall(player);
+       if (PHYS_WALLJUMP(player)) {
+               if (time - STAT(LASTWJ, player) > PHYS_WALLJUMP_DELAY(player)) { // can't do this on client, as it's too stupid to obey counters
+                       if (!IS_ONGROUND(player)) {
+                               if (player.move_movetype != MOVETYPE_NONE && player.move_movetype != MOVETYPE_FOLLOW && player.move_movetype != MOVETYPE_FLY && player.move_movetype != MOVETYPE_NOCLIP) {
+                                       if (!IS_JUMP_HELD(player)) {
+                                               if (!STAT(FROZEN, player)) {
+                                                       if (!IS_DEAD(player)) {
+                                                               vector plane_normal = PlayerTouchWall(player);
 
-               if(plane_normal != '0 0 0')
-               {
-                       float wj_force = PHYS_WALLJUMP_FORCE(player);
-                       float wj_xy_factor = PHYS_WALLJUMP_VELOCITY_XY_FACTOR(player);
-                       float wj_z_factor = PHYS_WALLJUMP_VELOCITY_Z_FACTOR(player);
-                       player.velocity_x += plane_normal_x * wj_force;
-                       player.velocity_x /= wj_xy_factor;
-                       player.velocity_y += plane_normal_y * wj_force;
-                       player.velocity_y /= wj_xy_factor;
-                       player.velocity_z = PHYS_JUMPVELOCITY(player) * wj_z_factor;
-                       if(PHYS_INPUT_BUTTON_CROUCH(player)) player.velocity_z *= -1;
+                                                               if (plane_normal != '0 0 0') {
+                                                                       float wj_force = PHYS_WALLJUMP_FORCE(player);
+                                                                       float wj_xy_factor = PHYS_WALLJUMP_VELOCITY_XY_FACTOR(player);
+                                                                       float wj_z_factor = PHYS_WALLJUMP_VELOCITY_Z_FACTOR(player);
+                                                                       player.velocity_x += plane_normal_x * wj_force;
+                                                                       player.velocity_x /= wj_xy_factor;
+                                                                       player.velocity_y += plane_normal_y * wj_force;
+                                                                       player.velocity_y /= wj_xy_factor;
+                                                                       player.velocity_z = PHYS_JUMPVELOCITY(player) * wj_z_factor;
+                                                                       if (PHYS_INPUT_BUTTON_CROUCH(player)) { player.velocity_z *= -1; }
 
 #ifdef SVQC
-                       STAT(LASTWJ, player) = time;
-                       player.oldvelocity = player.velocity;
-                       Send_Effect(EFFECT_SMOKE_RING, trace_endpos, plane_normal, 5);
-                       PlayerSound(player, playersound_jump, CH_PLAYER, VOL_BASE, VOICETYPE_PLAYERSOUND);
-                       animdecide_setaction(player, ANIMACTION_JUMP, true);
+                                                                       STAT(LASTWJ, player) = time;
+                                                                       player.oldvelocity = player.velocity;
+                                                                       Send_Effect(EFFECT_SMOKE_RING, trace_endpos, plane_normal, 5);
+                                                                       PlayerSound(player, playersound_jump, CH_PLAYER, VOL_BASE, VOICETYPE_PLAYERSOUND);
+                                                                       animdecide_setaction(player, ANIMACTION_JUMP, true);
 #endif
 
-                       M_ARGV(2, bool) = true; // multijump
+                                                                       M_ARGV(2, bool) = true; // multijump
+                                                               }
+                                                       }
+                                               }
+                                       }
+                               }
+                       }
                }
        }
 }
index 77c4312001de399edeaaddd1d9a1abcc7de55020..699b4a959b3cc36a5c839f7ecb95a41fada3004c 100644 (file)
@@ -11,18 +11,19 @@ REGISTRY_CHECK(Waypoints)
 #define REGISTER_WAYPOINT_(id, init) REGISTER(Waypoints, WP, id, m_id, init)
 
 CLASS(Waypoint, Object)
-    ATTRIB(Waypoint, m_id, int, 0);
-    ATTRIB(Waypoint, netname, string);
-    ATTRIB(Waypoint, m_name, string);
-    ATTRIB(Waypoint, m_color, vector, '1 1 1');
-    ATTRIB(Waypoint, m_blink, int, 1);
-    CONSTRUCTOR(Waypoint, string _netname, string _name, vector _color, int _blink) {
-        CONSTRUCT(Waypoint);
-        this.netname = _netname;
-        this.m_name = _name;
-        this.m_color = _color;
-        this.m_blink = _blink;
-    }
+       ATTRIB(Waypoint, m_id, int, 0);
+       ATTRIB(Waypoint, netname, string);
+       ATTRIB(Waypoint, m_name, string);
+       ATTRIB(Waypoint, m_color, vector, '1 1 1');
+       ATTRIB(Waypoint, m_blink, int, 1);
+       CONSTRUCTOR(Waypoint, string _netname, string _name, vector _color, int _blink)
+       {
+               CONSTRUCT(Waypoint);
+               this.netname = _netname;
+               this.m_name = _name;
+               this.m_color = _color;
+               this.m_blink = _blink;
+       }
 ENDCLASS(Waypoint)
 
 #define REGISTER_WAYPOINT(id, text, color, blink) REGISTER_WAYPOINT_(id, NEW(Waypoint, #id, text, color, blink))
@@ -33,7 +34,11 @@ REGISTER_REGISTRY(RadarIcons)
 REGISTRY_CHECK(RadarIcons)
 
 .int m_radaricon;
-#define REGISTER_RADARICON(id, num) REGISTER(RadarIcons, RADARICON, id, m_id, new_pure(RadarIcon)) { this.m_radaricon = num; this.netname = #id; }
+#define REGISTER_RADARICON(id, num) \
+       REGISTER(RadarIcons, RADARICON, id, m_id, new_pure(RadarIcon)) \
+       { \
+               this.m_radaricon = num; this.netname = #id; \
+       }
 
 REGISTER_WAYPOINT(Null, "", '0 0 0', 1);
 
index 6a8d57157c010f0fbb10c9fa22b9865292b31bea..2079ed4b4fb3284c53103acf844028897a0af969 100644 (file)
@@ -11,21 +11,21 @@ const int SPRITERULE_SPECTATOR = 2;
 
 #ifdef CSQC
 entityclass(WaypointSprite);
-class(WaypointSprite) .float helpme;
-class(WaypointSprite) .float rule;
-class(WaypointSprite) .string netname; // primary picture
-class(WaypointSprite) .string netname2; // secondary picture
-class(WaypointSprite) .string netname3; // tertiary picture
-class(WaypointSprite) .int team; // team that gets netname2
-class(WaypointSprite) .float lifetime;
-class(WaypointSprite) .float fadetime;
-class(WaypointSprite) .float maxdistance;
-class(WaypointSprite) .int hideflags;
-class(WaypointSprite) .float spawntime;
-class(WaypointSprite) .float health;
-class(WaypointSprite) .float build_started;
-class(WaypointSprite) .float build_starthealth;
-class(WaypointSprite) .float build_finished;
+class(WaypointSprite).float helpme;
+class(WaypointSprite).float rule;
+class(WaypointSprite).string netname;  // primary picture
+class(WaypointSprite).string netname2; // secondary picture
+class(WaypointSprite).string netname3; // tertiary picture
+class(WaypointSprite).int team;        // team that gets netname2
+class(WaypointSprite).float lifetime;
+class(WaypointSprite).float fadetime;
+class(WaypointSprite).float maxdistance;
+class(WaypointSprite).int hideflags;
+class(WaypointSprite).float spawntime;
+class(WaypointSprite).float health;
+class(WaypointSprite).float build_started;
+class(WaypointSprite).float build_starthealth;
+class(WaypointSprite).float build_finished;
 
 float autocvar_g_waypointsprite_alpha;
 float autocvar_g_waypointsprite_crosshairfadealpha;
@@ -179,54 +179,32 @@ bool WaypointSprite_SendEntity(entity this, entity to, float sendflags);
 
 void WaypointSprite_Reset(entity this);
 
-entity WaypointSprite_Spawn(
-    entity spr, // sprite
-    float lifetime, float maxdistance, // lifetime, max distance
-    entity ref, vector ofs, // position
-    entity showto, float t, // show to whom? Use a flag to indicate a team
-    entity own, .entity ownfield, // remove when own gets killed
-    float hideable, // true when it should be controlled by cl_hidewaypoints
-    entity icon // initial icon
+entity WaypointSprite_Spawn(entity spr,                                                            // sprite
+       float lifetime, float maxdistance,                                                             // lifetime, max distance
+       entity ref, vector ofs,                                                                        // position
+       entity showto, float t,                                                                        // show to whom? Use a flag to indicate a team
+       entity own, .entity ownfield,                                                                  // remove when own gets killed
+       float hideable,                                                                                // true when it should be controlled by cl_hidewaypoints
+       entity icon                                                                                    // initial icon
 );
 
-entity WaypointSprite_SpawnFixed(
-    entity spr,
-    vector ofs,
-    entity own,
-    .entity ownfield,
-    entity icon // initial icon
+entity WaypointSprite_SpawnFixed(entity spr, vector ofs, entity own, .entity ownfield, entity icon // initial icon
 );
 
 .entity waypointsprite_deployed_fixed;
-entity WaypointSprite_DeployFixed(
-    entity spr,
-    float limited_range,
-    entity player,
-    vector ofs,
-    entity icon // initial icon
+entity WaypointSprite_DeployFixed(entity spr, float limited_range, entity player, vector ofs, entity icon // initial icon
 );
 
 .entity waypointsprite_deployed_personal;
-entity WaypointSprite_DeployPersonal(
-    entity spr,
-    entity player,
-    vector ofs,
-    entity icon // initial icon
+entity WaypointSprite_DeployPersonal(entity spr, entity player, vector ofs, entity icon // initial icon
 );
 
 .entity waypointsprite_attached;
 .entity waypointsprite_attachedforcarrier;
-entity WaypointSprite_Attach(
-    entity spr,
-    entity player,
-    float limited_range,
-    entity icon // initial icon
+entity WaypointSprite_Attach(entity spr, entity player, float limited_range, entity icon // initial icon
 );
 
-entity WaypointSprite_AttachCarrier(
-    entity spr,
-    entity carrier,
-    entity icon // initial icon
+entity WaypointSprite_AttachCarrier(entity spr, entity carrier, entity icon              // initial icon
 );
 
 void WaypointSprite_DetachCarrier(entity carrier);
index 7ac4504ec9049aaf0083a7a4b7e59008a6eda376..8cd47d3eb72ce4f47e7ddab91a5687adb4127b5a 100644 (file)
@@ -5,10 +5,10 @@ REGISTER_MUTATOR(weaponarena_random, true);
 
 MUTATOR_HOOKFUNCTION(weaponarena_random, PlayerSpawn)
 {
-    if (!g_weaponarena_random) return;
-    entity player = M_ARGV(0, entity);
+       if (!g_weaponarena_random) { return; }
+       entity player = M_ARGV(0, entity);
 
-    if (g_weaponarena_random_with_blaster) player.weapons &= ~WEPSET(BLASTER);
-    W_RandomWeapons(player, g_weaponarena_random);
-    if (g_weaponarena_random_with_blaster) player.weapons |= WEPSET(BLASTER);
+       if (g_weaponarena_random_with_blaster) { player.weapons &= ~WEPSET(BLASTER); }
+       W_RandomWeapons(player, g_weaponarena_random);
+       if (g_weaponarena_random_with_blaster) { player.weapons |= WEPSET(BLASTER); }
 }
index 6f6a17c400d1738862b1cc8ae47c8adee69a3371..408d6f569bdf061b142e0096199d7636cce710e3 100644 (file)
@@ -5,17 +5,18 @@ REGISTER_NET_TEMP(TE_CSQC_SVNOTICE)
 #ifdef SVQC
 void sv_notice_join_think(entity this)
 {
-    int argc = tokenizebyseparator(autocvar_sv_join_notices, "|");
-    if (argc <= 0) return;
-    for (int i = 0; i < argc; ++i)
-        sv_notice_to(this, argv(i), autocvar_sv_join_notices_time, false);
+       int argc = tokenizebyseparator(autocvar_sv_join_notices, "|");
+       if (argc <= 0) { return; }
+       for (int i = 0; i < argc; ++i) {
+               sv_notice_to(this, argv(i), autocvar_sv_join_notices_time, false);
+       }
 }
 
 void sv_notice_join(entity _to)
 {
-    // to-do: make sv_join_notices support per-entry times
-    if (autocvar_sv_join_notices == "") return;
-    defer(_to, 1, sv_notice_join_think);
+       // to-do: make sv_join_notices support per-entry times
+       if (autocvar_sv_join_notices == "") { return; }
+       defer(_to, 1, sv_notice_join_think);
 }
 
 void sv_notice_to(entity _to, string _notice, float _howlong, float _modal)
@@ -29,7 +30,7 @@ void sv_notice_to(entity _to, string _notice, float _howlong, float _modal)
 
 void sv_notice_toall(string _notice, float _howlong, float _modal)
 {
-    FOREACH_CLIENT(IS_REAL_CLIENT(it), sv_notice_to(it, _notice, _howlong, _modal));
+       FOREACH_CLIENT(IS_REAL_CLIENT(it), sv_notice_to(it, _notice, _howlong, _modal));
 }
 
 #endif // SVQC
@@ -43,59 +44,61 @@ NET_HANDLE(TE_CSQC_SVNOTICE, bool isNew)
 entity cl_notices;
 void cl_notice_read()
 {
-    entity _notice = new_pure(sv_notice);
-    _notice.netname = strzone(ReadString());
-    _notice.alpha = ReadLong() + time;
-    _notice.skin = ReadByte();
-    if(!cl_notices)
-       cl_notices = LL_NEW();
-    LL_PUSH(cl_notices, _notice);
+       entity _notice = new_pure(sv_notice);
+       _notice.netname = strzone(ReadString());
+       _notice.alpha = ReadLong() + time;
+       _notice.skin = ReadByte();
+       if (!cl_notices) {
+               cl_notices = LL_NEW();
+       }
+       LL_PUSH(cl_notices, _notice);
 }
 
 void cl_notice_run()
 {
-       if (!cl_notices)
+       if (!cl_notices) {
                return;
+       }
 
-    bool flag = false;
-    LL_EACH(cl_notices, it.alpha > time, { flag = true; break; });
-       if (!flag)
-       {
+       bool flag = false;
+       LL_EACH(cl_notices, it.alpha > time, { flag = true;
+                                                                                  break;
+               });
+       if (!flag) {
                LL_DELETE(cl_notices);
                return;
        }
 
-    const int M1 = 30;
-    const int M2 = 10;
+       const int M1 = 30;
+       const int M2 = 10;
 
-    vector v1 = '1 1 0' * M1;
-    vector v2 = '0 0 0';
-    v2.x = vid_conwidth - (2 * M1);
-    v2.y = vid_conheight - (2 * M1);
-    drawfill(v1, v2, '0 0 0', 0.5, DRAWFLAG_NORMAL);
+       vector v1 = '1 1 0' * M1;
+       vector v2 = '0 0 0';
+       v2.x = vid_conwidth - (2 * M1);
+       v2.y = vid_conheight - (2 * M1);
+       drawfill(v1, v2, '0 0 0', 0.5, DRAWFLAG_NORMAL);
 
-    v1 = '1 1 0' * (M1 + M2);
-    v2.x = vid_conwidth - (2 * (M1 + M2));
-    v2.y = vid_conheight - (2 * (M1 + M2));
-    drawfill(v1, v2, '0.5 0.5 0.5', 0.5, DRAWFLAG_NORMAL);
+       v1 = '1 1 0' * (M1 + M2);
+       v2.x = vid_conwidth - (2 * (M1 + M2));
+       v2.y = vid_conheight - (2 * (M1 + M2));
+       drawfill(v1, v2, '0.5 0.5 0.5', 0.5, DRAWFLAG_NORMAL);
 
-    vector v3 = v1 + '10 10 0';
-    #define OUT(s, z) MACRO_BEGIN drawcolorcodedstring(v3, s, '1 1 0' * z, 1, DRAWFLAG_NORMAL); v3.y += z + 4; MACRO_END
+       vector v3 = v1 + '10 10 0';
+#define OUT(s, z) MACRO_BEGIN drawcolorcodedstring(v3, s, '1 1 0' * z, 1, DRAWFLAG_NORMAL); v3.y += z + 4; MACRO_END
 
-    float cur_time = 0;
-    float time_width = 48;
-    OUT(_("^1Server notices:"), 32);
-    LL_EACH(cl_notices, it.alpha > time, {
-        if(it.alpha - cur_time > 0.1)
-        {
-            cur_time = it.alpha;
-            string s = sprintf("^3%d", ceil(cur_time - time));
-            drawcolorcodedstring(v3 + eX * 0.5 * (time_width - stringwidth(s, true, '1 1 0' * 16)), s, '1 1 0' * 16, 1, DRAWFLAG_NORMAL);
-            v3.x = v1.x + 10 + time_width;
-        }
-        OUT(it.netname, 16);
-    });
-    #undef OUT
+       float cur_time = 0;
+       float time_width = 48;
+       OUT(_("^1Server notices:"), 32);
+       LL_EACH(cl_notices, it.alpha > time, {
+               if (it.alpha - cur_time > 0.1) {
+                       cur_time = it.alpha;
+                       string s = sprintf("^3%d", ceil(cur_time - time));
+                       drawcolorcodedstring(v3 + eX * 0.5 * (time_width - stringwidth(s, true, '1 1 0' * 16)), s, '1 1 0' * 16, 1, DRAWFLAG_NORMAL);
+                       v3.x = v1.x + 10 + time_width;
+               }
+               OUT(it.netname, 16);
+       });
+#undef OUT
 }
 
 #endif // CSQC
index 5cce358852d1d37a023bd838449949568becfab1..2c51a15bd01e6c67528fa8c2a45e6555ae118eb7 100644 (file)
@@ -1,15 +1,15 @@
 #include "all.qh"
 #if defined(CSQC)
-       #include <client/announcer.qh>
+#include <client/announcer.qh>
 #elif defined(MENUQC)
 #elif defined(SVQC)
-       #include <common/constants.qh>
-       #include <common/net_linked.qh>
-       #include <common/teams.qh>
-       #include <server/autocvars.qh>
-       #include <server/constants.qh>
-       #include <server/defs.qh>
-       #include <server/mutators/_mod.qh>
+#include <common/constants.qh>
+#include <common/net_linked.qh>
+#include <common/teams.qh>
+#include <server/autocvars.qh>
+#include <server/constants.qh>
+#include <server/defs.qh>
+#include <server/mutators/_mod.qh>
 #endif
 
 // ================================================
 // ================================================
 
 #ifdef SVQC
-string Notification_CheckArgs(
-       NOTIF broadcast, entity client)
+string Notification_CheckArgs(NOTIF broadcast, entity client)
 {
        // check supplied broadcast and target for errors
-       switch (broadcast)
-       {
+       switch (broadcast) {
                case NOTIF_ONE:
                case NOTIF_ONE_ONLY:
                {
@@ -79,56 +77,55 @@ string Notification_CheckArgs(
 
 bool Notification_ShouldSend(NOTIF broadcast, entity to_client, entity other_client)
 {
-       switch (broadcast)
-       {
+       switch (broadcast) {
                case NOTIF_ONE:
-                       return (
+                       return
                                (to_client == other_client)
                                ||
                                (IS_SPEC(to_client) && (to_client.enemy == other_client))
-                       );
+                       ;
                case NOTIF_ONE_ONLY:
-                       return (to_client == other_client);
+                       return to_client == other_client;
                case NOTIF_TEAM:
-                       return (
+                       return
                                (to_client.team == other_client.team)
                                ||
                                (
-                                       IS_SPEC(to_client)
-                                       &&
-                                       (to_client.enemy.team == other_client.team)
+                               IS_SPEC(to_client)
+                               &&
+                               (to_client.enemy.team == other_client.team)
                                )
-                       );
+                       ;
                case NOTIF_TEAM_EXCEPT:
-                       return (
+                       return
                                (to_client != other_client)
                                &&
                                (
-                                       (to_client.team == other_client.team)
-                                       ||
+                               (to_client.team == other_client.team)
+                               ||
+                               (
+                                       IS_SPEC(to_client)
+                                       &&
                                        (
-                                               IS_SPEC(to_client)
+                                               (to_client.enemy != other_client)
                                                &&
-                                               (
-                                                       (to_client.enemy != other_client)
-                                                       &&
-                                                       (to_client.enemy.team == other_client.team)
-                                               )
+                                               (to_client.enemy.team == other_client.team)
                                        )
                                )
-                       );
+                               )
+                       ;
                case NOTIF_ALL:
                        return true;
                case NOTIF_ALL_EXCEPT:
-                       return (
+                       return
                                (to_client != other_client)
                                &&
                                !(
-                                       IS_SPEC(to_client)
-                                       &&
-                                       (to_client.enemy == other_client)
+                               IS_SPEC(to_client)
+                               &&
+                               (to_client.enemy == other_client)
                                )
-                       );
+                       ;
                default:
                        return false;
        }
@@ -143,43 +140,36 @@ bool Notification_ShouldSend(NOTIF broadcast, entity to_client, entity other_cli
 // used by restartnotifs command to initialize notifications
 void Destroy_Notification_Entity(entity notif)
 {
-       if (notif.nent_name != "") strunzone(notif.nent_name);
-       if (notif.nent_snd != "") strunzone(notif.nent_snd);
-       if (notif.nent_args != "") strunzone(notif.nent_args);
-       if (notif.nent_hudargs != "") strunzone(notif.nent_hudargs);
-       if (notif.nent_icon != "") strunzone(notif.nent_icon);
-       if (notif.nent_durcnt != "") strunzone(notif.nent_durcnt);
-       if (notif.nent_string != "") strunzone(notif.nent_string);
+       if (notif.nent_name != "") { strunzone(notif.nent_name); }
+       if (notif.nent_snd != "") { strunzone(notif.nent_snd); }
+       if (notif.nent_args != "") { strunzone(notif.nent_args); }
+       if (notif.nent_hudargs != "") { strunzone(notif.nent_hudargs); }
+       if (notif.nent_icon != "") { strunzone(notif.nent_icon); }
+       if (notif.nent_durcnt != "") { strunzone(notif.nent_durcnt); }
+       if (notif.nent_string != "") { strunzone(notif.nent_string); }
        delete(notif);
 }
 
 void Destroy_All_Notifications()
 {
        // kill all networked notifications and centerprints
-       #ifdef SVQC
+#ifdef SVQC
        Kill_Notification(NOTIF_ALL, NULL, MSG_Null, CPID_Null);
-       #else
+#else
        reset_centerprint_messages();
-       #endif
+#endif
 
        // kill all real notification entities
-       FOREACH(Notifications, true, { Destroy_Notification_Entity(it); });
+       FOREACH(Notifications, true, { Destroy_Notification_Entity(it);
+               });
 }
 
-string Process_Notif_Line(
-       MSG typeId,
-       bool chat,
-       string input,
-       string notiftype,
-       string notifname,
-       string stringtype)
+string Process_Notif_Line(MSG typeId, bool chat, string input, string notiftype, string notifname, string stringtype)
 {
-       #ifdef CSQC
-       if(typeId == MSG_INFO)
-       {
-               if((chat && autocvar_notification_allow_chatboxprint)
-                       || (autocvar_notification_allow_chatboxprint == 2))
-               {
+#ifdef CSQC
+       if (typeId == MSG_INFO) {
+               if ((chat && autocvar_notification_allow_chatboxprint)
+                       || (autocvar_notification_allow_chatboxprint == 2)) {
                        // pass 1: add ETX char at beginning of line
                        input = strcat("\{3}", input);
 
@@ -188,15 +178,14 @@ string Process_Notif_Line(
                        input = strreplace("\n", "\n\{3}", input);
 
                        // pass 3: strip trailing ETX char
-                       if(substring(input, (strlen(input) - 1), 1) == "\{3}")
-                               { input = substring(input, 0, (strlen(input) - 1)); }
+                       if (substring(input, (strlen(input) - 1), 1) == "\{3}")
+                       { input = substring(input, 0, (strlen(input) - 1)); }
                }
        }
-       #endif
+#endif
 
        // done to both MSG_INFO and MSG_CENTER
-       if(substring(input, (strlen(input) - 1), 1) == "\n")
-       {
+       if (substring(input, (strlen(input) - 1), 1) == "\n") {
                LOG_INFOF(
                        (
                                "^1TRAILING NEW LINE AT END OF NOTIFICATION: "
@@ -213,25 +202,19 @@ string Process_Notif_Line(
        return input;
 }
 
-string Process_Notif_Args(
-       float arg_type,
-       string args,
-       string notiftype,
-       string notifname)
+string Process_Notif_Args(float arg_type, string args, string notiftype, string notifname)
 {
        string selected, remaining = args;
        float sel_num = 0;
 
-       for (;(remaining != "");)
-       {
-               selected = car(remaining); remaining = cdr(remaining);
+       for ( ; (remaining != ""); ) {
+               selected = car(remaining);
+               remaining = cdr(remaining);
 
-               switch(arg_type)
-               {
+               switch (arg_type) {
                        case 1: // normal args
                        {
-                               if(sel_num == NOTIF_MAX_ARGS)
-                               {
+                               if (sel_num == NOTIF_MAX_ARGS) {
                                        LOG_INFOF(
                                                (
                                                        "^1NOTIFICATION HAS TOO MANY ARGUMENTS: "
@@ -245,23 +228,32 @@ string Process_Notif_Args(
                                        break;
                                }
 
-                               switch(strtolower(selected))
-                               {
-                                       #define ARG_CASE_ARG_CS_SV_HA(selected,result) case selected: { ++sel_num; break; }
-                                       #define ARG_CASE_ARG_CS_SV_DC(selected,result) case selected: { ++sel_num; break; }
-                                       #define ARG_CASE_ARG_CS_SV(selected,result)    case selected: { ++sel_num; break; }
-                                       #define ARG_CASE_ARG_CS(selected,result)       case selected: { ++sel_num; break; }
-                                       #define ARG_CASE_ARG_SV(selected,result)       case selected: { ++sel_num; break; }
-                                       #define ARG_CASE_ARG_DC(selected,result)
-                                       #define ARG_CASE(prog,selected,result)         ARG_CASE_##prog(selected,result)
+                               switch (strtolower(selected)) {
+#define ARG_CASE_ARG_CS_SV_HA(selected, result) \
+       case selected: \
+       { ++sel_num; break; }
+#define ARG_CASE_ARG_CS_SV_DC(selected, result) \
+       case selected: \
+       { ++sel_num; break; }
+#define ARG_CASE_ARG_CS_SV(selected, result) \
+       case selected: \
+       { ++sel_num; break; }
+#define ARG_CASE_ARG_CS(selected, result) \
+       case selected: \
+       { ++sel_num; break; }
+#define ARG_CASE_ARG_SV(selected, result) \
+       case selected: \
+       { ++sel_num; break; }
+#define ARG_CASE_ARG_DC(selected, result)
+#define ARG_CASE(prog, selected, result) ARG_CASE_##prog(selected, result)
                                        NOTIF_ARGUMENT_LIST
-                                       #undef ARG_CASE
-                                       #undef ARG_CASE_ARG_DC
-                                       #undef ARG_CASE_ARG_SV
-                                       #undef ARG_CASE_ARG_CS
-                                       #undef ARG_CASE_ARG_CS_SV
-                                       #undef ARG_CASE_ARG_CS_SV_DC
-                                       #undef ARG_CASE_ARG_CS_SV_HA
+#undef ARG_CASE
+#undef ARG_CASE_ARG_DC
+#undef ARG_CASE_ARG_SV
+#undef ARG_CASE_ARG_CS
+#undef ARG_CASE_ARG_CS_SV
+#undef ARG_CASE_ARG_CS_SV_DC
+#undef ARG_CASE_ARG_CS_SV_HA
                                        default:
                                        {
                                                LOG_INFOF(
@@ -281,8 +273,7 @@ string Process_Notif_Args(
                        }
                        case 2: // hudargs
                        {
-                               if(sel_num == NOTIF_MAX_HUDARGS)
-                               {
+                               if (sel_num == NOTIF_MAX_HUDARGS) {
                                        LOG_INFOF(
                                                (
                                                        "^1NOTIFICATION HAS TOO MANY ARGUMENTS: "
@@ -296,23 +287,24 @@ string Process_Notif_Args(
                                        break;
                                }
 
-                               switch(strtolower(selected))
-                               {
-                                       #define ARG_CASE_ARG_CS_SV_HA(selected,result) case selected: { ++sel_num; break; }
-                                       #define ARG_CASE_ARG_CS_SV_DC(selected,result)
-                                       #define ARG_CASE_ARG_CS_SV(selected,result)
-                                       #define ARG_CASE_ARG_CS(selected,result)
-                                       #define ARG_CASE_ARG_SV(selected,result)
-                                       #define ARG_CASE_ARG_DC(selected,result)
-                                       #define ARG_CASE(prog,selected,result)         ARG_CASE_##prog(selected,result)
+                               switch (strtolower(selected)) {
+#define ARG_CASE_ARG_CS_SV_HA(selected, result) \
+       case selected: \
+       { ++sel_num; break; }
+#define ARG_CASE_ARG_CS_SV_DC(selected, result)
+#define ARG_CASE_ARG_CS_SV(selected, result)
+#define ARG_CASE_ARG_CS(selected, result)
+#define ARG_CASE_ARG_SV(selected, result)
+#define ARG_CASE_ARG_DC(selected, result)
+#define ARG_CASE(prog, selected, result) ARG_CASE_##prog(selected, result)
                                        NOTIF_ARGUMENT_LIST
-                                       #undef ARG_CASE
-                                       #undef ARG_CASE_ARG_DC
-                                       #undef ARG_CASE_ARG_SV
-                                       #undef ARG_CASE_ARG_CS
-                                       #undef ARG_CASE_ARG_CS_SV
-                                       #undef ARG_CASE_ARG_CS_SV_DC
-                                       #undef ARG_CASE_ARG_CS_SV_HA
+#undef ARG_CASE
+#undef ARG_CASE_ARG_DC
+#undef ARG_CASE_ARG_SV
+#undef ARG_CASE_ARG_CS
+#undef ARG_CASE_ARG_CS_SV
+#undef ARG_CASE_ARG_CS_SV_DC
+#undef ARG_CASE_ARG_CS_SV_HA
                                        default:
                                        {
                                                LOG_INFOF(
@@ -332,8 +324,7 @@ string Process_Notif_Args(
                        }
                        case 3: // durcnt
                        {
-                               if(sel_num == NOTIF_MAX_DURCNT)
-                               {
+                               if (sel_num == NOTIF_MAX_DURCNT) {
                                        LOG_INFOF(
                                                (
                                                        "^1NOTIFICATION HAS TOO MANY ARGUMENTS: "
@@ -347,28 +338,29 @@ string Process_Notif_Args(
                                        break;
                                }
 
-                               switch(strtolower(selected))
-                               {
-                                       #define ARG_CASE_ARG_CS_SV_HA(selected,result)
-                                       #define ARG_CASE_ARG_CS_SV_DC(selected,result) case selected: { ++sel_num; break; }
-                                       #define ARG_CASE_ARG_CS_SV(selected,result)
-                                       #define ARG_CASE_ARG_CS(selected,result)
-                                       #define ARG_CASE_ARG_SV(selected,result)
-                                       #define ARG_CASE_ARG_DC(selected,result)       case selected: { ++sel_num; break; }
-                                       #define ARG_CASE(prog,selected,result)         ARG_CASE_##prog(selected,result)
+                               switch (strtolower(selected)) {
+#define ARG_CASE_ARG_CS_SV_HA(selected, result)
+#define ARG_CASE_ARG_CS_SV_DC(selected, result) \
+       case selected: \
+       { ++sel_num; break; }
+#define ARG_CASE_ARG_CS_SV(selected, result)
+#define ARG_CASE_ARG_CS(selected, result)
+#define ARG_CASE_ARG_SV(selected, result)
+#define ARG_CASE_ARG_DC(selected, result) \
+       case selected: \
+       { ++sel_num; break; }
+#define ARG_CASE(prog, selected, result) ARG_CASE_##prog(selected, result)
                                        NOTIF_ARGUMENT_LIST
-                                       #undef ARG_CASE
-                                       #undef ARG_CASE_ARG_DC
-                                       #undef ARG_CASE_ARG_SV
-                                       #undef ARG_CASE_ARG_CS
-                                       #undef ARG_CASE_ARG_CS_SV
-                                       #undef ARG_CASE_ARG_CS_SV_DC
-                                       #undef ARG_CASE_ARG_CS_SV_HA
+#undef ARG_CASE
+#undef ARG_CASE_ARG_DC
+#undef ARG_CASE_ARG_SV
+#undef ARG_CASE_ARG_CS
+#undef ARG_CASE_ARG_CS_SV
+#undef ARG_CASE_ARG_CS_SV_DC
+#undef ARG_CASE_ARG_CS_SV_HA
                                        default:
                                        {
-                                               if(ftos(stof(selected)) != "") { ++sel_num; }
-                                               else
-                                               {
+                                               if (ftos(stof(selected)) != "") { ++sel_num; } else {
                                                        LOG_INFOF(
                                                                (
                                                                        "^1NOTIFICATION WITH UNKNOWN TOKEN IN ARGUMENT STRING: "
@@ -390,12 +382,7 @@ string Process_Notif_Args(
        return args;
 }
 
-void Create_Notification_Entity(entity notif,
-       float var_default,
-       float var_cvar,
-       MSG typeId,
-       string namestring,
-       int teamnum)
+void Create_Notification_Entity(entity notif, float var_default, float var_cvar, MSG typeId, string namestring, int teamnum)
 {
        // =====================
        //  Global Entity Setup
@@ -409,8 +396,7 @@ void Create_Notification_Entity(entity notif,
        // Other pre-notif-setup requisites
        notif_error = false;
 
-       switch (typeId)
-       {
+       switch (typeId) {
                case MSG_ANNCE:
                case MSG_INFO:
                case MSG_CENTER:
@@ -419,248 +405,117 @@ void Create_Notification_Entity(entity notif,
                        break;
                default:
                        LOG_INFOF(
-                               (
-                                       "^1NOTIFICATION WITH IMPROPER TYPE: "
-                                       "^7net_type = %d, net_name = %s."
-                               ),
-                               typeId,
-                               namestring
+                       (
+                               "^1NOTIFICATION WITH IMPROPER TYPE: "
+                               "^7net_type = %d, net_name = %s."
+                       ),
+                       typeId,
+                       namestring
                        );
                        notif_error = true;
                        break;
        }
 
        // now check to see if any errors happened
-       if (notif_error)
-       {
+       if (notif_error) {
                notif.nent_enabled = false; // disable the notification so it can't cause trouble
-               notif_global_error = true; // throw the red flag that an error happened on init
+               notif_global_error = true;  // throw the red flag that an error happened on init
        }
 }
 
 #define AnnouncerFilename(snd) sprintf("announcer/%s/%s.wav", AnnouncerOption(), snd)
 
-void Create_Notification_Entity_Annce(entity notif,
-                                                                               float var_cvar,
-                                                                               string namestring,
-                                                                               /* MSG_ANNCE */
-                                                                               float channel,
-                                                                               string snd,
-                                                                               float vol,
-                                                                               float position)
-               {
-                       // Set MSG_ANNCE information and handle precaching
-                       #ifdef CSQC
-                       MSG typeId = MSG_ANNCE;
-                       if (!(GENTLE && (var_cvar == 1)))
-                       {
-                               if(snd != "")
-                               {
-                                       if(notif.nent_enabled)
-                                       {
-                                               precache_sound(AnnouncerFilename(snd));
-                                               notif.nent_channel = channel;
-                                               notif.nent_snd = strzone(snd);
-                                               notif.nent_vol = vol;
-                                               notif.nent_position = position;
-                                       }
-                               }
-                               else
-                               {
-                                       string typestring = Get_Notif_TypeName(typeId);
-                                       LOG_INFOF(
-                                               (
-                                                       "^1NOTIFICATION WITH NO SOUND: "
-                                                       "^7net_type = %s, net_name = %s."
-                                               ),
-                                               typestring,
-                                               namestring
-                                       );
-                                       notif_error = true;
-                               }
+void Create_Notification_Entity_Annce(entity notif, float var_cvar, string namestring,
+       /* MSG_ANNCE */
+       float channel, string snd, float vol, float position)
+{
+       // Set MSG_ANNCE information and handle precaching
+#ifdef CSQC
+       MSG typeId = MSG_ANNCE;
+       if (!(GENTLE && (var_cvar == 1))) {
+               if (snd != "") {
+                       if (notif.nent_enabled) {
+                               precache_sound(AnnouncerFilename(snd));
+                               notif.nent_channel = channel;
+                               notif.nent_snd = strzone(snd);
+                               notif.nent_vol = vol;
+                               notif.nent_position = position;
                        }
-                       else { notif.nent_enabled = false; }
-                       #else
-                       notif.nent_enabled = false;
-                       #endif
-
-               }
-
-void Create_Notification_Entity_InfoCenter(entity notif,
-                                                                                       float var_cvar,
-                                                                                       string namestring,
-                                                                                       int strnum,
-                                                                                       int flnum,
-                                                                                       /* MSG_INFO & MSG_CENTER */
-                                                                                       string args,
-                                                                                       string hudargs,
-                                                                                       string icon,
-                                                                                       CPID cpid,
-                                                                                       string durcnt,
-                                                                                       string normal,
-                                                                                       string gentle)
-               {
-                       MSG typeId = notif.nent_type;
-                       // Set MSG_INFO and MSG_CENTER string/float counts
-                       notif.nent_stringcount = strnum;
-                       notif.nent_floatcount = flnum;
-
-                       // Only initialize arguments if we're either a client or on a dedicated server
-                       #ifdef SVQC
-                       float should_process_args = server_is_dedicated;
-                       #else
-                       float should_process_args = true;
-                       #endif
+               } else {
                        string typestring = Get_Notif_TypeName(typeId);
-                       if(should_process_args)
-                       {
-                               // ========================
-                               //  Process Main Arguments
-                               // ========================
-                               if(strnum + flnum)
-                               {
-                                       if(args != "")
-                                       {
-                                               notif.nent_args = strzone(
-                                                       Process_Notif_Args(1, args, typestring, namestring));
-                                       }
-                                       else if((hudargs == "") && (durcnt ==""))
-                                       {
-                                               LOG_INFOF(
-                                                       (
-                                                               "^1NOTIFICATION HAS ARG COUNTS BUT NO ARGS OR HUDARGS OR DURCNT: "
-                                                               "^7net_type = %s, net_name = %s, strnum = %d, flnum = %d"
-                                                       ),
-                                                       typestring,
-                                                       namestring,
-                                                       strnum,
-                                                       flnum
-                                               );
-                                               notif_error = true;
-                                       }
-                               }
-                               else if(args != "")
-                               {
-                                       notif.nent_args = strzone(
-                                               Process_Notif_Args(1, args, typestring, namestring));
-                               }
-
-
-                               // =======================================
-                               //  Process HUD and Centerprint Arguments
-                               //    Only processed on CSQC, as these
-                               //    args are only for HUD features.
-                               // =======================================
-                               #ifdef CSQC
-                               if(hudargs != "")
-                               {
-                                       notif.nent_hudargs = strzone(
-                                               Process_Notif_Args(2, hudargs, typestring, namestring));
-
-                                       if(icon != "") { notif.nent_icon = strzone(icon); }
-                                       else
-                                       {
-                                               LOG_INFOF(
-                                                       (
-                                                               "^1NOTIFICATION HAS HUDARGS BUT NO ICON: "
-                                                               "^7net_type = %s, net_name = %s."
-                                                       ),
-                                                       typestring,
-                                                       namestring
-                                               );
-                                               notif_error = true;
-                                       }
-                               }
-                               else if(icon != "")
-                               {
-                                       LOG_WARNF(
-                                               (
-                                                       "^1NOTIFICATION HAS ICON BUT NO HUDARGS: "
-                                                       "^7net_type = %s, net_name = %s.\n"
-                                               ),
-                                               typestring,
-                                               namestring
-                                       );
-                                       notif_error = true;
-                               }
-
-                               if (durcnt != "")
-                               {
-                                       notif.nent_durcnt = strzone(Process_Notif_Args(3, durcnt, typestring, namestring));
+                       LOG_INFOF(
+                               (
+                                       "^1NOTIFICATION WITH NO SOUND: "
+                                       "^7net_type = %s, net_name = %s."
+                               ),
+                               typestring,
+                               namestring
+                       );
+                       notif_error = true;
+               }
+       } else { notif.nent_enabled = false; }
+#else
+       notif.nent_enabled = false;
+#endif
+}
 
-                                       if (cpid == CPID_Null && durcnt != "0 0")
-                                       {
-                                               LOG_WARNF(
-                                                       (
-                                                               "Notification has durcnt but no cpid: "
-                                                               "net_type = %s, net_name = %s."
-                                                       ),
-                                                       typestring,
-                                                       namestring
-                                               );
-                                               notif_error = true;
-                                       }
-                               }
-                               notif.nent_cpid = cpid;
-                               #endif
-
-
-                               // ======================
-                               //  Process Notif String
-                               // ======================
-                               #define SET_NOTIF_STRING(string,stringname) MACRO_BEGIN \
-                                       notif.nent_string = strzone(CCR( \
-                                               Process_Notif_Line( \
-                                                       typeId, \
-                                                       (var_cvar > 1), \
-                                                       string, \
-                                                       typestring, \
-                                                       namestring, \
-                                                       stringname \
-                                               )) \
-                                       ); \
-                               MACRO_END
-
-                               if(GENTLE)
-                               {
-                                       if(gentle != "") { SET_NOTIF_STRING(gentle, "GENTLE"); }
-                                       else if(normal != "") { SET_NOTIF_STRING(normal, "NORMAL"); }
-                               }
-                               else if(normal != "") { SET_NOTIF_STRING(normal, "NORMAL"); }
-                               #undef SET_NOTIF_STRING
+void Create_Notification_Entity_InfoCenter(entity notif, float var_cvar, string namestring, int strnum, int flnum,
+       /* MSG_INFO & MSG_CENTER */
+       string args, string hudargs, string icon, CPID cpid, string durcnt, string normal, string gentle)
+{
+       MSG typeId = notif.nent_type;
+       // Set MSG_INFO and MSG_CENTER string/float counts
+       notif.nent_stringcount = strnum;
+       notif.nent_floatcount = flnum;
 
-                               // Check to make sure a string was chosen
-                               if(notif.nent_string == "")
-                               {
-                                       LOG_INFOF(
-                                               (
-                                                       "^1EMPTY NOTIFICATION: "
-                                                       "^7net_type = %s, net_name = %s."
-                                               ),
-                                               typestring,
-                                               namestring
-                                       );
-                                       notif_error = true;
-                               }
+       // Only initialize arguments if we're either a client or on a dedicated server
+#ifdef SVQC
+       float should_process_args = server_is_dedicated;
+#else
+       float should_process_args = true;
+#endif
+       string typestring = Get_Notif_TypeName(typeId);
+       if (should_process_args) {
+               // ========================
+               //  Process Main Arguments
+               // ========================
+               if (strnum + flnum) {
+                       if (args != "") {
+                               notif.nent_args = strzone(
+                                       Process_Notif_Args(1, args, typestring, namestring));
+                       } else if ((hudargs == "") && (durcnt == "")) {
+                               LOG_INFOF(
+                                       (
+                                               "^1NOTIFICATION HAS ARG COUNTS BUT NO ARGS OR HUDARGS OR DURCNT: "
+                                               "^7net_type = %s, net_name = %s, strnum = %d, flnum = %d"
+                                       ),
+                                       typestring,
+                                       namestring,
+                                       strnum,
+                                       flnum
+                               );
+                               notif_error = true;
                        }
+               } else if (args != "") {
+                       notif.nent_args = strzone(
+                               Process_Notif_Args(1, args, typestring, namestring));
                }
 
-void Create_Notification_Entity_Multi(entity notif,
-                                                                               float var_cvar,
-                                                                               string namestring,
-                                                                               /* MSG_MULTI */
-                                                                               Notification anncename,
-                                                                               Notification infoname,
-                                                                               Notification centername)
-               {
-                       MSG typeId = MSG_MULTI;
-                       // Set MSG_MULTI string/float counts
-                       if (!anncename && !infoname && !centername)
-                       {
-                               string typestring = Get_Notif_TypeName(typeId);
+
+               // =======================================
+               //  Process HUD and Centerprint Arguments
+               //    Only processed on CSQC, as these
+               //    args are only for HUD features.
+               // =======================================
+#ifdef CSQC
+               if (hudargs != "") {
+                       notif.nent_hudargs = strzone(
+                               Process_Notif_Args(2, hudargs, typestring, namestring));
+
+                       if (icon != "") { notif.nent_icon = strzone(icon); } else {
                                LOG_INFOF(
                                        (
-                                               "^1NOTIFICATION WITH NO SUBCALLS: "
+                                               "^1NOTIFICATION HAS HUDARGS BUT NO ICON: "
                                                "^7net_type = %s, net_name = %s."
                                        ),
                                        typestring,
@@ -668,90 +523,167 @@ void Create_Notification_Entity_Multi(entity notif,
                                );
                                notif_error = true;
                        }
-                       else
-                       {
-                               // announcements don't actually need any arguments, so lets not even count them.
-                               if (anncename) { notif.nent_msgannce = anncename; }
-
-                               float infoname_stringcount = 0, infoname_floatcount = 0;
-                               float centername_stringcount = 0, centername_floatcount = 0;
-
-                               if (infoname)
-                               {
-                                       notif.nent_msginfo = infoname;
-                                       infoname_stringcount = notif.nent_msginfo.nent_stringcount;
-                                       infoname_floatcount = notif.nent_msginfo.nent_floatcount;
-                               }
-
-                               if (centername)
-                               {
-                                       notif.nent_msgcenter = centername;
-                                       centername_stringcount = notif.nent_msgcenter.nent_stringcount;
-                                       centername_floatcount = notif.nent_msgcenter.nent_floatcount;
-                               }
-
-                               // set the requirements of THIS notification to the totals of its subcalls
-                               notif.nent_stringcount = max(infoname_stringcount, centername_stringcount);
-                               notif.nent_floatcount = max(infoname_floatcount, centername_floatcount);
-                       }
+               } else if (icon != "") {
+                       LOG_WARNF(
+                               (
+                                       "^1NOTIFICATION HAS ICON BUT NO HUDARGS: "
+                                       "^7net_type = %s, net_name = %s.\n"
+                               ),
+                               typestring,
+                               namestring
+                       );
+                       notif_error = true;
                }
 
-void Create_Notification_Entity_Choice(entity notif,
-                                                                               float var_cvar,
-                                                                               string namestring,
-                                                                               /* MSG_CHOICE */
-                                                                               float challow_def,
-                                                                               float challow_var,
-                                                                               MSG chtype,
-                                                                               Notification optiona,
-                                                                               Notification optionb)
-               {
-                       MSG typeId = MSG_CHOICE;
-                       if (chtype == MSG_Null || !optiona || !optionb)
-                       {
-                               string typestring = Get_Notif_TypeName(typeId);
-                               LOG_INFOF(
+               if (durcnt != "") {
+                       notif.nent_durcnt = strzone(Process_Notif_Args(3, durcnt, typestring, namestring));
+
+                       if (cpid == CPID_Null && durcnt != "0 0") {
+                               LOG_WARNF(
                                        (
-                                               "^1NOTIFICATION IS MISSING CHOICE PARAMS: "
-                                               "^7net_type = %s, net_name = %s."
+                                               "Notification has durcnt but no cpid: "
+                                               "net_type = %s, net_name = %s."
                                        ),
                                        typestring,
                                        namestring
                                );
                                notif_error = true;
                        }
-                       else
-                       {
-                               notif.nent_optiona = optiona;
-                               notif.nent_optionb = optionb;
-                               notif.nent_challow_def = challow_def; // 0: never allowed, 1: allowed in warmup, 2: always allowed
-                               notif.nent_challow_var = challow_var; // 0: never allowed, 1: allowed in warmup, 2: always allowed
-                               notif.nent_stringcount = max(notif.nent_optiona.nent_stringcount, notif.nent_optionb.nent_stringcount);
-                               notif.nent_floatcount = max(notif.nent_optiona.nent_floatcount, notif.nent_optionb.nent_floatcount);
-
-                               /*#ifdef NOTIFICATIONS_DEBUG
-                               Debug_Notification(sprintf(
-                                       "Create_Notification_Entity(...): MSG_CHOICE: %s\n%s\n%s\n",
-                                       notif.nent_name,
-                                       sprintf(
-                                               "^ optiona: %s %s : %d %d",
-                                               Get_Notif_TypeName(notif.nent_optiona.nent_type),
-                                               notif.nent_optiona.nent_name,
-                                               notif.nent_optiona.nent_stringcount,
-                                               notif.nent_optiona.nent_floatcount
-                                       ),
-                                       sprintf(
-                                               "^ optionb: %s %s : %d %d",
-                                               Get_Notif_TypeName(notif.nent_optionb.nent_type),
-                                               notif.nent_optionb.nent_name,
-                                               notif.nent_optionb.nent_stringcount,
-                                               notif.nent_optionb.nent_floatcount
-                                       )
-                               ));
-                               #endif*/
+               }
+               notif.nent_cpid = cpid;
+#endif
+
+
+               // ======================
+               //  Process Notif String
+               // ======================
+#define SET_NOTIF_STRING(string, stringname) \
+       MACRO_BEGIN \
+               notif.nent_string = strzone(CCR( \
+                       Process_Notif_Line( \
+                       typeId, \
+                       (var_cvar > 1), \
+                       string, \
+                       typestring, \
+                       namestring, \
+                       stringname \
+                       )) \
+                       ); \
+       MACRO_END
+
+               if (GENTLE) {
+                       if (gentle != "") { SET_NOTIF_STRING(gentle, "GENTLE"); } else if (normal != "") {
+                               SET_NOTIF_STRING(normal, "NORMAL");
                        }
+               } else if (normal != "") {
+                       SET_NOTIF_STRING(normal, "NORMAL");
+               }
+#undef SET_NOTIF_STRING
+
+               // Check to make sure a string was chosen
+               if (notif.nent_string == "") {
+                       LOG_INFOF(
+                               (
+                                       "^1EMPTY NOTIFICATION: "
+                                       "^7net_type = %s, net_name = %s."
+                               ),
+                               typestring,
+                               namestring
+                       );
+                       notif_error = true;
+               }
+       }
+}
+
+void Create_Notification_Entity_Multi(entity notif, float var_cvar, string namestring,
+       /* MSG_MULTI */
+       Notification anncename, Notification infoname, Notification centername)
+{
+       MSG typeId = MSG_MULTI;
+       // Set MSG_MULTI string/float counts
+       if (!anncename && !infoname && !centername) {
+               string typestring = Get_Notif_TypeName(typeId);
+               LOG_INFOF(
+                       (
+                               "^1NOTIFICATION WITH NO SUBCALLS: "
+                               "^7net_type = %s, net_name = %s."
+                       ),
+                       typestring,
+                       namestring
+               );
+               notif_error = true;
+       } else {
+               // announcements don't actually need any arguments, so lets not even count them.
+               if (anncename) { notif.nent_msgannce = anncename; }
+
+               float infoname_stringcount = 0, infoname_floatcount = 0;
+               float centername_stringcount = 0, centername_floatcount = 0;
+
+               if (infoname) {
+                       notif.nent_msginfo = infoname;
+                       infoname_stringcount = notif.nent_msginfo.nent_stringcount;
+                       infoname_floatcount = notif.nent_msginfo.nent_floatcount;
+               }
+
+               if (centername) {
+                       notif.nent_msgcenter = centername;
+                       centername_stringcount = notif.nent_msgcenter.nent_stringcount;
+                       centername_floatcount = notif.nent_msgcenter.nent_floatcount;
                }
 
+               // set the requirements of THIS notification to the totals of its subcalls
+               notif.nent_stringcount = max(infoname_stringcount, centername_stringcount);
+               notif.nent_floatcount = max(infoname_floatcount, centername_floatcount);
+       }
+}
+
+void Create_Notification_Entity_Choice(entity notif, float var_cvar, string namestring,
+       /* MSG_CHOICE */
+       float challow_def, float challow_var, MSG chtype, Notification optiona, Notification optionb)
+{
+       MSG typeId = MSG_CHOICE;
+       if (chtype == MSG_Null || !optiona || !optionb) {
+               string typestring = Get_Notif_TypeName(typeId);
+               LOG_INFOF(
+                       (
+                               "^1NOTIFICATION IS MISSING CHOICE PARAMS: "
+                               "^7net_type = %s, net_name = %s."
+                       ),
+                       typestring,
+                       namestring
+               );
+               notif_error = true;
+       } else {
+               notif.nent_optiona = optiona;
+               notif.nent_optionb = optionb;
+               notif.nent_challow_def = challow_def; // 0: never allowed, 1: allowed in warmup, 2: always allowed
+               notif.nent_challow_var = challow_var; // 0: never allowed, 1: allowed in warmup, 2: always allowed
+               notif.nent_stringcount = max(notif.nent_optiona.nent_stringcount, notif.nent_optionb.nent_stringcount);
+               notif.nent_floatcount = max(notif.nent_optiona.nent_floatcount, notif.nent_optionb.nent_floatcount);
+
+               /*#ifdef NOTIFICATIONS_DEBUG
+               Debug_Notification(sprintf(
+                   "Create_Notification_Entity(...): MSG_CHOICE: %s\n%s\n%s\n",
+                   notif.nent_name,
+                   sprintf(
+                       "^ optiona: %s %s : %d %d",
+                       Get_Notif_TypeName(notif.nent_optiona.nent_type),
+                       notif.nent_optiona.nent_name,
+                       notif.nent_optiona.nent_stringcount,
+                       notif.nent_optiona.nent_floatcount
+                   ),
+                   sprintf(
+                       "^ optionb: %s %s : %d %d",
+                       Get_Notif_TypeName(notif.nent_optionb.nent_type),
+                       notif.nent_optionb.nent_name,
+                       notif.nent_optionb.nent_stringcount,
+                       notif.nent_optionb.nent_floatcount
+                   )
+               ));
+               #endif*/
+       }
+}
+
 
 // ===============
 //  Cvar Handling
@@ -763,12 +695,12 @@ void Notification_GetCvars(entity this)
 {
        FOREACH(Notifications, it.nent_type == MSG_CHOICE, {
                GetCvars_handleFloat(
-                       this,
-                       CS(this),
-                       get_cvars_s,
-                       get_cvars_f,
-                       msg_choice_choices[it.nent_choice_idx],
-                       sprintf("notification_%s", Get_Notif_CvarName(it))
+               this,
+               CS(this),
+               get_cvars_s,
+               get_cvars_f,
+               msg_choice_choices[it.nent_choice_idx],
+               sprintf("notification_%s", Get_Notif_CvarName(it))
                );
        });
 }
@@ -777,34 +709,38 @@ void Notification_GetCvars(entity this)
 /** used to output notifications.cfg file */
 void Dump_Notifications(int fh, bool alsoprint)
 {
-       #define NOTIF_WRITE(a) MACRO_BEGIN \
+#define NOTIF_WRITE(a) \
+       MACRO_BEGIN \
                fputs(fh, a); \
-               if (alsoprint) LOG_INFO(a); \
+               if (alsoprint) { LOG_INFO(a); } \
        MACRO_END
 
-       #define NOTIF_WRITE_ENTITY(e, description) MACRO_BEGIN \
+#define NOTIF_WRITE_ENTITY(e, description) \
+       MACRO_BEGIN \
                string notif_msg = sprintf( \
-                       "seta notification_%s \"%d\" \"%s\"\n", \
-                       Get_Notif_CvarName(e), e.nent_default, description \
-               ); \
+               "seta notification_%s \"%d\" \"%s\"\n", \
+               Get_Notif_CvarName(e), e.nent_default, description \
+                       ); \
                NOTIF_WRITE(notif_msg); \
        MACRO_END
 
-       #define NOTIF_WRITE_ENTITY_CHOICE(e, descriptiona, descriptionb) MACRO_BEGIN \
+#define NOTIF_WRITE_ENTITY_CHOICE(e, descriptiona, descriptionb) \
+       MACRO_BEGIN \
                string notif_msg = sprintf( \
-                       "seta notification_%s \"%d\" \"%s\"\n" \
-                       "seta notification_%s_ALLOWED \"%d\" \"%s\"\n", \
-                       Get_Notif_CvarName(e), e.nent_default, descriptiona, \
-                       Get_Notif_CvarName(e), e.nent_challow_def, descriptionb \
-               ); \
+               "seta notification_%s \"%d\" \"%s\"\n" \
+               "seta notification_%s_ALLOWED \"%d\" \"%s\"\n", \
+               Get_Notif_CvarName(e), e.nent_default, descriptiona, \
+               Get_Notif_CvarName(e), e.nent_challow_def, descriptionb \
+                       ); \
                NOTIF_WRITE(notif_msg); \
        MACRO_END
 
-       #define NOTIF_WRITE_HARDCODED(cvar, default, description) MACRO_BEGIN \
+#define NOTIF_WRITE_HARDCODED(cvar, default, description) \
+       MACRO_BEGIN \
                string notif_msg = sprintf( \
-                       "seta notification_%s \"%s\" \"%s\"\n", \
-                       cvar, default, description \
-               ); \
+               "seta notification_%s \"%s\" \"%s\"\n", \
+               cvar, default, description \
+                       ); \
                NOTIF_WRITE(notif_msg); \
        MACRO_END
 
@@ -830,45 +766,55 @@ void Dump_Notifications(int fh, bool alsoprint)
        // This is not necessary, and does not matter if they vary between config versions,
        // it is just a semi-helpful tool for those who want to manually change their user settings.
 
-       int NOTIF_ANNCE_COUNT = 0; FOREACH(Notifications, it.nent_type == MSG_ANNCE, { ++NOTIF_ANNCE_COUNT; });
+       int NOTIF_ANNCE_COUNT = 0;
+       FOREACH(Notifications, it.nent_type == MSG_ANNCE, { ++NOTIF_ANNCE_COUNT;
+               });
        NOTIF_WRITE(sprintf("\n// MSG_ANNCE notifications (count = %d):\n", NOTIF_ANNCE_COUNT));
        FOREACH(Notifications, it.nent_type == MSG_ANNCE && (!it.nent_teamnum || it.nent_teamnum == NUM_TEAM_1), {
                NOTIF_WRITE_ENTITY(it,
-                       "0 = disabled, 1 = enabled if gentle mode is off, 2 = always enabled"
+               "0 = disabled, 1 = enabled if gentle mode is off, 2 = always enabled"
                );
        });
 
-       int NOTIF_INFO_COUNT = 0; FOREACH(Notifications, it.nent_type == MSG_INFO, { ++NOTIF_INFO_COUNT; });
+       int NOTIF_INFO_COUNT = 0;
+       FOREACH(Notifications, it.nent_type == MSG_INFO, { ++NOTIF_INFO_COUNT;
+               });
        NOTIF_WRITE(sprintf("\n// MSG_INFO notifications (count = %d):\n", NOTIF_INFO_COUNT));
        FOREACH(Notifications, it.nent_type == MSG_INFO && (!it.nent_teamnum || it.nent_teamnum == NUM_TEAM_1), {
                NOTIF_WRITE_ENTITY(it,
-                       "0 = off, 1 = print to console, "
-                       "2 = print to console and chatbox (if notification_allow_chatboxprint is enabled)"
+               "0 = off, 1 = print to console, "
+               "2 = print to console and chatbox (if notification_allow_chatboxprint is enabled)"
                );
        });
 
-       int NOTIF_CENTER_COUNT = 0; FOREACH(Notifications, it.nent_type == MSG_CENTER, { ++NOTIF_CENTER_COUNT; });
+       int NOTIF_CENTER_COUNT = 0;
+       FOREACH(Notifications, it.nent_type == MSG_CENTER, { ++NOTIF_CENTER_COUNT;
+               });
        NOTIF_WRITE(sprintf("\n// MSG_CENTER notifications (count = %d):\n", NOTIF_CENTER_COUNT));
        FOREACH(Notifications, it.nent_type == MSG_CENTER && (!it.nent_teamnum || it.nent_teamnum == NUM_TEAM_1), {
                NOTIF_WRITE_ENTITY(it,
-                       "0 = off, 1 = centerprint"
+               "0 = off, 1 = centerprint"
                );
        });
 
-       int NOTIF_MULTI_COUNT = 0; FOREACH(Notifications, it.nent_type == MSG_MULTI, { ++NOTIF_MULTI_COUNT; });
+       int NOTIF_MULTI_COUNT = 0;
+       FOREACH(Notifications, it.nent_type == MSG_MULTI, { ++NOTIF_MULTI_COUNT;
+               });
        NOTIF_WRITE(sprintf("\n// MSG_MULTI notifications (count = %d):\n", NOTIF_MULTI_COUNT));
        FOREACH(Notifications, it.nent_type == MSG_MULTI && (!it.nent_teamnum || it.nent_teamnum == NUM_TEAM_1), {
                NOTIF_WRITE_ENTITY(it,
-                       "Enable this multiple notification"
+               "Enable this multiple notification"
                );
        });
 
-       int NOTIF_CHOICE_COUNT = 0; FOREACH(Notifications, it.nent_type == MSG_CHOICE, { ++NOTIF_CHOICE_COUNT; });
+       int NOTIF_CHOICE_COUNT = 0;
+       FOREACH(Notifications, it.nent_type == MSG_CHOICE, { ++NOTIF_CHOICE_COUNT;
+               });
        NOTIF_WRITE(sprintf("\n// MSG_CHOICE notifications (count = %d):\n", NOTIF_CHOICE_COUNT));
        FOREACH(Notifications, it.nent_type == MSG_CHOICE && (!it.nent_teamnum || it.nent_teamnum == NUM_TEAM_1), {
                NOTIF_WRITE_ENTITY_CHOICE(it,
-                       "Choice for this notification 0 = off, 1 = default message, 2 = verbose message",
-                       "Allow choice for this notification 0 = off, 1 = only in warmup mode, 2 = always"
+               "Choice for this notification 0 = off, 1 = default message, 2 = verbose message",
+               "Allow choice for this notification 0 = off, 1 = only in warmup mode, 2 = always"
                );
        });
 
@@ -965,21 +911,21 @@ void Dump_Notifications(int fh, bool alsoprint)
                        "MSG_ANNCE = %d, MSG_INFO = %d, MSG_CENTER = %d, MSG_MULTI = %d, MSG_CHOICE = %d\n"
                ),
                (
-                       NOTIF_ANNCE_COUNT +
-                       NOTIF_INFO_COUNT +
-                       NOTIF_CENTER_COUNT +
-                       NOTIF_MULTI_COUNT +
-                       NOTIF_CHOICE_COUNT
+                       NOTIF_ANNCE_COUNT
+                       + NOTIF_INFO_COUNT
+                       + NOTIF_CENTER_COUNT
+                       + NOTIF_MULTI_COUNT
+                       NOTIF_CHOICE_COUNT
                ),
                NOTIF_ANNCE_COUNT,
                NOTIF_INFO_COUNT,
                NOTIF_CENTER_COUNT,
                NOTIF_MULTI_COUNT,
                NOTIF_CHOICE_COUNT
-       ));
-       #undef NOTIF_WRITE_HARDCODED
-       #undef NOTIF_WRITE_ENTITY
-       #undef NOTIF_WRITE
+               ));
+#undef NOTIF_WRITE_HARDCODED
+#undef NOTIF_WRITE_ENTITY
+#undef NOTIF_WRITE
 }
 
 
@@ -987,50 +933,58 @@ void Dump_Notifications(int fh, bool alsoprint)
 //  Frontend Notification Pushing
 // ===============================
 
-string Local_Notification_sprintf(
-       string input, string args,
-       string s1, string s2, string s3, string s4,
-       int f1, float f2, float f3, float f4)
+string Local_Notification_sprintf(string input, string args, string s1, string s2, string s3, string s4, int f1, float f2, float f3, float f4)
 {
-       #ifdef NOTIFICATIONS_DEBUG
+#ifdef NOTIFICATIONS_DEBUG
        Debug_Notification(sprintf(
                "Local_Notification_sprintf('%s^7', '%s', %s, %s);\n",
                MakeConsoleSafe(input),
                args,
                MakeConsoleSafe(sprintf("'%s^7', '%s^7', '%s^7', '%s^7'", s1, s2, s3, s4)),
                sprintf("%d, %d, %d, %d", f1, f2, f3, f4)
-       ));
-       #endif
+               ));
+#endif
 
-       for (int sel_num = 0; sel_num < NOTIF_MAX_ARGS; ++sel_num) { arg_slot[sel_num] = ""; }
+       for (int sel_num = 0; sel_num < NOTIF_MAX_ARGS; ++sel_num) {
+               arg_slot[sel_num] = "";
+       }
 
-       for (int sel_num = 0; (args != ""); )
-       {
-               string selected = car(args); args = cdr(args);
+       for (int sel_num = 0; (args != ""); ) {
+               string selected = car(args);
+               args = cdr(args);
                NOTIF_HIT_MAX(NOTIF_MAX_ARGS, "Local_Notification_sprintf");
                string tmp_s; // used by NOTIF_ARGUMENT_LIST
-               switch (strtolower(selected))
-               {
-                       #define ARG_CASE_ARG_CS_SV_HA(selected, result) case selected: { arg_slot[sel_num++] = result; break; }
-                       #define ARG_CASE_ARG_CS_SV_DC(selected, result) case selected: { arg_slot[sel_num++] = result; break; }
-                       #define ARG_CASE_ARG_CS_SV(selected, result)    case selected: { arg_slot[sel_num++] = result; break; }
+               switch (strtolower(selected)) {
+#define ARG_CASE_ARG_CS_SV_HA(selected, result) \
+       case selected: \
+       { arg_slot[sel_num++] = result; break; }
+#define ARG_CASE_ARG_CS_SV_DC(selected, result) \
+       case selected: \
+       { arg_slot[sel_num++] = result; break; }
+#define ARG_CASE_ARG_CS_SV(selected, result) \
+       case selected: \
+       { arg_slot[sel_num++] = result; break; }
 #ifdef CSQC
-                       #define ARG_CASE_ARG_CS(selected, result)       case selected: { arg_slot[sel_num++] = result; break; }
-                       #define ARG_CASE_ARG_SV(selected, result)
+#define ARG_CASE_ARG_CS(selected, result) \
+       case selected: \
+       { arg_slot[sel_num++] = result; break; }
+#define ARG_CASE_ARG_SV(selected, result)
 #else
-                       #define ARG_CASE_ARG_CS(selected, result)
-                       #define ARG_CASE_ARG_SV(selected, result)       case selected: { arg_slot[sel_num++] = result; break; }
+#define ARG_CASE_ARG_CS(selected, result)
+#define ARG_CASE_ARG_SV(selected, result) \
+       case selected: \
+       { arg_slot[sel_num++] = result; break; }
 #endif
-                       #define ARG_CASE_ARG_DC(selected, result)
-                       #define ARG_CASE(prog, selected, result)        ARG_CASE_##prog(selected, result)
+#define ARG_CASE_ARG_DC(selected, result)
+#define ARG_CASE(prog, selected, result) ARG_CASE_##prog(selected, result)
                        NOTIF_ARGUMENT_LIST
-                       #undef ARG_CASE
-                       #undef ARG_CASE_ARG_DC
-                       #undef ARG_CASE_ARG_SV
-                       #undef ARG_CASE_ARG_CS
-                       #undef ARG_CASE_ARG_CS_SV
-                       #undef ARG_CASE_ARG_CS_SV_DC
-                       #undef ARG_CASE_ARG_CS_SV_HA
+#undef ARG_CASE
+#undef ARG_CASE_ARG_DC
+#undef ARG_CASE_ARG_SV
+#undef ARG_CASE_ARG_CS
+#undef ARG_CASE_ARG_CS_SV
+#undef ARG_CASE_ARG_CS_SV_DC
+#undef ARG_CASE_ARG_CS_SV_HA
                        default: NOTIF_HIT_UNKNOWN(NOTIF_MAX_ARGS, "Local_Notification_sprintf")
                }
        }
@@ -1049,27 +1003,24 @@ string Local_Notification_sprintf(
 #ifdef CSQC
 void Local_Notification_sound(int soundchannel, string soundfile, float soundvolume, float soundposition)
 {
-       if ((soundfile != prev_soundfile) || (time >= (prev_soundtime + autocvar_cl_announcer_antispam)))
-       {
-               #ifdef NOTIFICATIONS_DEBUG
+       if ((soundfile != prev_soundfile) || (time >= (prev_soundtime + autocvar_cl_announcer_antispam))) {
+#ifdef NOTIFICATIONS_DEBUG
                Debug_Notification(sprintf(
                        "Local_Notification_sound(%f, '%s', %f, %f);\n",
                        soundchannel,
                        AnnouncerFilename(soundfile),
                        soundvolume,
                        soundposition
-               ));
-               #endif
+                       ));
+#endif
 
                _sound(NULL, soundchannel, AnnouncerFilename(soundfile), soundvolume, soundposition);
 
-               if (prev_soundfile) strunzone(prev_soundfile);
+               if (prev_soundfile) { strunzone(prev_soundfile); }
                prev_soundfile = strzone(soundfile);
                prev_soundtime = time;
-       }
-       else
-       {
-               #ifdef NOTIFICATIONS_DEBUG
+       } else {
+#ifdef NOTIFICATIONS_DEBUG
                Debug_Notification(sprintf(
                        (
                                "Local_Notification_sound(%f, '%s', %f, %f) "
@@ -1082,43 +1033,42 @@ void Local_Notification_sound(int soundchannel, string soundfile, float soundvol
                        prev_soundfile,
                        (time - prev_soundtime),
                        autocvar_cl_announcer_antispam
-               ));
-               #endif
+                       ));
+#endif
        }
 }
 
-void Local_Notification_HUD_Notify_Push(
-       string icon, string hudargs,
-       string s1, string s2, string s3, string s4,
-       float f1, float f2, float f3, float f4)
+void Local_Notification_HUD_Notify_Push(string icon, string hudargs, string s1, string s2, string s3, string s4, float f1, float f2, float f3, float f4)
 {
-       arg_slot[0] = ""; arg_slot[1] = "";
+       arg_slot[0] = "";
+       arg_slot[1] = "";
 
-       for (int sel_num = 0; (hudargs != ""); )
-       {
-               string selected = car(hudargs); hudargs = cdr(hudargs);
+       for (int sel_num = 0; (hudargs != ""); ) {
+               string selected = car(hudargs);
+               hudargs = cdr(hudargs);
                NOTIF_HIT_MAX(NOTIF_MAX_HUDARGS, "Local_Notification_HUD_Notify_Push");
-               switch (strtolower(selected))
-               {
-                       #define ARG_CASE_ARG_CS_SV_HA(selected, result) case selected: { arg_slot[sel_num++] = result; break; }
-                       #define ARG_CASE_ARG_CS_SV_DC(selected, result)
-                       #define ARG_CASE_ARG_CS_SV(selected, result)
-                       #define ARG_CASE_ARG_CS(selected, result)
-                       #define ARG_CASE_ARG_SV(selected, result)
-                       #define ARG_CASE_ARG_DC(selected, result)
-                       #define ARG_CASE(prog, selected, result)        ARG_CASE_##prog(selected, result)
+               switch (strtolower(selected)) {
+#define ARG_CASE_ARG_CS_SV_HA(selected, result) \
+       case selected: \
+       { arg_slot[sel_num++] = result; break; }
+#define ARG_CASE_ARG_CS_SV_DC(selected, result)
+#define ARG_CASE_ARG_CS_SV(selected, result)
+#define ARG_CASE_ARG_CS(selected, result)
+#define ARG_CASE_ARG_SV(selected, result)
+#define ARG_CASE_ARG_DC(selected, result)
+#define ARG_CASE(prog, selected, result) ARG_CASE_##prog(selected, result)
                        NOTIF_ARGUMENT_LIST
-                       #undef ARG_CASE
-                       #undef ARG_CASE_ARG_DC
-                       #undef ARG_CASE_ARG_SV
-                       #undef ARG_CASE_ARG_CS
-                       #undef ARG_CASE_ARG_CS_SV
-                       #undef ARG_CASE_ARG_CS_SV_DC
-                       #undef ARG_CASE_ARG_CS_SV_HA
+#undef ARG_CASE
+#undef ARG_CASE_ARG_DC
+#undef ARG_CASE_ARG_SV
+#undef ARG_CASE_ARG_CS
+#undef ARG_CASE_ARG_CS_SV
+#undef ARG_CASE_ARG_CS_SV_DC
+#undef ARG_CASE_ARG_CS_SV_HA
                        default: NOTIF_HIT_UNKNOWN(NOTIF_MAX_HUDARGS, "Local_Notification_HUD_Notify_Push")
                }
        }
-       #ifdef NOTIFICATIONS_DEBUG
+#ifdef NOTIFICATIONS_DEBUG
        Debug_Notification(sprintf(
                "Local_Notification_HUD_Notify_Push('%s^7', '%s', %s, %s, %s);\n",
                icon,
@@ -1126,47 +1076,48 @@ void Local_Notification_HUD_Notify_Push(
                MakeConsoleSafe(sprintf("'%s^7', '%s^7', '%s^7', '%s^7'", s1, s2, s3, s4)),
                sprintf("%d, %d, %d, %d", f1, f2, f3, f4),
                MakeConsoleSafe(sprintf("'%s^7', '%s^7'", stof(arg_slot[0]), stof(arg_slot[1])))
-       ));
-       #endif
+               ));
+#endif
        HUD_Notify_Push(icon, arg_slot[0], arg_slot[1]);
 }
 
-void Local_Notification_centerprint_generic(
-       string input, string durcnt,
-       CPID cpid, float f1, float f2)
+void Local_Notification_centerprint_generic(string input, string durcnt, CPID cpid, float f1, float f2)
 {
-       arg_slot[0] = ""; arg_slot[1] = "";
+       arg_slot[0] = "";
+       arg_slot[1] = "";
 
-       for (int sel_num = 0; (durcnt != ""); )
-       {
-               string selected = car(durcnt); durcnt = cdr(durcnt);
+       for (int sel_num = 0; (durcnt != ""); ) {
+               string selected = car(durcnt);
+               durcnt = cdr(durcnt);
                NOTIF_HIT_MAX(NOTIF_MAX_DURCNT, "Local_Notification_centerprint_generic");
-               switch (strtolower(selected))
-               {
-                       #define ARG_CASE_ARG_CS_SV_HA(selected, result)
-                       #define ARG_CASE_ARG_CS_SV_DC(selected, result) case selected: { arg_slot[sel_num++] = result; break; }
-                       #define ARG_CASE_ARG_CS_SV(selected, result)
-                       #define ARG_CASE_ARG_CS(selected, result)
-                       #define ARG_CASE_ARG_SV(selected, result)
-                       #define ARG_CASE_ARG_DC(selected, result)       case selected: { arg_slot[sel_num++] = result; break; }
-                       #define ARG_CASE(prog, selected, result)        ARG_CASE_##prog(selected,result)
+               switch (strtolower(selected)) {
+#define ARG_CASE_ARG_CS_SV_HA(selected, result)
+#define ARG_CASE_ARG_CS_SV_DC(selected, result) \
+       case selected: \
+       { arg_slot[sel_num++] = result; break; }
+#define ARG_CASE_ARG_CS_SV(selected, result)
+#define ARG_CASE_ARG_CS(selected, result)
+#define ARG_CASE_ARG_SV(selected, result)
+#define ARG_CASE_ARG_DC(selected, result) \
+       case selected: \
+       { arg_slot[sel_num++] = result; break; }
+#define ARG_CASE(prog, selected, result) ARG_CASE_##prog(selected, result)
                        NOTIF_ARGUMENT_LIST
-                       #undef ARG_CASE
-                       #undef ARG_CASE_ARG_DC
-                       #undef ARG_CASE_ARG_SV
-                       #undef ARG_CASE_ARG_CS
-                       #undef ARG_CASE_ARG_CS_SV
-                       #undef ARG_CASE_ARG_CS_SV_DC
-                       #undef ARG_CASE_ARG_CS_SV_HA
+#undef ARG_CASE
+#undef ARG_CASE_ARG_DC
+#undef ARG_CASE_ARG_SV
+#undef ARG_CASE_ARG_CS
+#undef ARG_CASE_ARG_CS_SV
+#undef ARG_CASE_ARG_CS_SV_DC
+#undef ARG_CASE_ARG_CS_SV_HA
                        default:
                        {
-                               if (/* wtf */ ftos(stof(selected)) != "") { arg_slot[sel_num++] = selected; }
-                               else { NOTIF_HIT_UNKNOWN(NOTIF_MAX_DURCNT, "Local_Notification_centerprint_generic") }
+                               if ( /* wtf */ ftos(stof(selected)) != "") { arg_slot[sel_num++] = selected; } else { NOTIF_HIT_UNKNOWN(NOTIF_MAX_DURCNT, "Local_Notification_centerprint_generic") }
                                break;
                        }
                }
        }
-       #ifdef NOTIFICATIONS_DEBUG
+#ifdef NOTIFICATIONS_DEBUG
        Debug_Notification(sprintf(
                "Local_Notification_centerprint_generic('%s^7', '%s', %d, %d, %d, %d);\n",
                MakeConsoleSafe(input),
@@ -1174,62 +1125,59 @@ void Local_Notification_centerprint_generic(
                f1, f2,
                stof(arg_slot[0]),
                stof(arg_slot[1])
-       ));
-       #endif
+               ));
+#endif
        centerprint_generic(ORDINAL(cpid), input, stof(arg_slot[0]), stof(arg_slot[1]));
 }
 #endif
 
-void Local_Notification(MSG net_type, Notification net_name, ...count)
+void Local_Notification(MSG net_type, Notification net_name, ... count)
 {
        // retreive entity of this notification
        entity notif = net_name;
-       if (!notif)
-       {
-               #ifdef NOTIFICATIONS_DEBUG
+       if (!notif) {
+#ifdef NOTIFICATIONS_DEBUG
                Debug_Notification(sprintf(
                        "Local_Notification(%s, NULL, ...);\n",
                        Get_Notif_TypeName(net_type)
-               ));
-               #endif
+                       ));
+#endif
                LOG_WARNF("Incorrect usage of Local_Notification: %s", "Null notification");
                return;
        }
 
        // check if the notification is enabled
-       if (!notif.nent_enabled)
-       {
-               #ifdef NOTIFICATIONS_DEBUG
+       if (!notif.nent_enabled) {
+#ifdef NOTIFICATIONS_DEBUG
                Debug_Notification(sprintf(
                        "Local_Notification(%s, %s, ...): Entity was disabled...\n",
                        Get_Notif_TypeName(net_type),
                        notif.nent_name
-               ));
-               #endif
+                       ));
+#endif
                return;
        }
 
-       string s1 = CCR((notif.nent_stringcount > 0) ? ...(0, string) : "");
-       string s2 = CCR((notif.nent_stringcount > 1) ? ...(1, string) : "");
-       string s3 = CCR((notif.nent_stringcount > 2) ? ...(2, string) : "");
-       string s4 = CCR((notif.nent_stringcount > 3) ? ...(3, string) : "");
-       float f1 =  ((notif.nent_floatcount  > 0) ? ...((notif.nent_stringcount + 0), float) : 0);
-       float f2 =  ((notif.nent_floatcount  > 1) ? ...((notif.nent_stringcount + 1), float) : 0);
-       float f3 =  ((notif.nent_floatcount  > 2) ? ...((notif.nent_stringcount + 2), float) : 0);
-       float f4 =  ((notif.nent_floatcount  > 3) ? ...((notif.nent_stringcount + 3), float) : 0);
+       string s1 = CCR((notif.nent_stringcount > 0) ? ... (0, string) : "");
+       string s2 = CCR((notif.nent_stringcount > 1) ? ... (1, string) : "");
+       string s3 = CCR((notif.nent_stringcount > 2) ? ... (2, string) : "");
+       string s4 = CCR((notif.nent_stringcount > 3) ? ... (3, string) : "");
+       float f1 =  ((notif.nent_floatcount  > 0) ? ... ((notif.nent_stringcount + 0), float) : 0);
+       float f2 =  ((notif.nent_floatcount  > 1) ? ... ((notif.nent_stringcount + 1), float) : 0);
+       float f3 =  ((notif.nent_floatcount  > 2) ? ... ((notif.nent_stringcount + 2), float) : 0);
+       float f4 =  ((notif.nent_floatcount  > 3) ? ... ((notif.nent_stringcount + 3), float) : 0);
 
-       #ifdef NOTIFICATIONS_DEBUG
+#ifdef NOTIFICATIONS_DEBUG
        Debug_Notification(sprintf(
                "Local_Notification(%s, %s, %s, %s);\n",
                Get_Notif_TypeName(net_type),
                notif.nent_name,
                MakeConsoleSafe(sprintf("'%s^7', '%s^7', '%s^7', '%s^7'", s1, s2, s3, s4)),
                sprintf("%d, %d, %d, %d", f1, f2, f3, f4)
-       ));
-       #endif
+               ));
+#endif
 
-       if ((notif.nent_stringcount + notif.nent_floatcount) != count)
-       {
+       if ((notif.nent_stringcount + notif.nent_floatcount) != count) {
                backtrace(sprintf(
                        (
                                "Arguments mismatch for Local_Notification(%s, %s, ...)! "
@@ -1241,19 +1189,18 @@ void Local_Notification(MSG net_type, Notification net_name, ...count)
                        notif.nent_stringcount,
                        notif.nent_floatcount,
                        count
-               ));
+                       ));
                return;
        }
 
-       switch (net_type)
-       {
+       switch (net_type) {
                case MSG_ANNCE:
                {
-                       #ifdef CSQC
+#ifdef CSQC
                        Local_Notification_sound(notif.nent_channel, notif.nent_snd, notif.nent_vol, notif.nent_position);
-                       #else
+#else
                        backtrace("MSG_ANNCE on server?... Please notify Samual immediately!\n");
-                       #endif
+#endif
                        break;
                }
 
@@ -1261,18 +1208,16 @@ void Local_Notification(MSG net_type, Notification net_name, ...count)
                {
                        print(
                                Local_Notification_sprintf(
-                                       notif.nent_string,
-                                       notif.nent_args,
-                                       s1, s2, s3, s4,
-                                       f1, f2, f3, f4)
+                               notif.nent_string,
+                               notif.nent_args,
+                               s1, s2, s3, s4,
+                               f1, f2, f3, f4)
                        );
-                       #ifdef CSQC
-                       if (notif.nent_icon != "")
-                       {
-                               if (notif.nent_iconargs != "")
-                               {
+#ifdef CSQC
+                       if (notif.nent_icon != "") {
+                               if (notif.nent_iconargs != "") {
                                        string s = Local_Notification_sprintf(
-                                               notif.nent_icon,notif.nent_iconargs,
+                                               notif.nent_icon, notif.nent_iconargs,
                                                s1, s2, s3, s4, f1, f2, f3, f4);
                                        // remove the trailing newline
                                        notif.nent_icon = strzone(substring(s, 0, -1));
@@ -1283,30 +1228,29 @@ void Local_Notification(MSG net_type, Notification net_name, ...count)
                                        s1, s2, s3, s4,
                                        f1, f2, f3, f4);
                        }
-                       #endif
+#endif
                        break;
                }
 
-               #ifdef CSQC
+#ifdef CSQC
                case MSG_CENTER:
                {
                        Local_Notification_centerprint_generic(
                                Local_Notification_sprintf(
-                                       notif.nent_string,
-                                       notif.nent_args,
-                                       s1, s2, s3, s4,
-                                       f1, f2, f3, f4),
+                               notif.nent_string,
+                               notif.nent_args,
+                               s1, s2, s3, s4,
+                               f1, f2, f3, f4),
                                notif.nent_durcnt,
                                notif.nent_cpid,
                                f1, f2);
                        break;
                }
-               #endif
+#endif
 
                case MSG_MULTI:
                {
-                       if (notif.nent_msginfo && notif.nent_msginfo.nent_enabled)
-                       {
+                       if (notif.nent_msginfo && notif.nent_msginfo.nent_enabled) {
                                Local_Notification_WOVA(
                                        MSG_INFO,
                                        notif.nent_msginfo,
@@ -1315,9 +1259,8 @@ void Local_Notification(MSG net_type, Notification net_name, ...count)
                                        s1, s2, s3, s4,
                                        f1, f2, f3, f4);
                        }
-                       #ifdef CSQC
-                       if (notif.nent_msgannce && notif.nent_msgannce.nent_enabled)
-                       {
+#ifdef CSQC
+                       if (notif.nent_msgannce && notif.nent_msgannce.nent_enabled) {
                                Local_Notification_WOVA(
                                        MSG_ANNCE,
                                        notif.nent_msgannce,
@@ -1325,8 +1268,7 @@ void Local_Notification(MSG net_type, Notification net_name, ...count)
                                        "", "", "", "",
                                        0, 0, 0, 0);
                        }
-                       if (notif.nent_msgcenter && notif.nent_msgcenter.nent_enabled)
-                       {
+                       if (notif.nent_msgcenter && notif.nent_msgcenter.nent_enabled) {
                                Local_Notification_WOVA(
                                        MSG_CENTER,
                                        notif.nent_msgcenter,
@@ -1335,7 +1277,7 @@ void Local_Notification(MSG net_type, Notification net_name, ...count)
                                        s1, s2, s3, s4,
                                        f1, f2, f3, f4);
                        }
-                       #endif
+#endif
                        break;
                }
 
@@ -1343,10 +1285,10 @@ void Local_Notification(MSG net_type, Notification net_name, ...count)
                {
                        entity found_choice = notif.nent_optiona;
                        if (notif.nent_challow_var && (warmup_stage || (notif.nent_challow_var == 2))) {
-                               switch (cvar(sprintf("notification_%s", Get_Notif_CvarName(notif))))
-                               {
+                               switch (cvar(sprintf("notification_%s", Get_Notif_CvarName(notif)))) {
                                        case 1: break;
-                                       case 2: found_choice = notif.nent_optionb; break;
+                                       case 2: found_choice = notif.nent_optionb;
+                                               break;
                                        default: return; // not enabled anyway
                                }
                        }
@@ -1363,17 +1305,13 @@ void Local_Notification(MSG net_type, Notification net_name, ...count)
 }
 
 // WOVA = Without Variable Arguments
-void Local_Notification_WOVA(
-       MSG net_type, Notification net_name,
-       float stringcount, float floatcount,
-       string s1, string s2, string s3, string s4,
-       float f1, float f2, float f3, float f4)
+void Local_Notification_WOVA(MSG net_type, Notification net_name, float stringcount, float floatcount, string s1, string s2, string s3, string s4, float f1, float f2, float f3, float f4)
 {
-       #define VARITEM(stringc, floatc, args) \
-               if ((stringcount == stringc) && (floatcount == floatc)) \
-               { Local_Notification(net_type, net_name, args); return; }
+#define VARITEM(stringc, floatc, args) \
+       if ((stringcount == stringc) && (floatcount == floatc)) \
+       { Local_Notification(net_type, net_name, args); return; }
        EIGHT_VARS_TO_VARARGS_VARLIST
-       #undef VARITEM
+#undef VARITEM
        Local_Notification(net_type, net_name); // some notifications don't have any arguments at all
 }
 
@@ -1391,36 +1329,35 @@ NET_HANDLE(ENT_CLIENT_NOTIFICATION, bool is_new)
        make_pure(this);
        MSG net_type = ENUMCAST(MSG, ReadByte());
        int net_name = ReadShort();
-    return = true;
-
-       if (net_type == MSG_CENTER_KILL)
-    {
-        if (!is_new) return;
-        // killing
-        #ifdef NOTIFICATIONS_DEBUG
-        Debug_Notification(sprintf(
-            "Read_Notification(%d) at %f: net_type = %s, cpid = %d\n",
-            is_new,
-            time,
-            Get_Notif_TypeName(net_type),
-            net_name
-        ));
-        #endif
-        int _net_name = net_name;
-        CPID net_name = ENUMCAST(CPID, _net_name);
-        if (net_name == CPID_Null) {
-            // kill all
-            reset_centerprint_messages();
-        } else {
-            // kill group
-            centerprint_generic(ORDINAL(net_name), "", 0, 0);
-        }
-        return;
-    }
+       return = true;
+
+       if (net_type == MSG_CENTER_KILL) {
+               if (!is_new) { return; }
+               // killing
+#ifdef NOTIFICATIONS_DEBUG
+               Debug_Notification(sprintf(
+                       "Read_Notification(%d) at %f: net_type = %s, cpid = %d\n",
+                       is_new,
+                       time,
+                       Get_Notif_TypeName(net_type),
+                       net_name
+                       ));
+#endif
+               int _net_name = net_name;
+               CPID net_name = ENUMCAST(CPID, _net_name);
+               if (net_name == CPID_Null) {
+                       // kill all
+                       reset_centerprint_messages();
+               } else {
+                       // kill group
+                       centerprint_generic(ORDINAL(net_name), "", 0, 0);
+               }
+               return;
+       }
 
        Notification notif = Get_Notif_Ent(net_type, net_name);
 
-       #ifdef NOTIFICATIONS_DEBUG
+#ifdef NOTIFICATIONS_DEBUG
        Debug_Notification(sprintf(
                "Read_Notification(%d) at %f: net_type = %s, net_name = %s (%d)\n",
                is_new,
@@ -1428,76 +1365,83 @@ NET_HANDLE(ENT_CLIENT_NOTIFICATION, bool is_new)
                Get_Notif_TypeName(net_type),
                notif.registered_id,
                net_name
-       ));
-       #endif
-
-    if (!notif) {
-        backtrace("Read_Notification: Could not find notification entity!\n");
-        return false;
-    }
-
-    string s1 = ((notif.nent_stringcount > 0) ? ReadString() : "");
-    string s2 = ((notif.nent_stringcount > 1) ? ReadString() : "");
-    string s3 = ((notif.nent_stringcount > 2) ? ReadString() : "");
-    string s4 = ((notif.nent_stringcount > 3) ? ReadString() : "");
-    float f1 = ((notif.nent_floatcount > 0) ? ReadLong() : 0);
-    float f2 = ((notif.nent_floatcount > 1) ? ReadLong() : 0);
-    float f3 = ((notif.nent_floatcount > 2) ? ReadLong() : 0);
-    float f4 = ((notif.nent_floatcount > 3) ? ReadLong() : 0);
-
-    if (!is_new) return;
-    Local_Notification_WOVA(
-        net_type, notif,
-        notif.nent_stringcount,
-        notif.nent_floatcount,
-        s1, s2, s3, s4,
-        f1, f2, f3, f4);
+               ));
+#endif
+
+       if (!notif) {
+               backtrace("Read_Notification: Could not find notification entity!\n");
+               return false;
+       }
+
+       string s1 = ((notif.nent_stringcount > 0) ? ReadString() : "");
+       string s2 = ((notif.nent_stringcount > 1) ? ReadString() : "");
+       string s3 = ((notif.nent_stringcount > 2) ? ReadString() : "");
+       string s4 = ((notif.nent_stringcount > 3) ? ReadString() : "");
+       float f1 = ((notif.nent_floatcount > 0) ? ReadLong() : 0);
+       float f2 = ((notif.nent_floatcount > 1) ? ReadLong() : 0);
+       float f3 = ((notif.nent_floatcount > 2) ? ReadLong() : 0);
+       float f4 = ((notif.nent_floatcount > 3) ? ReadLong() : 0);
+
+       if (!is_new) { return; }
+       Local_Notification_WOVA(
+               net_type, notif,
+               notif.nent_stringcount,
+               notif.nent_floatcount,
+               s1, s2, s3, s4,
+               f1, f2, f3, f4);
 }
 #endif
 
 #ifdef SVQC
 void Net_Notification_Remove(entity this)
 {
-       #ifdef NOTIFICATIONS_DEBUG
+#ifdef NOTIFICATIONS_DEBUG
        Debug_Notification(sprintf(
                "Net_Notification_Remove() at %f: %s '%s - %s' notification\n",
                time,
                ((this.nent_net_name == -1) ? "Killed" : "Removed"),
                Get_Notif_TypeName(this.nent_net_type),
                this.owner.nent_name
-       ));
-       #endif
-       for (int i = 0; i < this.nent_stringcount; ++i) { if (this.nent_strings[i]) strunzone(this.nent_strings[i]); }
+               ));
+#endif
+       for (int i = 0; i < this.nent_stringcount; ++i) {
+               if (this.nent_strings[i]) {
+                       strunzone(this.nent_strings[i]);
+               }
+       }
        delete(this);
 }
 
 bool Net_Write_Notification(entity this, entity client, int sf)
 {
-       if (!Notification_ShouldSend(this.nent_broadcast, client, this.nent_client)) return false;
+       if (!Notification_ShouldSend(this.nent_broadcast, client, this.nent_client)) { return false; }
        WriteHeader(MSG_ENTITY, ENT_CLIENT_NOTIFICATION);
        WriteByte(MSG_ENTITY, ORDINAL(this.nent_net_type));
        WriteShort(MSG_ENTITY, this.nent_net_name);
-       for (int i = 0; i < this.nent_stringcount; ++i) { WriteString(MSG_ENTITY, this.nent_strings[i]); }
-       for (int i = 0; i < this.nent_floatcount; ++i) { WriteLong(MSG_ENTITY, this.nent_floats[i]); }
+       for (int i = 0; i < this.nent_stringcount; ++i) {
+               WriteString(MSG_ENTITY, this.nent_strings[i]);
+       }
+       for (int i = 0; i < this.nent_floatcount; ++i) {
+               WriteLong(MSG_ENTITY, this.nent_floats[i]);
+       }
        return true;
 }
 
-void Kill_Notification(
-       NOTIF broadcast, entity client,
+void Kill_Notification(NOTIF broadcast, entity client,
        /** message group, MSG_Null for all */
        MSG net_type,
        /** cpid group, CPID_Null for all */
        CPID net_cpid)
 {
-       #ifdef NOTIFICATIONS_DEBUG
+#ifdef NOTIFICATIONS_DEBUG
        Debug_Notification(sprintf(
                "Kill_Notification(%s, '%s', %s, %d);\n",
                Get_Notif_BroadcastName(broadcast),
                client.netname,
                (net_type ? Get_Notif_TypeName(net_type) : "0"),
                net_cpid
-       ));
-       #endif
+               ));
+#endif
 
        string checkargs = Notification_CheckArgs(broadcast, client);
        if (checkargs != "") { LOG_WARNF("Incorrect usage of Kill_Notification: %s", checkargs); return; }
@@ -1511,65 +1455,59 @@ void Kill_Notification(
 
        IL_EACH(g_notifications,
                (it.owner.nent_type == net_type || net_type == MSG_Null) && (it.owner.nent_cpid == net_cpid || net_cpid == CPID_Null),
-               {
-                       it.nent_net_name = -1;
-                       it.nextthink = time;
-               }
+       {
+               it.nent_net_name = -1;
+               it.nextthink = time;
+       }
        );
 }
 
-void Send_Notification(
-       NOTIF broadcast, entity client,
-       MSG net_type, Notification net_name,
-       ...count)
+void Send_Notification(NOTIF broadcast, entity client, MSG net_type, Notification net_name, ... count)
 {
-    if (broadcast != NOTIF_ALL && broadcast != NOTIF_ALL_EXCEPT && !IS_REAL_CLIENT(client)) return;
+       if (broadcast != NOTIF_ALL && broadcast != NOTIF_ALL_EXCEPT && !IS_REAL_CLIENT(client)) { return; }
        entity notif = net_name;
        string parms = sprintf("%s, '%s', %s, %s",
                Get_Notif_BroadcastName(broadcast),
                client.classname,
                Get_Notif_TypeName(net_type),
                net_name.registered_id
-       );
-       #ifdef NOTIFICATIONS_DEBUG
+               );
+#ifdef NOTIFICATIONS_DEBUG
        Debug_Notification(sprintf("Send_Notification(%s, ...%d);\n", parms, count));
-       #endif
+#endif
 
-       if (!notif)
-       {
+       if (!notif) {
                LOG_WARN("Send_Notification: Could not find notification entity!");
                return;
        }
 
        // check supplied broadcast, target, type, and name for errors
        string checkargs = Notification_CheckArgs(broadcast, client);
-    if (!net_name) { checkargs = sprintf("No notification provided! %s", checkargs); }
-       if (checkargs != "")
-       {
+       if (!net_name) { checkargs = sprintf("No notification provided! %s", checkargs); }
+       if (checkargs != "") {
                LOG_WARNF("Incorrect usage of Send_Notification: %s", checkargs);
                return;
        }
 
-       string s1 = ((0 < notif.nent_stringcount) ? ...(0, string) : "");
-       string s2 = ((1 < notif.nent_stringcount) ? ...(1, string) : "");
-       string s3 = ((2 < notif.nent_stringcount) ? ...(2, string) : "");
-       string s4 = ((3 < notif.nent_stringcount) ? ...(3, string) : "");
-       float f1 = ((0 < notif.nent_floatcount) ? ...((notif.nent_stringcount + 0), float) : 0);
-       float f2 = ((1 < notif.nent_floatcount) ? ...((notif.nent_stringcount + 1), float) : 0);
-       float f3 = ((2 < notif.nent_floatcount) ? ...((notif.nent_stringcount + 2), float) : 0);
-       float f4 = ((3 < notif.nent_floatcount) ? ...((notif.nent_stringcount + 3), float) : 0);
+       string s1 = ((0 < notif.nent_stringcount) ? ... (0, string) : "");
+       string s2 = ((1 < notif.nent_stringcount) ? ... (1, string) : "");
+       string s3 = ((2 < notif.nent_stringcount) ? ... (2, string) : "");
+       string s4 = ((3 < notif.nent_stringcount) ? ... (3, string) : "");
+       float f1 = ((0 < notif.nent_floatcount) ? ... ((notif.nent_stringcount + 0), float) : 0);
+       float f2 = ((1 < notif.nent_floatcount) ? ... ((notif.nent_stringcount + 1), float) : 0);
+       float f3 = ((2 < notif.nent_floatcount) ? ... ((notif.nent_stringcount + 2), float) : 0);
+       float f4 = ((3 < notif.nent_floatcount) ? ... ((notif.nent_stringcount + 3), float) : 0);
 
-       #ifdef NOTIFICATIONS_DEBUG
+#ifdef NOTIFICATIONS_DEBUG
        Debug_Notification(sprintf(
                "Send_Notification(%s, %s, %s);\n",
                parms,
                MakeConsoleSafe(sprintf("'%s^7', '%s^7', '%s^7', '%s^7'", s1, s2, s3, s4)),
                sprintf("%d, %d, %d, %d", f1, f2, f3, f4)
-       ));
-       #endif
+               ));
+#endif
 
-       if ((notif.nent_stringcount + notif.nent_floatcount) != count)
-       {
+       if ((notif.nent_stringcount + notif.nent_floatcount) != count) {
                LOG_WARNF(
                        "Argument mismatch for Send_Notification(%s, ...)! "
                        "stringcount(%d) + floatcount(%d) != count(%d)\n"
@@ -1585,8 +1523,7 @@ void Send_Notification(
        if (server_is_dedicated
                && (broadcast == NOTIF_ALL || broadcast == NOTIF_ALL_EXCEPT)
                && !(net_type == MSG_ANNCE || net_type == MSG_CENTER)
-       )
-       {
+       ) {
                Local_Notification_WOVA(
                        net_type, net_name,
                        notif.nent_stringcount,
@@ -1595,8 +1532,7 @@ void Send_Notification(
                        f1, f2, f3, f4);
        }
 
-       if (net_type == MSG_CHOICE)
-       {
+       if (net_type == MSG_CHOICE) {
                // THIS GETS TRICKY... now we have to cycle through each possible player (checking broadcast)
                // and then do an individual NOTIF_ONE_ONLY recursive call for each one depending on their option...
                // It's slow, but it's better than the alternatives:
@@ -1604,34 +1540,33 @@ void Send_Notification(
                //   2. Manually handling each separate call on per-usage basis (See old CTF usage of verbose)
                entity found_choice;
 
-               #define RECURSE_FROM_CHOICE(ent,action) MACRO_BEGIN \
-                       if (notif.nent_challow_var && (warmup_stage || (notif.nent_challow_var == 2))) { \
-                               switch (CS(ent).msg_choice_choices[net_name.nent_choice_idx]) \
-                               { \
-                                       case 1: found_choice = notif.nent_optiona; break; \
-                                       case 2: found_choice = notif.nent_optionb; break; \
-                                       default: action; \
-                               } \
-                       } else { \
-                               found_choice = notif.nent_optiona; \
+#define RECURSE_FROM_CHOICE(ent, action) \
+       MACRO_BEGIN \
+               if (notif.nent_challow_var && (warmup_stage || (notif.nent_challow_var == 2))) { \
+                       switch (CS(ent).msg_choice_choices[net_name.nent_choice_idx]) { \
+                               case 1: found_choice = notif.nent_optiona; break; \
+                               case 2: found_choice = notif.nent_optionb; break; \
+                               default: action; \
                        } \
-                       Send_Notification_WOVA( \
-                               NOTIF_ONE_ONLY, \
-                               ent, \
-                               found_choice.nent_type, \
-                               found_choice, \
-                               found_choice.nent_stringcount, \
-                               found_choice.nent_floatcount, \
-                               s1, s2, s3, s4, \
-                               f1, f2, f3, f4); \
-               MACRO_END
-
-               switch (broadcast)
-               {
+               } else { \
+                       found_choice = notif.nent_optiona; \
+               } \
+               Send_Notification_WOVA( \
+                       NOTIF_ONE_ONLY, \
+                       ent, \
+                       found_choice.nent_type, \
+                       found_choice, \
+                       found_choice.nent_stringcount, \
+                       found_choice.nent_floatcount, \
+                       s1, s2, s3, s4, \
+                       f1, f2, f3, f4); \
+       MACRO_END
+
+               switch (broadcast) {
                        case NOTIF_ONE_ONLY: // we can potentially save processing power with this broadcast method
                        {
                                if (IS_REAL_CLIENT(client)) {
-                                       RECURSE_FROM_CHOICE(client, return);
+                                       RECURSE_FROM_CHOICE(client, return );
                                }
                                break;
                        }
@@ -1643,9 +1578,7 @@ void Send_Notification(
                                break;
                        }
                }
-       }
-       else
-       {
+       } else {
                entity net_notif = new_pure(net_notification);
                IL_PUSH(g_notifications, net_notif);
                net_notif.owner = notif;
@@ -1657,10 +1590,10 @@ void Send_Notification(
                net_notif.nent_floatcount = notif.nent_floatcount;
 
                for (int i = 0; i < net_notif.nent_stringcount; ++i) {
-                       net_notif.nent_strings[i] = strzone(...(i, string));
+                       net_notif.nent_strings[i] = strzone(... (i, string));
                }
                for (int i = 0; i < net_notif.nent_floatcount; ++i) {
-                       net_notif.nent_floats[i] = ...((net_notif.nent_stringcount + i), float);
+                       net_notif.nent_floats[i] = ... ((net_notif.nent_stringcount + i), float);
                }
 
                setthink(net_notif, Net_Notification_Remove);
@@ -1673,68 +1606,59 @@ void Send_Notification(
 }
 
 // WOVA = Without Variable Arguments
-void Send_Notification_WOVA(
-       NOTIF broadcast, entity client,
-       MSG net_type, Notification net_name,
-       float stringcount, float floatcount,
-       string s1, string s2, string s3, string s4,
-       float f1, float f2, float f3, float f4)
+void Send_Notification_WOVA(NOTIF broadcast, entity client, MSG net_type, Notification net_name, float stringcount, float floatcount, string s1, string s2, string s3, string s4, float f1, float f2, float f3, float f4)
 {
-       #ifdef NOTIFICATIONS_DEBUG
+#ifdef NOTIFICATIONS_DEBUG
        entity notif = net_name;
        Debug_Notification(sprintf(
                "Send_Notification_WOVA(%s, %d, %d, %s, %s);\n",
                sprintf(
-                       "%s, '%s', %s, %s",
-                       Get_Notif_BroadcastName(broadcast),
-                       client.classname,
-                       Get_Notif_TypeName(net_type),
-                       notif.nent_name
+               "%s, '%s', %s, %s",
+               Get_Notif_BroadcastName(broadcast),
+               client.classname,
+               Get_Notif_TypeName(net_type),
+               notif.nent_name
                ),
                stringcount,
                floatcount,
                MakeConsoleSafe(sprintf("'%s^7', '%s^7', '%s^7', '%s^7'", s1, s2, s3, s4)),
                sprintf("%d, %d, %d, %d", f1, f2, f3, f4)
-       ));
-       #endif
+               ));
+#endif
 
-       #define VARITEM(stringc, floatc, args) \
-               if ((stringcount == stringc) && (floatcount == floatc)) \
-               { Send_Notification(broadcast, client, net_type, net_name, args); return; }
+#define VARITEM(stringc, floatc, args) \
+       if ((stringcount == stringc) && (floatcount == floatc)) \
+       { Send_Notification(broadcast, client, net_type, net_name, args); return; }
        EIGHT_VARS_TO_VARARGS_VARLIST
-       #undef VARITEM
+#undef VARITEM
        Send_Notification(broadcast, client, net_type, net_name); // some notifications don't have any arguments at all
 }
 
 // WOCOVA = Without Counts Or Variable Arguments
-void Send_Notification_WOCOVA(
-       NOTIF broadcast, entity client,
-       MSG net_type, Notification net_name,
-       string s1, string s2, string s3, string s4,
-       float f1, float f2, float f3, float f4)
+void Send_Notification_WOCOVA(NOTIF broadcast, entity client, MSG net_type, Notification net_name, string s1, string s2, string s3, string s4, float f1, float f2, float f3, float f4)
 {
        entity notif = net_name;
 
-       #ifdef NOTIFICATIONS_DEBUG
+#ifdef NOTIFICATIONS_DEBUG
        Debug_Notification(sprintf(
                "Send_Notification_WOCOVA(%s, %s, %s);\n",
                sprintf(
-                       "%s, '%s', %s, %s",
-                       Get_Notif_BroadcastName(broadcast),
-                       client.classname,
-                       Get_Notif_TypeName(net_type),
-                       notif.nent_name
+               "%s, '%s', %s, %s",
+               Get_Notif_BroadcastName(broadcast),
+               client.classname,
+               Get_Notif_TypeName(net_type),
+               notif.nent_name
                ),
                MakeConsoleSafe(sprintf("'%s^7', '%s^7', '%s^7', '%s^7'", s1, s2, s3, s4)),
                sprintf("%d, %d, %d, %d", f1, f2, f3, f4)
-       ));
-       #endif
+               ));
+#endif
 
-       #define VARITEM(stringc, floatc, args) \
-               if ((notif.nent_stringcount == stringc) && (notif.nent_floatcount == floatc)) \
-               { Send_Notification(broadcast, client, net_type, net_name, args); return; }
+#define VARITEM(stringc, floatc, args) \
+       if ((notif.nent_stringcount == stringc) && (notif.nent_floatcount == floatc)) \
+       { Send_Notification(broadcast, client, net_type, net_name, args); return; }
        EIGHT_VARS_TO_VARARGS_VARLIST
-       #undef VARITEM
+#undef VARITEM
        Send_Notification(broadcast, client, net_type, net_name); // some notifications don't have any arguments at all
 }
 #endif // ifdef SVQC
index e66e3c9a9ce58f19b447a714f6bcd3bdcc7bd3c6..1c041c796f50fec63c3667bf78784fc79694174c 100644 (file)
@@ -9,29 +9,29 @@
 **/
 vector movelib_dragvec(entity this, float drag, float exp_)
 {
-    float lspeed,ldrag;
+       float lspeed, ldrag;
 
-    lspeed = vlen(this.velocity);
-    ldrag = lspeed * drag;
-    ldrag = ldrag * (drag * exp_);
-    ldrag = 1 - (ldrag / lspeed);
+       lspeed = vlen(this.velocity);
+       ldrag = lspeed * drag;
+       ldrag = ldrag * (drag * exp_);
+       ldrag = 1 - (ldrag / lspeed);
 
-    return this.velocity * ldrag;
+       return this.velocity * ldrag;
 }
 
 /**
     Simulate drag
     this.velocity *= movelib_dragflt(somespeed,0.01,0.7);
 **/
-float movelib_dragflt(float fspeed,float drag,float exp_)
+float movelib_dragflt(float fspeed, float drag, float exp_)
 {
-    float ldrag;
+       float ldrag;
 
-    ldrag = fspeed * drag;
-    ldrag = ldrag * ldrag * exp_;
-    ldrag = 1 - (ldrag / fspeed);
+       ldrag = fspeed * drag;
+       ldrag = ldrag * ldrag * exp_;
+       ldrag = 1 - (ldrag / fspeed);
 
-    return ldrag;
+       return ldrag;
 }
 
 /**
@@ -39,68 +39,69 @@ float movelib_dragflt(float fspeed,float drag,float exp_)
     Basicaly, this allows you to simulate loss of steering with higher speed.
     this.velocity = movelib_inertmove_byspeed(this.velocity,newvel,1000,0.1,0.9);
 **/
-vector movelib_inertmove_byspeed(entity this, vector vel_new, float vel_max,float newmin,float oldmax)
+vector movelib_inertmove_byspeed(entity this, vector vel_new, float vel_max, float newmin, float oldmax)
 {
-    float influense;
+       float influense;
 
-    influense = vlen(this.velocity) * (1 / vel_max);
+       influense = vlen(this.velocity) * (1 / vel_max);
 
-    influense = bound(newmin,influense,oldmax);
+       influense = bound(newmin, influense, oldmax);
 
-    return (vel_new * (1 - influense)) + (this.velocity * influense);
+       return (vel_new * (1 - influense)) + (this.velocity * influense);
 }
 
-vector movelib_inertmove(entity this, vector new_vel,float new_bias)
+vector movelib_inertmove(entity this, vector new_vel, float new_bias)
 {
-    return new_vel * new_bias + this.velocity * (1-new_bias);
+       return new_vel * new_bias + this.velocity * (1 - new_bias);
 }
 
-void movelib_move(entity this, vector force,float max_velocity,float drag,float theMass,float breakforce)
+void movelib_move(entity this, vector force, float max_velocity, float drag, float theMass, float breakforce)
 {
-    float deltatime;
-    float acceleration;
-    float mspeed;
-    vector breakvec;
-
-    deltatime = time - this.movelib_lastupdate;
-    if (deltatime > 0.15) deltatime = 0;
-    this.movelib_lastupdate = time;
-    if (!deltatime) return;
-
-    mspeed = vlen(this.velocity);
-
-    if (theMass)
-        acceleration = vlen(force) / theMass;
-    else
-        acceleration = vlen(force);
-
-    if (IS_ONGROUND(this))
-    {
-        if (breakforce)
-        {
-            breakvec = (normalize(this.velocity) * (breakforce / theMass) * deltatime);
-            this.velocity = this.velocity - breakvec;
-        }
-
-        this.velocity = this.velocity + force * (acceleration * deltatime);
-    }
-
-    if (drag)
-        this.velocity = movelib_dragvec(this, drag, 1);
-
-    if (this.waterlevel > 1)
-    {
-        this.velocity = this.velocity + force * (acceleration * deltatime);
-        this.velocity = this.velocity + '0 0 0.05' * autocvar_sv_gravity * deltatime;
-    }
-    else
-        this.velocity = this.velocity + '0 0 -1' * autocvar_sv_gravity * deltatime;
-
-    mspeed = vlen(this.velocity);
-
-    if (max_velocity)
-        if (mspeed > max_velocity)
-            this.velocity = normalize(this.velocity) * (mspeed - 50);//* max_velocity;
+       float deltatime;
+       float acceleration;
+       float mspeed;
+       vector breakvec;
+
+       deltatime = time - this.movelib_lastupdate;
+       if (deltatime > 0.15) { deltatime = 0; }
+       this.movelib_lastupdate = time;
+       if (!deltatime) { return; }
+
+       mspeed = vlen(this.velocity);
+
+       if (theMass) {
+               acceleration = vlen(force) / theMass;
+       } else {
+               acceleration = vlen(force);
+       }
+
+       if (IS_ONGROUND(this)) {
+               if (breakforce) {
+                       breakvec = (normalize(this.velocity) * (breakforce / theMass) * deltatime);
+                       this.velocity = this.velocity - breakvec;
+               }
+
+               this.velocity = this.velocity + force * (acceleration * deltatime);
+       }
+
+       if (drag) {
+               this.velocity = movelib_dragvec(this, drag, 1);
+       }
+
+       if (this.waterlevel > 1) {
+               this.velocity = this.velocity + force * (acceleration * deltatime);
+               this.velocity = this.velocity + '0 0 0.05' * autocvar_sv_gravity * deltatime;
+       } else {
+               this.velocity = this.velocity + '0 0 -1' * autocvar_sv_gravity * deltatime;
+       }
+
+       mspeed = vlen(this.velocity);
+
+       if (max_velocity) {
+               if (mspeed > max_velocity) {
+                       this.velocity = normalize(this.velocity) * (mspeed - 50); // * max_velocity;
+               }
+       }
 }
 
 /*
@@ -165,15 +166,15 @@ void movelib_update(entity this, vector dir,float force)
 
 void movelib_brake_simple(entity this, float force)
 {
-    float mspeed;
-    vector mdir;
-    float vz;
-
-    mspeed = max(0,vlen(this.velocity) - force);
-    mdir   = normalize(this.velocity);
-    vz = this.velocity.z;
-    this.velocity = mdir * mspeed;
-    this.velocity_z = vz;
+       float mspeed;
+       vector mdir;
+       float vz;
+
+       mspeed = max(0, vlen(this.velocity) - force);
+       mdir   = normalize(this.velocity);
+       vz = this.velocity.z;
+       this.velocity = mdir * mspeed;
+       this.velocity_z = vz;
 }
 
 /**
@@ -184,54 +185,53 @@ Yed need to set v_up and v_forward (generally by calling makevectors) before cal
 
 void movelib_groundalign4point(entity this, float spring_length, float spring_up, float blendrate, float _max)
 {
-    vector a, b, c, d, e, r, push_angle, ahead, side;
+       vector a, b, c, d, e, r, push_angle, ahead, side;
 
-    push_angle.y = 0;
-    r = (this.absmax + this.absmin) * 0.5 + (v_up * spring_up);
-    e = v_up * spring_length;
+       push_angle.y = 0;
+       r = (this.absmax + this.absmin) * 0.5 + (v_up * spring_up);
+       e = v_up * spring_length;
 
-    // Put springs slightly inside bbox
-    ahead = v_forward * (this.maxs.x * 0.8);
-    side  = v_right   * (this.maxs.y * 0.8);
+       // Put springs slightly inside bbox
+       ahead = v_forward * (this.maxs.x * 0.8);
+       side  = v_right   * (this.maxs.y * 0.8);
 
-    a = r + ahead + side;
-    b = r + ahead - side;
-    c = r - ahead + side;
-    d = r - ahead - side;
+       a = r + ahead + side;
+       b = r + ahead - side;
+       c = r - ahead + side;
+       d = r - ahead - side;
 
-    traceline(a, a - e,MOVE_NORMAL,this);
-    a.z =  (1 - trace_fraction);
-    r = trace_endpos;
+       traceline(a, a - e, MOVE_NORMAL, this);
+       a.z =  (1 - trace_fraction);
+       r = trace_endpos;
 
-    traceline(b, b - e,MOVE_NORMAL,this);
-    b.z =  (1 - trace_fraction);
-    r += trace_endpos;
+       traceline(b, b - e, MOVE_NORMAL, this);
+       b.z =  (1 - trace_fraction);
+       r += trace_endpos;
 
-    traceline(c, c - e,MOVE_NORMAL,this);
-    c.z =  (1 - trace_fraction);
-    r += trace_endpos;
+       traceline(c, c - e, MOVE_NORMAL, this);
+       c.z =  (1 - trace_fraction);
+       r += trace_endpos;
 
-    traceline(d, d - e,MOVE_NORMAL,this);
-    d.z =  (1 - trace_fraction);
-    r += trace_endpos;
+       traceline(d, d - e, MOVE_NORMAL, this);
+       d.z =  (1 - trace_fraction);
+       r += trace_endpos;
 
-    a.x = r.z;
-    r = this.origin;
-    r.z = r.z;
+       a.x = r.z;
+       r = this.origin;
+       r.z = r.z;
 
-    push_angle.x = (a.z - c.z) * _max;
-    push_angle.x += (b.z - d.z) * _max;
+       push_angle.x = (a.z - c.z) * _max;
+       push_angle.x += (b.z - d.z) * _max;
 
-    push_angle.z = (b.z - a.z) * _max;
-    push_angle.z += (d.z - c.z) * _max;
+       push_angle.z = (b.z - a.z) * _max;
+       push_angle.z += (d.z - c.z) * _max;
 
-    //this.angles_x += push_angle_x * 0.95;
-    //this.angles_z += push_angle_z * 0.95;
+       // this.angles_x += push_angle_x * 0.95;
+       // this.angles_z += push_angle_z * 0.95;
 
-    this.angles_x = ((1-blendrate) *  this.angles.x)  + (push_angle.x * blendrate);
-    this.angles_z = ((1-blendrate) *  this.angles.z)  + (push_angle.z * blendrate);
+       this.angles_x = ((1 - blendrate) *  this.angles.x)  + (push_angle.x * blendrate);
+       this.angles_z = ((1 - blendrate) *  this.angles.z)  + (push_angle.z * blendrate);
 
-    //a = this.origin;
-    setorigin(this, r);
+       // a = this.origin;
+       setorigin(this, r);
 }
-
index e0659a40c197ffcbeeffb775a974682974466212..1bcab7921f4d1fc3cd28d76be5d33ed107ffa0d8 100644 (file)
@@ -13,7 +13,7 @@ vector movelib_dragvec(entity this, float drag, float exp_);
     Simulate drag
     this.velocity *= movelib_dragflt(somespeed,0.01,0.7);
 **/
-float movelib_dragflt(float fspeed,float drag,float exp_);
+float movelib_dragflt(float fspeed, float drag, float exp_);
 
 /**
     Do a inertia simulation based on velocity.
@@ -33,11 +33,11 @@ void movelib_move_simple(vector newdir,float velo,float blendrate)
     this.velocity = this.velocity * (1 - blendrate) + (newdir * blendrate) * velo;
 }
 */
-#define movelib_move_simple(e,newdir,velo,blendrate) \
-    e.velocity = e.velocity * (1 - blendrate) + (newdir * blendrate) * velo
+#define movelib_move_simple(e, newdir, velo, blendrate) \
+       e.velocity = e.velocity * (1 - blendrate) + (newdir * blendrate) * velo
 
-#define movelib_move_simple_gravity(e,newdir,velo,blendrate) \
-    if(IS_ONGROUND(e)) movelib_move_simple(e,newdir,velo,blendrate)
+#define movelib_move_simple_gravity(e, newdir, velo, blendrate) \
+       if (IS_ONGROUND(e)) movelib_move_simple(e, newdir, velo, blendrate)
 
 void movelib_brake_simple(entity this, float force);
 
index 3009069052f7de48c7a4e7a0fa25f69f993cac21..b98144dc80d0ea84202eec98fdd2f413a85b0a10 100644 (file)
@@ -3,12 +3,9 @@ void _Movetype_Physics_Follow(entity this) // SV_Physics_Follow
 {
        entity e = this.aiment;
 
-       if(e.angles == this.punchangle)
-       {
+       if (e.angles == this.punchangle) {
                this.origin = e.origin + this.view_ofs;
-       }
-       else
-       {
+       } else {
                vector ang, v;
                ang_x = -this.punchangle_x;
                ang_y = this.punchangle_y;
index a41269f79c562122fe8f01e6745cfa7df2180748..91cc3647427db69e5d9114da4c1b892ffddfd45c 100644 (file)
@@ -1,18 +1,14 @@
 #include "step.qh"
 void _Movetype_Physics_Step(entity this, float dt) // SV_Physics_Step
 {
-       if(IS_ONGROUND(this))
-       {
-               if(this.velocity_z >= (1.0 / 32.0) && UPWARD_VELOCITY_CLEARS_ONGROUND(this))
-               {
+       if (IS_ONGROUND(this)) {
+               if (this.velocity_z >= (1.0 / 32.0) && UPWARD_VELOCITY_CLEARS_ONGROUND(this)) {
                        UNSET_ONGROUND(this);
                        _Movetype_CheckVelocity(this);
                        _Movetype_FlyMove(this, dt, true, '0 0 0', 0);
                        _Movetype_LinkEdict(this, true);
                }
-       }
-       else
-       {
+       } else {
                _Movetype_CheckVelocity(this);
                _Movetype_FlyMove(this, dt, true, '0 0 0', 0);
                _Movetype_LinkEdict(this, true);
index 71e7fa9d08c9032e14abe5bb9bdcd10824b84121..8c18264b25ca54e2a0dff5a0103f16db83bebcf5 100644 (file)
@@ -1,19 +1,13 @@
 #include "toss.qh"
 
-void _Movetype_Physics_Toss(entity this, float dt)  // SV_Physics_Toss
+void _Movetype_Physics_Toss(entity this, float dt) // SV_Physics_Toss
 {
-       if (IS_ONGROUND(this))
-       {
-               if (this.velocity.z >= 1 / 32 && UPWARD_VELOCITY_CLEARS_ONGROUND(this))
-               {
+       if (IS_ONGROUND(this)) {
+               if (this.velocity.z >= 1 / 32 && UPWARD_VELOCITY_CLEARS_ONGROUND(this)) {
                        UNSET_ONGROUND(this);
-               }
-               else if (!this.groundentity)
-               {
+               } else if (!this.groundentity) {
                        return;
-               }
-               else if (this.move_suspendedinair && wasfreed(this.groundentity))
-               {
+               } else if (this.move_suspendedinair && wasfreed(this.groundentity)) {
                        this.groundentity = NULL;
                        return;
                }
@@ -25,15 +19,14 @@ void _Movetype_Physics_Toss(entity this, float dt)  // SV_Physics_Toss
 
        /*if (this.move_movetype == MOVETYPE_BOUNCE || this.move_movetype == MOVETYPE_TOSS)
        {
-               this.move_didgravity = 1;
-               this.velocity_z -= (GAMEPLAYFIX_GRAVITYUNAFFECTEDBYTICRATE ? 0.5 : 1)
-                   * dt
-                   * (this.gravity ? this.gravity : 1)
-                   * PHYS_GRAVITY(this);
+           this.move_didgravity = 1;
+           this.velocity_z -= (GAMEPLAYFIX_GRAVITYUNAFFECTEDBYTICRATE ? 0.5 : 1)
+               * dt
+               * (this.gravity ? this.gravity : 1)
+               * PHYS_GRAVITY(this);
        }*/
 
-       if (this.move_movetype == MOVETYPE_BOUNCE || this.move_movetype == MOVETYPE_TOSS)
-       {
+       if (this.move_movetype == MOVETYPE_BOUNCE || this.move_movetype == MOVETYPE_TOSS) {
                this.move_didgravity = true;
                this.velocity_z -= (((this.gravity) ? this.gravity : 1) * PHYS_GRAVITY(this) * dt);
        }
@@ -41,80 +34,75 @@ void _Movetype_Physics_Toss(entity this, float dt)  // SV_Physics_Toss
        this.angles = this.angles + this.avelocity * dt;
 
        float movetime = dt;
-       for (int bump = 0; bump < MAX_CLIP_PLANES && movetime > 0; ++bump)
-       {
+       for (int bump = 0; bump < MAX_CLIP_PLANES && movetime > 0; ++bump) {
                vector move = this.velocity * movetime;
                _Movetype_PushEntity(this, move, true);
-               if (wasfreed(this))
+               if (wasfreed(this)) {
                        return;
+               }
 
-               if (trace_startsolid)
-               {
+               if (trace_startsolid) {
                        _Movetype_UnstickEntity(this);
                        _Movetype_PushEntity(this, move, false);
-                       if (wasfreed(this))
+                       if (wasfreed(this)) {
                                return;
+                       }
                }
 
-               if (trace_fraction == 1)
+               if (trace_fraction == 1) {
                        break;
+               }
 
                movetime *= 1 - min(1, trace_fraction);
 
-               if (this.move_movetype == MOVETYPE_BOUNCEMISSILE)
-               {
+               if (this.move_movetype == MOVETYPE_BOUNCEMISSILE) {
                        this.velocity = _Movetype_ClipVelocity(this.velocity, trace_plane_normal, 2.0);
                        UNSET_ONGROUND(this);
-               }
-               else if (this.move_movetype == MOVETYPE_BOUNCE)
-               {
-                       float bouncefac = this.bouncefactor;     if (!bouncefac)  bouncefac = 0.5;
-                       float bstop = this.bouncestop; if (!bstop) bstop = 60 / 800;
+               } else if (this.move_movetype == MOVETYPE_BOUNCE) {
+                       float bouncefac = this.bouncefactor;
+                       if (!bouncefac) { bouncefac = 0.5; }
+                       float bstop = this.bouncestop;
+                       if (!bstop) { bstop = 60 / 800; }
                        bstop *= (this.gravity ? this.gravity : 1) * PHYS_GRAVITY(this);
 
                        this.velocity = _Movetype_ClipVelocity(this.velocity, trace_plane_normal, 1 + bouncefac);
 
                        float d = trace_plane_normal * this.velocity;
-                       if (trace_plane_normal.z > 0.7 && d < bstop && d > -bstop)
-                       {
+                       if (trace_plane_normal.z > 0.7 && d < bstop && d > -bstop) {
                                SET_ONGROUND(this);
                                this.groundentity = trace_ent;
                                this.velocity = '0 0 0';
                                this.avelocity = '0 0 0';
-                       }
-                       else
-                       {
+                       } else {
                                UNSET_ONGROUND(this);
                        }
-               }
-               else
-               {
+               } else {
                        this.velocity = _Movetype_ClipVelocity(this.velocity, trace_plane_normal, 1.0);
-                       if (trace_plane_normal.z > 0.7)
-                       {
+                       if (trace_plane_normal.z > 0.7) {
                                SET_ONGROUND(this);
                                this.groundentity = trace_ent;
-                               if (trace_ent.solid == SOLID_BSP)
+                               if (trace_ent.solid == SOLID_BSP) {
                                        this.move_suspendedinair = true;
+                               }
                                this.velocity = '0 0 0';
                                this.avelocity = '0 0 0';
-                       }
-                       else
-                       {
+                       } else {
                                UNSET_ONGROUND(this);
                        }
                }
 
                // DP revision 8905 (just, WHY...)
-               if (this.move_movetype == MOVETYPE_BOUNCEMISSILE)
+               if (this.move_movetype == MOVETYPE_BOUNCEMISSILE) {
                        break;
+               }
 
                // DP revision 8918 (WHY...)
-               if (IS_ONGROUND(this))
+               if (IS_ONGROUND(this)) {
                        break;
+               }
        }
 
-       //if (GAMEPLAYFIX_GRAVITYUNAFFECTEDBYTICRATE && this.move_didgravity > 0 && !IS_ONGROUND(this))
+       // if (GAMEPLAYFIX_GRAVITYUNAFFECTEDBYTICRATE && this.move_didgravity > 0 && !IS_ONGROUND(this))
        //      this.velocity_z -= 0.5 * dt * (this.gravity ? this.gravity : 1) * PHYS_GRAVITY(this);
 
        _Movetype_CheckWaterTransition(this);
index c20e82e8342825a9282142d288281ceffea2583d..398901ad3ed7be33c8a2ee8a203a31e383fca376 100644 (file)
@@ -1,14 +1,16 @@
 #include "walk.qh"
-void _Movetype_Physics_Walk(entity this, float dt)  // SV_WalkMove
+void _Movetype_Physics_Walk(entity this, float dt) // SV_WalkMove
 {
        vector stepnormal = '0 0 0';
 
        // if frametime is 0 (due to client sending the same timestamp twice), don't move
-       if (dt <= 0)
+       if (dt <= 0) {
                return;
+       }
 
-       if (GAMEPLAYFIX_UNSTICKPLAYERS(this))
+       if (GAMEPLAYFIX_UNSTICKPLAYERS(this)) {
                _Movetype_UnstickEntity(this);
+       }
 
        bool applygravity = (!_Movetype_CheckWater(this) && this.move_movetype == MOVETYPE_WALK && !(this.flags & FL_WATERJUMP));
 
@@ -22,41 +24,45 @@ void _Movetype_Physics_Walk(entity this, float dt)  // SV_WalkMove
 
        int clip = _Movetype_FlyMove(this, dt, applygravity, stepnormal, GAMEPLAYFIX_STEPMULTIPLETIMES(this) ? PHYS_STEPHEIGHT(this) : 0);
 
-       if (GAMEPLAYFIX_DOWNTRACEONGROUND(this) && !(clip & 1))
-       {
+       if (GAMEPLAYFIX_DOWNTRACEONGROUND(this) && !(clip & 1)) {
                // only try this if there was no floor in the way in the trace (no,
                // this check seems to be not REALLY necessary, because if clip & 1,
                // our trace will hit that thing too)
                vector upmove = this.origin + '0 0 1';
                vector downmove = this.origin - '0 0 1';
                int type;
-               if (this.move_movetype == MOVETYPE_FLYMISSILE)
+               if (this.move_movetype == MOVETYPE_FLYMISSILE) {
                        type = MOVE_MISSILE;
-               else if (this.move_movetype == MOVETYPE_FLY_WORLDONLY)
+               } else if (this.move_movetype == MOVETYPE_FLY_WORLDONLY) {
                        type = MOVE_WORLDONLY;
-               else if (this.solid == SOLID_TRIGGER || this.solid == SOLID_NOT)
+               } else if (this.solid == SOLID_TRIGGER || this.solid == SOLID_NOT) {
                        type = MOVE_NOMONSTERS;
-               else type = MOVE_NORMAL;
+               } else { type = MOVE_NORMAL; }
                tracebox(upmove, this.mins, this.maxs, downmove, type, this);
-               if (trace_fraction < 1 && trace_plane_normal.z > 0.7)
-                       clip |= 1;  // but we HAVE found a floor
+               if (trace_fraction < 1 && trace_plane_normal.z > 0.7) {
+                       clip |= 1; // but we HAVE found a floor
+               }
        }
 
        // if the move did not hit the ground at any point, we're not on ground
-       if (!(clip & 1))
+       if (!(clip & 1)) {
                UNSET_ONGROUND(this);
+       }
 
        _Movetype_CheckVelocity(this);
        _Movetype_LinkEdict(this, true);
 
-       if (clip & 8)  // teleport
+       if (clip & 8) { // teleport
                return;
+       }
 
-       if (this.flags & FL_WATERJUMP)
+       if (this.flags & FL_WATERJUMP) {
                return;
+       }
 
-       if (PHYS_NOSTEP(this))
+       if (PHYS_NOSTEP(this)) {
                return;
+       }
 
        vector originalorigin = this.origin;
        vector originalvelocity = this.velocity;
@@ -65,22 +71,24 @@ void _Movetype_Physics_Walk(entity this, float dt)  // SV_WalkMove
        entity originalmove_groundentity = this.groundentity;
 
        // if move didn't block on a step, return
-       if (clip & 2)
-       {
+       if (clip & 2) {
                // if move was not trying to move into the step, return
-               if (fabs(start_velocity.x) < 0.03125 && fabs(start_velocity.y) < 0.03125)
+               if (fabs(start_velocity.x) < 0.03125 && fabs(start_velocity.y) < 0.03125) {
                        return;
+               }
 
-               if (this.move_movetype != MOVETYPE_FLY)
-               {
+               if (this.move_movetype != MOVETYPE_FLY) {
                        // return if gibbed by a trigger
-                       if (this.move_movetype != MOVETYPE_WALK)
+                       if (this.move_movetype != MOVETYPE_WALK) {
                                return;
+                       }
 
                        // return if attempting to jump while airborn (unless sv_jumpstep)
-                       if (!PHYS_JUMPSTEP(this))
-                               if (!oldonground && this.waterlevel == 0)
+                       if (!PHYS_JUMPSTEP(this)) {
+                               if (!oldonground && this.waterlevel == 0) {
                                        return;
+                               }
+                       }
                }
 
                // try moving up and forward to go up a step
@@ -91,10 +99,10 @@ void _Movetype_Physics_Walk(entity this, float dt)  // SV_WalkMove
                // move up
                vector upmove = '0 0 1' * PHYS_STEPHEIGHT(this);
                _Movetype_PushEntity(this, upmove, true);
-               if(wasfreed(this))
+               if (wasfreed(this)) {
                        return;
-               if(trace_startsolid)
-               {
+               }
+               if (trace_startsolid) {
                        // we got teleported when upstepping... must abort the move
                        return;
                }
@@ -103,8 +111,7 @@ void _Movetype_Physics_Walk(entity this, float dt)  // SV_WalkMove
                this.velocity_z = 0;
                clip = _Movetype_FlyMove(this, dt, applygravity, stepnormal, 0);
                this.velocity_z += start_velocity.z;
-               if (clip & 8)
-               {
+               if (clip & 8) {
                        // we got teleported when upstepping... must abort the move
                        // note that z velocity handling may not be what QC expects here, but we cannot help it
                        return;
@@ -116,9 +123,8 @@ void _Movetype_Physics_Walk(entity this, float dt)  // SV_WalkMove
                // check for stuckness, possibly due to the limited precision of floats
                // in the clipping hulls
                if (clip
-                   && fabs(originalorigin.y - this.origin.y) < 0.03125
-                   && fabs(originalorigin.x - this.origin.x) < 0.03125)
-               {
+                       && fabs(originalorigin.y - this.origin.y) < 0.03125
+                       && fabs(originalorigin.x - this.origin.x) < 0.03125) {
                        // Con_Printf("wall\n");
                        // stepping up didn't make any progress, revert to original move
                        this.origin = originalorigin;
@@ -134,34 +140,31 @@ void _Movetype_Physics_Walk(entity this, float dt)  // SV_WalkMove
                // Con_Printf("step - ");
 
                // extra friction based on view angle
-               if ((clip & 2) && PHYS_WALLFRICTION(this))
+               if ((clip & 2) && PHYS_WALLFRICTION(this)) {
                        _Movetype_WallFriction(this, stepnormal);
+               }
        }
        // don't do the down move if stepdown is disabled, moving upward, not in water, or the move started offground or ended onground
-       else if (!GAMEPLAYFIX_STEPDOWN(this) || this.waterlevel >= 3 || start_velocity.z >= (1.0 / 32.0) || !oldonground || IS_ONGROUND(this))
-       {
+       else if (!GAMEPLAYFIX_STEPDOWN(this) || this.waterlevel >= 3 || start_velocity.z >= (1.0 / 32.0) || !oldonground || IS_ONGROUND(this)) {
                return;
        }
 
        // move down
        vector downmove = '0 0 1' * (-PHYS_STEPHEIGHT(this) + start_velocity.z * dt);
        _Movetype_PushEntity(this, downmove, true);
-       if(wasfreed(this))
+       if (wasfreed(this)) {
                return;
+       }
 
-       if(trace_startsolid)
-       {
+       if (trace_startsolid) {
                // we got teleported when downstepping... must abort the move
                return;
        }
 
-       if (trace_fraction < 1 && trace_plane_normal.z > 0.7)
-       {
+       if (trace_fraction < 1 && trace_plane_normal.z > 0.7) {
                // this has been disabled so that you can't jump when you are stepping
                // up while already jumping (also known as the Quake2 double jump bug)
-       }
-       else
-       {
+       } else {
                // Con_Printf("slope\n");
                // if the push down didn't end up on good ground, use the move without
                // the step up.  This happens near wall / slope combinations, and can
index b7b296341b5a02ba5829035e158f13ad673cbefe..748e59b22ff6905af2844ff60a407c59aeb4d345 100644 (file)
@@ -7,14 +7,18 @@ REGISTRY(Sounds, BITS(9))
 REGISTER_REGISTRY(Sounds)
 
 #define SOUND(name, path) \
-    string SND_##name##_get() { return path; } \
-    REGISTER(Sounds, SND, name, m_id, NEW(Sound, SND_##name##_get))
+       string SND_##name##_get() \
+       { \
+               return path; \
+       } \
+       REGISTER(Sounds, SND, name, m_id, NEW(Sound, SND_##name##_get))
 
 /** @deprecated Used in places where a string is required for legacy reasons, prefer using SND_id constants instead */
 #define SND(id) Sound_fixpath(SND_##id)
 
-PRECACHE(Sounds) {
-    FOREACH(Sounds, true, it.sound_precache(it));
+PRECACHE(Sounds)
+{
+       FOREACH(Sounds, true, it.sound_precache(it));
 }
 
 SOUND(Null, "misc/null");
index 0ff10a9ae5f528340ae058b446ba5ddce70bb1b4..b1322ce552495786d6b6bca91d2ca631449bbaf9 100644 (file)
@@ -39,14 +39,15 @@ const float VOL_MUFFLED = 0.35;
 // Play all sounds via sound7, for access to the extra channels.
 // Otherwise, channels 8 to 15 would be blocked for a weird QW feature.
 #ifdef SVQC
-       #define _sound(e, c, s, v, a) \
-               MACRO_BEGIN \
-                       entity __e = e; \
-                       if (sound_allowed(MSG_BROADCAST, __e)) \
-                               sound7(__e, c, s, v, a, 0, 0); \
-               MACRO_END
+#define _sound(e, c, s, v, a) \
+       MACRO_BEGIN \
+               entity __e = e; \
+               if (sound_allowed(MSG_BROADCAST, __e)) { \
+                       sound7(__e, c, s, v, a, 0, 0); \
+               } \
+       MACRO_END
 #else
-       #define _sound(e, c, s, v, a) sound7(e, c, s, v, a, 0, 0)
+#define _sound(e, c, s, v, a) sound7(e, c, s, v, a, 0, 0)
 #endif
 #define sound(e, c, s, v, a) _sound(e, c, Sound_fixpath(s), v, a)
 
@@ -68,9 +69,7 @@ const float VOL_MUFFLED = 0.35;
                int __chan = chan; \
                string __samp = samp; \
                bool auto = false; \
-               if (__chan > 0) __e = e; \
-               else \
-               { \
+               if (__chan > 0) { __e = e; } else {   \
                        auto = true; \
                        __chan = fabs(__chan); \
                        entity tmp = __e = new(csqc_autochannel); \
@@ -83,8 +82,7 @@ const float VOL_MUFFLED = 0.35;
                setorigin(__e, o); \
                setsize(__e, '0 0 0', '0 0 0'); \
                sound7(__e, __chan, __samp, vol, atten, speed, sf); \
-               if (!auto) \
-               { \
+               if (!auto) { \
                        setorigin(__e, old_origin); \
                        setsize(__e, old_mins, old_maxs); \
                } \
@@ -98,31 +96,31 @@ CLASS(Sound, Object)
                CONSTRUCT(Sound);
                this.sound_str = path;
        }
-       #define Sound_fixpath(this) _Sound_fixpath((this).sound_str())
+#define Sound_fixpath(this) _Sound_fixpath((this).sound_str())
        string _Sound_fixpath(string base)
        {
-               if (base == "") return string_null;
+               if (base == "") { return string_null; }
 #ifdef SVQC
-               return strcat(base, ".wav");  // let the client engine decide
+               return strcat(base, ".wav"); // let the client engine decide
 #else
-               #define extensions(x) \
-                       x(wav) \
-                       x(ogg) \
-                       x(flac) \
-                       /**/
-               #define tryext(ext) { string s = strcat(base, "." #ext); if (fexists(strcat("sound/", s))) return s; }
+#define extensions(x) \
+       x(wav) \
+       x(ogg) \
+       x(flac) \
+       /**/
+#define tryext(ext) { string s = strcat(base, "." #ext); if (fexists(strcat("sound/", s))) { return s; } }
                extensions(tryext);
                LOG_WARNF("Missing sound: \"%s\"", strcat("sound/", base));
-               #undef tryext
-               #undef extensions
+#undef tryext
+#undef extensions
                return string_null;
 #endif
        }
        METHOD(Sound, sound_precache, void(Sound this))
        {
-           TC(Sound, this);
+               TC(Sound, this);
                string s = Sound_fixpath(this);
-               if (!s) return;
+               if (!s) { return; }
                profile(sprintf("precache_sound(\"%s\")", s));
                precache_sound(s);
        }
index 42fc450c4728f97f4e63ca6fe9b196b79f2c0a53..e2aba068b4f39cb0c3e53c83d471422e787275ed 100644 (file)
@@ -42,9 +42,9 @@ ENDCLASS(ClientState)
 .ClientState _cs;
 
 #if NDEBUG
-       #define CS(this) (this._cs)
+#define CS(this) (this._cs)
 #else
-       ClientState CS(Client this) { TC(Client, this); assert(this._cs); return this._cs; }
+ClientState CS(Client this) { TC(Client, this); assert(this._cs); return this._cs; }
 #endif
 
 void ClientState_attach(entity this);
index ff8841a570030853d2ce70b1602bc06ba2c31c60..12aa29946e9871587ab283b6cf4d63d5135975e8 100644 (file)
@@ -6,8 +6,7 @@ void func_bobbing_controller_think(entity this)
        vector v;
        this.nextthink = time + 0.1;
 
-       if(this.owner.active != ACTIVE_ACTIVE)
-       {
+       if (this.owner.active != ACTIVE_ACTIVE) {
                this.owner.velocity = '0 0 0';
                return;
        }
@@ -15,9 +14,10 @@ void func_bobbing_controller_think(entity this)
        // calculate sinewave using makevectors
        makevectors((this.nextthink * this.owner.cnt + this.owner.phase * 360) * '0 1 0');
        v = this.owner.destvec + this.owner.movedir * v_forward_y;
-       if(this.owner.classname == "func_bobbing") // don't brake stuff if the func_bobbing was killtarget'ed
+       if (this.owner.classname == "func_bobbing") { // don't brake stuff if the func_bobbing was killtarget'ed
                // * 10 so it will arrive in 0.1 sec
                this.owner.velocity = (v - this.owner.origin) * 10;
+       }
 }
 
 /*QUAKED spawnfunc_func_bobbing (0 .5 .8) ? X_AXIS Y_AXIS
@@ -32,15 +32,16 @@ dmgtime : See above.
 spawnfunc(func_bobbing)
 {
        entity controller;
-       if (this.noise != "")
-       {
+       if (this.noise != "") {
                precache_sound(this.noise);
                soundto(MSG_INIT, this, CH_TRIGGER_SINGLE, this.noise, VOL_BASE, ATTEN_IDLE);
        }
-       if (!this.speed)
+       if (!this.speed) {
                this.speed = 4;
-       if (!this.height)
+       }
+       if (!this.height) {
                this.height = 32;
+       }
        // center of bobbing motion
        this.destvec = this.origin;
        // time scale to get degrees
@@ -50,24 +51,29 @@ spawnfunc(func_bobbing)
 
        // damage when blocked
        setblocked(this, generic_plat_blocked);
-       if(this.dmg && (this.message == ""))
+       if (this.dmg && (this.message == "")) {
                this.message = " was squished";
-    if(this.dmg && (this.message2 == ""))
+       }
+       if (this.dmg && (this.message2 == "")) {
                this.message2 = "was squished by";
-       if(this.dmg && (!this.dmgtime))
+       }
+       if (this.dmg && (!this.dmgtime)) {
                this.dmgtime = 0.25;
+       }
        this.dmgtime2 = time;
 
        // how far to bob
-       if (this.spawnflags & 1) // X
+       if (this.spawnflags & 1) // X
                this.movedir = '1 0 0' * this.height;
-       else if (this.spawnflags & 2) // Y
+       } else if (this.spawnflags & 2) { // Y
                this.movedir = '0 1 0' * this.height;
-       else // Z
+       } else {                          // Z
                this.movedir = '0 0 1' * this.height;
+       }
 
-       if (!InitMovingBrushTrigger(this))
+       if (!InitMovingBrushTrigger(this)) {
                return;
+       }
 
        // wait for targets to spawn
        controller = new(func_bobbing_controller);
index 960ee2150d6e666f6434e392d5a0a6f3ad02c3b7..163e8b958dc9072c3d70a45da591a6c11a68f984 100644 (file)
@@ -7,7 +7,7 @@ void conveyor_think(entity this)
        // TODO: check if this is what is causing the glitchiness when switching between them
        float dt = time - this.move_time;
        this.move_time = time;
-       if(dt <= 0) { return; }
+       if (dt <= 0) { return; }
 #endif
 
        // set myself as current conveyor where possible
@@ -17,31 +17,30 @@ void conveyor_think(entity this)
                IL_REMOVE(g_conveyed, it);
        });
 
-       if(this.state)
-       {
+       if (this.state) {
                FOREACH_ENTITY_RADIUS((this.absmin + this.absmax) * 0.5, vlen(this.absmax - this.absmin) * 0.5 + 1, !it.conveyor.state && isPushable(it),
                {
                        vector emin = it.absmin;
                        vector emax = it.absmax;
-                       if(this.solid == SOLID_BSP)
-                       {
+                       if (this.solid == SOLID_BSP) {
                                emin -= '1 1 1';
                                emax += '1 1 1';
                        }
-                       if(boxesoverlap(emin, emax, this.absmin, this.absmax)) // quick
-                               if(WarpZoneLib_BoxTouchesBrush(emin, emax, this, it)) // accurate
-                               {
-                                       if(!it.conveyor)
+                       if (boxesoverlap(emin, emax, this.absmin, this.absmax)) { // quick
+                               if (WarpZoneLib_BoxTouchesBrush(emin, emax, this, it)) { // accurate
+                                       if (!it.conveyor) {
                                                IL_PUSH(g_conveyed, it);
+                                       }
                                        it.conveyor = this;
                                }
+                       }
                });
 
                IL_EACH(g_conveyed, it.conveyor == this,
                {
-                       if(IS_CLIENT(it)) // doing it via velocity has quite some advantages
+                       if (IS_CLIENT(it)) { // doing it via velocity has quite some advantages
                                continue; // done in SV_PlayerPhysics   continue;
-
+                       }
                        setorigin(it, it.origin + this.movedir * PHYS_INPUT_FRAMETIME);
                        move_out_of_solid(it);
 #ifdef SVQC
@@ -51,7 +50,7 @@ void conveyor_think(entity this)
                        // stupid conveyor code
                        tracebox(it.origin, it.mins, it.maxs, it.origin + this.movedir * sys_frametime, MOVE_NORMAL, it);
                        if(trace_fraction > 0)
-                               setorigin(it, trace_endpos);
+                           setorigin(it, trace_endpos);
                        */
                });
        }
@@ -82,8 +81,7 @@ bool conveyor_send(entity this, entity to, int sf)
        WriteHeader(MSG_ENTITY, ENT_CLIENT_CONVEYOR);
        WriteByte(MSG_ENTITY, sf);
 
-       if(sf & 1)
-       {
+       if (sf & 1) {
                WriteByte(MSG_ENTITY, this.warpzone_isboxy);
                WriteCoord(MSG_ENTITY, this.origin_x);
                WriteCoord(MSG_ENTITY, this.origin_y);
@@ -107,26 +105,26 @@ bool conveyor_send(entity this, entity to, int sf)
                WriteString(MSG_ENTITY, this.target);
        }
 
-       if(sf & 2)
+       if (sf & 2) {
                WriteByte(MSG_ENTITY, this.state);
+       }
 
        return true;
 }
 
 void conveyor_init(entity this)
 {
-       if (!this.speed) this.speed = 200;
+       if (!this.speed) { this.speed = 200; }
        this.movedir *= this.speed;
        setthink(this, conveyor_think);
        this.nextthink = time;
-       if(THIS_TARGETED)
-       {
+       if (THIS_TARGETED) {
                this.use = conveyor_use;
                this.reset = conveyor_reset;
                this.reset(this);
-       }
-       else
+       } else {
                this.state = 1;
+       }
 
        FixSize(this);
 
@@ -156,8 +154,9 @@ void conveyor_draw(entity this) { conveyor_think(this); }
 
 void conveyor_init(entity this, bool isnew)
 {
-       if(isnew)
+       if (isnew) {
                IL_PUSH(g_drawables, this);
+       }
        this.draw = conveyor_draw;
        this.drawmask = MASK_NORMAL;
 
@@ -171,8 +170,7 @@ NET_HANDLE(ENT_CLIENT_CONVEYOR, bool isnew)
 {
        int sf = ReadByte();
 
-       if(sf & 1)
-       {
+       if (sf & 1) {
                this.warpzone_isboxy = ReadByte();
                this.origin_x = ReadCoord();
                this.origin_y = ReadCoord();
@@ -200,8 +198,9 @@ NET_HANDLE(ENT_CLIENT_CONVEYOR, bool isnew)
                conveyor_init(this, isnew);
        }
 
-       if(sf & 2)
+       if (sf & 2) {
                this.state = ReadByte();
+       }
 
        return true;
 }
index c12b52d2dd19118e4d0a7209329796446922cbeb..ce4db5f8d04ce045caa1e8020ad077d35dcca547 100644 (file)
@@ -1,4 +1,7 @@
 #pragma once
 
 IntrusiveList g_conveyed;
-STATIC_INIT(g_conveyed) { g_conveyed = IL_NEW(); }
+STATIC_INIT(g_conveyed)
+{
+       g_conveyed = IL_NEW();
+}
index 1f9b6239e3863480f5b269de0278604b99943f4e..3c8521fa85c6f6693e9dcdc3ccd62c4a450e6fb7 100644 (file)
@@ -28,58 +28,51 @@ void door_rotating_go_up(entity this, entity oth);
 
 void door_blocked(entity this, entity blocker)
 {
-       if((this.spawnflags & 8)
+       if ((this.spawnflags & 8)
 #ifdef SVQC
                && (blocker.takedamage != DAMAGE_NO)
 #elif defined(CSQC)
                && !IS_DEAD(blocker)
 #endif
-       )
-       { // KIll Kill Kill!!
+       ) { // KIll Kill Kill!!
 #ifdef SVQC
-               Damage (blocker, this, this, 10000, DEATH_HURTTRIGGER.m_id, blocker.origin, '0 0 0');
+               Damage(blocker, this, this, 10000, DEATH_HURTTRIGGER.m_id, blocker.origin, '0 0 0');
 #endif
-       }
-       else
-       {
+       } else {
 #ifdef SVQC
-               if((this.dmg) && (blocker.takedamage == DAMAGE_YES))    // Shall we bite?
-                       Damage (blocker, this, this, this.dmg, DEATH_HURTTRIGGER.m_id, blocker.origin, '0 0 0');
+               if ((this.dmg) && (blocker.takedamage == DAMAGE_YES)) { // Shall we bite?
+                       Damage(blocker, this, this, this.dmg, DEATH_HURTTRIGGER.m_id, blocker.origin, '0 0 0');
+               }
 #endif
 
-                // don't change direction for dead or dying stuff
-               if(IS_DEAD(blocker)
+               // don't change direction for dead or dying stuff
+               if (IS_DEAD(blocker)
 #ifdef SVQC
                        && (blocker.takedamage == DAMAGE_NO)
 #endif
-               )
-               {
-                       if (this.wait >= 0)
-                       {
-                               if (this.state == STATE_DOWN)
-                       if (this.classname == "door")
-                       {
-                               door_go_up (this);
-                       } else
-                       {
-                               door_rotating_go_up(this, blocker);
-                       }
-                               else
-                       if (this.classname == "door")
-                       {
-                               door_go_down (this);
-                       } else
-                       {
-                               door_rotating_go_down (this);
-                       }
+               ) {
+                       if (this.wait >= 0) {
+                               if (this.state == STATE_DOWN) {
+                                       if (this.classname == "door") {
+                                               door_go_up(this);
+                                       } else {
+                                               door_rotating_go_up(this, blocker);
+                                       }
+                               } else {
+                                       if (this.classname == "door") {
+                                               door_go_down(this);
+                                       } else {
+                                               door_rotating_go_down(this);
+                                       }
+                               }
                        }
                }
 #ifdef SVQC
-               else
-               {
-                       //gib dying stuff just to make sure
-                       if((this.dmg) && (blocker.takedamage != DAMAGE_NO))    // Shall we bite?
-                               Damage (blocker, this, this, 10000, DEATH_HURTTRIGGER.m_id, blocker.origin, '0 0 0');
+               else {
+                       // gib dying stuff just to make sure
+                       if ((this.dmg) && (blocker.takedamage != DAMAGE_NO)) { // Shall we bite?
+                               Damage(blocker, this, this, 10000, DEATH_HURTTRIGGER.m_id, blocker.origin, '0 0 0');
+                       }
                }
 #endif
        }
@@ -87,16 +80,16 @@ void door_blocked(entity this, entity blocker)
 
 void door_hit_top(entity this)
 {
-       if (this.noise1 != "")
-               _sound (this, CH_TRIGGER_SINGLE, this.noise1, VOL_BASE, ATTEN_NORM);
+       if (this.noise1 != "") {
+               _sound(this, CH_TRIGGER_SINGLE, this.noise1, VOL_BASE, ATTEN_NORM);
+       }
        this.state = STATE_TOP;
-       if (this.spawnflags & DOOR_TOGGLE)
-               return;         // don't come down automatically
-       if (this.classname == "door")
-       {
+       if (this.spawnflags & DOOR_TOGGLE) {
+               return; // don't come down automatically
+       }
+       if (this.classname == "door") {
                setthink(this, door_go_down);
-       } else
-       {
+       } else {
                setthink(this, door_rotating_go_down);
        }
        this.nextthink = this.ltime + this.wait;
@@ -104,40 +97,41 @@ void door_hit_top(entity this)
 
 void door_hit_bottom(entity this)
 {
-       if (this.noise1 != "")
-               _sound (this, CH_TRIGGER_SINGLE, this.noise1, VOL_BASE, ATTEN_NORM);
+       if (this.noise1 != "") {
+               _sound(this, CH_TRIGGER_SINGLE, this.noise1, VOL_BASE, ATTEN_NORM);
+       }
        this.state = STATE_BOTTOM;
 }
 
 void door_go_down(entity this)
 {
-       if (this.noise2 != "")
-               _sound (this, CH_TRIGGER_SINGLE, this.noise2, VOL_BASE, ATTEN_NORM);
-       if (this.max_health)
-       {
+       if (this.noise2 != "") {
+               _sound(this, CH_TRIGGER_SINGLE, this.noise2, VOL_BASE, ATTEN_NORM);
+       }
+       if (this.max_health) {
                this.takedamage = DAMAGE_YES;
                this.health = this.max_health;
        }
 
        this.state = STATE_DOWN;
-       SUB_CalcMove (this, this.pos1, TSPEED_LINEAR, this.speed, door_hit_bottom);
+       SUB_CalcMove(this, this.pos1, TSPEED_LINEAR, this.speed, door_hit_bottom);
 }
 
 void door_go_up(entity this)
 {
-       if (this.state == STATE_UP)
-               return;         // already going up
-
-       if (this.state == STATE_TOP)
-       {       // reset top wait time
+       if (this.state == STATE_UP) {
+               return; // already going up
+       }
+       if (this.state == STATE_TOP) { // reset top wait time
                this.nextthink = this.ltime + this.wait;
                return;
        }
 
-       if (this.noise2 != "")
-               _sound (this, CH_TRIGGER_SINGLE, this.noise2, VOL_BASE, ATTEN_NORM);
+       if (this.noise2 != "") {
+               _sound(this, CH_TRIGGER_SINGLE, this.noise2, VOL_BASE, ATTEN_NORM);
+       }
        this.state = STATE_UP;
-       SUB_CalcMove (this, this.pos2, TSPEED_LINEAR, this.speed, door_hit_top);
+       SUB_CalcMove(this, this.pos2, TSPEED_LINEAR, this.speed, door_hit_top);
 
        string oldmessage;
        oldmessage = this.message;
@@ -157,17 +151,20 @@ ACTIVATION FUNCTIONS
 
 bool door_check_keys(entity door, entity player)
 {
-       if(door.owner)
+       if (door.owner) {
                door = door.owner;
+       }
 
        // no key needed
-       if(!door.itemkeys)
+       if (!door.itemkeys) {
                return true;
+       }
 
        // this door require a key
        // only a player can have a key
-       if(!IS_PLAYER(player))
+       if (!IS_PLAYER(player)) {
                return false;
+       }
 
        entity store = player;
 #ifdef SVQC
@@ -176,8 +173,7 @@ bool door_check_keys(entity door, entity player)
        int valid = (door.itemkeys & store.itemkeys);
        door.itemkeys &= ~valid; // only some of the needed keys were given
 
-       if(!door.itemkeys)
-       {
+       if (!door.itemkeys) {
 #ifdef SVQC
                play2(player, SND(TALK));
                Send_Notification(NOTIF_ONE, player, MSG_CENTER, CENTER_DOOR_UNLOCKED);
@@ -185,11 +181,9 @@ bool door_check_keys(entity door, entity player)
                return true;
        }
 
-       if(!valid)
-       {
+       if (!valid) {
 #ifdef SVQC
-               if(player.key_door_messagetime <= time)
-               {
+               if (player.key_door_messagetime <= time) {
                        play2(player, door.noise3);
                        Send_Notification(NOTIF_ONE, player, MSG_CENTER, CENTER_DOOR_LOCKED_NEED, item_keys_keylist(door.itemkeys));
                        player.key_door_messagetime = time + 2;
@@ -200,8 +194,7 @@ bool door_check_keys(entity door, entity player)
 
        // door needs keys the player doesn't have
 #ifdef SVQC
-       if(player.key_door_messagetime <= time)
-       {
+       if (player.key_door_messagetime <= time) {
                play2(player, door.noise3);
                Send_Notification(NOTIF_ONE, player, MSG_CENTER, CENTER_DOOR_LOCKED_ALSONEED, item_keys_keylist(door.itemkeys));
                player.key_door_messagetime = time + 2;
@@ -213,13 +206,12 @@ bool door_check_keys(entity door, entity player)
 
 void door_fire(entity this, entity actor, entity trigger)
 {
-       if (this.owner != this)
-               objerror (this, "door_fire: this.owner != this");
+       if (this.owner != this) {
+               objerror(this, "door_fire: this.owner != this");
+       }
 
-       if (this.spawnflags & DOOR_TOGGLE)
-       {
-               if (this.state == STATE_UP || this.state == STATE_TOP)
-               {
+       if (this.spawnflags & DOOR_TOGGLE) {
+               if (this.state == STATE_UP || this.state == STATE_TOP) {
                        entity e = this;
                        do {
                                if (e.classname == "door") {
@@ -240,14 +232,13 @@ void door_fire(entity this, entity actor, entity trigger)
                        door_go_up(e);
                } else {
                        // if the BIDIR spawnflag (==2) is set and the trigger has set trigger_reverse, reverse the opening direction
-                       if ((e.spawnflags & 2) && trigger.trigger_reverse!=0 && e.lip != 666 && e.state == STATE_BOTTOM) {
+                       if ((e.spawnflags & 2) && trigger.trigger_reverse != 0 && e.lip != 666 && e.state == STATE_BOTTOM) {
                                e.lip = 666; // e.lip is used to remember reverse opening direction for door_rotating
                                e.pos2 = '0 0 0' - e.pos2;
                        }
                        // if BIDIR_IN_DOWN (==8) is set, prevent the door from reoping during closing if it is triggered from the wrong side
                        if (!((e.spawnflags & 2) &&  (e.spawnflags & 8) && e.state == STATE_DOWN
-                               && (((e.lip == 666) && (trigger.trigger_reverse == 0)) || ((e.lip != 666) && (trigger.trigger_reverse != 0)))))
-                       {
+                               && (((e.lip == 666) && (trigger.trigger_reverse == 0)) || ((e.lip != 666) && (trigger.trigger_reverse != 0))))) {
                                door_rotating_go_up(e, trigger);
                        }
                }
@@ -257,29 +248,30 @@ void door_fire(entity this, entity actor, entity trigger)
 
 void door_use(entity this, entity actor, entity trigger)
 {
-       //dprint("door_use (model: ");dprint(this.model);dprint(")\n");
+       // dprint("door_use (model: ");dprint(this.model);dprint(")\n");
 
-       if (this.owner)
+       if (this.owner) {
                door_fire(this.owner, actor, trigger);
+       }
 }
 
 void door_damage(entity this, entity inflictor, entity attacker, float damage, int deathtype, vector hitloc, vector force)
 {
-       if(this.spawnflags & DOOR_NOSPLASH)
-               if(!(DEATH_ISSPECIAL(deathtype)) && (deathtype & HITTYPE_SPLASH))
+       if (this.spawnflags & DOOR_NOSPLASH) {
+               if (!(DEATH_ISSPECIAL(deathtype)) && (deathtype & HITTYPE_SPLASH)) {
                        return;
+               }
+       }
        this.health = this.health - damage;
 
-       if (this.itemkeys)
-       {
+       if (this.itemkeys) {
                // don't allow opening doors through damage if keys are required
                return;
        }
 
-       if (this.health <= 0)
-       {
+       if (this.health <= 0) {
                this.owner.health = this.owner.max_health;
-               this.owner.takedamage = DAMAGE_NO;      // wil be reset upon return
+               this.owner.takedamage = DAMAGE_NO; // wil be reset upon return
                door_use(this.owner, NULL, NULL);
        }
 }
@@ -296,18 +288,20 @@ Prints messages
 
 void door_touch(entity this, entity toucher)
 {
-       if (!IS_PLAYER(toucher))
+       if (!IS_PLAYER(toucher)) {
                return;
-       if (this.owner.door_finished > time)
+       }
+       if (this.owner.door_finished > time) {
                return;
+       }
 
        this.owner.door_finished = time + 2;
 
 #ifdef SVQC
-       if (!(this.owner.dmg) && (this.owner.message != ""))
-       {
-               if (IS_CLIENT(toucher))
+       if (!(this.owner.dmg) && (this.owner.message != "")) {
+               if (IS_CLIENT(toucher)) {
                        centerprint(toucher, this.owner.message);
+               }
                play2(toucher, this.owner.noise);
        }
 #endif
@@ -315,36 +309,33 @@ void door_touch(entity this, entity toucher)
 
 void door_generic_plat_blocked(entity this, entity blocker)
 {
-       if((this.spawnflags & 8) && (blocker.takedamage != DAMAGE_NO)) { // Kill Kill Kill!!
+       if ((this.spawnflags & 8) && (blocker.takedamage != DAMAGE_NO)) { // Kill Kill Kill!!
 #ifdef SVQC
-               Damage (blocker, this, this, 10000, DEATH_HURTTRIGGER.m_id, blocker.origin, '0 0 0');
+               Damage(blocker, this, this, 10000, DEATH_HURTTRIGGER.m_id, blocker.origin, '0 0 0');
 #endif
-       }
-       else
-       {
-
+       } else {
 #ifdef SVQC
-               if((this.dmg) && (blocker.takedamage == DAMAGE_YES))    // Shall we bite?
-                       Damage (blocker, this, this, this.dmg, DEATH_HURTTRIGGER.m_id, blocker.origin, '0 0 0');
+               if ((this.dmg) && (blocker.takedamage == DAMAGE_YES)) { // Shall we bite?
+                       Damage(blocker, this, this, this.dmg, DEATH_HURTTRIGGER.m_id, blocker.origin, '0 0 0');
+               }
 #endif
 
-                //Dont chamge direction for dead or dying stuff
-               if(IS_DEAD(blocker) && (blocker.takedamage == DAMAGE_NO))
-               {
-                       if (this.wait >= 0)
-                       {
-                               if (this.state == STATE_DOWN)
-                                       door_rotating_go_up (this, blocker);
-                               else
-                                       door_rotating_go_down (this);
+               // Dont chamge direction for dead or dying stuff
+               if (IS_DEAD(blocker) && (blocker.takedamage == DAMAGE_NO)) {
+                       if (this.wait >= 0) {
+                               if (this.state == STATE_DOWN) {
+                                       door_rotating_go_up(this, blocker);
+                               } else {
+                                       door_rotating_go_down(this);
+                               }
                        }
                }
 #ifdef SVQC
-               else
-               {
-                       //gib dying stuff just to make sure
-                       if((this.dmg) && (blocker.takedamage != DAMAGE_NO))    // Shall we bite?
-                               Damage (blocker, this, this, 10000, DEATH_HURTTRIGGER.m_id, blocker.origin, '0 0 0');
+               else {
+                       // gib dying stuff just to make sure
+                       if ((this.dmg) && (blocker.takedamage != DAMAGE_NO)) { // Shall we bite?
+                               Damage(blocker, this, this, 10000, DEATH_HURTTRIGGER.m_id, blocker.origin, '0 0 0');
+                       }
                }
 #endif
        }
@@ -352,21 +343,23 @@ void door_generic_plat_blocked(entity this, entity blocker)
 
 void door_rotating_hit_top(entity this)
 {
-       if (this.noise1 != "")
-               _sound (this, CH_TRIGGER_SINGLE, this.noise1, VOL_BASE, ATTEN_NORM);
+       if (this.noise1 != "") {
+               _sound(this, CH_TRIGGER_SINGLE, this.noise1, VOL_BASE, ATTEN_NORM);
+       }
        this.state = STATE_TOP;
-       if (this.spawnflags & DOOR_TOGGLE)
-               return;         // don't come down automatically
+       if (this.spawnflags & DOOR_TOGGLE) {
+               return; // don't come down automatically
+       }
        setthink(this, door_rotating_go_down);
        this.nextthink = this.ltime + this.wait;
 }
 
 void door_rotating_hit_bottom(entity this)
 {
-       if (this.noise1 != "")
-               _sound (this, CH_TRIGGER_SINGLE, this.noise1, VOL_BASE, ATTEN_NORM);
-       if (this.lip==666) // this.lip is used to remember reverse opening direction for door_rotating
-       {
+       if (this.noise1 != "") {
+               _sound(this, CH_TRIGGER_SINGLE, this.noise1, VOL_BASE, ATTEN_NORM);
+       }
+       if (this.lip == 666) { // this.lip is used to remember reverse opening direction for door_rotating
                this.pos2 = '0 0 0' - this.pos2;
                this.lip = 0;
        }
@@ -375,32 +368,32 @@ void door_rotating_hit_bottom(entity this)
 
 void door_rotating_go_down(entity this)
 {
-       if (this.noise2 != "")
-               _sound (this, CH_TRIGGER_SINGLE, this.noise2, VOL_BASE, ATTEN_NORM);
-       if (this.max_health)
-       {
+       if (this.noise2 != "") {
+               _sound(this, CH_TRIGGER_SINGLE, this.noise2, VOL_BASE, ATTEN_NORM);
+       }
+       if (this.max_health) {
                this.takedamage = DAMAGE_YES;
                this.health = this.max_health;
        }
 
        this.state = STATE_DOWN;
-       SUB_CalcAngleMove (this, this.pos1, TSPEED_LINEAR, this.speed, door_rotating_hit_bottom);
+       SUB_CalcAngleMove(this, this.pos1, TSPEED_LINEAR, this.speed, door_rotating_hit_bottom);
 }
 
 void door_rotating_go_up(entity this, entity oth)
 {
-       if (this.state == STATE_UP)
-               return;         // already going up
-
-       if (this.state == STATE_TOP)
-       {       // reset top wait time
+       if (this.state == STATE_UP) {
+               return; // already going up
+       }
+       if (this.state == STATE_TOP) { // reset top wait time
                this.nextthink = this.ltime + this.wait;
                return;
        }
-       if (this.noise2 != "")
-               _sound (this, CH_TRIGGER_SINGLE, this.noise2, VOL_BASE, ATTEN_NORM);
+       if (this.noise2 != "") {
+               _sound(this, CH_TRIGGER_SINGLE, this.noise2, VOL_BASE, ATTEN_NORM);
+       }
        this.state = STATE_UP;
-       SUB_CalcAngleMove (this, this.pos2, TSPEED_LINEAR, this.speed, door_rotating_hit_top);
+       SUB_CalcAngleMove(this, this.pos2, TSPEED_LINEAR, this.speed, door_rotating_hit_top);
 
        string oldmessage;
        oldmessage = this.message;
@@ -420,22 +413,22 @@ Spawned if a door lacks a real activator
 
 void door_trigger_touch(entity this, entity toucher)
 {
-       if (toucher.health < 1){
+       if (toucher.health < 1) {
 #ifdef SVQC
-               if (!((toucher.iscreature || (toucher.flags & FL_PROJECTILE)) && !IS_DEAD(toucher))){
+               if (!((toucher.iscreature || (toucher.flags & FL_PROJECTILE)) && !IS_DEAD(toucher))) {
 #elif defined(CSQC)
-               if(!((IS_CLIENT(toucher) || toucher.classname == "csqcprojectile") && !IS_DEAD(toucher))){
+               if (!((IS_CLIENT(toucher) || toucher.classname == "csqcprojectile") && !IS_DEAD(toucher))) {
 #endif
                        return;
                }
        }
 
-       if (time < this.door_finished){
+       if (time < this.door_finished) {
                return;
        }
 
        // check if door is locked
-       if (!door_check_keys(this, toucher)){
+       if (!door_check_keys(this, toucher)) {
                return;
        }
 
@@ -446,8 +439,8 @@ void door_trigger_touch(entity this, entity toucher)
 
 void door_spawnfield(entity this, vector fmins, vector fmaxs)
 {
-       entity  trigger;
-       vector  t1 = fmins, t2 = fmaxs;
+       entity  trigger;
+       vector  t1 = fmins, t2 = fmaxs;
 
        trigger = new(doortriggerfield);
        set_movetype(trigger, MOVETYPE_NONE);
@@ -457,7 +450,7 @@ void door_spawnfield(entity this, vector fmins, vector fmaxs)
        settouch(trigger, door_trigger_touch);
 #endif
 
-       setsize (trigger, t1 - '60 60 8', t2 + '60 60 8');
+       setsize(trigger, t1 - '60 60 8', t2 + '60 60 8');
 }
 
 
@@ -471,21 +464,19 @@ LinkDoors
 
 entity LinkDoors_nextent(entity cur, entity near, entity pass)
 {
-       while((cur = find(cur, classname, pass.classname)) && ((cur.spawnflags & 4) || cur.enemy))
-       {
-       }
+       while ((cur = find(cur, classname, pass.classname)) && ((cur.spawnflags & 4) || cur.enemy)) {}
        return cur;
 }
 
 bool LinkDoors_isconnected(entity e1, entity e2, entity pass)
 {
        float DELTA = 4;
-       if((e1.absmin_x > e2.absmax_x + DELTA)
-       || (e1.absmin_y > e2.absmax_y + DELTA)
-       || (e1.absmin_z > e2.absmax_z + DELTA)
-       || (e2.absmin_x > e1.absmax_x + DELTA)
-       || (e2.absmin_y > e1.absmax_y + DELTA)
-       || (e2.absmin_z > e1.absmax_z + DELTA)
+       if ((e1.absmin_x > e2.absmax_x + DELTA)
+               || (e1.absmin_y > e2.absmax_y + DELTA)
+               || (e1.absmin_z > e2.absmax_z + DELTA)
+               || (e2.absmin_x > e1.absmax_x + DELTA)
+               || (e2.absmin_y > e1.absmax_y + DELTA)
+               || (e2.absmin_z > e1.absmax_z + DELTA)
        ) { return false; }
        return true;
 }
@@ -495,42 +486,42 @@ void door_link();
 #endif
 void LinkDoors(entity this)
 {
-       entity  t;
-       vector  cmins, cmaxs;
+       entity  t;
+       vector  cmins, cmaxs;
 
 #ifdef SVQC
        door_link();
 #endif
 
-       if (this.enemy){
-               return;         // already linked by another door
+       if (this.enemy) {
+               return; // already linked by another door
        }
-       if (this.spawnflags & 4)
-       {
+       if (this.spawnflags & 4) {
                this.owner = this.enemy = this;
 
-               if (this.health)
+               if (this.health) {
                        return;
-               if(THIS_TARGETED)
+               }
+               if (THIS_TARGETED) {
                        return;
-               if (this.items)
+               }
+               if (this.items) {
                        return;
+               }
 
                door_spawnfield(this, this.absmin, this.absmax);
 
-               return;         // don't want to link this door
+               return; // don't want to link this door
        }
 
        FindConnectedComponent(this, enemy, LinkDoors_nextent, LinkDoors_isconnected, this);
 
        // set owner, and make a loop of the chain
        LOG_TRACE("LinkDoors: linking doors:");
-       for(t = this; ; t = t.enemy)
-       {
+       for (t = this; ; t = t.enemy) {
                LOG_TRACE(" ", etos(t));
                t.owner = this;
-               if(t.enemy == NULL)
-               {
+               if (t.enemy == NULL) {
                        t.enemy = this;
                        break;
                }
@@ -540,48 +531,47 @@ void LinkDoors(entity this)
        // collect health, targetname, message, size
        cmins = this.absmin;
        cmaxs = this.absmax;
-       for(t = this; ; t = t.enemy)
-       {
-               if(t.health && !this.health){
+       for (t = this; ; t = t.enemy) {
+               if (t.health && !this.health) {
                        this.health = t.health;
                }
-               if((t.targetname != "") && (this.targetname == "")){
+               if ((t.targetname != "") && (this.targetname == "")) {
                        this.targetname = t.targetname;
                }
-               if((t.message != "") && (this.message == "")){
+               if ((t.message != "") && (this.message == "")) {
                        this.message = t.message;
                }
-               if (t.absmin_x < cmins_x){
+               if (t.absmin_x < cmins_x) {
                        cmins_x = t.absmin_x;
                }
-               if (t.absmin_y < cmins_y){
+               if (t.absmin_y < cmins_y) {
                        cmins_y = t.absmin_y;
                }
-               if (t.absmin_z < cmins_z){
+               if (t.absmin_z < cmins_z) {
                        cmins_z = t.absmin_z;
                }
-               if (t.absmax_x > cmaxs_x){
+               if (t.absmax_x > cmaxs_x) {
                        cmaxs_x = t.absmax_x;
                }
-               if (t.absmax_y > cmaxs_y){
+               if (t.absmax_y > cmaxs_y) {
                        cmaxs_y = t.absmax_y;
                }
-               if (t.absmax_z > cmaxs_z){
+               if (t.absmax_z > cmaxs_z) {
                        cmaxs_z = t.absmax_z;
                }
-               if(t.enemy == this){
+               if (t.enemy == this) {
                        break;
                }
        }
 
        // distribute health, targetname, message
-       for(t = this; t; t = t.enemy)
-       {
+       for (t = this; t; t = t.enemy) {
                t.health = this.health;
                t.targetname = this.targetname;
                t.message = this.message;
-               if(t.enemy == this)
+               if (t.enemy == this) {
                        break;
+               }
        }
 
        // shootable, or triggered doors just needed the owner/enemy links,
@@ -590,7 +580,7 @@ void LinkDoors(entity this)
        if (this.health) {
                return;
        }
-       if(THIS_TARGETED) {
+       if (THIS_TARGETED) {
                return;
        }
        if (this.items) {
@@ -637,8 +627,7 @@ float door_send(entity this, entity to, float sf)
        WriteHeader(MSG_ENTITY, ENT_CLIENT_DOOR);
        WriteByte(MSG_ENTITY, sf);
 
-       if(sf & SF_TRIGGER_INIT)
-       {
+       if (sf & SF_TRIGGER_INIT) {
                WriteString(MSG_ENTITY, this.classname);
                WriteByte(MSG_ENTITY, this.spawnflags);
 
@@ -664,13 +653,11 @@ float door_send(entity this, entity to, float sf)
                WriteCoord(MSG_ENTITY, this.ltime);
        }
 
-       if(sf & SF_TRIGGER_RESET)
-       {
+       if (sf & SF_TRIGGER_RESET) {
                // client makes use of this, we do not
        }
 
-       if(sf & SF_TRIGGER_UPDATE)
-       {
+       if (sf & SF_TRIGGER_UPDATE) {
                WriteCoord(MSG_ENTITY, this.origin_x);
                WriteCoord(MSG_ENTITY, this.origin_y);
                WriteCoord(MSG_ENTITY, this.origin_z);
@@ -689,8 +676,8 @@ float door_send(entity this, entity to, float sf)
 void door_link()
 {
        // set size now, as everything is loaded
-       //FixSize(this);
-       //Net_LinkEntity(this, false, 0, door_send);
+       // FixSize(this);
+       // Net_LinkEntity(this, false, 0, door_send);
 }
 #endif
 
@@ -740,10 +727,10 @@ spawnfunc(func_door)
        this.effects |= EF_LOWPRECISION;
        this.classname = "door";
 
-       if(this.noise == "") {
+       if (this.noise == "") {
                this.noise = "misc/talk.wav";
        }
-       if(this.noise3 == "") {
+       if (this.noise3 == "") {
                this.noise3 = "misc/talk.wav";
        }
        precache_sound(this.noise);
@@ -752,10 +739,10 @@ spawnfunc(func_door)
        setblocked(this, door_blocked);
        this.use = door_use;
 
-       if(this.dmg && (this.message == "")) {
+       if (this.dmg && (this.message == "")) {
                this.message = "was squished";
        }
-       if(this.dmg && (this.message2 == "")) {
+       if (this.dmg && (this.message2 == "")) {
                this.message2 = "was squished by";
        }
 
@@ -764,8 +751,8 @@ spawnfunc(func_door)
                this.noise1 = "plats/medplat2.wav";
        }
 
-       if(this.noise1 && this.noise1 != "") { precache_sound(this.noise1); }
-       if(this.noise2 && this.noise2 != "") { precache_sound(this.noise2); }
+       if (this.noise1 && this.noise1 != "") { precache_sound(this.noise1); }
+       if (this.noise2 && this.noise2 != "") { precache_sound(this.noise2); }
 
        if (!this.speed) {
                this.speed = 100;
@@ -778,9 +765,9 @@ spawnfunc(func_door)
        }
 
        this.pos1 = this.origin;
-       this.pos2 = this.pos1 + this.movedir*(fabs(this.movedir*this.size) - this.lip);
+       this.pos2 = this.pos1 + this.movedir * (fabs(this.movedir * this.size) - this.lip);
 
-       if(this.spawnflags & DOOR_NONSOLID) {
+       if (this.spawnflags & DOOR_NONSOLID) {
                this.solid = SOLID_NOT;
        }
 
@@ -816,8 +803,7 @@ NET_HANDLE(ENT_CLIENT_DOOR, bool isnew)
 {
        int sf = ReadByte();
 
-       if(sf & SF_TRIGGER_INIT)
-       {
+       if (sf & SF_TRIGGER_INIT) {
                this.classname = strzone(ReadString());
                this.spawnflags = ReadByte();
 
@@ -855,20 +841,19 @@ NET_HANDLE(ENT_CLIENT_DOOR, bool isnew)
 
                LinkDoors(this);
 
-               if(this.spawnflags & DOOR_START_OPEN)
+               if (this.spawnflags & DOOR_START_OPEN) {
                        door_init_startopen(this);
+               }
 
                this.move_time = time;
                set_movetype(this, MOVETYPE_PUSH);
        }
 
-       if(sf & SF_TRIGGER_RESET)
-       {
+       if (sf & SF_TRIGGER_RESET) {
                door_reset(this);
        }
 
-       if(sf & SF_TRIGGER_UPDATE)
-       {
+       if (sf & SF_TRIGGER_UPDATE) {
                this.origin_x = ReadCoord();
                this.origin_y = ReadCoord();
                this.origin_z = ReadCoord();
index 2c72dc9cf07c1b249d91648683f0e3f4396017a9..97aa4ec44349e38fcecc2e2daec917fbf8655bec 100644 (file)
@@ -47,54 +47,59 @@ void door_rotating_init_startopen(entity this)
 
 spawnfunc(func_door_rotating)
 {
-
-       //if (!this.deathtype) // map makers can override this
+       // if (!this.deathtype) // map makers can override this
        //      this.deathtype = " got in the way";
 
        // I abuse "movedir" for denoting the axis for now
-       if (this.spawnflags & 64) // X (untested)
+       if (this.spawnflags & 64) // X (untested)
                this.movedir = '0 0 1';
-       else if (this.spawnflags & 128) // Y (untested)
+       } else if (this.spawnflags & 128) { // Y (untested)
                this.movedir = '1 0 0';
-       else // Z
+       } else {                            // Z
                this.movedir = '0 1 0';
+       }
 
-       if (this.angles_y==0) this.angles_y = 90;
+       if (this.angles_y == 0) { this.angles_y = 90; }
 
        this.movedir = this.movedir * this.angles_y;
        this.angles = '0 0 0';
 
        this.max_health = this.health;
        this.avelocity = this.movedir;
-       if (!InitMovingBrushTrigger(this))
+       if (!InitMovingBrushTrigger(this)) {
                return;
+       }
        this.velocity = '0 0 0';
-       //this.effects |= EF_LOWPRECISION;
+       // this.effects |= EF_LOWPRECISION;
        this.classname = "door_rotating";
 
        setblocked(this, door_blocked);
        this.use = door_use;
 
-    if(this.spawnflags & 8)
-        this.dmg = 10000;
+       if (this.spawnflags & 8) {
+               this.dmg = 10000;
+       }
 
-    if(this.dmg && (this.message == ""))
+       if (this.dmg && (this.message == "")) {
                this.message = "was squished";
-    if(this.dmg && (this.message2 == ""))
+       }
+       if (this.dmg && (this.message2 == "")) {
                this.message2 = "was squished by";
+       }
 
-    if (this.sounds > 0)
-       {
-               precache_sound ("plats/medplat1.wav");
-               precache_sound ("plats/medplat2.wav");
+       if (this.sounds > 0) {
+               precache_sound("plats/medplat1.wav");
+               precache_sound("plats/medplat2.wav");
                this.noise2 = "plats/medplat1.wav";
                this.noise1 = "plats/medplat2.wav";
        }
 
-       if (!this.speed)
+       if (!this.speed) {
                this.speed = 50;
-       if (!this.wait)
+       }
+       if (!this.wait) {
                this.wait = 1;
+       }
        this.lip = 0; // this.lip is used to remember reverse opening direction for door_rotating
 
        this.pos1 = '0 0 0';
@@ -102,19 +107,20 @@ spawnfunc(func_door_rotating)
 
 // DOOR_START_OPEN is to allow an entity to be lighted in the closed position
 // but spawn in the open position
-       if (this.spawnflags & DOOR_START_OPEN)
+       if (this.spawnflags & DOOR_START_OPEN) {
                InitializeEntity(this, door_rotating_init_startopen, INITPRIO_SETLOCATION);
+       }
 
        this.state = STATE_BOTTOM;
 
-       if (this.health)
-       {
+       if (this.health) {
                this.takedamage = DAMAGE_YES;
                this.event_damage = door_damage;
        }
 
-       if (this.items)
+       if (this.items) {
                this.wait = -1;
+       }
 
        settouch(this, door_touch);
 
index 671f7048aab18bac8e0eaff61f6265dff4489117..02a3f346d1b51b893509c01e09f35d13fd8370ac 100644 (file)
@@ -8,11 +8,11 @@ void fd_secret_move5(entity this);
 void fd_secret_move6(entity this);
 void fd_secret_done(entity this);
 
-const float SECRET_OPEN_ONCE = 1;              // stays open
-const float SECRET_1ST_LEFT = 2;               // 1st move is left of arrow
-const float SECRET_1ST_DOWN = 4;               // 1st move is down from arrow
-const float SECRET_NO_SHOOT = 8;               // only opened by trigger
-const float SECRET_YES_SHOOT = 16;     // shootable even if targeted
+const float SECRET_OPEN_ONCE = 1;  // stays open
+const float SECRET_1ST_LEFT = 2;   // 1st move is left of arrow
+const float SECRET_1ST_DOWN = 4;   // 1st move is down from arrow
+const float SECRET_NO_SHOOT = 8;   // only opened by trigger
+const float SECRET_YES_SHOOT = 16; // shootable even if targeted
 
 void fd_secret_use(entity this, entity actor, entity trigger)
 {
@@ -20,50 +20,56 @@ void fd_secret_use(entity this, entity actor, entity trigger)
        string message_save;
 
        this.health = 10000;
-       if(!this.bot_attack)
+       if (!this.bot_attack) {
                IL_PUSH(g_bot_targets, this);
+       }
        this.bot_attack = true;
 
        // exit if still moving around...
-       if (this.origin != this.oldorigin)
+       if (this.origin != this.oldorigin) {
                return;
+       }
 
        message_save = this.message;
-       this.message = ""; // no more message
-       SUB_UseTargets(this, actor, trigger);                           // fire all targets / killtargets
+       this.message = "";                    // no more message
+       SUB_UseTargets(this, actor, trigger); // fire all targets / killtargets
        this.message = message_save;
 
        this.velocity = '0 0 0';
 
        // Make a sound, wait a little...
 
-       if (this.noise1 != "")
+       if (this.noise1 != "") {
                _sound(this, CH_TRIGGER_SINGLE, this.noise1, VOL_BASE, ATTEN_NORM);
+       }
        this.nextthink = this.ltime + 0.1;
 
-       temp = 1 - (this.spawnflags & SECRET_1ST_LEFT); // 1 or -1
+       temp = 1 - (this.spawnflags & SECRET_1ST_LEFT); // 1 or -1
        makevectors(this.mangle);
 
-       if (!this.t_width)
-       {
-               if (this.spawnflags & SECRET_1ST_DOWN)
+       if (!this.t_width) {
+               if (this.spawnflags & SECRET_1ST_DOWN) {
                        this.t_width = fabs(v_up * this.size);
-               else
+               } else {
                        this.t_width = fabs(v_right * this.size);
+               }
        }
 
-       if (!this.t_length)
+       if (!this.t_length) {
                this.t_length = fabs(v_forward * this.size);
+       }
 
-       if (this.spawnflags & SECRET_1ST_DOWN)
+       if (this.spawnflags & SECRET_1ST_DOWN) {
                this.dest1 = this.origin - v_up * this.t_width;
-       else
+       } else {
                this.dest1 = this.origin + v_right * (this.t_width * temp);
+       }
 
        this.dest2 = this.dest1 + v_forward * this.t_length;
        SUB_CalcMove(this, this.dest1, TSPEED_LINEAR, this.speed, fd_secret_move1);
-       if (this.noise2 != "")
+       if (this.noise2 != "") {
                _sound(this, CH_TRIGGER_SINGLE, this.noise2, VOL_BASE, ATTEN_NORM);
+       }
 }
 
 void fd_secret_damage(entity this, entity inflictor, entity attacker, float damage, int deathtype, vector hitloc, vector force)
@@ -76,25 +82,27 @@ void fd_secret_move1(entity this)
 {
        this.nextthink = this.ltime + 1.0;
        setthink(this, fd_secret_move2);
-       if (this.noise3 != "")
+       if (this.noise3 != "") {
                _sound(this, CH_TRIGGER_SINGLE, this.noise3, VOL_BASE, ATTEN_NORM);
+       }
 }
 
 // Start moving sideways w/sound...
 void fd_secret_move2(entity this)
 {
-       if (this.noise2 != "")
+       if (this.noise2 != "") {
                _sound(this, CH_TRIGGER_SINGLE, this.noise2, VOL_BASE, ATTEN_NORM);
+       }
        SUB_CalcMove(this, this.dest2, TSPEED_LINEAR, this.speed, fd_secret_move3);
 }
 
 // Wait here until time to go back...
 void fd_secret_move3(entity this)
 {
-       if (this.noise3 != "")
+       if (this.noise3 != "") {
                _sound(this, CH_TRIGGER_SINGLE, this.noise3, VOL_BASE, ATTEN_NORM);
-       if (!(this.spawnflags & SECRET_OPEN_ONCE))
-       {
+       }
+       if (!(this.spawnflags & SECRET_OPEN_ONCE)) {
                this.nextthink = this.ltime + this.wait;
                setthink(this, fd_secret_move4);
        }
@@ -103,8 +111,9 @@ void fd_secret_move3(entity this)
 // Move backward...
 void fd_secret_move4(entity this)
 {
-       if (this.noise2 != "")
+       if (this.noise2 != "") {
                _sound(this, CH_TRIGGER_SINGLE, this.noise2, VOL_BASE, ATTEN_NORM);
+       }
        SUB_CalcMove(this, this.dest1, TSPEED_LINEAR, this.speed, fd_secret_move5);
 }
 
@@ -113,37 +122,40 @@ void fd_secret_move5(entity this)
 {
        this.nextthink = this.ltime + 1.0;
        setthink(this, fd_secret_move6);
-       if (this.noise3 != "")
+       if (this.noise3 != "") {
                _sound(this, CH_TRIGGER_SINGLE, this.noise3, VOL_BASE, ATTEN_NORM);
+       }
 }
 
 void fd_secret_move6(entity this)
 {
-       if (this.noise2 != "")
+       if (this.noise2 != "") {
                _sound(this, CH_TRIGGER_SINGLE, this.noise2, VOL_BASE, ATTEN_NORM);
+       }
        SUB_CalcMove(this, this.oldorigin, TSPEED_LINEAR, this.speed, fd_secret_done);
 }
 
 void fd_secret_done(entity this)
 {
-       if (this.spawnflags&SECRET_YES_SHOOT)
-       {
+       if (this.spawnflags & SECRET_YES_SHOOT) {
                this.health = 10000;
                this.takedamage = DAMAGE_YES;
-               //this.th_pain = fd_secret_use;
+               // this.th_pain = fd_secret_use;
        }
-       if (this.noise3 != "")
+       if (this.noise3 != "") {
                _sound(this, CH_TRIGGER_SINGLE, this.noise3, VOL_BASE, ATTEN_NORM);
+       }
 }
 
 .float door_finished;
 
 void secret_blocked(entity this, entity blocker)
 {
-       if (time < this.door_finished)
+       if (time < this.door_finished) {
                return;
+       }
        this.door_finished = time + 0.5;
-       //T_Damage (other, this, this, this.dmg, this.dmg, this.deathtype, DT_IMPACT, (this.absmin + this.absmax) * 0.5, '0 0 0', Obituary_Generic);
+       // T_Damage (other, this, this, this.dmg, this.dmg, this.deathtype, DT_IMPACT, (this.absmin + this.absmax) * 0.5, '0 0 0', Obituary_Generic);
 }
 
 /*
@@ -155,25 +167,26 @@ Prints messages
 */
 void secret_touch(entity this, entity toucher)
 {
-       if (!toucher.iscreature)
+       if (!toucher.iscreature) {
                return;
-       if (this.door_finished > time)
+       }
+       if (this.door_finished > time) {
                return;
+       }
 
        this.door_finished = time + 2;
 
-       if (this.message)
-       {
-               if (IS_CLIENT(toucher))
+       if (this.message) {
+               if (IS_CLIENT(toucher)) {
                        centerprint(toucher, this.message);
+               }
                play2(toucher, this.noise);
        }
 }
 
 void secret_reset(entity this)
 {
-       if (this.spawnflags & SECRET_YES_SHOOT)
-       {
+       if (this.spawnflags & SECRET_YES_SHOOT) {
                this.health = 10000;
                this.takedamage = DAMAGE_YES;
        }
@@ -202,39 +215,37 @@ If a secret door has a targetname, it will only be opened by it's botton or trig
 spawnfunc(func_door_secret)
 {
        /*if (!this.deathtype) // map makers can override this
-               this.deathtype = " got in the way";*/
+           this.deathtype = " got in the way";*/
 
-       if (!this.dmg) this.dmg = 2;
+       if (!this.dmg) { this.dmg = 2; }
 
        // Magic formula...
        this.mangle = this.angles;
        this.angles = '0 0 0';
        this.classname = "door";
-       if (!InitMovingBrushTrigger(this)) return;
+       if (!InitMovingBrushTrigger(this)) { return; }
        this.effects |= EF_LOWPRECISION;
 
-       if (this.noise == "") this.noise = "misc/talk.wav";
+       if (this.noise == "") { this.noise = "misc/talk.wav"; }
        precache_sound(this.noise);
 
        settouch(this, secret_touch);
        setblocked(this, secret_blocked);
        this.speed = 50;
        this.use = fd_secret_use;
-       if(THIS_TARGETED)
-       {
-       }
-       else
+       if (THIS_TARGETED) {} else {
                this.spawnflags |= SECRET_YES_SHOOT;
+       }
 
-       if (this.spawnflags & SECRET_YES_SHOOT)
-       {
+       if (this.spawnflags & SECRET_YES_SHOOT) {
                this.health = 10000;
                this.takedamage = DAMAGE_YES;
                this.event_damage = fd_secret_damage;
        }
        this.oldorigin = this.origin;
-       if (!this.wait) this.wait = 5; // seconds before closing
-
+       if (!this.wait) {
+               this.wait = 5; // seconds before closing
+       }
        this.reset = secret_reset;
        this.reset(this);
 }
index 28e0f0f7c74df039f84a7f2d111ca32a634f0844..5f82f98c724734053b1fead6badda134bb53e618 100644 (file)
@@ -17,8 +17,7 @@ void func_fourier_controller_think(entity this)
        float n, i, t;
 
        this.nextthink = time + 0.1;
-       if(this.owner.active != ACTIVE_ACTIVE)
-       {
+       if (this.owner.active != ACTIVE_ACTIVE) {
                this.owner.velocity = '0 0 0';
                return;
        }
@@ -29,47 +28,53 @@ void func_fourier_controller_think(entity this)
 
        v = this.owner.destvec;
 
-       for(i = 0; i < n; ++i)
-       {
-               makevectors((t * stof(argv(i*5)) + stof(argv(i*5+1)) * 360) * '0 1 0');
-               v = v + ('1 0 0' * stof(argv(i*5+2)) + '0 1 0' * stof(argv(i*5+3)) + '0 0 1' * stof(argv(i*5+4))) * this.owner.height * v_forward_y;
+       for (i = 0; i < n; ++i) {
+               makevectors((t * stof(argv(i * 5)) + stof(argv(i * 5 + 1)) * 360) * '0 1 0');
+               v = v + ('1 0 0' * stof(argv(i * 5 + 2)) + '0 1 0' * stof(argv(i * 5 + 3)) + '0 0 1' * stof(argv(i * 5 + 4))) * this.owner.height * v_forward_y;
        }
 
-       if(this.owner.classname == "func_fourier") // don't brake stuff if the func_fourier was killtarget'ed
+       if (this.owner.classname == "func_fourier") { // don't brake stuff if the func_fourier was killtarget'ed
                // * 10 so it will arrive in 0.1 sec
                this.owner.velocity = (v - this.owner.origin) * 10;
+       }
 }
 
 spawnfunc(func_fourier)
 {
        entity controller;
-       if (this.noise != "")
-       {
+       if (this.noise != "") {
                precache_sound(this.noise);
                soundto(MSG_INIT, this, CH_TRIGGER_SINGLE, this.noise, VOL_BASE, ATTEN_IDLE);
        }
 
-       if (!this.speed)
+       if (!this.speed) {
                this.speed = 4;
-       if (!this.height)
+       }
+       if (!this.height) {
                this.height = 32;
+       }
        this.destvec = this.origin;
        this.cnt = 360 / this.speed;
 
        setblocked(this, generic_plat_blocked);
-       if(this.dmg && (this.message == ""))
+       if (this.dmg && (this.message == "")) {
                this.message = " was squished";
-    if(this.dmg && (this.message2 == ""))
+       }
+       if (this.dmg && (this.message2 == "")) {
                this.message2 = "was squished by";
-       if(this.dmg && (!this.dmgtime))
+       }
+       if (this.dmg && (!this.dmgtime)) {
                this.dmgtime = 0.25;
+       }
        this.dmgtime2 = time;
 
-       if(this.netname == "")
+       if (this.netname == "") {
                this.netname = "1 0 0 0 1";
+       }
 
-       if (!InitMovingBrushTrigger(this))
+       if (!InitMovingBrushTrigger(this)) {
                return;
+       }
 
        this.active = ACTIVE_ACTIVE;
 
index a59f7a93baf6a6427dc8b7813e020ec50e39ae54..8b8d13e6e6716534e4951d89c2eeb8979dddf2fe 100644 (file)
@@ -6,8 +6,7 @@ void func_pendulum_controller_think(entity this)
        float v;
        this.nextthink = time + 0.1;
 
-       if (!(this.owner.active == ACTIVE_ACTIVE))
-       {
+       if (!(this.owner.active == ACTIVE_ACTIVE)) {
                this.owner.avelocity_x = 0;
                return;
        }
@@ -15,8 +14,7 @@ void func_pendulum_controller_think(entity this)
        // calculate sinewave using makevectors
        makevectors((this.nextthink * this.owner.freq + this.owner.phase) * '0 360 0');
        v = this.owner.speed * v_forward_y + this.cnt;
-       if(this.owner.classname == "func_pendulum") // don't brake stuff if the func_bobbing was killtarget'ed
-       {
+       if (this.owner.classname == "func_pendulum") { // don't brake stuff if the func_bobbing was killtarget'ed
                // * 10 so it will arrive in 0.1 sec
                this.owner.avelocity_z = (remainder(v - this.owner.angles_z, 360)) * 10;
        }
@@ -25,8 +23,7 @@ void func_pendulum_controller_think(entity this)
 spawnfunc(func_pendulum)
 {
        entity controller;
-       if (this.noise != "")
-       {
+       if (this.noise != "") {
                precache_sound(this.noise);
                soundto(MSG_INIT, this, CH_TRIGGER_SINGLE, this.noise, VOL_BASE, ATTEN_IDLE);
        }
@@ -35,26 +32,30 @@ spawnfunc(func_pendulum)
 
        // keys: angle, speed, phase, noise, freq
 
-       if(!this.speed)
+       if (!this.speed) {
                this.speed = 30;
+       }
        // not initializing this.dmg to 2, to allow damageless pendulum
 
-       if(this.dmg && (this.message == ""))
+       if (this.dmg && (this.message == "")) {
                this.message = " was squished";
-       if(this.dmg && (this.message2 == ""))
+       }
+       if (this.dmg && (this.message2 == "")) {
                this.message2 = "was squished by";
-       if(this.dmg && (!this.dmgtime))
+       }
+       if (this.dmg && (!this.dmgtime)) {
                this.dmgtime = 0.25;
+       }
        this.dmgtime2 = time;
 
        setblocked(this, generic_plat_blocked);
 
        this.avelocity_z = 0.0000001;
-       if (!InitMovingBrushTrigger(this))
+       if (!InitMovingBrushTrigger(this)) {
                return;
+       }
 
-       if(!this.freq)
-       {
+       if (!this.freq) {
                // find pendulum length (same formula as Q3A)
                this.freq = 1 / (M_PI * 2) * sqrt(autocvar_sv_gravity / (3 * max(8, fabs(this.mins_z))));
        }
@@ -70,7 +71,7 @@ spawnfunc(func_pendulum)
        this.nextthink = this.ltime + 999999999;
        setthink(this, SUB_NullThink); // for PushMove
 
-       //this.effects |= EF_LOWPRECISION;
+       // this.effects |= EF_LOWPRECISION;
 
        // TODO make a reset function for this one
 }
index 36b4eeffffa1dd1af0d57f66b7207e2fde7c9802..550c64296f55a9443aaafe162efba4bc06c77a6c 100644 (file)
@@ -15,8 +15,7 @@ float plat_send(entity this, entity to, float sf)
        WriteHeader(MSG_ENTITY, ENT_CLIENT_PLAT);
        WriteByte(MSG_ENTITY, sf);
 
-       if(sf & SF_TRIGGER_INIT)
-       {
+       if (sf & SF_TRIGGER_INIT) {
                WriteByte(MSG_ENTITY, this.platmovetype_start);
                WriteByte(MSG_ENTITY, this.platmovetype_turn);
                WriteByte(MSG_ENTITY, this.platmovetype_end);
@@ -49,8 +48,7 @@ float plat_send(entity this, entity to, float sf)
                WriteShort(MSG_ENTITY, this.dmg);
        }
 
-       if(sf & SF_TRIGGER_RESET)
-       {
+       if (sf & SF_TRIGGER_RESET) {
                // used on client
        }
 
@@ -59,52 +57,53 @@ float plat_send(entity this, entity to, float sf)
 
 void plat_link(entity this)
 {
-       //Net_LinkEntity(this, 0, false, plat_send);
+       // Net_LinkEntity(this, 0, false, plat_send);
 }
 
 spawnfunc(func_plat)
 {
-       if (this.sounds == 0) this.sounds = 2;
+       if (this.sounds == 0) { this.sounds = 2; }
 
-    if (this.spawnflags & 4) this.dmg = 10000;
+       if (this.spawnflags & 4) { this.dmg = 10000; }
 
-    if (this.dmg && (this.message == "")) this.message = "was squished";
-    if (this.dmg && (this.message2 == "")) this.message2 = "was squished by";
+       if (this.dmg && (this.message == "")) { this.message = "was squished"; }
+       if (this.dmg && (this.message2 == "")) { this.message2 = "was squished by"; }
 
-       if (this.sounds == 1)
-       {
+       if (this.sounds == 1) {
                this.noise = "plats/plat1.wav";
                this.noise1 = "plats/plat2.wav";
        }
 
-       if (this.sounds == 2)
-       {
+       if (this.sounds == 2) {
                this.noise = "plats/medplat1.wav";
                this.noise1 = "plats/medplat2.wav";
        }
 
-       if (this.sound1)
+       if (this.sound1) {
                this.noise = this.sound1;
-       if (this.sound2)
+       }
+       if (this.sound2) {
                this.noise1 = this.sound2;
+       }
 
-       if(this.noise && this.noise != "") { precache_sound(this.noise); }
-       if(this.noise1 && this.noise1 != "") { precache_sound(this.noise1); }
+       if (this.noise && this.noise != "") { precache_sound(this.noise); }
+       if (this.noise1 && this.noise1 != "") { precache_sound(this.noise1); }
 
        this.mangle = this.angles;
        this.angles = '0 0 0';
 
        this.classname = "plat";
-       if (!InitMovingBrushTrigger(this))
+       if (!InitMovingBrushTrigger(this)) {
                return;
+       }
        this.effects |= EF_LOWPRECISION;
-       setsize (this, this.mins , this.maxs);
+       setsize(this, this.mins, this.maxs);
 
        setblocked(this, plat_crush);
 
-       if (!this.speed) this.speed = 150;
-       if (!this.lip) this.lip = 16;
-       if (!this.height) this.height = this.size.z - this.lip;
+       if (!this.speed) { this.speed = 150; }
+       if (!this.lip) { this.lip = 16; }
+       if (!this.height) { this.height = this.size.z - this.lip; }
 
        this.pos1 = this.origin;
        this.pos2 = this.origin;
@@ -119,15 +118,14 @@ spawnfunc(func_plat)
 void plat_draw(entity this)
 {
        Movetype_Physics_NoMatchServer(this);
-       //Movetype_Physics_MatchServer(autocvar_cl_projectiles_sloppy);
+       // Movetype_Physics_MatchServer(autocvar_cl_projectiles_sloppy);
 }
 
 NET_HANDLE(ENT_CLIENT_PLAT, bool isnew)
 {
        float sf = ReadByte();
 
-       if(sf & SF_TRIGGER_INIT)
-       {
+       if (sf & SF_TRIGGER_INIT) {
                this.platmovetype_start = ReadByte();
                this.platmovetype_turn = ReadByte();
                this.platmovetype_end = ReadByte();
@@ -165,7 +163,7 @@ NET_HANDLE(ENT_CLIENT_PLAT, bool isnew)
                set_movetype(this, MOVETYPE_PUSH);
                this.drawmask = MASK_NORMAL;
                this.draw = plat_draw;
-               if (isnew) IL_PUSH(g_drawables, this);
+               if (isnew) { IL_PUSH(g_drawables, this); }
                this.use = plat_use;
                this.entremove = trigger_remove_generic;
 
@@ -177,8 +175,7 @@ NET_HANDLE(ENT_CLIENT_PLAT, bool isnew)
                plat_spawn_inside_trigger(this);
        }
 
-       if(sf & SF_TRIGGER_RESET)
-       {
+       if (sf & SF_TRIGGER_RESET) {
                plat_reset(this);
 
                this.move_time = time;
index 3676550d61703311978ec43a10ef8e9c6e5697c6..e4a59c1b14f6adfc7c83db8e49dffca9d6db79c3 100644 (file)
@@ -10,36 +10,35 @@ bool pointparticles_SendEntity(entity this, entity to, float fl)
 
        // optional features to save space
        fl = fl & 0x0F;
-       if(this.spawnflags & 2)
+       if (this.spawnflags & 2) {
                fl |= 0x10; // absolute count on toggle-on
-       if(this.movedir != '0 0 0' || this.velocity != '0 0 0')
+       }
+       if (this.movedir != '0 0 0' || this.velocity != '0 0 0') {
                fl |= 0x20; // 4 bytes - saves CPU
-       if(this.waterlevel || this.count != 1)
+       }
+       if (this.waterlevel || this.count != 1) {
                fl |= 0x40; // 4 bytes - obscure features almost never used
-       if(this.mins != '0 0 0' || this.maxs != '0 0 0')
+       }
+       if (this.mins != '0 0 0' || this.maxs != '0 0 0') {
                fl |= 0x80; // 14 bytes - saves lots of space
-
+       }
        WriteByte(MSG_ENTITY, fl);
-       if(fl & 2)
-       {
-               if(this.state)
+       if (fl & 2) {
+               if (this.state) {
                        WriteCoord(MSG_ENTITY, this.impulse);
-               else
+               } else {
                        WriteCoord(MSG_ENTITY, 0); // off
+               }
        }
-       if(fl & 4)
-       {
+       if (fl & 4) {
                WriteCoord(MSG_ENTITY, this.origin_x);
                WriteCoord(MSG_ENTITY, this.origin_y);
                WriteCoord(MSG_ENTITY, this.origin_z);
        }
-       if(fl & 1)
-       {
-               if(this.model != "null")
-               {
+       if (fl & 1) {
+               if (this.model != "null") {
                        WriteShort(MSG_ENTITY, this.modelindex);
-                       if(fl & 0x80)
-                       {
+                       if (fl & 0x80) {
                                WriteCoord(MSG_ENTITY, this.mins_x);
                                WriteCoord(MSG_ENTITY, this.mins_y);
                                WriteCoord(MSG_ENTITY, this.mins_z);
@@ -47,12 +46,9 @@ bool pointparticles_SendEntity(entity this, entity to, float fl)
                                WriteCoord(MSG_ENTITY, this.maxs_y);
                                WriteCoord(MSG_ENTITY, this.maxs_z);
                        }
-               }
-               else
-               {
+               } else {
                        WriteShort(MSG_ENTITY, 0);
-                       if(fl & 0x80)
-                       {
+                       if (fl & 0x80) {
                                WriteCoord(MSG_ENTITY, this.maxs_x);
                                WriteCoord(MSG_ENTITY, this.maxs_y);
                                WriteCoord(MSG_ENTITY, this.maxs_z);
@@ -60,25 +56,21 @@ bool pointparticles_SendEntity(entity this, entity to, float fl)
                }
                WriteShort(MSG_ENTITY, this.cnt);
                WriteString(MSG_ENTITY, this.mdl);
-               if(fl & 0x20)
-               {
+               if (fl & 0x20) {
                        WriteShort(MSG_ENTITY, compressShortVector(this.velocity));
                        WriteShort(MSG_ENTITY, compressShortVector(this.movedir));
                }
-               if(fl & 0x40)
-               {
+               if (fl & 0x40) {
                        WriteShort(MSG_ENTITY, this.waterlevel * 16.0);
                        WriteByte(MSG_ENTITY, this.count * 16.0);
                }
                WriteString(MSG_ENTITY, this.noise);
-               if(this.noise != "")
-               {
+               if (this.noise != "") {
                        WriteByte(MSG_ENTITY, floor(this.atten * 64));
                        WriteByte(MSG_ENTITY, floor(this.volume * 255));
                }
                WriteString(MSG_ENTITY, this.bgmscript);
-               if(this.bgmscript != "")
-               {
+               if (this.bgmscript != "") {
                        WriteByte(MSG_ENTITY, floor(this.bgmscriptattack * 64));
                        WriteByte(MSG_ENTITY, floor(this.bgmscriptdecay * 64));
                        WriteByte(MSG_ENTITY, floor(this.bgmscriptsustain * 255));
@@ -96,8 +88,7 @@ void pointparticles_use(entity this, entity actor, entity trigger)
 
 void pointparticles_think(entity this)
 {
-       if(this.origin != this.oldorigin)
-       {
+       if (this.origin != this.oldorigin) {
                this.SendFlags |= 4;
                this.oldorigin = this.origin;
        }
@@ -106,44 +97,46 @@ void pointparticles_think(entity this)
 
 void pointparticles_reset(entity this)
 {
-       if(this.spawnflags & 1)
+       if (this.spawnflags & 1) {
                this.state = 1;
-       else
+       } else {
                this.state = 0;
+       }
 }
 
 spawnfunc(func_pointparticles)
 {
-       if(this.model != "") { precache_model(this.model); _setmodel(this, this.model); }
-       if(this.noise != "") precache_sound(this.noise);
-       if(this.mdl != "") this.cnt = 0; // use a good handler
-
-       if(!this.bgmscriptsustain) this.bgmscriptsustain = 1;
-       else if(this.bgmscriptsustain < 0) this.bgmscriptsustain = 0;
+       if (this.model != "") { precache_model(this.model); _setmodel(this, this.model); }
+       if (this.noise != "") { precache_sound(this.noise); }
+       if (this.mdl != "") {
+               this.cnt = 0; // use a good handler
+       }
+       if (!this.bgmscriptsustain) { this.bgmscriptsustain = 1; } else if (this.bgmscriptsustain < 0) {
+               this.bgmscriptsustain = 0;
+       }
 
-       if(!this.atten) this.atten = ATTEN_NORM;
-       else if(this.atten < 0) this.atten = 0;
-       if(!this.volume) this.volume = 1;
-       if(!this.count) this.count = 1;
-       if(!this.impulse) this.impulse = 1;
+       if (!this.atten) { this.atten = ATTEN_NORM; } else if (this.atten < 0) {
+               this.atten = 0;
+       }
+       if (!this.volume) { this.volume = 1; }
+       if (!this.count) { this.count = 1; }
+       if (!this.impulse) { this.impulse = 1; }
 
-       if(!this.modelindex)
-       {
+       if (!this.modelindex) {
                setorigin(this, this.origin + this.mins);
                setsize(this, '0 0 0', this.maxs - this.mins);
        }
-       //if(!this.cnt) this.cnt = _particleeffectnum(this.mdl);
+       // if(!this.cnt) this.cnt = _particleeffectnum(this.mdl);
 
        Net_LinkEntity(this, (this.spawnflags & 4), 0, pointparticles_SendEntity);
 
-       if(THIS_TARGETED)
-       {
+       if (THIS_TARGETED) {
                this.use = pointparticles_use;
                this.reset = pointparticles_reset;
                this.reset(this);
-       }
-       else
+       } else {
                this.state = 1;
+       }
        setthink(this, pointparticles_think);
        this.nextthink = time;
 }
@@ -151,13 +144,13 @@ spawnfunc(func_pointparticles)
 spawnfunc(func_sparks)
 {
        // this.cnt is the amount of sparks that one burst will spawn
-       if(this.cnt < 1) {
+       if (this.cnt < 1) {
                this.cnt = 25.0; // nice default value
        }
 
        // this.wait is the probability that a sparkthink will spawn a spark shower
        // range: 0 - 1, but 0 makes little sense, so...
-       if(this.wait < 0.05) {
+       if (this.wait < 0.05) {
                this.wait = 0.25; // nice default value
        }
 
@@ -168,7 +161,7 @@ spawnfunc(func_sparks)
        this.mdl = "TE_SPARK";
        this.impulse = 10 * this.wait; // by default 2.5/sec
        this.wait = 0;
-       this.cnt = 0; // use mdl
+       this.cnt = 0;                  // use mdl
 
        spawnfunc_func_pointparticles(this);
 }
@@ -177,17 +170,17 @@ spawnfunc(func_sparks)
 .int dphitcontentsmask;
 
 entityclass(PointParticles);
-class(PointParticles) .int cnt; // effect number
-class(PointParticles) .vector velocity; // particle velocity
-class(PointParticles) .float waterlevel; // direction jitter
-class(PointParticles) .int count; // count multiplier
-class(PointParticles) .int impulse; // density
-class(PointParticles) .string noise; // sound
-class(PointParticles) .float atten;
-class(PointParticles) .float volume;
-class(PointParticles) .float absolute; // 1 = count per second is absolute, 2 = only spawn at toggle
-class(PointParticles) .vector movedir; // trace direction
-class(PointParticles) .float glow_color; // palette index
+class(PointParticles).int cnt;          // effect number
+class(PointParticles).vector velocity;  // particle velocity
+class(PointParticles).float waterlevel; // direction jitter
+class(PointParticles).int count;        // count multiplier
+class(PointParticles).int impulse;      // density
+class(PointParticles).string noise;     // sound
+class(PointParticles).float atten;
+class(PointParticles).float volume;
+class(PointParticles).float absolute;   // 1 = count per second is absolute, 2 = only spawn at toggle
+class(PointParticles).vector movedir;   // trace direction
+class(PointParticles).float glow_color; // palette index
 
 void Draw_PointParticles(entity this)
 {
@@ -198,60 +191,55 @@ void Draw_PointParticles(entity this)
        o = this.origin;
        sz = this.maxs - this.mins;
        n = doBGMScript(this);
-       if(this.absolute == 2)
-       {
-               if(n >= 0)
+       if (this.absolute == 2) {
+               if (n >= 0) {
                        n = this.just_toggled ? this.impulse : 0;
-               else
+               } else {
                        n = this.impulse * drawframetime;
-       }
-       else
-       {
+               }
+       } else {
                n *= this.impulse * drawframetime;
-               if(this.just_toggled)
-                       if(n < 1)
+               if (this.just_toggled) {
+                       if (n < 1) {
                                n = 1;
+                       }
+               }
        }
-       if(n == 0)
+       if (n == 0) {
                return;
+       }
        fail = 0;
-       for(i = random(); i <= n && fail <= 64*n; ++i)
-       {
+       for (i = random(); i <= n && fail <= 64 * n; ++i) {
                p = o + this.mins;
                p.x += random() * sz.x;
                p.y += random() * sz.y;
                p.z += random() * sz.z;
-               if(WarpZoneLib_BoxTouchesBrush(p, p, this, NULL))
-               {
-                       if(this.movedir != '0 0 0')
-                       {
+               if (WarpZoneLib_BoxTouchesBrush(p, p, this, NULL)) {
+                       if (this.movedir != '0 0 0') {
                                traceline(p, p + normalize(this.movedir) * 4096, 0, NULL);
                                p = trace_endpos;
                                int eff_num;
-                               if(this.cnt)
+                               if (this.cnt) {
                                        eff_num = this.cnt;
-                               else
+                               } else {
                                        eff_num = _particleeffectnum(this.mdl);
+                               }
                                __pointparticles(eff_num, p, trace_plane_normal * vlen(this.movedir) + this.velocity + randomvec() * this.waterlevel, this.count);
-                       }
-                       else
-                       {
+                       } else {
                                int eff_num;
-                               if(this.cnt)
+                               if (this.cnt) {
                                        eff_num = this.cnt;
-                               else
+                               } else {
                                        eff_num = _particleeffectnum(this.mdl);
+                               }
                                __pointparticles(eff_num, p, this.velocity + randomvec() * this.waterlevel, this.count);
                        }
-                       if(this.noise != "")
-                       {
+                       if (this.noise != "") {
                                setorigin(this, p);
                                _sound(this, CH_AMBIENT, this.noise, VOL_BASE * this.volume, this.atten);
                        }
                        this.just_toggled = 0;
-               }
-               else if(this.absolute)
-               {
+               } else if (this.absolute) {
                        ++fail;
                        --i;
                }
@@ -261,14 +249,17 @@ void Draw_PointParticles(entity this)
 
 void Ent_PointParticles_Remove(entity this)
 {
-       if(this.noise)
+       if (this.noise) {
                strunzone(this.noise);
+       }
        this.noise = string_null;
-       if(this.bgmscript)
+       if (this.bgmscript) {
                strunzone(this.bgmscript);
+       }
        this.bgmscript = string_null;
-       if(this.mdl)
+       if (this.mdl) {
                strunzone(this.mdl);
+       }
        this.mdl = string_null;
 }
 
@@ -277,81 +268,67 @@ NET_HANDLE(ENT_CLIENT_POINTPARTICLES, bool isnew)
        float i;
        vector v;
        int f = ReadByte();
-       if(f & 2)
-       {
+       if (f & 2) {
                i = ReadCoord(); // density (<0: point, >0: volume)
-               if(i && !this.impulse && (this.cnt || this.mdl)) // this.cnt check is so it only happens if the ent already existed
+               if (i && !this.impulse && (this.cnt || this.mdl)) { // this.cnt check is so it only happens if the ent already existed
                        this.just_toggled = 1;
+               }
                this.impulse = i;
        }
-       if(f & 4)
-       {
+       if (f & 4) {
                this.origin_x = ReadCoord();
                this.origin_y = ReadCoord();
                this.origin_z = ReadCoord();
        }
-       if(f & 1)
-       {
+       if (f & 1) {
                this.modelindex = ReadShort();
-               if(f & 0x80)
-               {
-                       if(this.modelindex)
-                       {
+               if (f & 0x80) {
+                       if (this.modelindex) {
                                this.mins_x = ReadCoord();
                                this.mins_y = ReadCoord();
                                this.mins_z = ReadCoord();
                                this.maxs_x = ReadCoord();
                                this.maxs_y = ReadCoord();
                                this.maxs_z = ReadCoord();
-                       }
-                       else
-                       {
+                       } else {
                                this.mins    = '0 0 0';
                                this.maxs_x = ReadCoord();
                                this.maxs_y = ReadCoord();
                                this.maxs_z = ReadCoord();
                        }
-               }
-               else
-               {
+               } else {
                        this.mins = this.maxs = '0 0 0';
                }
 
-               this.cnt = ReadShort(); // effect number
+               this.cnt = ReadShort();           // effect number
                this.mdl = strzone(ReadString()); // effect string
 
-               if(f & 0x20)
-               {
+               if (f & 0x20) {
                        this.velocity = decompressShortVector(ReadShort());
                        this.movedir = decompressShortVector(ReadShort());
-               }
-               else
-               {
+               } else {
                        this.velocity = this.movedir = '0 0 0';
                }
-               if(f & 0x40)
-               {
+               if (f & 0x40) {
                        this.waterlevel = ReadShort() / 16.0;
                        this.count = ReadByte() / 16.0;
-               }
-               else
-               {
+               } else {
                        this.waterlevel = 0;
                        this.count = 1;
                }
-               if(this.noise)
+               if (this.noise) {
                        strunzone(this.noise);
-               if(this.bgmscript)
+               }
+               if (this.bgmscript) {
                        strunzone(this.bgmscript);
+               }
                this.noise = strzone(ReadString());
-               if(this.noise != "")
-               {
+               if (this.noise != "") {
                        this.atten = ReadByte() / 64.0;
                        this.volume = ReadByte() / 255.0;
                }
                this.bgmscript = strzone(ReadString());
-               if(this.bgmscript != "")
-               {
+               if (this.bgmscript != "") {
                        this.bgmscriptattack = ReadByte() / 64.0;
                        this.bgmscriptdecay = ReadByte() / 64.0;
                        this.bgmscriptsustain = ReadByte() / 255.0;
@@ -362,24 +339,23 @@ NET_HANDLE(ENT_CLIENT_POINTPARTICLES, bool isnew)
 
        return = true;
 
-       if(f & 2)
-       {
+       if (f & 2) {
                this.absolute = (this.impulse >= 0);
-               if(!this.absolute)
-               {
+               if (!this.absolute) {
                        v = this.maxs - this.mins;
                        this.impulse *= -v.x * v.y * v.z / 262144; // relative: particles per 64^3 cube
                }
        }
 
-       if(f & 0x10)
+       if (f & 0x10) {
                this.absolute = 2;
+       }
 
        setorigin(this, this.origin);
        setsize(this, this.mins, this.maxs);
        this.solid = SOLID_NOT;
        this.draw = Draw_PointParticles;
-       if (isnew) IL_PUSH(g_drawables, this);
+       if (isnew) { IL_PUSH(g_drawables, this); }
        this.entremove = Ent_PointParticles_Remove;
 }
 #endif
index c8b4e2924376fb510b27ba4ffb2c6d4dc1cba511..519d583d66801289f3a40280c4b3febae7f0c99b 100644 (file)
@@ -33,21 +33,26 @@ spawnfunc(func_rain)
 {
        this.dest = this.velocity;
        this.velocity = '0 0 0';
-       if (!this.dest)
+       if (!this.dest) {
                this.dest = '0 0 -700';
+       }
        this.angles = '0 0 0';
        set_movetype(this, MOVETYPE_NONE);
        this.solid = SOLID_NOT;
        SetBrushEntityModel(this);
-       if (!this.cnt)
+       if (!this.cnt) {
                this.cnt = 12;
-       if (!this.count)
+       }
+       if (!this.count) {
                this.count = 2000;
+       }
        this.count = 0.01 * this.count * (this.size_x / 1024) * (this.size_y / 1024);
-       if (this.count < 1)
+       if (this.count < 1) {
                this.count = 1;
-       if(this.count > 65535)
+       }
+       if (this.count > 65535) {
                this.count = 65535;
+       }
 
        this.state = 1; // 1 is rain, 0 is snow
        this.Version = 1;
@@ -71,21 +76,26 @@ spawnfunc(func_snow)
 {
        this.dest = this.velocity;
        this.velocity = '0 0 0';
-       if (!this.dest)
+       if (!this.dest) {
                this.dest = '0 0 -300';
+       }
        this.angles = '0 0 0';
        set_movetype(this, MOVETYPE_NONE);
        this.solid = SOLID_NOT;
        SetBrushEntityModel(this);
-       if (!this.cnt)
+       if (!this.cnt) {
                this.cnt = 12;
-       if (!this.count)
+       }
+       if (!this.count) {
                this.count = 2000;
+       }
        this.count = 0.01 * this.count * (this.size_x / 1024) * (this.size_y / 1024);
-       if (this.count < 1)
+       if (this.count < 1) {
                this.count = 1;
-       if(this.count > 65535)
+       }
+       if (this.count > 65535) {
                this.count = 65535;
+       }
 
        this.state = 0; // 1 is rain, 0 is snow
        this.Version = 1;
@@ -99,18 +109,20 @@ void Draw_Rain(entity this)
 {
        vector maxdist = '1 1 0' * autocvar_cl_rainsnow_maxdrawdist;
        maxdist.z = 5;
-       if(boxesoverlap(vec2(view_origin) - maxdist, vec2(view_origin) + maxdist, vec2(this.absmin) - '0 0 5', vec2(this.absmax) + '0 0 5'))
-       //if(autocvar_cl_rainsnow_maxdrawdist <= 0 || vdist(vec2(this.origin) - vec2(this.absmin + this.absmax * 0.5), <=, autocvar_cl_rainsnow_maxdrawdist))
-       te_particlerain(this.origin + this.mins, this.origin + this.maxs, this.velocity, floor(this.count * drawframetime + random()), this.glow_color);
+       if (boxesoverlap(vec2(view_origin) - maxdist, vec2(view_origin) + maxdist, vec2(this.absmin) - '0 0 5', vec2(this.absmax) + '0 0 5')) {
+               // if(autocvar_cl_rainsnow_maxdrawdist <= 0 || vdist(vec2(this.origin) - vec2(this.absmin + this.absmax * 0.5), <=, autocvar_cl_rainsnow_maxdrawdist))
+               te_particlerain(this.origin + this.mins, this.origin + this.maxs, this.velocity, floor(this.count * drawframetime + random()), this.glow_color);
+       }
 }
 
 void Draw_Snow(entity this)
 {
        vector maxdist = '1 1 0' * autocvar_cl_rainsnow_maxdrawdist;
        maxdist.z = 5;
-       if(boxesoverlap(vec2(view_origin) - maxdist, vec2(view_origin) + maxdist, vec2(this.absmin) - '0 0 5', vec2(this.absmax) + '0 0 5'))
-       //if(autocvar_cl_rainsnow_maxdrawdist <= 0 || vdist(vec2(this.origin) - vec2(this.absmin + this.absmax * 0.5), <=, autocvar_cl_rainsnow_maxdrawdist))
-       te_particlesnow(this.origin + this.mins, this.origin + this.maxs, this.velocity, floor(this.count * drawframetime + random()), this.glow_color);
+       if (boxesoverlap(vec2(view_origin) - maxdist, vec2(view_origin) + maxdist, vec2(this.absmin) - '0 0 5', vec2(this.absmax) + '0 0 5')) {
+               // if(autocvar_cl_rainsnow_maxdrawdist <= 0 || vdist(vec2(this.origin) - vec2(this.absmin + this.absmax * 0.5), <=, autocvar_cl_rainsnow_maxdrawdist))
+               te_particlesnow(this.origin + this.mins, this.origin + this.maxs, this.velocity, floor(this.count * drawframetime + random()), this.glow_color);
+       }
 }
 
 NET_HANDLE(ENT_CLIENT_RAINSNOW, bool isnew)
@@ -135,10 +147,11 @@ NET_HANDLE(ENT_CLIENT_RAINSNOW, bool isnew)
        setorigin(this, this.origin);
        setsize(this, this.mins, this.maxs);
        this.solid = SOLID_NOT;
-       if (isnew) IL_PUSH(g_drawables, this);
-       if(this.impulse)
+       if (isnew) { IL_PUSH(g_drawables, this); }
+       if (this.impulse) {
                this.draw = Draw_Rain;
-       else
+       } else {
                this.draw = Draw_Snow;
+       }
 }
 #endif
index 6268dcfeb86ea6f5fc7d9b981b7e22dd34240bc9..ec45f4ab954910bfc2376badfa254735bbf7ff82 100644 (file)
@@ -4,33 +4,31 @@ const int FUNC_ROTATING_STARTOFF = BIT(4);
 
 void func_rotating_setactive(entity this, int astate)
 {
-       if (astate == ACTIVE_TOGGLE)
-       {
-               if(this.active == ACTIVE_ACTIVE)
+       if (astate == ACTIVE_TOGGLE) {
+               if (this.active == ACTIVE_ACTIVE) {
                        this.active = ACTIVE_NOT;
-               else
+               } else {
                        this.active = ACTIVE_ACTIVE;
-       }
-       else
+               }
+       } else {
                this.active = astate;
+       }
 
-       if(this.active  == ACTIVE_NOT)
+       if (this.active  == ACTIVE_NOT) {
                this.avelocity = '0 0 0';
-       else
+       } else {
                this.avelocity = this.pos1;
+       }
 }
 
 void func_rotating_reset(entity this)
 {
        // TODO: reset angles as well?
 
-       if(this.spawnflags & FUNC_ROTATING_STARTOFF)
-       {
+       if (this.spawnflags & FUNC_ROTATING_STARTOFF) {
                this.avelocity = '0 0 0';
                this.active = ACTIVE_NOT;
-       }
-       else
-       {
+       } else {
                this.avelocity = this.pos1;
                this.active = ACTIVE_ACTIVE;
        }
@@ -46,53 +44,59 @@ dmgtime : See above.
 
 spawnfunc(func_rotating)
 {
-       if (this.noise != "")
-       {
+       if (this.noise != "") {
                precache_sound(this.noise);
                ambientsound(this.origin, this.noise, VOL_BASE, ATTEN_IDLE);
        }
 
        this.setactive = func_rotating_setactive;
 
-       if (!this.speed)
+       if (!this.speed) {
                this.speed = 100;
+       }
        // FIXME: test if this turns the right way, then remove this comment (negate as needed)
-       if (this.spawnflags & BIT(2)) // X (untested)
+       if (this.spawnflags & BIT(2)) // X (untested)
                this.avelocity = '0 0 1' * this.speed;
+       }
        // FIXME: test if this turns the right way, then remove this comment (negate as needed)
-       else if (this.spawnflags & BIT(3)) // Y (untested)
+       else if (this.spawnflags & BIT(3)) // Y (untested)
                this.avelocity = '1 0 0' * this.speed;
+       }
        // FIXME: test if this turns the right way, then remove this comment (negate as needed)
-       else // Z
+       else // Z
                this.avelocity = '0 1 0' * this.speed;
+       }
 
        this.pos1 = this.avelocity;
 
        // do this after setting pos1, so we can safely reactivate the func_rotating
-       if(this.spawnflags & FUNC_ROTATING_STARTOFF)
-       {
+       if (this.spawnflags & FUNC_ROTATING_STARTOFF) {
                this.avelocity = '0 0 0';
                this.active = ACTIVE_NOT;
-       }
-       else
+       } else {
                this.active = ACTIVE_ACTIVE;
+       }
 
-    if(this.dmg && (this.message == ""))
-        this.message = " was squished";
-    if(this.dmg && (this.message2 == ""))
+       if (this.dmg && (this.message == "")) {
+               this.message = " was squished";
+       }
+       if (this.dmg && (this.message2 == "")) {
                this.message2 = "was squished by";
+       }
 
 
-    if(this.dmg && (!this.dmgtime))
-        this.dmgtime = 0.25;
+       if (this.dmg && (!this.dmgtime)) {
+               this.dmgtime = 0.25;
+       }
 
-    this.dmgtime2 = time;
+       this.dmgtime2 = time;
 
-       if (!InitMovingBrushTrigger(this))
+       if (!InitMovingBrushTrigger(this)) {
                return;
+       }
        // no EF_LOWPRECISION here, as rounding angles is bad
 
-    setblocked(this, generic_plat_blocked);
+       setblocked(this, generic_plat_blocked);
 
        // wait for targets to spawn
        this.nextthink = this.ltime + 999999999;
index c5a6e3d0393edebcbfd249296f6ecd8d78eb3dd4..1e26bc1a0ba226d93680231146a53ac150006db1 100644 (file)
@@ -11,53 +11,51 @@ void train_wait(entity this)
        this.enemy = NULL;
 
        // if turning is enabled, the train will turn toward the next point while waiting
-       if(this.platmovetype_turn && !this.train_wait_turning)
-       {
+       if (this.platmovetype_turn && !this.train_wait_turning) {
                entity targ, cp;
                vector ang;
                targ = this.future_target;
-               if((this.spawnflags & 1) && targ.curvetarget)
+               if ((this.spawnflags & 1) && targ.curvetarget) {
                        cp = find(NULL, targetname, targ.curvetarget);
-               else
+               } else {
                        cp = NULL;
+               }
 
-               if(cp) // bezier curves movement
-                       ang = cp.origin - (this.origin - this.view_ofs); // use the origin of the control point of the next path_corner
-               else // linear movement
+               if (cp) { // bezier curves movement
+                       ang = cp.origin - (this.origin - this.view_ofs);   // use the origin of the control point of the next path_corner
+               } else { // linear movement
                        ang = targ.origin - (this.origin - this.view_ofs); // use the origin of the next path_corner
+               }
                ang = vectoangles(ang);
-               ang_x = -ang_x; // flip up / down orientation
+               ang_x = -ang_x;                                        // flip up / down orientation
 
-               if(this.wait > 0) // slow turning
+               if (this.wait > 0) { // slow turning
                        SUB_CalcAngleMove(this, ang, TSPEED_TIME, this.ltime - time + this.wait, train_wait);
-               else // instant turning
+               } else { // instant turning
                        SUB_CalcAngleMove(this, ang, TSPEED_TIME, 0.0000001, train_wait);
+               }
                this.train_wait_turning = true;
                return;
        }
 
 #ifdef SVQC
-       if(this.noise != "")
+       if (this.noise != "") {
                stopsoundto(MSG_BROADCAST, this, CH_TRIGGER_SINGLE); // send this as unreliable only, as the train will resume operation shortly anyway
+       }
 #endif
 
 #ifdef SVQC
        entity tg = this.future_target;
-       if(tg.spawnflags & 4)
-       {
+       if (tg.spawnflags & 4) {
                this.use = train_use;
                setthink(this, func_null);
                this.nextthink = 0;
-       }
-       else
+       } else
 #endif
-            if(this.wait < 0 || this.train_wait_turning) // no waiting or we already waited while turning
-       {
+       if (this.wait < 0 || this.train_wait_turning) { // no waiting or we already waited while turning
                this.train_wait_turning = false;
                train_next(this);
-       }
-       else
-       {
+       } else {
                setthink(this, train_next);
                this.nextthink = this.ltime + this.wait;
        }
@@ -65,17 +63,13 @@ void train_wait(entity this)
 
 entity train_next_find(entity this)
 {
-       if(this.target_random)
-       {
+       if (this.target_random) {
                RandomSelection_Init();
-               for(entity t = NULL; (t = find(t, targetname, this.target));)
-               {
+               for (entity t = NULL; (t = find(t, targetname, this.target)); ) {
                        RandomSelection_AddEnt(t, 1, 0);
                }
                return RandomSelection_chosen_ent;
-       }
-       else
-       {
+       } else {
                return find(NULL, targetname, this.target);
        }
 }
@@ -91,50 +85,47 @@ void train_next(entity this)
        this.target_random = targ.target_random;
        this.future_target = train_next_find(targ);
 
-       if (this.spawnflags & 1)
-       {
-               if(targ.curvetarget)
-               {
+       if (this.spawnflags & 1) {
+               if (targ.curvetarget) {
                        cp = find(NULL, targetname, targ.curvetarget); // get its second target (the control point)
-                       cp_org = cp.origin - this.view_ofs; // no control point found, assume a straight line to the destination
+                       cp_org = cp.origin - this.view_ofs;            // no control point found, assume a straight line to the destination
                }
        }
-       if (this.target == "")
+       if (this.target == "") {
                objerror(this, "train_next: no next target");
+       }
        this.wait = targ.wait;
-       if (!this.wait)
+       if (!this.wait) {
                this.wait = 0.1;
+       }
 
-       if(targ.platmovetype)
-       {
+       if (targ.platmovetype) {
                // this path_corner contains a movetype overrider, apply it
                this.platmovetype_start = targ.platmovetype_start;
                this.platmovetype_end = targ.platmovetype_end;
-       }
-       else
-       {
+       } else {
                // this path_corner doesn't contain a movetype overrider, use the train's defaults
                this.platmovetype_start = this.platmovetype_start_default;
                this.platmovetype_end = this.platmovetype_end_default;
        }
 
-       if (targ.speed)
-       {
-               if (cp)
+       if (targ.speed) {
+               if (cp) {
                        SUB_CalcMove_Bezier(this, cp_org, targ.origin - this.view_ofs, TSPEED_LINEAR, targ.speed, train_wait);
-               else
+               } else {
                        SUB_CalcMove(this, targ.origin - this.view_ofs, TSPEED_LINEAR, targ.speed, train_wait);
-       }
-       else
-       {
-               if (cp)
+               }
+       } else {
+               if (cp) {
                        SUB_CalcMove_Bezier(this, cp_org, targ.origin - this.view_ofs, TSPEED_LINEAR, this.speed, train_wait);
-               else
+               } else {
                        SUB_CalcMove(this, targ.origin - this.view_ofs, TSPEED_LINEAR, this.speed, train_wait);
+               }
        }
 
-       if(this.noise != "")
+       if (this.noise != "") {
                _sound(this, CH_TRIGGER_SINGLE, this.noise, VOL_BASE, ATTEN_IDLE);
+       }
 }
 
 REGISTER_NET_LINKED(ENT_CLIENT_TRAIN)
@@ -145,8 +136,7 @@ float train_send(entity this, entity to, float sf)
        WriteHeader(MSG_ENTITY, ENT_CLIENT_TRAIN);
        WriteByte(MSG_ENTITY, sf);
 
-       if(sf & SF_TRIGGER_INIT)
-       {
+       if (sf & SF_TRIGGER_INIT) {
                WriteString(MSG_ENTITY, this.platmovetype);
                WriteByte(MSG_ENTITY, this.platmovetype_turn);
                WriteByte(MSG_ENTITY, this.spawnflags);
@@ -186,8 +176,7 @@ float train_send(entity this, entity to, float sf)
                WriteByte(MSG_ENTITY, this.dmgtime);
        }
 
-       if(sf & SF_TRIGGER_RESET)
-       {
+       if (sf & SF_TRIGGER_RESET) {
                // used on client
        }
 
@@ -196,7 +185,7 @@ float train_send(entity this, entity to, float sf)
 
 void train_link(entity this)
 {
-       //Net_LinkEntity(this, 0, false, train_send);
+       // Net_LinkEntity(this, 0, false, train_send);
 }
 
 void train_use(entity this, entity actor, entity trigger)
@@ -204,8 +193,9 @@ void train_use(entity this, entity actor, entity trigger)
        this.nextthink = this.ltime + 1;
        setthink(this, train_next);
        this.use = func_null; // not again
-       if(trigger.target2 && trigger.target2 != "")
+       if (trigger.target2 && trigger.target2 != "") {
                this.future_target = find(NULL, targetname, trigger.target2);
+       }
 }
 
 void func_train_find(entity this)
@@ -215,12 +205,12 @@ void func_train_find(entity this)
        this.target_random = targ.target_random;
        // save the future target for later
        this.future_target = train_next_find(targ);
-       if (this.target == "")
+       if (this.target == "") {
                objerror(this, "func_train_find: no next target");
+       }
        setorigin(this, targ.origin - this.view_ofs);
 
-       if(!(this.spawnflags & 4))
-       {
+       if (!(this.spawnflags & 4)) {
                this.nextthink = this.ltime + 1;
                setthink(this, train_next);
        }
@@ -238,43 +228,51 @@ target : targetname of first spawnfunc_path_corner (starts here)
 #ifdef SVQC
 spawnfunc(func_train)
 {
-       if (this.noise != "")
+       if (this.noise != "") {
                precache_sound(this.noise);
+       }
 
-       if (this.target == "")
+       if (this.target == "") {
                objerror(this, "func_train without a target");
-       if (!this.speed)
+       }
+       if (!this.speed) {
                this.speed = 100;
+       }
 
-       if (!InitMovingBrushTrigger(this))
+       if (!InitMovingBrushTrigger(this)) {
                return;
+       }
        this.effects |= EF_LOWPRECISION;
 
-       if(this.spawnflags & 4)
+       if (this.spawnflags & 4) {
                this.use = train_use;
+       }
 
-       if (this.spawnflags & 2)
-       {
+       if (this.spawnflags & 2) {
                this.platmovetype_turn = true;
                this.view_ofs = '0 0 0'; // don't offset a rotating train, origin works differently now
-       }
-       else
+       } else {
                this.view_ofs = this.mins;
+       }
 
        // wait for targets to spawn
        InitializeEntity(this, func_train_find, INITPRIO_FINDTARGET);
 
        setblocked(this, generic_plat_blocked);
-       if(this.dmg && (this.message == ""))
+       if (this.dmg && (this.message == "")) {
                this.message = " was squished";
-    if(this.dmg && (this.message2 == ""))
+       }
+       if (this.dmg && (this.message2 == "")) {
                this.message2 = "was squished by";
-       if(this.dmg && (!this.dmgtime))
+       }
+       if (this.dmg && (!this.dmgtime)) {
                this.dmgtime = 0.25;
+       }
        this.dmgtime2 = time;
 
-       if(!set_platmovetype(this, this.platmovetype))
+       if (!set_platmovetype(this, this.platmovetype)) {
                return;
+       }
        this.platmovetype_start_default = this.platmovetype_start;
        this.platmovetype_end_default = this.platmovetype_end;
 
@@ -283,7 +281,7 @@ spawnfunc(func_train)
 #elif defined(CSQC)
 void train_draw(entity this)
 {
-       //Movetype_Physics_NoMatchServer();
+       // Movetype_Physics_NoMatchServer();
        Movetype_Physics_MatchServer(this, autocvar_cl_projectiles_sloppy);
 }
 
@@ -291,8 +289,7 @@ NET_HANDLE(ENT_CLIENT_TRAIN, bool isnew)
 {
        float sf = ReadByte();
 
-       if(sf & SF_TRIGGER_INIT)
-       {
+       if (sf & SF_TRIGGER_INIT) {
                this.platmovetype = strzone(ReadString());
                this.platmovetype_turn = ReadByte();
                this.spawnflags = ReadByte();
@@ -337,17 +334,16 @@ NET_HANDLE(ENT_CLIENT_TRAIN, bool isnew)
                set_movetype(this, MOVETYPE_PUSH);
                this.drawmask = MASK_NORMAL;
                this.draw = train_draw;
-               if (isnew) IL_PUSH(g_drawables, this);
+               if (isnew) { IL_PUSH(g_drawables, this); }
                this.entremove = trigger_remove_generic;
 
-               if(set_platmovetype(this, this.platmovetype))
-               {
+               if (set_platmovetype(this, this.platmovetype)) {
                        this.platmovetype_start_default = this.platmovetype_start;
                        this.platmovetype_end_default = this.platmovetype_end;
                }
 
                // everything is set up by the time the train is linked, we shouldn't need this
-               //func_train_find();
+               // func_train_find();
 
                // but we will need these
                train_next(this);
@@ -356,8 +352,7 @@ NET_HANDLE(ENT_CLIENT_TRAIN, bool isnew)
                this.move_time = time;
        }
 
-       if(sf & SF_TRIGGER_RESET)
-       {
+       if (sf & SF_TRIGGER_RESET) {
                // TODO: make a reset function for trains
        }
 
index 951a740a2024675371cd2e35412f8887adfe188e..78aecf15fe8a1972197ea40e217b2d744f6af1d1 100644 (file)
@@ -16,43 +16,43 @@ vector func_vectormamamam_origin(entity o, float t)
        v = '0 0 0';
 
        e = o.wp00;
-       if(e)
-       {
+       if (e) {
                p = e.origin + t * e.velocity;
-               if(f & 1)
+               if (f & 1) {
                        v = v + (p * o.targetnormal) * o.targetnormal * o.targetfactor;
-               else
+               } else {
                        v = v + (p - (p * o.targetnormal) * o.targetnormal) * o.targetfactor;
+               }
        }
 
        e = o.wp01;
-       if(e)
-       {
+       if (e) {
                p = e.origin + t * e.velocity;
-               if(f & 2)
+               if (f & 2) {
                        v = v + (p * o.target2normal) * o.target2normal * o.target2factor;
-               else
+               } else {
                        v = v + (p - (p * o.target2normal) * o.target2normal) * o.target2factor;
+               }
        }
 
        e = o.wp02;
-       if(e)
-       {
+       if (e) {
                p = e.origin + t * e.velocity;
-               if(f & 4)
+               if (f & 4) {
                        v = v + (p * o.target3normal) * o.target3normal * o.target3factor;
-               else
+               } else {
                        v = v + (p - (p * o.target3normal) * o.target3normal) * o.target3factor;
+               }
        }
 
        e = o.wp03;
-       if(e)
-       {
+       if (e) {
                p = e.origin + t * e.velocity;
-               if(f & 8)
+               if (f & 8) {
                        v = v + (p * o.target4normal) * o.target4normal * o.target4factor;
-               else
+               } else {
                        v = v + (p - (p * o.target4normal) * o.target4normal) * o.target4factor;
+               }
        }
 
        return v;
@@ -62,32 +62,37 @@ void func_vectormamamam_controller_think(entity this)
 {
        this.nextthink = time + 0.1;
 
-       if(this.owner.active != ACTIVE_ACTIVE)
-       {
+       if (this.owner.active != ACTIVE_ACTIVE) {
                this.owner.velocity = '0 0 0';
                return;
        }
 
-       if(this.owner.classname == "func_vectormamamam") // don't brake stuff if the func_vectormamamam was killtarget'ed
+       if (this.owner.classname == "func_vectormamamam") { // don't brake stuff if the func_vectormamamam was killtarget'ed
                this.owner.velocity = (this.owner.destvec + func_vectormamamam_origin(this.owner, 0.1) - this.owner.origin) * 10;
+       }
 }
 
 void func_vectormamamam_findtarget(entity this)
 {
-       if(this.target != "")
+       if (this.target != "") {
                this.wp00 = find(NULL, targetname, this.target);
+       }
 
-       if(this.target2 != "")
+       if (this.target2 != "") {
                this.wp01 = find(NULL, targetname, this.target2);
+       }
 
-       if(this.target3 != "")
+       if (this.target3 != "") {
                this.wp02 = find(NULL, targetname, this.target3);
+       }
 
-       if(this.target4 != "")
+       if (this.target4 != "") {
                this.wp03 = find(NULL, targetname, this.target4);
+       }
 
-       if(!this.wp00 && !this.wp01 && !this.wp02 && !this.wp03)
+       if (!this.wp00 && !this.wp01 && !this.wp02 && !this.wp03) {
                objerror(this, "No reference entity found, so there is nothing to move. Aborting.");
+       }
 
        this.destvec = this.origin - func_vectormamamam_origin(this, 0);
 
@@ -100,50 +105,62 @@ void func_vectormamamam_findtarget(entity this)
 
 spawnfunc(func_vectormamamam)
 {
-       if (this.noise != "")
-       {
+       if (this.noise != "") {
                precache_sound(this.noise);
                soundto(MSG_INIT, this, CH_TRIGGER_SINGLE, this.noise, VOL_BASE, ATTEN_IDLE);
        }
 
-       if(!this.targetfactor)
+       if (!this.targetfactor) {
                this.targetfactor = 1;
+       }
 
-       if(!this.target2factor)
+       if (!this.target2factor) {
                this.target2factor = 1;
+       }
 
-       if(!this.target3factor)
+       if (!this.target3factor) {
                this.target3factor = 1;
+       }
 
-       if(!this.target4factor)
+       if (!this.target4factor) {
                this.target4factor = 1;
+       }
 
-       if(this.targetnormal)
+       if (this.targetnormal) {
                this.targetnormal = normalize(this.targetnormal);
+       }
 
-       if(this.target2normal)
+       if (this.target2normal) {
                this.target2normal = normalize(this.target2normal);
+       }
 
-       if(this.target3normal)
+       if (this.target3normal) {
                this.target3normal = normalize(this.target3normal);
+       }
 
-       if(this.target4normal)
+       if (this.target4normal) {
                this.target4normal = normalize(this.target4normal);
+       }
 
        setblocked(this, generic_plat_blocked);
-       if(this.dmg && (this.message == ""))
+       if (this.dmg && (this.message == "")) {
                this.message = " was squished";
-    if(this.dmg && (this.message == ""))
+       }
+       if (this.dmg && (this.message == "")) {
                this.message2 = "was squished by";
-       if(this.dmg && (!this.dmgtime))
+       }
+       if (this.dmg && (!this.dmgtime)) {
                this.dmgtime = 0.25;
+       }
        this.dmgtime2 = time;
 
-       if(this.netname == "")
+       if (this.netname == "") {
                this.netname = "1 0 0 0 1";
+       }
 
-       if (!InitMovingBrushTrigger(this))
+       if (!InitMovingBrushTrigger(this)) {
                return;
+       }
 
        // wait for targets to spawn
        this.nextthink = this.ltime + 999999999;
index 59da1f217b409ef4b63f91737b5feed8003640f9..4235c735ce3babdaa1c07ee831e60205e14b0284 100644 (file)
@@ -17,4 +17,3 @@
 
 // trigger
 #include "trigger/include.qc"
-
index 87c07c14df58db888f78d5cd293de5830bd37676..fd8e97ba7788fcc2b76ce252064db14409d32903 100644 (file)
@@ -2,7 +2,7 @@
 
 // some required common stuff
 #ifdef SVQC
-       #include <server/item_key.qh>
+#include <server/item_key.qh>
 #endif
 #include "triggers.qh"
 #include "subs.qh"
index dcc44710fc4e2fe6f746d3c8fd85b0d8da06f7de..73d23c76cdede34a37d39f4815d36d2de63b92d5 100644 (file)
@@ -26,7 +26,7 @@ bool corner_send(entity this, entity to, int sf)
 
 void corner_link(entity this)
 {
-       //Net_LinkEntity(this, false, 0, corner_send);
+       // Net_LinkEntity(this, false, 0, corner_send);
 }
 
 spawnfunc(path_corner)
@@ -41,22 +41,22 @@ spawnfunc(path_corner)
 
 void corner_remove(entity this)
 {
-       if(this.target) { strunzone(this.target); }
+       if (this.target) { strunzone(this.target); }
        this.target = string_null;
 
-       if(this.target2) { strunzone(this.target2); }
+       if (this.target2) { strunzone(this.target2); }
        this.target2 = string_null;
 
-       if(this.target3) { strunzone(this.target3); }
+       if (this.target3) { strunzone(this.target3); }
        this.target3 = string_null;
 
-       if(this.target4) { strunzone(this.target4); }
+       if (this.target4) { strunzone(this.target4); }
        this.target4 = string_null;
 
-       if(this.targetname) { strunzone(this.targetname); }
+       if (this.targetname) { strunzone(this.targetname); }
        this.targetname = string_null;
 
-       if(this.platmovetype) { strunzone(this.platmovetype); }
+       if (this.platmovetype) { strunzone(this.platmovetype); }
        this.platmovetype = string_null;
 }
 
index 63db2c18fa83ac172f62dce5a7b187fccc0c63c4..da7bd1c4984c8b153dd11c8405fc3345425ccb9b 100644 (file)
@@ -7,55 +7,43 @@ void follow_init(entity this)
        entity src, dst;
        src = NULL;
        dst = NULL;
-       if(this.killtarget != "")
+       if (this.killtarget != "") {
                src = find(NULL, targetname, this.killtarget);
-       if(this.target != "")
+       }
+       if (this.target != "") {
                dst = find(NULL, targetname, this.target);
+       }
 
-       if(!src && !dst)
-       {
+       if (!src && !dst) {
                objerror(this, "follow: could not find target/killtarget");
                return;
        }
 
-       if(this.jointtype)
-       {
+       if (this.jointtype) {
                // already done :P entity must stay
                this.aiment = src;
                this.enemy = dst;
-       }
-       else if(!src || !dst)
-       {
+       } else if (!src || !dst) {
                objerror(this, "follow: could not find target/killtarget");
                return;
-       }
-       else if(this.spawnflags & 1)
-       {
+       } else if (this.spawnflags & 1) {
                // attach
-               if(this.spawnflags & 2)
-               {
+               if (this.spawnflags & 2) {
                        setattachment(dst, src, this.message);
-               }
-               else
-               {
+               } else {
                        attach_sameorigin(dst, src, this.message);
                }
 
                dst.solid = SOLID_NOT; // solid doesn't work with attachment
                delete(this);
-       }
-       else
-       {
-               if(this.spawnflags & 2)
-               {
+       } else {
+               if (this.spawnflags & 2) {
                        set_movetype(dst, MOVETYPE_FOLLOW);
                        dst.aiment = src;
                        // dst.punchangle = '0 0 0'; // keep unchanged
                        dst.view_ofs = dst.origin;
                        dst.v_angle = dst.angles;
-               }
-               else
-               {
+               } else {
                        follow_sameorigin(dst, src);
                }
 
index e4fd43c1a20d33dd41f49bf723a8f673a64db68c..ed15a2ab382e7dccd57646a4b914d5155288dcef 100644 (file)
@@ -1,8 +1,8 @@
 #include "laser.qh"
 #if defined(CSQC)
-       #include <lib/csqcmodel/interpolate.qh>
-       #include <client/main.qh>
-       #include <lib/csqcmodel/cl_model.qh>
+#include <lib/csqcmodel/interpolate.qh>
+#include <client/main.qh>
+#include <lib/csqcmodel/cl_model.qh>
 #elif defined(MENUQC)
 #elif defined(SVQC)
 #endif
@@ -14,37 +14,27 @@ REGISTER_NET_LINKED(ENT_CLIENT_LASER)
 void misc_laser_aim(entity this)
 {
        vector a;
-       if(this.enemy)
-       {
-               if(this.spawnflags & 2)
-               {
-                       if(this.enemy.origin != this.mangle)
-                       {
+       if (this.enemy) {
+               if (this.spawnflags & 2) {
+                       if (this.enemy.origin != this.mangle) {
                                this.mangle = this.enemy.origin;
                                this.SendFlags |= 2;
                        }
-               }
-               else
-               {
+               } else {
                        a = vectoangles(this.enemy.origin - this.origin);
                        a_x = -a_x;
-                       if(a != this.mangle)
-                       {
+                       if (a != this.mangle) {
                                this.mangle = a;
                                this.SendFlags |= 2;
                        }
                }
-       }
-       else
-       {
-               if(this.angles != this.mangle)
-               {
+       } else {
+               if (this.angles != this.mangle) {
                        this.mangle = this.angles;
                        this.SendFlags |= 2;
                }
        }
-       if(this.origin != this.oldorigin)
-       {
+       if (this.origin != this.oldorigin) {
                this.SendFlags |= 1;
                this.oldorigin = this.origin;
        }
@@ -52,8 +42,9 @@ void misc_laser_aim(entity this)
 
 void misc_laser_init(entity this)
 {
-       if(this.target != "")
+       if (this.target != "") {
                this.enemy = find(NULL, targetname, this.target);
+       }
 }
 
 .entity pusher;
@@ -65,46 +56,38 @@ void misc_laser_think(entity this)
 
        this.nextthink = time;
 
-       if(!this.state)
+       if (!this.state) {
                return;
+       }
 
        misc_laser_aim(this);
 
-       if(this.enemy)
-       {
+       if (this.enemy) {
                o = this.enemy.origin;
-               if (!(this.spawnflags & 2))
+               if (!(this.spawnflags & 2)) {
                        o = this.origin + normalize(o - this.origin) * 32768;
-       }
-       else
-       {
+               }
+       } else {
                makevectors(this.mangle);
                o = this.origin + v_forward * 32768;
        }
 
-       if(this.dmg || this.enemy.target != "")
-       {
+       if (this.dmg || this.enemy.target != "") {
                traceline(this.origin, o, MOVE_NORMAL, this);
        }
        hitent = trace_ent;
        hitloc = trace_endpos;
 
-       if(this.enemy.target != "") // DETECTOR laser
-       {
-               if(trace_ent.iscreature)
-               {
+       if (this.enemy.target != "") { // DETECTOR laser
+               if (trace_ent.iscreature) {
                        this.pusher = hitent;
-                       if(!this.count)
-                       {
+                       if (!this.count) {
                                this.count = 1;
 
                                SUB_UseTargets(this.enemy, this.enemy.pusher, NULL);
                        }
-               }
-               else
-               {
-                       if(this.count)
-                       {
+               } else {
+                       if (this.count) {
                                this.count = 0;
 
                                SUB_UseTargets(this.enemy, this.enemy.pusher, NULL);
@@ -112,13 +95,15 @@ void misc_laser_think(entity this)
                }
        }
 
-       if(this.dmg)
-       {
-               if(this.team)
-                       if(((this.spawnflags & 8) == 0) == (this.team != hitent.team))
+       if (this.dmg) {
+               if (this.team) {
+                       if (((this.spawnflags & 8) == 0) == (this.team != hitent.team)) {
                                return;
-               if(hitent.takedamage)
+                       }
+               }
+               if (hitent.takedamage) {
                        Damage(hitent, this, this, ((this.dmg < 0) ? 100000 : (this.dmg * frametime)), DEATH_HURTTRIGGER.m_id, hitloc, '0 0 0');
+               }
        }
 }
 
@@ -126,52 +111,52 @@ bool laser_SendEntity(entity this, entity to, float fl)
 {
        WriteHeader(MSG_ENTITY, ENT_CLIENT_LASER);
        fl = fl - (fl & 0xF0); // use that bit to indicate finite length laser
-       if(this.spawnflags & 2)
+       if (this.spawnflags & 2) {
                fl |= 0x80;
-       if(this.alpha)
+       }
+       if (this.alpha) {
                fl |= 0x40;
-       if(this.scale != 1 || this.modelscale != 1)
+       }
+       if (this.scale != 1 || this.modelscale != 1) {
                fl |= 0x20;
-       if(this.spawnflags & 4)
+       }
+       if (this.spawnflags & 4) {
                fl |= 0x10;
+       }
        WriteByte(MSG_ENTITY, fl);
-       if(fl & 1)
-       {
+       if (fl & 1) {
                WriteCoord(MSG_ENTITY, this.origin_x);
                WriteCoord(MSG_ENTITY, this.origin_y);
                WriteCoord(MSG_ENTITY, this.origin_z);
        }
-       if(fl & 8)
-       {
+       if (fl & 8) {
                WriteByte(MSG_ENTITY, this.colormod_x * 255.0);
                WriteByte(MSG_ENTITY, this.colormod_y * 255.0);
                WriteByte(MSG_ENTITY, this.colormod_z * 255.0);
-               if(fl & 0x40)
+               if (fl & 0x40) {
                        WriteByte(MSG_ENTITY, this.alpha * 255.0);
-               if(fl & 0x20)
-               {
+               }
+               if (fl & 0x20) {
                        WriteByte(MSG_ENTITY, bound(0, this.scale * 16.0, 255));
                        WriteByte(MSG_ENTITY, bound(0, this.modelscale * 16.0, 255));
                }
-               if((fl & 0x80) || !(fl & 0x10)) // effect doesn't need sending if the laser is infinite and has collision testing turned off
+               if ((fl & 0x80) || !(fl & 0x10)) { // effect doesn't need sending if the laser is infinite and has collision testing turned off
                        WriteShort(MSG_ENTITY, this.cnt + 1);
+               }
        }
-       if(fl & 2)
-       {
-               if(fl & 0x80)
-               {
+       if (fl & 2) {
+               if (fl & 0x80) {
                        WriteCoord(MSG_ENTITY, this.enemy.origin_x);
                        WriteCoord(MSG_ENTITY, this.enemy.origin_y);
                        WriteCoord(MSG_ENTITY, this.enemy.origin_z);
-               }
-               else
-               {
+               } else {
                        WriteAngle(MSG_ENTITY, this.mangle_x);
                        WriteAngle(MSG_ENTITY, this.mangle_y);
                }
        }
-       if(fl & 4)
+       if (fl & 4) {
                WriteByte(MSG_ENTITY, this.state);
+       }
        return 1;
 }
 
@@ -196,43 +181,46 @@ void laser_use(entity this, entity actor, entity trigger)
 
 void laser_reset(entity this)
 {
-       if(this.spawnflags & 1)
+       if (this.spawnflags & 1) {
                this.state = 1;
-       else
+       } else {
                this.state = 0;
+       }
 }
 
 spawnfunc(misc_laser)
 {
-       if(this.mdl)
-       {
-               if(this.mdl == "none")
+       if (this.mdl) {
+               if (this.mdl == "none") {
                        this.cnt = -1;
-               else
-               {
+               } else {
                        this.cnt = _particleeffectnum(this.mdl);
-                       if(this.cnt < 0 && this.dmg)
-                this.cnt = particleeffectnum(EFFECT_LASER_DEADLY);
+                       if (this.cnt < 0 && this.dmg) {
+                               this.cnt = particleeffectnum(EFFECT_LASER_DEADLY);
+                       }
                }
-       }
-       else if(!this.cnt)
-       {
-               if(this.dmg)
+       } else if (!this.cnt) {
+               if (this.dmg) {
                        this.cnt = particleeffectnum(EFFECT_LASER_DEADLY);
-               else
+               } else {
                        this.cnt = -1;
+               }
        }
-       if(this.cnt < 0)
+       if (this.cnt < 0) {
                this.cnt = -1;
+       }
 
-       if(this.colormod == '0 0 0')
-               if(!this.alpha)
+       if (this.colormod == '0 0 0') {
+               if (!this.alpha) {
                        this.colormod = '1 0 0';
-       if(this.message == "") this.message = "saw the light";
-       if (this.message2 == "") this.message2 = "was pushed into a laser by";
-       if(!this.scale) this.scale = 1;
-       if(!this.modelscale) this.modelscale = 1;
-       else if(this.modelscale < 0) this.modelscale = 0;
+               }
+       }
+       if (this.message == "") { this.message = "saw the light"; }
+       if (this.message2 == "") { this.message2 = "was pushed into a laser by"; }
+       if (!this.scale) { this.scale = 1; }
+       if (!this.modelscale) { this.modelscale = 1; } else if (this.modelscale < 0) {
+               this.modelscale = 0;
+       }
        setthink(this, misc_laser_think);
        this.nextthink = time;
        InitializeEntity(this, misc_laser_init, INITPRIO_FINDTARGET);
@@ -241,14 +229,13 @@ spawnfunc(misc_laser)
 
        Net_LinkEntity(this, false, 0, laser_SendEntity);
 
-       if(THIS_TARGETED)
-       {
+       if (THIS_TARGETED) {
                this.reset = laser_reset;
                this.reset(this);
                this.use = laser_use;
-       }
-       else
+       } else {
                this.state = 1;
+       }
 }
 #elif defined(CSQC)
 
@@ -256,63 +243,55 @@ spawnfunc(misc_laser)
 // it has color 'colormod'
 // and stops when something is in the way
 entityclass(Laser);
-class(Laser) .int cnt; // end effect
-class(Laser) .vector colormod;
-class(Laser) .int state; // on-off
-class(Laser) .int count; // flags for the laser
-class(Laser) .vector velocity;
-class(Laser) .float alpha;
-class(Laser) .float scale; // scaling factor of the thickness
-class(Laser) .float modelscale; // scaling factor of the dlight
+class(Laser).int cnt;          // end effect
+class(Laser).vector colormod;
+class(Laser).int state;        // on-off
+class(Laser).int count;        // flags for the laser
+class(Laser).vector velocity;
+class(Laser).float alpha;
+class(Laser).float scale;      // scaling factor of the thickness
+class(Laser).float modelscale; // scaling factor of the dlight
 
 void Draw_Laser(entity this)
 {
-       if(!this.state)
+       if (!this.state) {
                return;
+       }
        InterpolateOrigin_Do(this);
-       if(this.count & 0x80)
-       {
-               if(this.count & 0x10)
-               {
+       if (this.count & 0x80) {
+               if (this.count & 0x10) {
                        trace_endpos = this.velocity;
                        trace_dphitq3surfaceflags = 0;
-               }
-               else
+               } else {
                        traceline(this.origin, this.velocity, 0, this);
-       }
-       else
-       {
-               if(this.count & 0x10)
-               {
+               }
+       } else {
+               if (this.count & 0x10) {
                        makevectors(this.angles);
                        trace_endpos = this.origin + v_forward * 1048576;
                        trace_dphitq3surfaceflags = Q3SURFACEFLAG_SKY;
-               }
-               else
-               {
+               } else {
                        makevectors(this.angles);
                        traceline(this.origin, this.origin + v_forward * 32768, 0, this);
-                       if(trace_dphitq3surfaceflags & Q3SURFACEFLAG_SKY)
+                       if (trace_dphitq3surfaceflags & Q3SURFACEFLAG_SKY) {
                                trace_endpos = this.origin + v_forward * 1048576;
+                       }
                }
        }
-       if(this.scale != 0)
-       {
-               if(this.alpha)
-               {
+       if (this.scale != 0) {
+               if (this.alpha) {
                        Draw_CylindricLine(this.origin, trace_endpos, this.scale, "particles/laserbeam", 0, time * 3, this.colormod, this.alpha, DRAWFLAG_NORMAL, view_origin);
-               }
-               else
-               {
+               } else {
                        Draw_CylindricLine(this.origin, trace_endpos, this.scale, "particles/laserbeam", 0, time * 3, this.colormod, 0.5, DRAWFLAG_ADDITIVE, view_origin);
                }
        }
-       if (!(trace_dphitq3surfaceflags & (Q3SURFACEFLAG_SKY | Q3SURFACEFLAG_NOIMPACT)))
-       {
-               if(this.cnt >= 0)
+       if (!(trace_dphitq3surfaceflags & (Q3SURFACEFLAG_SKY | Q3SURFACEFLAG_NOIMPACT))) {
+               if (this.cnt >= 0) {
                        __pointparticles(this.cnt, trace_endpos, trace_plane_normal, drawframetime * 1000);
-               if(this.colormod != '0 0 0' && this.modelscale != 0)
+               }
+               if (this.colormod != '0 0 0' && this.modelscale != 0) {
                        adddynamiclight(trace_endpos + trace_plane_normal * 1, this.modelscale, this.colormod * 5);
+               }
        }
 }
 
@@ -324,60 +303,57 @@ NET_HANDLE(ENT_CLIENT_LASER, bool isnew)
        int f = ReadByte();
        this.count = (f & 0xF0);
 
-       if(this.count & 0x80)
+       if (this.count & 0x80) {
                this.iflags = IFLAG_VELOCITY | IFLAG_ORIGIN;
-       else
+       } else {
                this.iflags = IFLAG_ANGLES | IFLAG_ORIGIN;
+       }
 
-       if(f & 1)
-       {
+       if (f & 1) {
                this.origin_x = ReadCoord();
                this.origin_y = ReadCoord();
                this.origin_z = ReadCoord();
                setorigin(this, this.origin);
        }
-       if(f & 8)
-       {
+       if (f & 8) {
                this.colormod_x = ReadByte() / 255.0;
                this.colormod_y = ReadByte() / 255.0;
                this.colormod_z = ReadByte() / 255.0;
-               if(f & 0x40)
+               if (f & 0x40) {
                        this.alpha = ReadByte() / 255.0;
-               else
+               } else {
                        this.alpha = 0;
+               }
                this.scale = 2;
                this.modelscale = 50;
-               if(f & 0x20)
-               {
-                       this.scale *= ReadByte() / 16.0; // beam radius
+               if (f & 0x20) {
+                       this.scale *= ReadByte() / 16.0;      // beam radius
                        this.modelscale *= ReadByte() / 16.0; // dlight radius
                }
-               if((f & 0x80) || !(f & 0x10))
-                       this.cnt = ReadShort() - 1; // effect number
-               else
+               if ((f & 0x80) || !(f & 0x10)) {
+                       this.cnt = ReadShort() - 1;           // effect number
+               } else {
                        this.cnt = 0;
+               }
        }
-       if(f & 2)
-       {
-               if(f & 0x80)
-               {
+       if (f & 2) {
+               if (f & 0x80) {
                        this.velocity_x = ReadCoord();
                        this.velocity_y = ReadCoord();
                        this.velocity_z = ReadCoord();
-               }
-               else
-               {
+               } else {
                        this.angles_x = ReadAngle();
                        this.angles_y = ReadAngle();
                }
        }
-       if(f & 4)
+       if (f & 4) {
                this.state = ReadByte();
+       }
 
        return = true;
 
        InterpolateOrigin_Note(this);
        this.draw = Draw_Laser;
-       if (isnew) IL_PUSH(g_drawables, this);
+       if (isnew) { IL_PUSH(g_drawables, this); }
 }
 #endif
index 703f1d05cc85cfab637ed976ef0b1878e8f75f4d..48bc843e327571c0caf06d09ad4e3dcc10990183 100644 (file)
@@ -2,17 +2,16 @@
 void generic_plat_blocked(entity this, entity blocker)
 {
 #ifdef SVQC
-       if(this.dmg && blocker.takedamage != DAMAGE_NO)
-       {
-               if(this.dmgtime2 < time)
-               {
-                       Damage (blocker, this, this, this.dmg, DEATH_HURTTRIGGER.m_id, blocker.origin, '0 0 0');
+       if (this.dmg && blocker.takedamage != DAMAGE_NO) {
+               if (this.dmgtime2 < time) {
+                       Damage(blocker, this, this, this.dmg, DEATH_HURTTRIGGER.m_id, blocker.origin, '0 0 0');
                        this.dmgtime2 = time + this.dmgtime;
                }
 
                // Gib dead/dying stuff
-               if(IS_DEAD(blocker))
-                       Damage (blocker, this, this, 10000, DEATH_HURTTRIGGER.m_id, blocker.origin, '0 0 0');
+               if (IS_DEAD(blocker)) {
+                       Damage(blocker, this, this, 10000, DEATH_HURTTRIGGER.m_id, blocker.origin, '0 0 0');
+               }
        }
 #endif
 }
@@ -31,27 +30,27 @@ void plat_spawn_inside_trigger(entity this)
        tmin = this.absmin + '25 25 0';
        tmax = this.absmax - '25 25 -8';
        tmin_z = tmax_z - (this.pos1_z - this.pos2_z + 8);
-       if (this.spawnflags & PLAT_LOW_TRIGGER)
+       if (this.spawnflags & PLAT_LOW_TRIGGER) {
                tmax_z = tmin_z + 8;
+       }
 
-       if (this.size_x <= 50)
-       {
+       if (this.size_x <= 50) {
                tmin_x = (this.mins_x + this.maxs_x) / 2;
                tmax_x = tmin_x + 1;
        }
-       if (this.size_y <= 50)
-       {
+       if (this.size_y <= 50) {
                tmin_y = (this.mins_y + this.maxs_y) / 2;
                tmax_y = tmin_y + 1;
        }
 
-       if(tmin_x < tmax_x)
-               if(tmin_y < tmax_y)
-                       if(tmin_z < tmax_z)
-                       {
-                               setsize (trigger, tmin, tmax);
+       if (tmin_x < tmax_x) {
+               if (tmin_y < tmax_y) {
+                       if (tmin_z < tmax_z) {
+                               setsize(trigger, tmin, tmax);
                                return;
                        }
+               }
+       }
 
        // otherwise, something is fishy...
        delete(trigger);
@@ -60,7 +59,7 @@ void plat_spawn_inside_trigger(entity this)
 
 void plat_hit_top(entity this)
 {
-       _sound (this, CH_TRIGGER_SINGLE, this.noise1, VOL_BASE, ATTEN_NORM);
+       _sound(this, CH_TRIGGER_SINGLE, this.noise1, VOL_BASE, ATTEN_NORM);
        this.state = 1;
 
        setthink(this, plat_go_down);
@@ -69,107 +68,115 @@ void plat_hit_top(entity this)
 
 void plat_hit_bottom(entity this)
 {
-       _sound (this, CH_TRIGGER_SINGLE, this.noise1, VOL_BASE, ATTEN_NORM);
+       _sound(this, CH_TRIGGER_SINGLE, this.noise1, VOL_BASE, ATTEN_NORM);
        this.state = 2;
 }
 
 void plat_go_down(entity this)
 {
-       _sound (this, CH_TRIGGER_SINGLE, this.noise, VOL_BASE, ATTEN_NORM);
+       _sound(this, CH_TRIGGER_SINGLE, this.noise, VOL_BASE, ATTEN_NORM);
        this.state = 3;
-       SUB_CalcMove (this, this.pos2, TSPEED_LINEAR, this.speed, plat_hit_bottom);
+       SUB_CalcMove(this, this.pos2, TSPEED_LINEAR, this.speed, plat_hit_bottom);
 }
 
 void plat_go_up(entity this)
 {
-       _sound (this, CH_TRIGGER_SINGLE, this.noise, VOL_BASE, ATTEN_NORM);
+       _sound(this, CH_TRIGGER_SINGLE, this.noise, VOL_BASE, ATTEN_NORM);
        this.state = 4;
-       SUB_CalcMove (this, this.pos1, TSPEED_LINEAR, this.speed, plat_hit_top);
+       SUB_CalcMove(this, this.pos1, TSPEED_LINEAR, this.speed, plat_hit_top);
 }
 
 void plat_center_touch(entity this, entity toucher)
 {
 #ifdef SVQC
-       if (!toucher.iscreature)
+       if (!toucher.iscreature) {
                return;
+       }
 
-       if (toucher.health <= 0)
+       if (toucher.health <= 0) {
                return;
+       }
 #elif defined(CSQC)
-       if (!IS_PLAYER(toucher))
+       if (!IS_PLAYER(toucher)) {
                return;
-       if(IS_DEAD(toucher))
+       }
+       if (IS_DEAD(toucher)) {
                return;
+       }
 #endif
 
        if (this.enemy.state == 2) {
                plat_go_up(this.enemy);
-       } else if (this.enemy.state == 1)
+       } else if (this.enemy.state == 1) {
                this.enemy.nextthink = this.enemy.ltime + 1;
+       }
 }
 
 void plat_outside_touch(entity this, entity toucher)
 {
 #ifdef SVQC
-       if (!toucher.iscreature)
+       if (!toucher.iscreature) {
                return;
+       }
 
-       if (toucher.health <= 0)
+       if (toucher.health <= 0) {
                return;
+       }
 #elif defined(CSQC)
-       if (!IS_PLAYER(toucher))
+       if (!IS_PLAYER(toucher)) {
                return;
+       }
 #endif
 
        if (this.enemy.state == 1) {
-           entity e = this.enemy;
+               entity e = this.enemy;
                plat_go_down(e);
-    }
+       }
 }
 
 void plat_trigger_use(entity this, entity actor, entity trigger)
 {
-       if (getthink(this))
-               return;         // already activated
+       if (getthink(this)) {
+               return; // already activated
+       }
        plat_go_down(this);
 }
 
 
 void plat_crush(entity this, entity blocker)
 {
-       if((this.spawnflags & 4) && (blocker.takedamage != DAMAGE_NO))
-       { // KIll Kill Kill!!
+       if ((this.spawnflags & 4) && (blocker.takedamage != DAMAGE_NO)) { // KIll Kill Kill!!
 #ifdef SVQC
-               Damage (blocker, this, this, 10000, DEATH_HURTTRIGGER.m_id, blocker.origin, '0 0 0');
+               Damage(blocker, this, this, 10000, DEATH_HURTTRIGGER.m_id, blocker.origin, '0 0 0');
 #endif
-       }
-       else
-       {
+       } else {
 #ifdef SVQC
-               if((this.dmg) && (blocker.takedamage != DAMAGE_NO))
-               {   // Shall we bite?
-                       Damage (blocker, this, this, this.dmg, DEATH_HURTTRIGGER.m_id, blocker.origin, '0 0 0');
+               if ((this.dmg) && (blocker.takedamage != DAMAGE_NO)) { // Shall we bite?
+                       Damage(blocker, this, this, this.dmg, DEATH_HURTTRIGGER.m_id, blocker.origin, '0 0 0');
                        // Gib dead/dying stuff
-                       if(IS_DEAD(blocker))
-                               Damage (blocker, this, this, 10000, DEATH_HURTTRIGGER.m_id, blocker.origin, '0 0 0');
+                       if (IS_DEAD(blocker)) {
+                               Damage(blocker, this, this, 10000, DEATH_HURTTRIGGER.m_id, blocker.origin, '0 0 0');
+                       }
                }
 #endif
 
-               if (this.state == 4)
-                       plat_go_down (this);
-               else if (this.state == 3)
-                       plat_go_up (this);
-       // when in other states, then the plat_crush event came delayed after
-       // plat state already had changed
-       // this isn't a bug per se!
+               if (this.state == 4) {
+                       plat_go_down(this);
+               } else if (this.state == 3) {
+                       plat_go_up(this);
+               }
+               // when in other states, then the plat_crush event came delayed after
+               // plat state already had changed
+               // this isn't a bug per se!
        }
 }
 
 void plat_use(entity this, entity actor, entity trigger)
 {
        this.use = func_null;
-       if (this.state != 4)
-               objerror (this, "plat_use: not in up state");
+       if (this.state != 4) {
+               objerror(this, "plat_use: not in up state");
+       }
        plat_go_down(this);
 }
 
@@ -177,14 +184,11 @@ void plat_use(entity this, entity actor, entity trigger)
 
 void plat_reset(entity this)
 {
-       if(THIS_TARGETED)
-       {
+       if (THIS_TARGETED) {
                setorigin(this, this.pos1);
                this.state = 4;
                this.use = plat_use;
-       }
-       else
-       {
+       } else {
                setorigin(this, this.pos2);
                this.state = 2;
                this.use = plat_trigger_use;
@@ -201,22 +205,24 @@ bool set_platmovetype(entity e, string s)
        // sets platmovetype_start and platmovetype_end based on a string consisting of two values
 
        int n = tokenize_console(s);
-       if(n > 0)
+       if (n > 0) {
                e.platmovetype_start = stof(argv(0));
-       else
+       } else {
                e.platmovetype_start = 0;
+       }
 
-       if(n > 1)
+       if (n > 1) {
                e.platmovetype_end = stof(argv(1));
-       else
+       } else {
                e.platmovetype_end = e.platmovetype_start;
+       }
 
-       if(n > 2)
-               if(argv(2) == "force")
+       if (n > 2) {
+               if (argv(2) == "force") {
                        return true; // no checking, return immediately
-
-       if(!cubic_speedfunc_is_sane(e.platmovetype_start, e.platmovetype_end))
-       {
+               }
+       }
+       if (!cubic_speedfunc_is_sane(e.platmovetype_start, e.platmovetype_end)) {
                objerror(e, "Invalid platform move type; platform would go in reverse, which is not allowed.");
                return false;
        }
index 5b6182e0ab8574877e11f8432a316bcf41e94aa3..81b84a510c41d5d9ccdedcf394f7a6e02e1190fc 100644 (file)
@@ -1,5 +1,5 @@
 #include "subs.qh"
-void SUB_NullThink(entity this) { }
+void SUB_NullThink(entity this) {}
 
 void SUB_CalcMoveDone(entity this);
 void SUB_CalcAngleMoveDone(entity this);
@@ -12,11 +12,12 @@ Applies some friction to this
 ==================
 */
 .float friction;
-void SUB_Friction (entity this)
+void SUB_Friction(entity this)
 {
        this.nextthink = time;
-       if(IS_ONGROUND(this))
+       if (IS_ONGROUND(this)) {
                this.velocity = this.velocity * (1 - frametime * this.friction);
+       }
 }
 
 /*
@@ -26,10 +27,9 @@ SUB_VanishOrRemove
 Makes client invisible or removes non-client
 ==================
 */
-void SUB_VanishOrRemove (entity ent)
+void SUB_VanishOrRemove(entity ent)
 {
-       if (IS_CLIENT(ent))
-       {
+       if (IS_CLIENT(ent)) {
                // vanish
                ent.alpha = -1;
                ent.effects = 0;
@@ -37,25 +37,25 @@ void SUB_VanishOrRemove (entity ent)
                ent.glow_size = 0;
                ent.pflags = 0;
 #endif
-       }
-       else
-       {
+       } else {
                // remove
                delete(ent);
        }
 }
 
-void SUB_SetFade_Think (entity this)
+void SUB_SetFade_Think(entity this)
 {
-       if(this.alpha == 0)
+       if (this.alpha == 0) {
                this.alpha = 1;
+       }
        setthink(this, SUB_SetFade_Think);
        this.nextthink = time;
        this.alpha -= frametime * this.fade_rate;
-       if (this.alpha < 0.01)
+       if (this.alpha < 0.01) {
                SUB_VanishOrRemove(this);
-       else
+       } else {
                this.nextthink = time;
+       }
 }
 
 /*
@@ -65,9 +65,9 @@ SUB_SetFade
 Fade 'ent' out when time >= 'when'
 ==================
 */
-void SUB_SetFade (entity ent, float when, float fading_time)
+void SUB_SetFade(entity ent, float when, float fading_time)
 {
-       ent.fade_rate = 1/fading_time;
+       ent.fade_rate = 1 / fading_time;
        setthink(ent, SUB_SetFade_Think);
        ent.nextthink = when;
 }
@@ -84,15 +84,16 @@ void SUB_CalcMoveDone(entity this)
 {
        // After moving, set origin to exact final destination
 
-       setorigin (this, this.finaldest);
+       setorigin(this, this.finaldest);
        this.velocity = '0 0 0';
        this.nextthink = -1;
-       if (this.think1 && this.think1 != SUB_CalcMoveDone)
-               this.think1 (this);
+       if (this.think1 && this.think1 != SUB_CalcMoveDone) {
+               this.think1(this);
+       }
 }
 
 .float platmovetype_turn;
-void SUB_CalcMove_controller_think (entity this)
+void SUB_CalcMove_controller_think(entity this)
 {
        float traveltime;
        float phasepos;
@@ -104,8 +105,7 @@ void SUB_CalcMove_controller_think (entity this)
        vector nextpos;
        delta = this.destvec;
        delta2 = this.destvec2;
-       if(time < this.animstate_endtime)
-       {
+       if (time < this.animstate_endtime) {
                nexttick = time + PHYS_INPUT_FRAMETIME;
 
                traveltime = this.animstate_endtime - this.animstate_starttime;
@@ -114,8 +114,7 @@ void SUB_CalcMove_controller_think (entity this)
                nextpos = this.origin + (delta * phasepos) + (delta2 * phasepos * phasepos);
                // derivative: delta + 2 * delta2 * phasepos (e.g. for angle positioning)
 
-               if(this.owner.platmovetype_turn)
-               {
+               if (this.owner.platmovetype_turn) {
                        vector destangle;
                        destangle = delta + 2 * delta2 * phasepos;
                        destangle = vectoangles(destangle);
@@ -131,17 +130,16 @@ void SUB_CalcMove_controller_think (entity this)
                        angloc = angloc * (1 / PHYS_INPUT_FRAMETIME); // so it arrives for the next frame
                        this.owner.avelocity = angloc;
                }
-               if(nexttick < this.animstate_endtime)
+               if (nexttick < this.animstate_endtime) {
                        veloc = nextpos - this.owner.origin;
-               else
+               } else {
                        veloc = this.finaldest - this.owner.origin;
+               }
                veloc = veloc * (1 / PHYS_INPUT_FRAMETIME); // so it arrives for the next frame
 
                this.owner.velocity = veloc;
                this.nextthink = nexttick;
-       }
-       else
-       {
+       } else {
                // derivative: delta + 2 * delta2 (e.g. for angle positioning)
                entity own = this.owner;
                setthink(own, this.think1);
@@ -150,7 +148,7 @@ void SUB_CalcMove_controller_think (entity this)
        }
 }
 
-void SUB_CalcMove_controller_setbezier (entity controller, vector org, vector control, vector destin)
+void SUB_CalcMove_controller_setbezier(entity controller, vector org, vector control, vector destin)
 {
        // 0 * (1-t) * (1-t) + 2 * control * t * (1-t) + destin * t * t
        // 2 * control * t - 2 * control * t * t + destin * t * t
@@ -160,12 +158,12 @@ void SUB_CalcMove_controller_setbezier (entity controller, vector org, vector co
        control -= org;
        destin -= org;
 
-       controller.destvec = 2 * control; // control point
+       controller.destvec = 2 * control;           // control point
        controller.destvec2 = destin - 2 * control; // quadratic part required to reach end point
        // also: initial d/dphasepos origin = 2 * control, final speed = 2 * (destin - control)
 }
 
-void SUB_CalcMove_controller_setlinear (entity controller, vector org, vector destin)
+void SUB_CalcMove_controller_setlinear(entity controller, vector org, vector destin)
 {
        // 0 * (1-t) * (1-t) + 2 * control * t * (1-t) + destin * t * t
        // 2 * control * t - 2 * control * t * t + destin * t * t
@@ -184,20 +182,20 @@ float TSPEED_START = 1;
 float TSPEED_END = 2;
 // TODO average too?
 
-void SUB_CalcMove_Bezier (entity this, vector tcontrol, vector tdest, float tspeedtype, float tspeed, void(entity this) func)
+void SUB_CalcMove_Bezier(entity this, vector tcontrol, vector tdest, float tspeedtype, float tspeed, void(entity this) func)
 {
-       float   traveltime;
+       float   traveltime;
        entity controller;
 
-       if (!tspeed)
-               objerror (this, "No speed is defined!");
+       if (!tspeed) {
+               objerror(this, "No speed is defined!");
+       }
 
        this.think1 = func;
        this.finaldest = tdest;
        setthink(this, SUB_CalcMoveDone);
 
-       switch(tspeedtype)
-       {
+       switch (tspeedtype) {
                default:
                case TSPEED_START:
                        traveltime = 2 * vlen(tcontrol - this.origin) / tspeed;
@@ -213,8 +211,7 @@ void SUB_CalcMove_Bezier (entity this, vector tcontrol, vector tdest, float tspe
                        break;
        }
 
-       if (traveltime < 0.1) // useless anim
-       {
+       if (traveltime < 0.1) { // useless anim
                this.velocity = '0 0 0';
                this.nextthink = this.ltime + 0.1;
                return;
@@ -240,20 +237,20 @@ void SUB_CalcMove_Bezier (entity this, vector tcontrol, vector tdest, float tspe
        getthink(controller)(controller);
 }
 
-void SUB_CalcMove (entity this, vector tdest, float tspeedtype, float tspeed, void(entity this) func)
+void SUB_CalcMove(entity this, vector tdest, float tspeedtype, float tspeed, void(entity this) func)
 {
-       vector  delta;
-       float   traveltime;
+       vector  delta;
+       float   traveltime;
 
-       if (!tspeed)
-               objerror (this, "No speed is defined!");
+       if (!tspeed) {
+               objerror(this, "No speed is defined!");
+       }
 
        this.think1 = func;
        this.finaldest = tdest;
        setthink(this, SUB_CalcMoveDone);
 
-       if (tdest == this.origin)
-       {
+       if (tdest == this.origin) {
                this.velocity = '0 0 0';
                this.nextthink = this.ltime + 0.1;
                return;
@@ -261,13 +258,12 @@ void SUB_CalcMove (entity this, vector tdest, float tspeedtype, float tspeed, vo
 
        delta = tdest - this.origin;
 
-       switch(tspeedtype)
-       {
+       switch (tspeedtype) {
                default:
                case TSPEED_START:
                case TSPEED_END:
                case TSPEED_LINEAR:
-                       traveltime = vlen (delta) / tspeed;
+                       traveltime = vlen(delta) / tspeed;
                        break;
                case TSPEED_TIME:
                        traveltime = tspeed;
@@ -277,10 +273,9 @@ void SUB_CalcMove (entity this, vector tdest, float tspeedtype, float tspeed, vo
        // Very short animations don't really show off the effect
        // of controlled animation, so let's just use linear movement.
        // Alternatively entities can choose to specify non-controlled movement.
-        // The only currently implemented alternative movement is linear (value 1)
-       if (traveltime < 0.15 || (this.platmovetype_start == 1 && this.platmovetype_end == 1)) // is this correct?
-       {
-               this.velocity = delta * (1/traveltime); // QuakeC doesn't allow vector/float division
+       // The only currently implemented alternative movement is linear (value 1)
+       if (traveltime < 0.15 || (this.platmovetype_start == 1 && this.platmovetype_end == 1)) { // is this correct?
+               this.velocity = delta * (1 / traveltime); // QuakeC doesn't allow vector/float division
                this.nextthink = this.ltime + traveltime;
                return;
        }
@@ -289,7 +284,7 @@ void SUB_CalcMove (entity this, vector tdest, float tspeedtype, float tspeed, vo
        SUB_CalcMove_Bezier(this, (this.origin + tdest) * 0.5, tdest, tspeedtype, tspeed, func);
 }
 
-void SUB_CalcMoveEnt (entity ent, vector tdest, float tspeedtype, float tspeed, void(entity this) func)
+void SUB_CalcMoveEnt(entity ent, vector tdest, float tspeedtype, float tspeed, void(entity this) func)
 {
        SUB_CalcMove(ent, tdest, tspeedtype, tspeed, func);
 }
@@ -310,15 +305,17 @@ void SUB_CalcAngleMoveDone(entity this)
        this.angles = this.finalangle;
        this.avelocity = '0 0 0';
        this.nextthink = -1;
-       if (this.think1 && this.think1 != SUB_CalcAngleMoveDone) // avoid endless loops
-               this.think1 (this);
+       if (this.think1 && this.think1 != SUB_CalcAngleMoveDone) { // avoid endless loops
+               this.think1(this);
+       }
 }
 
 // FIXME: I fixed this function only for rotation around the main axes
-void SUB_CalcAngleMove (entity this, vector destangle, float tspeedtype, float tspeed, void(entity this) func)
+void SUB_CalcAngleMove(entity this, vector destangle, float tspeedtype, float tspeed, void(entity this) func)
 {
-       if (!tspeed)
-               objerror (this, "No speed is defined!");
+       if (!tspeed) {
+               objerror(this, "No speed is defined!");
+       }
 
        // take the shortest distance for the angles
        this.angles_x -= 360 * floor((this.angles_x - destangle_x) / 360 + 0.5);
@@ -327,13 +324,12 @@ void SUB_CalcAngleMove (entity this, vector destangle, float tspeedtype, float t
        vector delta = destangle - this.angles;
        float traveltime;
 
-       switch(tspeedtype)
-       {
+       switch (tspeedtype) {
                default:
                case TSPEED_START:
                case TSPEED_END:
                case TSPEED_LINEAR:
-                       traveltime = vlen (delta) / tspeed;
+                       traveltime = vlen(delta) / tspeed;
                        break;
                case TSPEED_TIME:
                        traveltime = tspeed;
@@ -344,8 +340,7 @@ void SUB_CalcAngleMove (entity this, vector destangle, float tspeedtype, float t
        this.finalangle = destangle;
        setthink(this, SUB_CalcAngleMoveDone);
 
-       if (traveltime < 0.1)
-       {
+       if (traveltime < 0.1) {
                this.avelocity = '0 0 0';
                this.nextthink = this.ltime + 0.1;
                return;
@@ -355,7 +350,7 @@ void SUB_CalcAngleMove (entity this, vector destangle, float tspeedtype, float t
        this.nextthink = this.ltime + traveltime;
 }
 
-void SUB_CalcAngleMoveEnt (entity ent, vector destangle, float tspeedtype, float tspeed, void(entity this) func)
+void SUB_CalcAngleMoveEnt(entity ent, vector destangle, float tspeedtype, float tspeed, void(entity this) func)
 {
-       SUB_CalcAngleMove (ent, destangle, tspeedtype, tspeed, func);
+       SUB_CalcAngleMove(ent, destangle, tspeedtype, tspeed, func);
 }
index 1b3bc5e690d438f6eeb1b0bf228eab6efd7ee75a..e9ee8476a58bfb6172054dd250b47bc5cb64bd9c 100644 (file)
@@ -1,30 +1,30 @@
 #pragma once
 
-void SUB_SetFade (entity ent, float when, float fading_time);
-void SUB_VanishOrRemove (entity ent);
+void SUB_SetFade(entity ent, float when, float fading_time);
+void SUB_VanishOrRemove(entity ent);
 
-.vector                finaldest, finalangle;          //plat.qc stuff
+.vector     finaldest, finalangle; // plat.qc stuff
 .void(entity this) think1;
 .float state;
-.float         t_length, t_width;
+.float      t_length, t_width;
 
 .vector destvec;
 .vector destvec2;
 
-.float delay;
-.float wait;
-.float lip;
-.float speed;
-.float sounds;
+.float  delay;
+.float  wait;
+.float  lip;
+.float  speed;
+.float  sounds;
 .string  platmovetype;
 .float platmovetype_start, platmovetype_end;
 
-//entity activator;
+// entity activator;
 
 .string killtarget;
 
-.vector        pos1, pos2;
-.vector        mangle;
+.vector pos1, pos2;
+.vector mangle;
 
 .string target2;
 .string target3;
@@ -44,16 +44,16 @@ void SUB_VanishOrRemove (entity ent);
 #ifdef CSQC
 // this stuff is defined in the server side engine VM, so we must define it separately here
 .float takedamage;
-const float DAMAGE_NO  = 0;
-const float DAMAGE_YES = 1;
-const float DAMAGE_AIM = 2;
+const float DAMAGE_NO   = 0;
+const float DAMAGE_YES  = 1;
+const float DAMAGE_AIM  = 2;
 
-float  STATE_TOP               = 0;
-float  STATE_BOTTOM    = 1;
-float  STATE_UP                = 2;
-float  STATE_DOWN              = 3;
+float   STATE_TOP       = 0;
+float   STATE_BOTTOM    = 1;
+float   STATE_UP        = 2;
+float   STATE_DOWN      = 3;
 
-.string                noise, noise1, noise2, noise3;  // contains names of wavs to play
+.string     noise, noise1, noise2, noise3; // contains names of wavs to play
 
-.float         max_health;             // players maximum health is stored here
+.float      max_health;                    // players maximum health is stored here
 #endif
index 6c006d42a91610e70cd3984bc076cdc61312885c..5540f936a7ee0229785e43f1473d32041289674c 100644 (file)
@@ -5,10 +5,9 @@
 
 void target_changelevel_use(entity this, entity actor, entity trigger)
 {
-       if(this.spawnflags & 2)
-       {
+       if (this.spawnflags & 2) {
                // simply don't react if a non-player triggers it
-               if(!IS_PLAYER(actor)) { return; }
+               if (!IS_PLAYER(actor)) { return; }
 
                actor.chlevel_targ = this;
 
@@ -17,26 +16,30 @@ void target_changelevel_use(entity this, entity actor, entity trigger)
                // let's not count bots
                FOREACH_CLIENT(IS_PLAYER(it) && IS_REAL_CLIENT(it), {
                        ++realplnum;
-                       if(it.chlevel_targ == this)
+                       if (it.chlevel_targ == this) {
                                ++plnum;
+                       }
                });
-               if(plnum < ceil(realplnum * min(1, this.count))) // 70% of players
+               if (plnum < ceil(realplnum * min(1, this.count))) { // 70% of players
                        return;
+               }
        }
 
-       if(this.gametype != "")
+       if (this.gametype != "") {
                MapInfo_SwitchGameType(MapInfo_Type_FromString(this.gametype));
+       }
 
-       if (this.chmap == "")
+       if (this.chmap == "") {
                localcmd("endmatch\n");
-       else
+       } else {
                localcmd(strcat("changelevel ", this.chmap, "\n"));
+       }
 }
 
 spawnfunc(target_changelevel)
 {
        this.use = target_changelevel_use;
 
-       if(!this.count) { this.count = 0.7; }
+       if (!this.count) { this.count = 0.7; }
 }
 #endif
index a821ac1393724ace54a18286c8e22aa6cb8f59ca..41ce8fde53d31cd436082fdf4d6be1ee57ed7328 100644 (file)
@@ -4,23 +4,26 @@
 
 void target_kill_use(entity this, entity actor, entity trigger)
 {
-       if(actor.takedamage == DAMAGE_NO)
+       if (actor.takedamage == DAMAGE_NO) {
                return;
+       }
 
-       if(!actor.iscreature && !actor.damagedbytriggers)
+       if (!actor.iscreature && !actor.damagedbytriggers) {
                return;
+       }
 
        Damage(actor, this, trigger, 1000, DEATH_HURTTRIGGER.m_id, actor.origin, '0 0 0');
 }
 
 spawnfunc(target_kill)
 {
-    this.classname = "target_kill";
+       this.classname = "target_kill";
 
-    if (this.message == "")
+       if (this.message == "") {
                this.message = "was in the wrong place";
+       }
 
-    this.use = target_kill_use;
+       this.use = target_kill_use;
 }
 
 #endif
index 6cef53d6e558c5fe76aaae3bcfa7a9fece1ce90c..2db4d1c9fbb1e6bea257332242f9202f7791ca1f 100644 (file)
@@ -3,13 +3,14 @@
 #ifdef SVQC
 void target_levelwarp_use(entity this, entity actor, entity trigger)
 {
-       if(!autocvar_g_campaign)
-               return; // only in campaign
-
-       if(this.cnt)
+       if (!autocvar_g_campaign) {
+               return;                          // only in campaign
+       }
+       if (this.cnt) {
                CampaignLevelWarp(this.cnt - 1); // specific level
-       else
-               CampaignLevelWarp(-1); // next level
+       } else {
+               CampaignLevelWarp(-1);           // next level
+       }
 }
 
 spawnfunc(target_levelwarp)
index 5774f45f993c183bf19712391b5f877eac24daf4..618832bd2465d30c43d8fb59d9af1cf579afe6ef 100644 (file)
@@ -4,22 +4,22 @@ void target_push_init(entity this);
 
 spawnfunc(target_location)
 {
-    this.classname = "target_location";
-    // location name in netname
-    // eventually support: count, teamgame selectors, line of sight?
+       this.classname = "target_location";
+       // location name in netname
+       // eventually support: count, teamgame selectors, line of sight?
 
-    target_push_init(this);
+       target_push_init(this);
 
-    IL_PUSH(g_locations, this);
+       IL_PUSH(g_locations, this);
 }
 
 spawnfunc(info_location)
 {
-    this.classname = "target_location";
-    this.message = this.netname;
+       this.classname = "target_location";
+       this.message = this.netname;
 
-    target_push_init(this);
+       target_push_init(this);
 
-    IL_PUSH(g_locations, this);
+       IL_PUSH(g_locations, this);
 }
 #endif
index 1f8cb00cb553a95623dec5d0eb10f3d0ca3c2e9f..7742357a0d48d8fbc1402cc6e9e6f82a312a72c0 100644 (file)
@@ -2,10 +2,10 @@
 #if defined(CSQC)
 #elif defined(MENUQC)
 #elif defined(SVQC)
-    #include <common/constants.qh>
-    #include <common/net_linked.qh>
-    #include <server/constants.qh>
-    #include <server/defs.qh>
+#include <common/constants.qh>
+#include <common/net_linked.qh>
+#include <server/constants.qh>
+#include <server/defs.qh>
 #endif
 
 REGISTER_NET_TEMP(TE_CSQC_TARGET_MUSIC)
@@ -14,7 +14,10 @@ REGISTER_NET_LINKED(ENT_CLIENT_TRIGGER_MUSIC)
 #ifdef SVQC
 
 IntrusiveList g_targetmusic_list;
-STATIC_INIT(g_targetmusic_list) { g_targetmusic_list = IL_NEW(); }
+STATIC_INIT(g_targetmusic_list)
+{
+       g_targetmusic_list = IL_NEW();
+}
 
 // values:
 //   volume
@@ -37,25 +40,26 @@ void target_music_sendto(entity this, int to, bool is)
 }
 void target_music_reset(entity this)
 {
-       if (this.targetname == "") target_music_sendto(this, MSG_ALL, 1);
+       if (this.targetname == "") { target_music_sendto(this, MSG_ALL, 1); }
 }
 void target_music_kill()
 {
        IL_EACH(g_targetmusic_list, true,
        {
                it.volume = 0;
-        if (it.targetname == "")
-            target_music_sendto(it, MSG_ALL, 1);
-        else
-            target_music_sendto(it, MSG_ALL, 0);
+               if (it.targetname == "") {
+                       target_music_sendto(it, MSG_ALL, 1);
+               } else {
+                       target_music_sendto(it, MSG_ALL, 0);
+               }
        });
 }
 void target_music_use(entity this, entity actor, entity trigger)
 {
-       if(!actor)
+       if (!actor) {
                return;
-       if(IS_REAL_CLIENT(actor))
-       {
+       }
+       if (IS_REAL_CLIENT(actor)) {
                msg_entity = actor;
                target_music_sendto(this, MSG_ONE, 1);
        }
@@ -68,22 +72,25 @@ spawnfunc(target_music)
 {
        this.use = target_music_use;
        this.reset = target_music_reset;
-       if(!this.volume)
+       if (!this.volume) {
                this.volume = 1;
+       }
        IL_PUSH(g_targetmusic_list, this);
-       if(this.targetname == "")
+       if (this.targetname == "") {
                target_music_sendto(this, MSG_INIT, 1);
-       else
+       } else {
                target_music_sendto(this, MSG_INIT, 0);
+       }
 }
 void TargetMusic_RestoreGame()
 {
        IL_EACH(g_targetmusic_list, true,
        {
-               if(it.targetname == "")
+               if (it.targetname == "") {
                        target_music_sendto(it, MSG_INIT, 1);
-               else
+               } else {
                        target_music_sendto(it, MSG_INIT, 0);
+               }
        });
 }
 // values:
@@ -98,19 +105,17 @@ bool trigger_music_SendEntity(entity this, entity to, float sf)
 {
        WriteHeader(MSG_ENTITY, ENT_CLIENT_TRIGGER_MUSIC);
        sf &= ~0x80;
-       if(this.cnt)
+       if (this.cnt) {
                sf |= 0x80;
+       }
        WriteByte(MSG_ENTITY, sf);
-       if(sf & 4)
-       {
+       if (sf & 4) {
                WriteCoord(MSG_ENTITY, this.origin.x);
                WriteCoord(MSG_ENTITY, this.origin.y);
                WriteCoord(MSG_ENTITY, this.origin.z);
        }
-       if(sf & 1)
-       {
-               if(this.model != "null")
-               {
+       if (sf & 1) {
+               if (this.model != "null") {
                        WriteShort(MSG_ENTITY, this.modelindex);
                        WriteCoord(MSG_ENTITY, this.mins.x);
                        WriteCoord(MSG_ENTITY, this.mins.y);
@@ -118,9 +123,7 @@ bool trigger_music_SendEntity(entity this, entity to, float sf)
                        WriteCoord(MSG_ENTITY, this.maxs.x);
                        WriteCoord(MSG_ENTITY, this.maxs.y);
                        WriteCoord(MSG_ENTITY, this.maxs.z);
-               }
-               else
-               {
+               } else {
                        WriteShort(MSG_ENTITY, 0);
                        WriteCoord(MSG_ENTITY, this.maxs.x);
                        WriteCoord(MSG_ENTITY, this.maxs.y);
@@ -145,10 +148,9 @@ void trigger_music_use(entity this, entity actor, entity trigger)
 }
 spawnfunc(trigger_music)
 {
-       if(this.model != "") _setmodel(this, this.model);
-       if(!this.volume) this.volume = 1;
-       if(!this.modelindex)
-       {
+       if (this.model != "") { _setmodel(this, this.model); }
+       if (!this.volume) { this.volume = 1; }
+       if (!this.modelindex) {
                setorigin(this, this.origin + this.mins);
                setsize(this, '0 0 0', this.maxs - this.mins);
        }
@@ -171,27 +173,24 @@ void TargetMusic_Advance()
 {
        // run AFTER all the thinks!
        entity best = music_default;
-       if (music_target && time < music_target.lifetime) best = music_target;
-       if (music_trigger) best = music_trigger;
+       if (music_target && time < music_target.lifetime) { best = music_target; }
+       if (music_trigger) { best = music_trigger; }
        LL_EACH(TargetMusic_list, it.noise, {
                const float vol0 = (getsoundtime(it, CH_BGM_SINGLE) >= 0) ? it.lastvol : -1;
-               if (it == best)
-               {
-                       // increase volume
+               if (it == best) {
+                   // increase volume
                        it.state = (it.fade_time > 0) ? bound(0, it.state + frametime / it.fade_time, 1) : 1;
-               }
-               else
-               {
-                       // decrease volume
+               } else {
+                   // decrease volume
                        it.state = (it.fade_rate > 0) ? bound(0, it.state - frametime / it.fade_rate, 1) : 0;
                }
                const float vol = it.state * it.volume * autocvar_bgmvolume;
-               if (vol != vol0)
-               {
-                       if(vol0 < 0)
+               if (vol != vol0) {
+                       if (vol0 < 0) {
                                _sound(it, CH_BGM_SINGLE, it.noise, vol, ATTEN_NONE); // restart
-                       else
+                       } else {
                                _sound(it, CH_BGM_SINGLE, "", vol, ATTEN_NONE);
+                       }
                        it.lastvol = vol;
                }
        });
@@ -215,21 +214,21 @@ void Net_TargetMusic()
        const string noi = ReadString();
 
        entity e = NULL;
-       LL_EACH(TargetMusic_list, it.count == id, { e = it; break; });
-       if (!e)
-       {
+       LL_EACH(TargetMusic_list, it.count == id, { e = it;
+                                                                                               break;
+               });
+       if (!e) {
                LL_PUSH(TargetMusic_list, e = new_pure(TargetMusic));
                e.count = id;
        }
-       if(e.noise != noi)
-       {
-               if(e.noise)
+       if (e.noise != noi) {
+               if (e.noise) {
                        strunzone(e.noise);
+               }
                e.noise = strzone(noi);
                precache_sound(e.noise);
                _sound(e, CH_BGM_SINGLE, e.noise, 0, ATTEN_NONE);
-               if(getsoundtime(e, CH_BGM_SINGLE) < 0)
-               {
+               if (getsoundtime(e, CH_BGM_SINGLE) < 0) {
                        LOG_TRACEF("Cannot initialize sound %s", e.noise);
                        strunzone(e.noise);
                        e.noise = string_null;
@@ -238,21 +237,16 @@ void Net_TargetMusic()
        e.volume = vol;
        e.fade_time = fai;
        e.fade_rate = fao;
-       if(vol > 0)
-       {
-               if(tim == 0)
-               {
+       if (vol > 0) {
+               if (tim == 0) {
                        music_default = e;
-                       if(!music_disabled)
-                       {
+                       if (!music_disabled) {
                                e.state = 2;
                                cvar_settemp("music_playlist_index", "-1"); // don't use playlists
-                               localcmd("cd stop\n"); // just in case
+                               localcmd("cd stop\n");                      // just in case
                                music_disabled = 1;
                        }
-               }
-               else
-               {
+               } else {
                        music_target = e;
                        e.lifetime = time + tim;
                }
@@ -261,8 +255,7 @@ void Net_TargetMusic()
 
 void Ent_TriggerMusic_Think(entity this)
 {
-       if(WarpZoneLib_BoxTouchesBrush(view_origin, view_origin, this, NULL))
-       {
+       if (WarpZoneLib_BoxTouchesBrush(view_origin, view_origin, this, NULL)) {
                music_trigger = this;
        }
        this.nextthink = time;
@@ -270,34 +263,30 @@ void Ent_TriggerMusic_Think(entity this)
 
 void Ent_TriggerMusic_Remove(entity this)
 {
-       if(this.noise)
+       if (this.noise) {
                strunzone(this.noise);
+       }
        this.noise = string_null;
 }
 
 NET_HANDLE(ENT_CLIENT_TRIGGER_MUSIC, bool isnew)
 {
        int f = ReadByte();
-       if(f & 4)
-       {
+       if (f & 4) {
                this.origin_x = ReadCoord();
                this.origin_y = ReadCoord();
                this.origin_z = ReadCoord();
        }
-       if(f & 1)
-       {
+       if (f & 1) {
                this.modelindex = ReadShort();
-               if(this.modelindex)
-               {
+               if (this.modelindex) {
                        this.mins_x = ReadCoord();
                        this.mins_y = ReadCoord();
                        this.mins_z = ReadCoord();
                        this.maxs_x = ReadCoord();
                        this.maxs_y = ReadCoord();
                        this.maxs_z = ReadCoord();
-               }
-               else
-               {
+               } else {
                        this.mins    = '0 0 0';
                        this.maxs_x = ReadCoord();
                        this.maxs_y = ReadCoord();
@@ -308,15 +297,14 @@ NET_HANDLE(ENT_CLIENT_TRIGGER_MUSIC, bool isnew)
                this.fade_time = ReadByte() / 16.0;
                this.fade_rate = ReadByte() / 16.0;
                string s = this.noise;
-               if(this.noise)
+               if (this.noise) {
                        strunzone(this.noise);
+               }
                this.noise = strzone(ReadString());
-               if(this.noise != s)
-               {
+               if (this.noise != s) {
                        precache_sound(this.noise);
                        _sound(this, CH_BGM_SINGLE, this.noise, 0, ATTEN_NONE);
-                       if(getsoundtime(this, CH_BGM_SINGLE) < 0)
-                       {
+                       if (getsoundtime(this, CH_BGM_SINGLE) < 0) {
                                LOG_TRACEF("Cannot initialize sound %s", this.noise);
                                strunzone(this.noise);
                                this.noise = string_null;
index 80b3684a4e9a768b8ef17e4ea596f463d9cc886d..b54effc5d71ec8854d8914f07b3712e5cbe8478e 100644 (file)
@@ -10,8 +10,8 @@ entity music_trigger;
 // FIXME also control bgmvolume here, to not require a target_music for the default track.
 
 entityclass(TargetMusic);
-class(TargetMusic) .int state;
-class(TargetMusic) .float lastvol;
+class(TargetMusic).int state;
+class(TargetMusic).float lastvol;
 
 void TargetMusic_Advance();
 
index 1464da95511260b8ce4592e705b50bf9a62e7c2d..d8598c5b19850e0d7e85b80d8b3916eae5fb76d7 100644 (file)
@@ -2,8 +2,8 @@
 #if defined(CSQC)
 #elif defined(MENUQC)
 #elif defined(SVQC)
-    #include <common/util.qh>
-    #include <server/defs.qh>
+#include <common/util.qh>
+#include <server/defs.qh>
 #endif
 
 #ifdef SVQC
@@ -41,144 +41,106 @@ void target_spawn_edit_entity(entity this, entity e, string msg, entity kt, enti
 
        n = tokenize_console(msg);
 
-       for(i = 0; i < n-1; i += 2)
-       {
+       for (i = 0; i < n - 1; i += 2) {
                key = argv(i);
-               value = argv(i+1);
-               if(key == "$")
-               {
+               value = argv(i + 1);
+               if (key == "$") {
                        data.x = -1;
                        data.y = FIELD_STRING;
-               }
-               else
-               {
+               } else {
                        data = stov(db_get(TemporaryDB, strcat("/target_spawn/field/", key)));
-                       if(data.y == 0) // undefined field, i.e., invalid type
-                       {
+                       if (data.y == 0) { // undefined field, i.e., invalid type
                                LOG_INFO("target_spawn: invalid/unknown entity key ", key, " specified, ignored!");
                                continue;
                        }
                }
-               if(substring(value, 0, 1) == "$")
-               {
+               if (substring(value, 0, 1) == "$") {
                        value = substring(value, 1, strlen(value) - 1);
-                       if(substring(value, 0, 1) == "$")
-                       {
+                       if (substring(value, 0, 1) == "$") {
                                // deferred replacement
                                // do nothing
                                // useful for creating target_spawns with this!
-                       }
-                       else
-                       {
+                       } else {
                                // replace me!
                                valuefieldpos = strstrofs(value, "+", 0);
                                valueoffset = "";
-                               if(valuefieldpos != -1)
-                               {
+                               if (valuefieldpos != -1) {
                                        valueoffset = substring(value, valuefieldpos + 1, strlen(value) - valuefieldpos - 1);
                                        value = substring(value, 0, valuefieldpos);
                                }
 
                                valuefieldpos = strstrofs(valueoffset, "+", 0);
                                valueoffsetrandom = "";
-                               if(valuefieldpos != -1)
-                               {
+                               if (valuefieldpos != -1) {
                                        valueoffsetrandom = substring(valueoffset, valuefieldpos + 1, strlen(valueoffset) - valuefieldpos - 1);
                                        valueoffset = substring(valueoffset, 0, valuefieldpos);
                                }
 
                                valuefieldpos = strstrofs(value, ".", 0);
                                valuefield = "";
-                               if(valuefieldpos != -1)
-                               {
+                               if (valuefieldpos != -1) {
                                        valuefield = substring(value, valuefieldpos + 1, strlen(value) - valuefieldpos - 1);
                                        value = substring(value, 0, valuefieldpos);
                                }
 
-                               if(value == "self")
-                               {
+                               if (value == "self") {
                                        valueent = this;
                                        value = "";
-                               }
-                               else if(value == "activator")
-                               {
+                               } else if (value == "activator") {
                                        valueent = act;
                                        value = "";
-                               }
-                               else if(value == "other")
-                               {
+                               } else if (value == "other") {
                                        valueent = trigger;
                                        value = "";
-                               }
-                               else if(value == "pusher")
-                               {
-                                       if(time < act.pushltime)
+                               } else if (value == "pusher") {
+                                       if (time < act.pushltime) {
                                                valueent = act.pusher;
-                                       else
+                                       } else {
                                                valueent = NULL;
+                                       }
                                        value = "";
-                               }
-                               else if(value == "target")
-                               {
+                               } else if (value == "target") {
                                        valueent = e;
                                        value = "";
-                               }
-                               else if(value == "killtarget")
-                               {
+                               } else if (value == "killtarget") {
                                        valueent = kt;
                                        value = "";
-                               }
-                               else if(value == "target2")
-                               {
+                               } else if (value == "target2") {
                                        valueent = t2;
                                        value = "";
-                               }
-                               else if(value == "target3")
-                               {
+                               } else if (value == "target3") {
                                        valueent = t3;
                                        value = "";
-                               }
-                               else if(value == "target4")
-                               {
+                               } else if (value == "target4") {
                                        valueent = t4;
                                        value = "";
-                               }
-                               else if(value == "time")
-                               {
+                               } else if (value == "time") {
                                        valueent = NULL;
                                        value = ftos(time);
-                               }
-                               else
-                               {
+                               } else {
                                        LOG_INFO("target_spawn: invalid/unknown variable replacement ", value, " specified, ignored!");
                                        continue;
                                }
 
-                               if(valuefield == "")
-                               {
-                                       if(value == "")
+                               if (valuefield == "") {
+                                       if (value == "") {
                                                value = ftos(etof(valueent));
-                               }
-                               else
-                               {
-                                       if(value != "")
-                                       {
+                                       }
+                               } else {
+                                       if (value != "") {
                                                LOG_INFO("target_spawn: try to get a field of a non-entity, ignored!");
                                                continue;
                                        }
                                        data2 = stov(db_get(TemporaryDB, strcat("/target_spawn/field/", valuefield)));
-                                       if(data2_y == 0) // undefined field, i.e., invalid type
-                                       {
+                                       if (data2_y == 0) { // undefined field, i.e., invalid type
                                                LOG_INFO("target_spawn: invalid/unknown entity key replacement ", valuefield, " specified, ignored!");
                                                continue;
                                        }
                                        value = getentityfieldstring(data2_x, valueent);
                                }
 
-                               if(valueoffset != "")
-                               {
-                                       switch(data.y)
-                                       {
+                               if (valueoffset != "") {
+                                       switch (data.y) {
                                                case FIELD_STRING:
                                                        value = strcat(value, valueoffset);
                                                        break;
@@ -194,10 +156,8 @@ void target_spawn_edit_entity(entity this, entity e, string msg, entity kt, enti
                                        }
                                }
 
-                               if(valueoffsetrandom != "")
-                               {
-                                       switch(data.y)
-                                       {
+                               if (valueoffsetrandom != "") {
+                                       switch (data.y) {
                                                case FIELD_FLOAT:
                                                        value = ftos(stof(value) + random() * stof(valueoffsetrandom));
                                                        break;
@@ -212,21 +172,20 @@ void target_spawn_edit_entity(entity this, entity e, string msg, entity kt, enti
                                }
                        }
                }
-               if(key == "$")
-               {
-                       if(substring(value, 0, 1) == "_")
+               if (key == "$") {
+                       if (substring(value, 0, 1) == "_") {
                                value = strcat("target_spawn_helper", value);
+                       }
                        putentityfieldstring(target_spawn_spawnfunc_field, e, value);
 
                        e.target_spawn_spawnfunc(e);
 
                        // We called an external function, so we have to re-tokenize msg.
                        n = tokenize_console(msg);
-               }
-               else
-               {
-                       if(data.y == FIELD_VECTOR)
+               } else {
+                       if (data.y == FIELD_VECTOR) {
                                value = strreplace("'", "", value); // why?!?
+                       }
                        putentityfieldstring(data.x, e, value);
                }
        }
@@ -254,39 +213,37 @@ bool target_spawn_cancreate(entity this)
        entity e;
 
        c = this.count;
-       if(c == 0) // no limit?
+       if (c == 0) { // no limit?
                return true;
+       }
 
        ++c; // increase count to not include MYSELF
-       for(e = NULL; (e = findfloat(e, target_spawn_id, this.target_spawn_id)); --c)
-               ;
+       for (e = NULL; (e = findfloat(e, target_spawn_id, this.target_spawn_id)); --c) {}
 
        // if c now is 0, we have AT LEAST the given count (maybe more), so don't spawn any more
-       if(c == 0)
+       if (c == 0) {
                return false;
+       }
        return true;
 }
 
 void target_spawn_use(entity this, entity actor, entity trigger)
 {
-       if(this.target == "")
-       {
+       if (this.target == "") {
                // spawn new entity
-               if(!target_spawn_cancreate(this))
+               if (!target_spawn_cancreate(this)) {
                        return;
+               }
                entity e = spawn();
                e.spawnfunc_checked = true;
                target_spawn_useon(e, this, actor, trigger);
                e.target_spawn_id = this.target_spawn_id;
-       }
-       else if(this.target == "*activator")
-       {
+       } else if (this.target == "*activator") {
                // edit entity
-               if(actor)
+               if (actor) {
                        target_spawn_useon(actor, this, actor, trigger);
-       }
-       else
-       {
+               }
+       } else {
                // edit entity
                FOREACH_ENTITY_STRING(targetname, this.target,
                {
@@ -298,31 +255,30 @@ void target_spawn_use(entity this, entity actor, entity trigger)
 void target_spawn_spawnfirst(entity this)
 {
        entity act = this.target_spawn_activator;
-       if(this.spawnflags & 2)
+       if (this.spawnflags & 2) {
                target_spawn_use(this, act, NULL);
+       }
 }
 
 void initialize_field_db()
 {
-       if(!target_spawn_initialized)
-       {
+       if (!target_spawn_initialized) {
                float n, i;
                string fn;
                vector prev, next;
                float ft;
 
                n = numentityfields();
-               for(i = 0; i < n; ++i)
-               {
+               for (i = 0; i < n; ++i) {
                        fn = entityfieldname(i);
                        ft = entityfieldtype(i);
                        next = i * '1 0 0' + ft * '0 1 0' + '0 0 1';
                        prev = stov(db_get(TemporaryDB, strcat("/target_spawn/field/", fn)));
-                       if(prev.y == 0)
-                       {
+                       if (prev.y == 0) {
                                db_put(TemporaryDB, strcat("/target_spawn/field/", fn), vtos(next));
-                               if(fn == "target_spawn_spawnfunc")
+                               if (fn == "target_spawn_spawnfunc") {
                                        target_spawn_spawnfunc_field = i;
+                               }
                        }
                }
 
index 355ba16c9ec83e0cf45ab6861ff785de2c26f70b..91716406cac26b02c346a868d369eb5d8ece2494 100644 (file)
@@ -4,58 +4,58 @@
 void target_speaker_use_off(entity this, entity actor, entity trigger);
 void target_speaker_use_activator(entity this, entity actor, entity trigger)
 {
-       if (!IS_REAL_CLIENT(actor))
+       if (!IS_REAL_CLIENT(actor)) {
                return;
+       }
        string snd;
-       if(substring(this.noise, 0, 1) == "*")
-       {
-               var .string sample = GetVoiceMessageSampleField(substring(this.noise, 1, -1));
-               if(GetPlayerSoundSampleField_notFound)
+       if (substring(this.noise, 0, 1) == "*") {
+               var.string sample = GetVoiceMessageSampleField(substring(this.noise, 1, -1));
+               if (GetPlayerSoundSampleField_notFound) {
                        snd = SND(Null);
-               else if(actor.(sample) == "")
+               } else if (actor.(sample) == "") {
                        snd = SND(Null);
-               else
-               {
+               } else {
                        tokenize_console(actor.(sample));
                        float n;
                        n = stof(argv(1));
-                       if(n > 0)
+                       if (n > 0) {
                                snd = strcat(argv(0), ftos(floor(random() * n + 1)), ".wav"); // randomization
-                       else
-                               snd = strcat(argv(0), ".wav"); // randomization
+                       } else {
+                               snd = strcat(argv(0), ".wav");                                // randomization
+                       }
                }
-       }
-       else
+       } else {
                snd = this.noise;
+       }
        msg_entity = actor;
        soundto(MSG_ONE, this, CH_TRIGGER, snd, VOL_BASE * this.volume, this.atten);
 }
 void target_speaker_use_on(entity this, entity actor, entity trigger)
 {
        string snd;
-       if(substring(this.noise, 0, 1) == "*")
-       {
-               var .string sample = GetVoiceMessageSampleField(substring(this.noise, 1, -1));
-               if(GetPlayerSoundSampleField_notFound)
+       if (substring(this.noise, 0, 1) == "*") {
+               var.string sample = GetVoiceMessageSampleField(substring(this.noise, 1, -1));
+               if (GetPlayerSoundSampleField_notFound) {
                        snd = SND(Null);
-               else if(actor.(sample) == "")
+               } else if (actor.(sample) == "") {
                        snd = SND(Null);
-               else
-               {
+               } else {
                        tokenize_console(actor.(sample));
                        float n;
                        n = stof(argv(1));
-                       if(n > 0)
+                       if (n > 0) {
                                snd = strcat(argv(0), ftos(floor(random() * n + 1)), ".wav"); // randomization
-                       else
-                               snd = strcat(argv(0), ".wav"); // randomization
+                       } else {
+                               snd = strcat(argv(0), ".wav");                                // randomization
+                       }
                }
-       }
-       else
+       } else {
                snd = this.noise;
+       }
        _sound(this, CH_TRIGGER_SINGLE, snd, VOL_BASE * this.volume, this.atten);
-       if(this.spawnflags & 3)
+       if (this.spawnflags & 3) {
                this.use = target_speaker_use_off;
+       }
 }
 void target_speaker_use_off(entity this, entity actor, entity trigger)
 {
@@ -64,15 +64,14 @@ void target_speaker_use_off(entity this, entity actor, entity trigger)
 }
 void target_speaker_reset(entity this)
 {
-       if(this.spawnflags & 1) // LOOPED_ON
-       {
-               if(this.use == target_speaker_use_on)
+       if (this.spawnflags & 1) { // LOOPED_ON
+               if (this.use == target_speaker_use_on) {
                        target_speaker_use_on(this, NULL, NULL);
-       }
-       else if(this.spawnflags & 2)
-       {
-               if(this.use == target_speaker_use_off)
+               }
+       } else if (this.spawnflags & 2) {
+               if (this.use == target_speaker_use_off) {
                        target_speaker_use_off(this, NULL, NULL);
+               }
        }
 }
 
@@ -80,52 +79,44 @@ spawnfunc(target_speaker)
 {
        // TODO: "*" prefix to sound file name
        // TODO: wait and random (just, HOW? random is not a field)
-       if(this.noise)
-               precache_sound (this.noise);
+       if (this.noise) {
+               precache_sound(this.noise);
+       }
 
-       if(!this.atten && !(this.spawnflags & 4))
-       {
-               if(THIS_TARGETED)
+       if (!this.atten && !(this.spawnflags & 4)) {
+               if (THIS_TARGETED) {
                        this.atten = ATTEN_NORM;
-               else
+               } else {
                        this.atten = ATTEN_STATIC;
-       }
-       else if(this.atten < 0)
+               }
+       } else if (this.atten < 0) {
                this.atten = 0;
+       }
 
-       if(!this.volume)
+       if (!this.volume) {
                this.volume = 1;
+       }
 
-       if(THIS_TARGETED)
-       {
-               if(this.spawnflags & 8) // ACTIVATOR
+       if (THIS_TARGETED) {
+               if (this.spawnflags & 8) { // ACTIVATOR
                        this.use = target_speaker_use_activator;
-               else if(this.spawnflags & 1) // LOOPED_ON
-               {
+               } else if (this.spawnflags & 1) { // LOOPED_ON
                        target_speaker_use_on(this, NULL, NULL);
                        this.reset = target_speaker_reset;
-               }
-               else if(this.spawnflags & 2) // LOOPED_OFF
-               {
+               } else if (this.spawnflags & 2) { // LOOPED_OFF
                        this.use = target_speaker_use_on;
                        this.reset = target_speaker_reset;
-               }
-               else
+               } else {
                        this.use = target_speaker_use_on;
-       }
-       else if(this.spawnflags & 1) // LOOPED_ON
-       {
-               ambientsound (this.origin, this.noise, VOL_BASE * this.volume, this.atten);
+               }
+       } else if (this.spawnflags & 1) { // LOOPED_ON
+               ambientsound(this.origin, this.noise, VOL_BASE * this.volume, this.atten);
                delete(this);
-       }
-       else if(this.spawnflags & 2) // LOOPED_OFF
-       {
+       } else if (this.spawnflags & 2) { // LOOPED_OFF
                objerror(this, "This sound entity can never be activated");
-       }
-       else
-       {
+       } else {
                // Quake/Nexuiz fallback
-               ambientsound (this.origin, this.noise, VOL_BASE * this.volume, this.atten);
+               ambientsound(this.origin, this.noise, VOL_BASE * this.volume, this.atten);
                delete(this);
        }
 }
index 6dfb568a8b5bbddfbfc1d3c5f7e8f93e68de2a4b..bb836a92e7ff3074213fcccb7225b02286117ee5 100644 (file)
@@ -1,9 +1,9 @@
 #include "voicescript.qh"
 #ifdef SVQC
-.entity voicescript; // attached voice script
-.float voicescript_index; // index of next voice, or -1 to use the randomized ones
+.entity voicescript;          // attached voice script
+.float voicescript_index;     // index of next voice, or -1 to use the randomized ones
 .float voicescript_nextthink; // time to play next voice
-.float voicescript_voiceend; // time when this voice ends
+.float voicescript_voiceend;  // time when this voice ends
 
 void target_voicescript_clear(entity pl)
 {
@@ -12,8 +12,7 @@ void target_voicescript_clear(entity pl)
 
 void target_voicescript_use(entity this, entity actor, entity trigger)
 {
-       if(actor.voicescript != this)
-       {
+       if (actor.voicescript != this) {
                actor.voicescript = this;
                actor.voicescript_index = 0;
                actor.voicescript_nextthink = time + this.delay;
@@ -26,48 +25,45 @@ void target_voicescript_next(entity pl)
        float i, n, dt;
 
        vs = pl.voicescript;
-       if(!vs)
+       if (!vs) {
                return;
-       if(vs.message == "")
+       }
+       if (vs.message == "") {
                return;
-       if (!IS_PLAYER(pl))
+       }
+       if (!IS_PLAYER(pl)) {
                return;
-       if(game_stopped)
+       }
+       if (game_stopped) {
                return;
+       }
 
-       if(time >= pl.voicescript_voiceend)
-       {
-               if(time >= pl.voicescript_nextthink)
-               {
+       if (time >= pl.voicescript_voiceend) {
+               if (time >= pl.voicescript_nextthink) {
                        // get the next voice...
                        n = tokenize_console(vs.message);
 
-                       if(pl.voicescript_index < vs.cnt)
+                       if (pl.voicescript_index < vs.cnt) {
                                i = pl.voicescript_index * 2;
-                       else if(n > vs.cnt * 2)
+                       } else if (n > vs.cnt * 2) {
                                i = ((pl.voicescript_index - vs.cnt) % ((n - vs.cnt * 2 - 1) / 2)) * 2 + vs.cnt * 2 + 1;
-                       else
+                       } else {
                                i = -1;
+                       }
 
-                       if(i >= 0)
-                       {
+                       if (i >= 0) {
                                play2(pl, strcat(vs.netname, "/", argv(i), ".wav"));
                                dt = stof(argv(i + 1));
-                               if(dt >= 0)
-                               {
+                               if (dt >= 0) {
                                        pl.voicescript_voiceend = time + dt;
                                        pl.voicescript_nextthink = pl.voicescript_voiceend + vs.wait * (0.5 + random());
-                               }
-                               else
-                               {
+                               } else {
                                        pl.voicescript_voiceend = time - dt;
                                        pl.voicescript_nextthink = pl.voicescript_voiceend;
                                }
 
                                pl.voicescript_index += 1;
-                       }
-                       else
-                       {
+                       } else {
                                pl.voicescript = NULL; // stop trying then
                        }
                }
@@ -89,10 +85,8 @@ spawnfunc(target_voicescript)
 
        n = tokenize_console(this.message);
        this.cnt = n / 2;
-       for(i = 0; i+1 < n; i += 2)
-       {
-               if(argv(i) == "*")
-               {
+       for (i = 0; i + 1 < n; i += 2) {
+               if (argv(i) == "*") {
                        this.cnt = i / 2;
                        ++i;
                }
index 8246aed7c329a67c8eaa10cf3f4822186ba62cfc..0e028e6208fd3a9e4e0c1d16da79f07b23bbe91b 100644 (file)
@@ -3,24 +3,25 @@
 void counter_use(entity this, entity actor, entity trigger)
 {
        this.count -= 1;
-       if (this.count < 0)
+       if (this.count < 0) {
                return;
+       }
 
-       if (this.count == 0)
-       {
-               if(IS_PLAYER(actor) && (this.spawnflags & SPAWNFLAG_NOMESSAGE) == 0)
+       if (this.count == 0) {
+               if (IS_PLAYER(actor) && (this.spawnflags & SPAWNFLAG_NOMESSAGE) == 0) {
                        Send_Notification(NOTIF_ONE, actor, MSG_CENTER, CENTER_SEQUENCE_COMPLETED);
+               }
 
                this.enemy = actor;
                multi_trigger(this);
-       }
-       else
-       {
-               if(IS_PLAYER(actor) && (this.spawnflags & SPAWNFLAG_NOMESSAGE) == 0)
-               if(this.count >= 4)
-                       Send_Notification(NOTIF_ONE, actor, MSG_CENTER, CENTER_SEQUENCE_COUNTER);
-               else
-                       Send_Notification(NOTIF_ONE, actor, MSG_CENTER, CENTER_SEQUENCE_COUNTER_FEWMORE, this.count);
+       } else {
+               if (IS_PLAYER(actor) && (this.spawnflags & SPAWNFLAG_NOMESSAGE) == 0) {
+                       if (this.count >= 4) {
+                               Send_Notification(NOTIF_ONE, actor, MSG_CENTER, CENTER_SEQUENCE_COUNTER);
+                       } else {
+                               Send_Notification(NOTIF_ONE, actor, MSG_CENTER, CENTER_SEQUENCE_COUNTER_FEWMORE, this.count);
+                       }
+               }
        }
 }
 
@@ -40,8 +41,9 @@ After the counter has been triggered "count" times (default 2), it will fire all
 spawnfunc(trigger_counter)
 {
        this.wait = -1;
-       if (!this.count)
+       if (!this.count) {
                this.count = 2;
+       }
        this.cnt = this.count;
 
        this.use = counter_use;
index dc1a781f81a0c81933fae9d47f63baf53506555a..9410737abdbe4bc0b555299a9154194217360ce8 100644 (file)
@@ -2,8 +2,8 @@
 #ifdef SVQC
 void delay_use(entity this, entity actor, entity trigger)
 {
-   setthink(this, SUB_UseTargets_self);
-   this.nextthink = time + this.wait;
+       setthink(this, SUB_UseTargets_self);
+       this.nextthink = time + this.wait;
 }
 
 void delay_reset(entity this)
@@ -14,10 +14,11 @@ void delay_reset(entity this)
 
 spawnfunc(trigger_delay)
 {
-    if(!this.wait)
-        this.wait = 1;
+       if (!this.wait) {
+               this.wait = 1;
+       }
 
-    this.use = delay_use;
-    this.reset = delay_reset;
+       this.use = delay_use;
+       this.reset = delay_reset;
 }
 #endif
index eee61c993535f063b5ba30eeccdd6db3550b0273..5c915557eb181628fe232d247b1c73a3df127144 100644 (file)
@@ -4,22 +4,19 @@ void trigger_disablerelay_use(entity this, entity actor, entity trigger)
 {
        int a = 0, b = 0;
 
-       for(entity e = NULL; (e = find(e, targetname, this.target)); )
-       {
-               if(e.use == SUB_UseTargets)
-               {
+       for (entity e = NULL; (e = find(e, targetname, this.target)); ) {
+               if (e.use == SUB_UseTargets) {
                        e.use = SUB_DontUseTargets;
                        ++a;
-               }
-               else if(e.use == SUB_DontUseTargets)
-               {
+               } else if (e.use == SUB_DontUseTargets) {
                        e.use = SUB_UseTargets;
                        ++b;
                }
        }
 
-       if((!a) == (!b))
+       if ((!a) == (!b)) {
                LOG_INFO("Invalid use of trigger_disablerelay: ", ftos(a), " relays were on, ", ftos(b), " relays were off!");
+       }
 }
 
 spawnfunc(trigger_disablerelay)
index af212ff5a42b7449bea067a2c755d4c86374782f..3d6ca77a9be44ffcce20f48b5aeedc1f6f73c6ce 100644 (file)
@@ -5,17 +5,19 @@
 */
 void flipflop_use(entity this, entity actor, entity trigger)
 {
-    this.state = !this.state;
-    if(this.state)
-        SUB_UseTargets(this, actor, trigger);
+       this.state = !this.state;
+       if (this.state) {
+               SUB_UseTargets(this, actor, trigger);
+       }
 }
 
 spawnfunc(trigger_flipflop)
 {
-    if(this.spawnflags & 1)
-        this.state = 1;
-    this.use = flipflop_use;
-    this.reset = spawnfunc_trigger_flipflop; // perfect resetter
+       if (this.spawnflags & 1) {
+               this.state = 1;
+       }
+       this.use = flipflop_use;
+       this.reset = spawnfunc_trigger_flipflop; // perfect resetter
 }
 
 #endif
index 72d76d183326437bdd4f5bcd7a38393d0a578268..9cf149bf435da51e85431cef323579ff3cf6e01d 100644 (file)
@@ -16,13 +16,12 @@ spawnfunc(trigger_gamestart)
        this.use = gamestart_use;
        this.reset2 = spawnfunc_trigger_gamestart;
 
-       if(this.wait)
-       {
+       if (this.wait) {
                setthink(this, adaptor_think2use);
                this.nextthink = game_starttime + this.wait;
-       }
-       else
+       } else {
                InitializeEntity(this, gamestart_use_this, INITPRIO_FINDTARGET);
+       }
 }
 
 #endif
index 4112dbdb158b7f31c2e148b5c65aaa1e7abf8b5c..b6824ec2c82660dd8dcc546539c04fb034667356 100644 (file)
@@ -3,14 +3,13 @@
 .entity trigger_gravity_check;
 void trigger_gravity_remove(entity own)
 {
-       if(own.trigger_gravity_check.owner == own)
-       {
+       if (own.trigger_gravity_check.owner == own) {
                UpdateCSQCProjectile(own);
                own.gravity = own.trigger_gravity_check.gravity;
                delete(own.trigger_gravity_check);
-       }
-       else
+       } else {
                backtrace("Removing a trigger_gravity_check with no valid owner");
+       }
        own.trigger_gravity_check = NULL;
 }
 void trigger_gravity_check_think(entity this)
@@ -18,16 +17,14 @@ void trigger_gravity_check_think(entity this)
        // This spawns when a player enters the gravity zone and checks if he left.
        // Each frame, this.count is set to 2 by trigger_gravity_touch() and decreased by 1 here.
        // It the player has left the gravity trigger, this will be allowed to reach 0 and indicate that.
-       if(this.count <= 0)
-       {
-               if(this.owner.trigger_gravity_check == this)
+       if (this.count <= 0) {
+               if (this.owner.trigger_gravity_check == this) {
                        trigger_gravity_remove(this.owner);
-               else
+               } else {
                        delete(this);
+               }
                return;
-       }
-       else
-       {
+       } else {
                this.count -= 1;
                this.nextthink = time;
        }
@@ -42,29 +39,28 @@ void trigger_gravity_touch(entity this, entity toucher)
 {
        float g;
 
-       if(this.state != true)
+       if (this.state != true) {
                return;
+       }
 
        EXACTTRIGGER_TOUCH(this, toucher);
 
        g = this.gravity;
 
-       if (!(this.spawnflags & 1))
-       {
-               if(toucher.trigger_gravity_check)
-               {
-                       if(this == toucher.trigger_gravity_check.enemy)
-                       {
+       if (!(this.spawnflags & 1)) {
+               if (toucher.trigger_gravity_check) {
+                       if (this == toucher.trigger_gravity_check.enemy) {
                                // same?
                                toucher.trigger_gravity_check.count = 2; // gravity one more frame...
                                return;
                        }
 
                        // compare prio
-                       if(this.cnt > toucher.trigger_gravity_check.enemy.cnt)
+                       if (this.cnt > toucher.trigger_gravity_check.enemy.cnt) {
                                trigger_gravity_remove(toucher);
-                       else
+                       } else {
                                return;
+                       }
                }
                toucher.trigger_gravity_check = spawn();
                toucher.trigger_gravity_check.enemy = this;
@@ -73,35 +69,38 @@ void trigger_gravity_touch(entity this, entity toucher)
                setthink(toucher.trigger_gravity_check, trigger_gravity_check_think);
                toucher.trigger_gravity_check.nextthink = time;
                toucher.trigger_gravity_check.count = 2;
-               if(toucher.gravity)
+               if (toucher.gravity) {
                        g *= toucher.gravity;
+               }
        }
 
-       if (toucher.gravity != g)
-       {
+       if (toucher.gravity != g) {
                toucher.gravity = g;
-               if(this.noise != "")
-                       _sound (toucher, CH_TRIGGER, this.noise, VOL_BASE, ATTEN_NORM);
+               if (this.noise != "") {
+                       _sound(toucher, CH_TRIGGER, this.noise, VOL_BASE, ATTEN_NORM);
+               }
                UpdateCSQCProjectile(this.owner);
        }
 }
 
 spawnfunc(trigger_gravity)
 {
-       if(this.gravity == 1)
+       if (this.gravity == 1) {
                return;
+       }
 
        EXACTTRIGGER_INIT;
        settouch(this, trigger_gravity_touch);
-       if(this.noise != "")
+       if (this.noise != "") {
                precache_sound(this.noise);
+       }
 
        this.state = true;
-       if(THIS_TARGETED)
-       {
+       if (THIS_TARGETED) {
                this.use = trigger_gravity_use;
-               if(this.spawnflags & 2)
+               if (this.spawnflags & 2) {
                        this.state = false;
+               }
        }
 }
 #endif
index e7b309062848d0fe673b8d797f4039512f292372..f01108d619fbeab61a9aed77f199205adbbcc14c 100644 (file)
@@ -3,24 +3,24 @@
 .float triggerhealtime;
 void trigger_heal_touch(entity this, entity toucher)
 {
-       if (this.active != ACTIVE_ACTIVE)
+       if (this.active != ACTIVE_ACTIVE) {
                return;
+       }
 
        // only do the EXACTTRIGGER_TOUCH checks when really needed (saves some cpu)
-       if (toucher.iscreature)
-       {
-               if (toucher.takedamage)
-               if (!IS_DEAD(toucher))
-               if (toucher.triggerhealtime < time)
-               {
-                       EXACTTRIGGER_TOUCH(this, toucher);
-                       toucher.triggerhealtime = time + 1;
+       if (toucher.iscreature) {
+               if (toucher.takedamage) {
+                       if (!IS_DEAD(toucher)) {
+                               if (toucher.triggerhealtime < time) {
+                                       EXACTTRIGGER_TOUCH(this, toucher);
+                                       toucher.triggerhealtime = time + 1;
 
-                       if (toucher.health < this.max_health)
-                       {
-                               toucher.health = min(toucher.health + this.health, this.max_health);
-                               toucher.pauserothealth_finished = max(toucher.pauserothealth_finished, time + autocvar_g_balance_pause_health_rot);
-                               _sound (toucher, CH_TRIGGER, this.noise, VOL_BASE, ATTEN_NORM);
+                                       if (toucher.health < this.max_health) {
+                                               toucher.health = min(toucher.health + this.health, this.max_health);
+                                               toucher.pauserothealth_finished = max(toucher.pauserothealth_finished, time + autocvar_g_balance_pause_health_rot);
+                                               _sound(toucher, CH_TRIGGER, this.noise, VOL_BASE, ATTEN_NORM);
+                                       }
+                               }
                        }
                }
        }
@@ -32,12 +32,15 @@ spawnfunc(trigger_heal)
 
        EXACTTRIGGER_INIT;
        settouch(this, trigger_heal_touch);
-       if (!this.health)
+       if (!this.health) {
                this.health = 10;
-       if (!this.max_health)
-               this.max_health = 200; //Max health topoff for field
-       if(this.noise == "")
+       }
+       if (!this.max_health) {
+               this.max_health = 200; // Max health topoff for field
+       }
+       if (this.noise == "") {
                this.noise = "misc/mediumhealth.wav";
+       }
        precache_sound(this.noise);
 }
 #endif
index d0ba4ebd19b252e925e425bb6cd2089475cffeff..999280066edaae1b63f2bf5d51349bac342f212f 100644 (file)
@@ -2,52 +2,49 @@
 #ifdef SVQC
 void trigger_hurt_use(entity this, entity actor, entity trigger)
 {
-       if(IS_PLAYER(actor))
+       if (IS_PLAYER(actor)) {
                this.enemy = actor;
-       else
+       } else {
                this.enemy = NULL; // let's just destroy it, if taking over is too much work
+       }
 }
 
 .float triggerhurttime;
 void trigger_hurt_touch(entity this, entity toucher)
 {
-       if (this.active != ACTIVE_ACTIVE)
+       if (this.active != ACTIVE_ACTIVE) {
                return;
+       }
 
-       if(this.team)
-               if(((this.spawnflags & 4) == 0) == (this.team != toucher.team))
+       if (this.team) {
+               if (((this.spawnflags & 4) == 0) == (this.team != toucher.team)) {
                        return;
+               }
+       }
 
        // only do the EXACTTRIGGER_TOUCH checks when really needed (saves some cpu)
-       if (toucher.iscreature)
-       {
-               if (toucher.takedamage)
-               if (toucher.triggerhurttime < time)
-               {
-                       EXACTTRIGGER_TOUCH(this, toucher);
-                       toucher.triggerhurttime = time + 1;
+       if (toucher.iscreature) {
+               if (toucher.takedamage) {
+                       if (toucher.triggerhurttime < time) {
+                               EXACTTRIGGER_TOUCH(this, toucher);
+                               toucher.triggerhurttime = time + 1;
 
-                       entity own;
-                       own = this.enemy;
-                       if (!IS_PLAYER(own))
-                       {
-                               own = this;
-                               this.enemy = NULL; // I still hate you all
-                       }
+                               entity own;
+                               own = this.enemy;
+                               if (!IS_PLAYER(own)) {
+                                       own = this;
+                                       this.enemy = NULL; // I still hate you all
+                               }
 
-                       Damage (toucher, this, own, this.dmg, DEATH_HURTTRIGGER.m_id, toucher.origin, '0 0 0');
+                               Damage(toucher, this, own, this.dmg, DEATH_HURTTRIGGER.m_id, toucher.origin, '0 0 0');
+                       }
                }
-       }
-       else if(toucher.damagedbytriggers)
-       {
-               if(toucher.takedamage)
-               {
+       } else if (toucher.damagedbytriggers) {
+               if (toucher.takedamage) {
                        EXACTTRIGGER_TOUCH(this, toucher);
                        Damage(toucher, this, this, this.dmg, DEATH_HURTTRIGGER.m_id, toucher.origin, '0 0 0');
                }
        }
-
-       return;
 }
 
 /*QUAKED spawnfunc_trigger_hurt (.5 .5 .5) ?
@@ -65,18 +62,23 @@ spawnfunc(trigger_hurt)
        settouch(this, trigger_hurt_touch);
        this.use = trigger_hurt_use;
        this.enemy = world; // I hate you all
-       if (!this.dmg)
+       if (!this.dmg) {
                this.dmg = 1000;
-       if (this.message == "")
+       }
+       if (this.message == "") {
                this.message = "was in the wrong place";
-       if (this.message2 == "")
+       }
+       if (this.message2 == "") {
                this.message2 = "was thrown into a world of hurt by";
+       }
        // this.message = "someone like %s always gets wrongplaced";
 
-       if(!trigger_hurt_first)
+       if (!trigger_hurt_first) {
                trigger_hurt_first = this;
-       if(trigger_hurt_last)
+       }
+       if (trigger_hurt_last) {
                trigger_hurt_last.trigger_hurt_next = this;
+       }
        trigger_hurt_last = this;
 }
 
@@ -84,9 +86,11 @@ float tracebox_hits_trigger_hurt(vector start, vector mi, vector ma, vector end)
 {
        entity th;
 
-       for(th = trigger_hurt_first; th; th = th.trigger_hurt_next)
-               if(tracebox_hits_box(start, mi, ma, end, th.absmin, th.absmax))
+       for (th = trigger_hurt_first; th; th = th.trigger_hurt_next) {
+               if (tracebox_hits_box(start, mi, ma, end, th.absmin, th.absmax)) {
                        return true;
+               }
+       }
 
        return false;
 }
index 62793e4707f79eb900859cd2905597dbf5612460..a1e4385063ff07c03697089ac00517bf80f01f7f 100644 (file)
@@ -6,17 +6,18 @@ void trigger_impulse_touch1(entity this, entity toucher)
        float pushdeltatime;
        float str;
 
-       if (this.active != ACTIVE_ACTIVE)
+       if (this.active != ACTIVE_ACTIVE) {
                return;
+       }
 
-       if (!isPushable(toucher))
+       if (!isPushable(toucher)) {
                return;
+       }
 
        EXACTTRIGGER_TOUCH(this, toucher);
 
        targ = find(NULL, targetname, this.target);
-       if(!targ)
-       {
+       if (!targ) {
                objerror(this, "trigger_force without a (valid) .target!\n");
                delete(this);
                return;
@@ -24,29 +25,28 @@ void trigger_impulse_touch1(entity this, entity toucher)
 
        str = min(this.radius, vlen(this.origin - toucher.origin));
 
-       if(this.falloff == 1)
+       if (this.falloff == 1) {
                str = (str / this.radius) * this.strength;
-       else if(this.falloff == 2)
+       } else if (this.falloff == 2) {
                str = (1 - (str / this.radius)) * this.strength;
-       else
+       } else {
                str = this.strength;
+       }
 
        pushdeltatime = time - toucher.lastpushtime;
-       if (pushdeltatime > 0.15) pushdeltatime = 0;
+       if (pushdeltatime > 0.15) { pushdeltatime = 0; }
        toucher.lastpushtime = time;
-       if(!pushdeltatime) return;
+       if (!pushdeltatime) { return; }
 
-       if(this.spawnflags & 64)
-       {
+       if (this.spawnflags & 64) {
                float addspeed = str - toucher.velocity * normalize(targ.origin - this.origin);
-               if (addspeed > 0)
-               {
+               if (addspeed > 0) {
                        float accelspeed = min(8 * pushdeltatime * str, addspeed);
                        toucher.velocity += accelspeed * normalize(targ.origin - this.origin);
                }
-       }
-       else
+       } else {
                toucher.velocity = toucher.velocity + normalize(targ.origin - this.origin) * str * pushdeltatime;
+       }
 
        UNSET_ONGROUND(toucher);
 
@@ -60,18 +60,20 @@ void trigger_impulse_touch2(entity this, entity toucher)
 {
        float pushdeltatime;
 
-       if (this.active != ACTIVE_ACTIVE)
+       if (this.active != ACTIVE_ACTIVE) {
                return;
+       }
 
-       if (!isPushable(toucher))
+       if (!isPushable(toucher)) {
                return;
+       }
 
        EXACTTRIGGER_TOUCH(this, toucher);
 
        pushdeltatime = time - toucher.lastpushtime;
-       if (pushdeltatime > 0.15) pushdeltatime = 0;
+       if (pushdeltatime > 0.15) { pushdeltatime = 0; }
        toucher.lastpushtime = time;
-       if(!pushdeltatime) return;
+       if (!pushdeltatime) { return; }
 
        // div0: ticrate independent, 1 = identity (not 20)
        toucher.velocity = toucher.velocity * POW(this.strength, pushdeltatime);
@@ -87,29 +89,32 @@ void trigger_impulse_touch3(entity this, entity toucher)
        float pushdeltatime;
        float str;
 
-       if (this.active != ACTIVE_ACTIVE)
+       if (this.active != ACTIVE_ACTIVE) {
                return;
+       }
 
-       if (!isPushable(toucher))
+       if (!isPushable(toucher)) {
                return;
+       }
 
        EXACTTRIGGER_TOUCH(this, toucher);
 
        pushdeltatime = time - toucher.lastpushtime;
-       if (pushdeltatime > 0.15) pushdeltatime = 0;
+       if (pushdeltatime > 0.15) { pushdeltatime = 0; }
        toucher.lastpushtime = time;
-       if(!pushdeltatime) return;
+       if (!pushdeltatime) { return; }
 
-       setsize(this, '-1 -1 -1' * this.radius,'1 1 1' * this.radius);
+       setsize(this, '-1 -1 -1' * this.radius, '1 1 1' * this.radius);
 
        str = min(this.radius, vlen(this.origin - toucher.origin));
 
-       if(this.falloff == 1)
+       if (this.falloff == 1) {
                str = (1 - str / this.radius) * this.strength; // 1 in the inside
-       else if(this.falloff == 2)
-               str = (str / this.radius) * this.strength; // 0 in the inside
-       else
+       } else if (this.falloff == 2) {
+               str = (str / this.radius) * this.strength;     // 0 in the inside
+       } else {
                str = this.strength;
+       }
 
        toucher.velocity = toucher.velocity + normalize(toucher.origin - this.origin) * str * pushdeltatime;
 
@@ -123,11 +128,11 @@ REGISTER_NET_LINKED(ENT_CLIENT_TRIGGER_IMPULSE)
 /*QUAKED spawnfunc_trigger_impulse (.5 .5 .5) ?
 -------- KEYS --------
 target : If this is set, this points to the spawnfunc_target_position to which the player will get pushed.
-                If not, this trigger acts like a damper/accelerator field.
+         If not, this trigger acts like a damper/accelerator field.
 
 strength : This is how mutch force to add in the direction of .target each second
-                  when .target is set. If not, this is hoe mutch to slow down/accelerate
-                  someting cought inside this trigger. (1=no change, 0,5 half speed rougthly each tic, 2 = doubble)
+           when .target is set. If not, this is hoe mutch to slow down/accelerate
+           someting cought inside this trigger. (1=no change, 0,5 half speed rougthly each tic, 2 = doubble)
 
 radius   : If set, act as a spherical device rather then a liniar one.
 
@@ -164,23 +169,17 @@ spawnfunc(trigger_impulse)
 
        trigger_init(this);
 
-       if(this.radius)
-       {
-               if(!this.strength) this.strength = 2000 * autocvar_g_triggerimpulse_radial_multiplier;
+       if (this.radius) {
+               if (!this.strength) { this.strength = 2000 * autocvar_g_triggerimpulse_radial_multiplier; }
                setorigin(this, this.origin);
-               setsize(this, '-1 -1 -1' * this.radius,'1 1 1' * this.radius);
+               setsize(this, '-1 -1 -1' * this.radius, '1 1 1' * this.radius);
                settouch(this, trigger_impulse_touch3);
-       }
-       else
-       {
-               if(this.target)
-               {
-                       if(!this.strength) this.strength = 950 * autocvar_g_triggerimpulse_directional_multiplier;
+       } else {
+               if (this.target) {
+                       if (!this.strength) { this.strength = 950 * autocvar_g_triggerimpulse_directional_multiplier; }
                        settouch(this, trigger_impulse_touch1);
-               }
-               else
-               {
-                       if(!this.strength) this.strength = 0.9;
+               } else {
+                       if (!this.strength) { this.strength = 0.9; }
                        this.strength = POW(this.strength, autocvar_g_triggerimpulse_accel_power) * autocvar_g_triggerimpulse_accel_multiplier;
                        settouch(this, trigger_impulse_touch2);
                }
@@ -205,8 +204,8 @@ NET_HANDLE(ENT_CLIENT_TRIGGER_IMPULSE, bool isnew)
        this.entremove = trigger_remove_generic;
        this.move_time = time;
 
-       if (this.radius) { settouch(this, trigger_impulse_touch3); }
-       else if (this.target) { settouch(this, trigger_impulse_touch1); }
-       else { settouch(this, trigger_impulse_touch2); }
+       if (this.radius) { settouch(this, trigger_impulse_touch3); } else if (this.target) {
+               settouch(this, trigger_impulse_touch1);
+       else { settouch(this, trigger_impulse_touch2); }
 }
 #endif
index bf20d1e9732e4dfe133ed4fc5473ae50b5021bd9..cff0ad9a91516bc16a1a3cf54a32ec1c88e865ad 100644 (file)
@@ -4,9 +4,11 @@
  */
 void trigger_keylock_trigger(entity this, entity actor, string s)
 {
-       for(entity t = NULL; (t = find(t, targetname, s)); )
-               if(t.use)
+       for (entity t = NULL; (t = find(t, targetname, s)); ) {
+               if (t.use) {
                        t.use(t, actor, this);
+               }
+       }
 }
 
 /**
@@ -15,8 +17,9 @@ void trigger_keylock_trigger(entity this, entity actor, string s)
 void trigger_keylock_kill(string s)
 {
        entity t;
-       for(t = NULL; (t = find(t, targetname, s)); )
+       for (t = NULL; (t = find(t, targetname, s)); ) {
                delete(t);
+       }
 }
 
 void trigger_keylock_touch(entity this, entity toucher)
@@ -25,26 +28,24 @@ void trigger_keylock_touch(entity this, entity toucher)
        bool started_delay = false;
 
        // only player may trigger the lock
-       if(!IS_PLAYER(toucher))
+       if (!IS_PLAYER(toucher)) {
                return;
+       }
 
        // check silver key
-       if(this.itemkeys)
+       if (this.itemkeys) {
                key_used = item_keys_usekey(this, toucher);
+       }
 
-       if(this.itemkeys)
-       {
+       if (this.itemkeys) {
 #ifdef SVQC
                // at least one of the keys is missing
-               if(key_used)
-               {
+               if (key_used) {
                        // one or more keys were given, but others are still missing!
                        play2(toucher, this.noise1);
                        Send_Notification(NOTIF_ONE, toucher, MSG_CENTER, CENTER_DOOR_LOCKED_ALSONEED, item_keys_keylist(this.itemkeys));
                        toucher.key_door_messagetime = time + 2;
-               }
-               else if(toucher.key_door_messagetime <= time)
-               {
+               } else if (toucher.key_door_messagetime <= time) {
                        // no keys were given
                        play2(toucher, this.noise2);
                        Send_Notification(NOTIF_ONE, toucher, MSG_CENTER, CENTER_DOOR_LOCKED_NEED, item_keys_keylist(this.itemkeys));
@@ -53,31 +54,30 @@ void trigger_keylock_touch(entity this, entity toucher)
 #endif
 
                // trigger target2
-               if(this.delay <= time || started_delay == true)
-               if(this.target2)
-               {
-                       trigger_keylock_trigger(this, toucher, this.target2);
-                       started_delay = true;
-                       this.delay = time + this.wait;
+               if (this.delay <= time || started_delay == true) {
+                       if (this.target2) {
+                               trigger_keylock_trigger(this, toucher, this.target2);
+                               started_delay = true;
+                               this.delay = time + this.wait;
+                       }
                }
-       }
-       else
-       {
+       } else {
 #ifdef SVQC
                // all keys were given!
                play2(toucher, this.noise);
                centerprint(toucher, this.message);
 #endif
 
-               if(this.target)
+               if (this.target) {
                        trigger_keylock_trigger(this, toucher, this.target);
+               }
 
-               if(this.killtarget)
+               if (this.killtarget) {
                        trigger_keylock_kill(this.killtarget);
+               }
 
                delete(this);
        }
-
 }
 
 REGISTER_NET_LINKED(ENT_CLIENT_KEYLOCK)
@@ -98,7 +98,7 @@ bool trigger_keylock_send(entity this, entity to, int sf)
 void trigger_keylock_link(entity this)
 {
        // uncomment to network keylocks
-       //Net_LinkEntity(this, false, 0, trigger_keylock_send);
+       // Net_LinkEntity(this, false, 0, trigger_keylock_send);
 }
 
 /*QUAKED trigger_keylock (.0 .5 .8) ?
@@ -122,33 +122,36 @@ message2 and noise2 will be resent to the player every 2 seconds while he is in
 */
 spawnfunc(trigger_keylock)
 {
-       if(!this.itemkeys) { delete(this); return; }
+       if (!this.itemkeys) { delete(this); return; }
 
        // set unlocked message
-       if(this.message == "")
+       if (this.message == "") {
                this.message = "Unlocked!";
+       }
 
        // set default unlock noise
-       if(this.noise == "")
-       {
-               if(this.sounds == 1)
+       if (this.noise == "") {
+               if (this.sounds == 1) {
                        this.noise = "misc/secret.wav";
-               else if(this.sounds == 2)
+               } else if (this.sounds == 2) {
                        this.noise = strzone(SND(TALK));
-               else //if (this.sounds == 3) {
+               } else { // if (this.sounds == 3) {
                        this.noise = "misc/trigger1.wav";
+               }
        }
 
        // set default use key sound
-       if(this.noise1 == "")
+       if (this.noise1 == "") {
                this.noise1 = "misc/decreasevalue.wav";
+       }
 
        // set closed sourd
-       if(this.noise2 == "")
+       if (this.noise2 == "") {
                this.noise2 = SND(TALK);
+       }
 
        // delay between triggering message2 and trigger2
-       if(!this.wait) { this.wait = 5; }
+       if (!this.wait) { this.wait = 5; }
 
        // precache sounds
        precache_sound(this.noise);
@@ -164,22 +167,22 @@ spawnfunc(trigger_keylock)
 #elif defined(CSQC)
 void keylock_remove(entity this)
 {
-       if(this.target) { strunzone(this.target); }
+       if (this.target) { strunzone(this.target); }
        this.target = string_null;
 
-       if(this.target2) { strunzone(this.target2); }
+       if (this.target2) { strunzone(this.target2); }
        this.target2 = string_null;
 
-       if(this.target3) { strunzone(this.target3); }
+       if (this.target3) { strunzone(this.target3); }
        this.target3 = string_null;
 
-       if(this.target4) { strunzone(this.target4); }
+       if (this.target4) { strunzone(this.target4); }
        this.target4 = string_null;
 
-       if(this.killtarget) { strunzone(this.killtarget); }
+       if (this.killtarget) { strunzone(this.killtarget); }
        this.killtarget = string_null;
 
-       if(this.targetname) { strunzone(this.targetname); }
+       if (this.targetname) { strunzone(this.targetname); }
        this.targetname = string_null;
 }
 
index 904c3fa3d4a7404d5d4c0535fbc59858b2d6cc42..0944f3d521f5f2e0fc824d5abeb8aea5df6bea21 100644 (file)
@@ -4,7 +4,7 @@
 bool item_keys_usekey(entity l, entity p)
 {
        int valid = (l.itemkeys & p.itemkeys); // TODO: itemkeys isn't networked or anything!
-       l.itemkeys &= ~valid; // only some of the needed keys were given
+       l.itemkeys &= ~valid;                  // only some of the needed keys were given
        return valid != 0;
 }
 #endif
index 354ed1bfedd61f284ad76ae0f0fa73107b34abda..0da480fddc2109e57ec1b0e3ecbba6c099be2c04 100644 (file)
@@ -13,136 +13,136 @@ string trigger_magicear_processmessage(entity ear, entity source, float teamsay,
        dotrigger = ((IS_PLAYER(source)) && (!IS_DEAD(source)) && ((ear.radius == 0) || (vdist(source.origin - ear.origin, <=, ear.radius))));
        domatch = ((ear.spawnflags & 32) || dotrigger);
 
-       if (!domatch)
+       if (!domatch) {
                return msgin;
+       }
 
-       if (!msgin)
-       {
+       if (!msgin) {
                // we are in TUBA mode!
-               if (!(ear.spawnflags & 256))
+               if (!(ear.spawnflags & 256)) {
                        return msgin;
+               }
 
-               for(int slot = 0; slot < MAX_WEAPONSLOTS; ++slot)
-               {
+               for (int slot = 0; slot < MAX_WEAPONSLOTS; ++slot) {
                        .entity weaponentity = weaponentities[slot];
-                       if(!W_Tuba_HasPlayed(source, weaponentity, ear.message, ear.movedir_x, !(ear.spawnflags & 512), ear.movedir_y, ear.movedir_z))
+                       if (!W_Tuba_HasPlayed(source, weaponentity, ear.message, ear.movedir_x, !(ear.spawnflags & 512), ear.movedir_y, ear.movedir_z)) {
                                return msgin;
+                       }
                }
 
                magicear_matched = true;
 
-               if(dotrigger)
-               {
+               if (dotrigger) {
                        savemessage = ear.message;
                        ear.message = string_null;
                        SUB_UseTargets(ear, source, NULL);
                        ear.message = savemessage;
                }
 
-               if(ear.netname != "")
+               if (ear.netname != "") {
                        return ear.netname;
+               }
 
                return msgin;
        }
 
-       if(ear.spawnflags & 256) // ENOTUBA
+       if (ear.spawnflags & 256) { // ENOTUBA
                return msgin;
+       }
 
-       if(privatesay)
-       {
-               if(ear.spawnflags & 4)
+       if (privatesay) {
+               if (ear.spawnflags & 4) {
                        return msgin;
-       }
-       else
-       {
-               if(!teamsay)
-                       if(ear.spawnflags & 1)
+               }
+       } else {
+               if (!teamsay) {
+                       if (ear.spawnflags & 1) {
                                return msgin;
-               if(teamsay > 0)
-                       if(ear.spawnflags & 2)
+                       }
+               }
+               if (teamsay > 0) {
+                       if (ear.spawnflags & 2) {
                                return msgin;
-               if(teamsay < 0)
-                       if(ear.spawnflags & 8)
+                       }
+               }
+               if (teamsay < 0) {
+                       if (ear.spawnflags & 8) {
                                return msgin;
+                       }
+               }
        }
 
        matchstart = -1;
        l = strlen(ear.message);
 
-       if(ear.spawnflags & 128)
+       if (ear.spawnflags & 128) {
                msg = msgin;
-       else
+       } else {
                msg = strdecolorize(msgin);
+       }
 
-       if(substring(ear.message, 0, 1) == "*")
-       {
-               if(substring(ear.message, -1, 1) == "*")
-               {
+       if (substring(ear.message, 0, 1) == "*") {
+               if (substring(ear.message, -1, 1) == "*") {
                        // two wildcards
                        // as we need multi-replacement here...
                        s = substring(ear.message, 1, -2);
                        l -= 2;
-                       if(strstrofs(msg, s, 0) >= 0)
+                       if (strstrofs(msg, s, 0) >= 0) {
                                matchstart = -2; // we use strreplace on s
-               }
-               else
-               {
+                       }
+               } else {
                        // match at start
                        s = substring(ear.message, 1, -1);
                        l -= 1;
-                       if(substring(msg, -l, l) == s)
+                       if (substring(msg, -l, l) == s) {
                                matchstart = strlen(msg) - l;
+                       }
                }
-       }
-       else
-       {
-               if(substring(ear.message, -1, 1) == "*")
-               {
+       } else {
+               if (substring(ear.message, -1, 1) == "*") {
                        // match at end
                        s = substring(ear.message, 0, -2);
                        l -= 1;
-                       if(substring(msg, 0, l) == s)
+                       if (substring(msg, 0, l) == s) {
                                matchstart = 0;
-               }
-               else
-               {
+                       }
+               } else {
                        // full match
                        s = ear.message;
-                       if(msg == ear.message)
+                       if (msg == ear.message) {
                                matchstart = 0;
+                       }
                }
        }
 
-       if(matchstart == -1) // no match
+       if (matchstart == -1) { // no match
                return msgin;
+       }
 
        magicear_matched = true;
 
-       if(dotrigger)
-       {
+       if (dotrigger) {
                savemessage = ear.message;
                ear.message = string_null;
                SUB_UseTargets(ear, source, NULL);
                ear.message = savemessage;
        }
 
-       if(ear.spawnflags & 16)
-       {
+       if (ear.spawnflags & 16) {
                return ear.netname;
-       }
-       else if(ear.netname != "")
-       {
-               if(matchstart < 0)
+       } else if (ear.netname != "") {
+               if (matchstart < 0) {
                        return strreplace(s, ear.netname, msg);
-               else
+               } else {
                        return strcat(
                                substring(msg, 0, matchstart),
                                ear.netname,
                                substring(msg, matchstart + l, -1)
                        );
-       }
-       else
+               }
+       } else {
                return msgin;
+       }
 }
 
 entity magicears;
@@ -150,12 +150,13 @@ string trigger_magicear_processmessage_forallears(entity source, float teamsay,
 {
        entity ear;
        string msgout;
-       for(ear = magicears; ear; ear = ear.enemy)
-       {
+       for (ear = magicears; ear; ear = ear.enemy) {
                msgout = trigger_magicear_processmessage(ear, source, teamsay, privatesay, msgin);
-               if(!(ear.spawnflags & 64))
-               if(magicear_matched)
-                       return msgout;
+               if (!(ear.spawnflags & 64)) {
+                       if (magicear_matched) {
+                               return msgout;
+                       }
+               }
                msgin = msgout;
        }
        return msgin;
index a67baca16a2f152d69877823eee144bfd076724a..79b4228e4121cbb6c6d44fb67d92d31e9bad4173 100644 (file)
@@ -7,15 +7,17 @@ void monoflop_use(entity this, entity actor, entity trigger)
 {
        this.nextthink = time + this.wait;
        this.enemy = actor;
-       if(this.state)
+       if (this.state) {
                return;
+       }
        this.state = 1;
        SUB_UseTargets(this, actor, trigger);
 }
 void monoflop_fixed_use(entity this, entity actor, entity trigger)
 {
-       if(this.state)
+       if (this.state) {
                return;
+       }
        this.nextthink = time + this.wait;
        this.state = 1;
        this.enemy = actor;
@@ -36,12 +38,14 @@ void monoflop_reset(entity this)
 
 spawnfunc(trigger_monoflop)
 {
-       if(!this.wait)
+       if (!this.wait) {
                this.wait = 1;
-       if(this.spawnflags & 1)
+       }
+       if (this.spawnflags & 1) {
                this.use = monoflop_fixed_use;
-       else
+       } else {
                this.use = monoflop_use;
+       }
        setthink(this, monoflop_think);
        this.state = 0;
        this.reset = monoflop_reset;
index 6bf0557f2203dc4c49da9ce6741de8368792e10e..77cc3838b5bc7806afe6224d2d4d4e82a66a42b4 100644 (file)
@@ -9,14 +9,16 @@ void multivibrator_send(entity this)
 
        newstate = (time < cyclestart + this.wait);
 
-       if(this.state != newstate)
+       if (this.state != newstate) {
                SUB_UseTargets(this, this, NULL);
+       }
        this.state = newstate;
 
-       if(this.state)
+       if (this.state) {
                this.nextthink = cyclestart + this.wait + 0.01;
-       else
+       } else {
                this.nextthink = cyclestart + this.wait + this.respawntime + 0.01;
+       }
 }
 
 void multivibrator_send_think(entity this)
@@ -26,14 +28,10 @@ void multivibrator_send_think(entity this)
 
 void multivibrator_toggle(entity this, entity actor, entity trigger)
 {
-       if(this.nextthink == 0)
-       {
+       if (this.nextthink == 0) {
                multivibrator_send(this);
-       }
-       else
-       {
-               if(this.state)
-               {
+       } else {
+               if (this.state) {
                        SUB_UseTargets(this, actor, trigger);
                        this.state = 0;
                }
@@ -43,10 +41,11 @@ void multivibrator_toggle(entity this, entity actor, entity trigger)
 
 void multivibrator_reset(entity this)
 {
-       if(!(this.spawnflags & 1))
+       if (!(this.spawnflags & 1)) {
                this.nextthink = 0; // wait for a trigger event
-       else
+       } else {
                this.nextthink = max(1, time);
+       }
 }
 
 /*QUAKED trigger_multivibrator (.5 .5 .5) (-8 -8 -8) (8 8 8) START_ON
@@ -62,17 +61,20 @@ START_ON: assume it is already turned on (when targeted)
 */
 spawnfunc(trigger_multivibrator)
 {
-       if(!this.wait)
+       if (!this.wait) {
                this.wait = 1;
-       if(!this.respawntime)
+       }
+       if (!this.respawntime) {
                this.respawntime = this.wait;
+       }
 
        this.state = 0;
        this.use = multivibrator_toggle;
        setthink(this, multivibrator_send_think);
        this.nextthink = max(1, time);
 
-       if(THIS_TARGETED)
+       if (THIS_TARGETED) {
                multivibrator_reset(this);
+       }
 }
 #endif
index d713a05837728245f18a604f96647b5a300d40ca..e64768ccf924856020b3a5d423e4375d0284d913 100644 (file)
@@ -2,20 +2,20 @@
 #ifdef SVQC
 void relay_activators_use(entity this, entity actor, entity trigger)
 {
-       for(entity trg = NULL; (trg = find(trg, targetname, this.target)); )
-       {
-               if (trg.setactive)
+       for (entity trg = NULL; (trg = find(trg, targetname, this.target)); ) {
+               if (trg.setactive) {
                        trg.setactive(trg, this.cnt);
-               else
-               {
-                       //bprint("Not using setactive\n");
-                       if(this.cnt == ACTIVE_TOGGLE)
-                               if(trg.active == ACTIVE_ACTIVE)
+               } else {
+                       // bprint("Not using setactive\n");
+                       if (this.cnt == ACTIVE_TOGGLE) {
+                               if (trg.active == ACTIVE_ACTIVE) {
                                        trg.active = ACTIVE_NOT;
-                               else
+                               } else {
                                        trg.active = ACTIVE_ACTIVE;
-                       else
+                               }
+                       } else {
                                trg.active = this.cnt;
+                       }
                }
        }
 }
index 728252c70400972a4259b3f49eea02c5100027d2..dae6d5d906895907e3113a0b4b9dcf0d0ef11c27 100644 (file)
@@ -4,13 +4,15 @@ void trigger_relay_if_use(entity this, entity actor, entity trigger)
 {
        int n = this.count;
 
-       // TODO make this generic AND faster than nextent()ing through all, if somehow possible
+       // TODO make this generic AND faster than nextent() ing through all, if somehow possible
        n = (cvar_string(this.netname) == cvar_string(this.message));
-       if(this.spawnflags & 1)
+       if (this.spawnflags & 1) {
                n = !n;
+       }
 
-       if(n)
+       if (n) {
                SUB_UseTargets(this, actor, trigger);
+       }
 }
 
 spawnfunc(trigger_relay_if)
index c3c2c7474e6983b071464d04cc59ea45bbb47c1f..7338708afa2924210d4ccc203aad5c908c239784 100644 (file)
@@ -2,8 +2,8 @@
 #if defined(CSQC)
 #elif defined(MENUQC)
 #elif defined(SVQC)
-    #include <common/util.qh>
-    #include <server/defs.qh>
+#include <common/util.qh>
+#include <server/defs.qh>
 #endif
 
 #ifdef SVQC
@@ -20,13 +20,14 @@ void secrets_setstatus(entity this)
 void trigger_secret_touch(entity this, entity toucher)
 {
        // only a player can trigger this
-       if (!IS_PLAYER(toucher))
+       if (!IS_PLAYER(toucher)) {
                return;
+       }
 
        // update secrets found counter
        secrets_found += 1;
-       //print("Secret found: ", ftos(secret_counter.cnt), "/");
-       //print(ftos(secret_counter.count), "\n");
+       // print("Secret found: ", ftos(secret_counter.cnt), "/");
+       // print(ftos(secret_counter.count), "\n");
 
        // centerprint message (multi_touch() doesn't always call centerprint())
        centerprint(toucher, this.message);
@@ -36,7 +37,7 @@ void trigger_secret_touch(entity this, entity toucher)
        multi_touch(this, toucher);
        // we can't just delete(this) here, because this is a touch function
        // called while C code is looping through area links...
-       //delete(this);
+       // delete(this);
 }
 
 /*QUAKED trigger_secret (.5 .5 .5) ?
@@ -60,14 +61,16 @@ spawnfunc(trigger_secret)
        secrets_total += 1;
 
        // add default message
-       if (this.message == "")
+       if (this.message == "") {
                this.message = "You found a secret!";
+       }
 
        // set default sound
-       if (this.noise == "")
-       if (!this.sounds)
-               this.sounds = 1; // misc/secret.wav
-
+       if (this.noise == "") {
+               if (!this.sounds) {
+                       this.sounds = 1; // misc/secret.wav
+               }
+       }
        // this entity can't be a target itself!!!!
        this.targetname = "";
 
@@ -78,7 +81,7 @@ spawnfunc(trigger_secret)
        this.delay = 0;
 
        // convert this trigger to trigger_once
-       //this.classname = "trigger_once";
+       // this.classname = "trigger_once";
        spawnfunc_trigger_once(this);
 
        // take over the touch() function, so we can mark secret as found
index 71c5247c7446c5332d12e62b7f9084e105e47bd9..507c34e2ee1921f31e792ec7fa040c82d02dcc6a 100644 (file)
@@ -2,10 +2,10 @@
 #if defined(CSQC)
 #elif defined(MENUQC)
 #elif defined(SVQC)
-    #include <lib/warpzone/util_server.qh>
-    #include <common/weapons/_all.qh>
-    #include <server/defs.qh>
-    #include <common/deathtypes/all.qh>
+#include <lib/warpzone/util_server.qh>
+#include <common/weapons/_all.qh>
+#include <server/defs.qh>
+#include <common/deathtypes/all.qh>
 #endif
 
 /*
@@ -16,8 +16,8 @@
 *              2005 11 29
 */
 
-.float swamp_interval; //Hurt players in swamp with this interval
-.float swamp_slowdown; //Players in swamp get slowd down by this mutch 0-1 is slowdown 1-~ is speedup (!?)
+.float swamp_interval; // Hurt players in swamp with this interval
+.float swamp_slowdown; // Players in swamp get slowd down by this mutch 0-1 is slowdown 1-~ is speedup (!?)
 .entity swampslug;
 
 #ifdef SVQC
@@ -39,15 +39,14 @@ void swampslug_think(entity this);
 */
 void swampslug_think(entity this)
 {
-       //Slowly kill the slug
+       // Slowly kill the slug
        this.health = this.health - 1;
 
-       //Slug dead? then remove curses.
-       if(this.health <= 0)
-       {
+       // Slug dead? then remove curses.
+       if (this.health <= 0) {
                this.owner.in_swamp = 0;
                delete(this);
-               //centerprint(this.owner,"Killing slug...\n");
+               // centerprint(this.owner,"Killing slug...\n");
                return;
        }
 
@@ -55,7 +54,7 @@ void swampslug_think(entity this)
        // Or we have exited it very recently.
        // Do the damage and renew the timer.
 #ifdef SVQC
-       Damage (this.owner, this, this, this.dmg, DEATH_SWAMP.m_id, this.owner.origin, '0 0 0');
+       Damage(this.owner, this, this, this.dmg, DEATH_SWAMP.m_id, this.owner.origin, '0 0 0');
 #endif
 
        this.nextthink = time + this.swamp_interval;
@@ -65,16 +64,16 @@ void swamp_touch(entity this, entity toucher)
 {
        // If whatever thats touching the swamp is not a player
        // or if its a dead player, just dont care abt it.
-       if(!IS_PLAYER(toucher) || IS_DEAD(toucher))
+       if (!IS_PLAYER(toucher) || IS_DEAD(toucher)) {
                return;
+       }
 
        EXACTTRIGGER_TOUCH(this, toucher);
 
        // Chech if player alredy got a swampslug.
-       if(toucher.in_swamp != 1)
-       {
+       if (toucher.in_swamp != 1) {
                // If not attach one.
-               //centerprint(toucher,"Entering swamp!\n");
+               // centerprint(toucher,"Entering swamp!\n");
                toucher.swampslug = spawn();
                toucher.swampslug.health = 2;
                setthink(toucher.swampslug, swampslug_think);
@@ -87,9 +86,9 @@ void swamp_touch(entity this, entity toucher)
                return;
        }
 
-       //toucher.in_swamp = 1;
+       // toucher.in_swamp = 1;
 
-       //Revitalize players swampslug
+       // Revitalize players swampslug
        toucher.swampslug.health = 2;
 }
 
@@ -125,12 +124,15 @@ spawnfunc(trigger_swamp)
        settouch(this, swamp_touch);
 
        // Setup default keys, if missing
-       if(this.dmg <= 0)
+       if (this.dmg <= 0) {
                this.dmg = 5;
-       if(this.swamp_interval <= 0)
+       }
+       if (this.swamp_interval <= 0) {
                this.swamp_interval = 1;
-       if(this.swamp_slowdown <= 0)
+       }
+       if (this.swamp_slowdown <= 0) {
                this.swamp_slowdown = 0.5;
+       }
 
        swamp_link(this);
 }
index f4df98378d544659b1c22f0c663919fb95f90c17..1e576d29fa86b7df7f002d1d15120f8112704069 100644 (file)
@@ -1,8 +1,8 @@
 #pragma once
 
-.float swamp_interval; //Hurt players in swamp with this interval
-.float swamp_slowdown; //Players in swamp get slowd down by this mutch 0-1 is slowdown 1-~ is speedup (!?)
+.float swamp_interval; // Hurt players in swamp with this interval
+.float swamp_slowdown; // Players in swamp get slowd down by this mutch 0-1 is slowdown 1-~ is speedup (!?)
 .entity swampslug;
 
-.float in_swamp;              // bool
-.entity swampslug;            // Uses this to release from swamp ("untouch" fix)
+.float in_swamp;       // bool
+.entity swampslug;     // Uses this to release from swamp ("untouch" fix)
index ffc04a0782bf8d0a5b59c00876adf0b8319dc078..7d9c93155fbc44567ebc4efb655af6f335c45ce7 100644 (file)
@@ -2,8 +2,8 @@
 #if defined(CSQC)
 #elif defined(MENUQC)
 #elif defined(SVQC)
-    #include <lib/warpzone/util_server.qh>
-    #include <server/defs.qh>
+#include <lib/warpzone/util_server.qh>
+#include <server/defs.qh>
 #endif
 
 REGISTER_NET_LINKED(ENT_CLIENT_VIEWLOC)
@@ -18,25 +18,28 @@ void viewloc_think(entity this)
        // we abuse this method, rather than using normal .touch, because touch isn't reliable with multiple clients inside the same trigger, and can't "untouch" entities
 
        // set myself as current viewloc where possible
-       for(e = NULL; (e = findentity(e, viewloc, this)); )
+       for (e = NULL; (e = findentity(e, viewloc, this)); ) {
                e.viewloc = NULL;
-
-               for(e = findradius((this.absmin + this.absmax) * 0.5, vlen(this.absmax - this.absmin) * 0.5 + 1); e; e = e.chain)
-                       if(!e.viewloc)
-                               if(IS_PLAYER(e)) // should we support non-player entities with this?
-                               //if(!IS_DEAD(e)) // death view is handled separately, we can't override this just yet
-                               {
-                                       vector emin = e.absmin;
-                                       vector emax = e.absmax;
-                                       if(this.solid == SOLID_BSP)
-                                       {
-                                               emin -= '1 1 1';
-                                               emax += '1 1 1';
+       }
+
+       for (e = findradius((this.absmin + this.absmax) * 0.5, vlen(this.absmax - this.absmin) * 0.5 + 1); e; e = e.chain) {
+               if (!e.viewloc) {
+                       if (IS_PLAYER(e)) { // should we support non-player entities with this?
+                               // if(!IS_DEAD(e)) // death view is handled separately, we can't override this just yet
+                               vector emin = e.absmin;
+                               vector emax = e.absmax;
+                               if (this.solid == SOLID_BSP) {
+                                       emin -= '1 1 1';
+                                       emax += '1 1 1';
+                               }
+                               if (boxesoverlap(emin, emax, this.absmin, this.absmax)) { // quick
+                                       if (WarpZoneLib_BoxTouchesBrush(emin, emax, this, e)) { // accurate
+                                               e.viewloc = this;
                                        }
-                                       if(boxesoverlap(emin, emax, this.absmin, this.absmax)) // quick
-                                               if(WarpZoneLib_BoxTouchesBrush(emin, emax, this, e)) // accurate
-                                                       e.viewloc = this;
                                }
+                       }
+               }
+       }
 
        this.nextthink = time;
 }
@@ -59,24 +62,24 @@ bool trigger_viewloc_send(entity this, entity to, int sf)
 void viewloc_init(entity this)
 {
        entity e;
-       for(e = NULL; (e = find(e, targetname, this.target)); )
-               if(e.classname == "target_viewlocation_start")
-               {
+       for (e = NULL; (e = find(e, targetname, this.target)); ) {
+               if (e.classname == "target_viewlocation_start") {
                        this.enemy = e;
                        break;
                }
-       for(e = NULL; (e = find(e, targetname, this.target2)); )
-               if(e.classname == "target_viewlocation_end")
-               {
+       }
+       for (e = NULL; (e = find(e, targetname, this.target2)); ) {
+               if (e.classname == "target_viewlocation_end") {
                        this.goalentity = e;
                        break;
                }
+       }
 
-       if(!this.enemy) { LOG_INFO("^1FAIL!"); delete(this); return; }
+       if (!this.enemy) { LOG_INFO("^1FAIL!"); delete(this); return; }
 
-       if(!this.goalentity)
+       if (!this.goalentity) {
                this.goalentity = this.enemy; // make them match so CSQC knows what to do
-
+       }
        Net_LinkEntity(this, false, 0, trigger_viewloc_send);
 
        setthink(this, viewloc_think);
@@ -86,7 +89,7 @@ void viewloc_init(entity this)
 spawnfunc(trigger_viewlocation)
 {
        // we won't check target2 here yet, as it may not even need to exist
-       if(this.target == "") { LOG_INFO("^1FAIL!"); delete(this); return; }
+       if (this.target == "") { LOG_INFO("^1FAIL!"); delete(this); return; }
 
        EXACTTRIGGER_INIT;
        InitializeEntity(this, viewloc_init, INITPRIO_FINDTARGET);
@@ -112,8 +115,9 @@ bool viewloc_send(entity this, entity to, int sf)
 .float angle;
 void viewloc_link(entity this)
 {
-       if(this.angle)
+       if (this.angle) {
                this.angles_y = this.angle;
+       }
        Net_LinkEntity(this, false, 0, viewloc_send);
 }
 
@@ -131,7 +135,10 @@ spawnfunc(target_viewlocation_end)
 }
 
 // compatibility
-spawnfunc(target_viewlocation) { spawnfunc_target_viewlocation_start(this); }
+spawnfunc(target_viewlocation)
+{
+       spawnfunc_target_viewlocation_start(this);
+}
 
 #elif defined(CSQC)
 
@@ -161,7 +168,7 @@ NET_HANDLE(ENT_CLIENT_VIEWLOC_TRIGGER, bool isnew)
        this.count = point2;
 
        setthink(this, trigger_viewloc_updatelink);
-       this.nextthink = time + 1; // we need to delay this or else
+       this.nextthink = time + 1;   // we need to delay this or else
 
        this.classname = "trigger_viewlocation";
        this.drawmask = MASK_NORMAL; // not so concerned, but better keep it alive
index 2a76d80c41a7a7f41675d9a06826b2e236683d28..6ff3acb97402b6f7243b54eff60bc3e11e8ebc18 100644 (file)
@@ -1,11 +1,11 @@
 #include "triggers.qh"
-void SUB_DontUseTargets(entity this, entity actor, entity trigger) { }
+void SUB_DontUseTargets(entity this, entity actor, entity trigger) {}
 
 void SUB_UseTargets(entity this, entity actor, entity trigger);
 
 void DelayThink(entity this)
 {
-       SUB_UseTargets (this, this.enemy, NULL);
+       SUB_UseTargets(this, this.enemy, NULL);
        delete(this);
 }
 
@@ -28,22 +28,22 @@ void trigger_init(entity this)
 {
        string m = this.model;
        EXACTTRIGGER_INIT;
-       if(autocvar_g_triggers_debug)
-       {
-               if(m != "")
-               {
-                       precache_model(m);
-                       _setmodel(this, m); // no precision needed
+       if (autocvar_g_triggers_debug) {
+               if (m != "") {
+                       precache_model(m);
+                       _setmodel(this, m); // no precision needed
                }
                setorigin(this, this.origin);
-               if(this.scale)
+               if (this.scale) {
                        setsize(this, this.mins * this.scale, this.maxs * this.scale);
-               else
+               } else {
                        setsize(this, this.mins, this.maxs);
+               }
        }
 
-       if(autocvar_g_triggers_debug)
+       if (autocvar_g_triggers_debug) {
                BITSET_ASSIGN(this.effects, EF_NODEPTHTEST);
+       }
 }
 
 void trigger_link(entity this, bool(entity this, entity to, int sendflags) sendfunc)
@@ -55,14 +55,15 @@ void trigger_link(entity this, bool(entity this, entity to, int sendflags) sendf
 void trigger_common_write(entity this, bool withtarget)
 {
        int f = 0;
-       if(this.warpzone_isboxy)
+       if (this.warpzone_isboxy) {
                BITSET_ASSIGN(f, 1);
-       if(this.origin != '0 0 0')
+       }
+       if (this.origin != '0 0 0') {
                BITSET_ASSIGN(f, 4);
+       }
        WriteByte(MSG_ENTITY, f);
 
-       if(withtarget)
-       {
+       if (withtarget) {
                WriteString(MSG_ENTITY, this.target);
                WriteString(MSG_ENTITY, this.target2);
                WriteString(MSG_ENTITY, this.target3);
@@ -71,8 +72,7 @@ void trigger_common_write(entity this, bool withtarget)
                WriteString(MSG_ENTITY, this.killtarget);
        }
 
-       if(f & 4)
-       {
+       if (f & 4) {
                WriteCoord(MSG_ENTITY, this.origin.x);
                WriteCoord(MSG_ENTITY, this.origin.y);
                WriteCoord(MSG_ENTITY, this.origin.z);
@@ -103,30 +103,28 @@ void trigger_common_read(entity this, bool withtarget)
        int f = ReadByte();
        this.warpzone_isboxy = (f & 1);
 
-       if(withtarget)
-       {
-               if(this.target) { strunzone(this.target); }
+       if (withtarget) {
+               if (this.target) { strunzone(this.target); }
                this.target = strzone(ReadString());
-               if(this.target2) { strunzone(this.target2); }
+               if (this.target2) { strunzone(this.target2); }
                this.target2 = strzone(ReadString());
-               if(this.target3) { strunzone(this.target3); }
+               if (this.target3) { strunzone(this.target3); }
                this.target3 = strzone(ReadString());
-               if(this.target4) { strunzone(this.target4); }
+               if (this.target4) { strunzone(this.target4); }
                this.target4 = strzone(ReadString());
-               if(this.targetname) { strunzone(this.targetname); }
+               if (this.targetname) { strunzone(this.targetname); }
                this.targetname = strzone(ReadString());
-               if(this.killtarget) { strunzone(this.killtarget); }
+               if (this.killtarget) { strunzone(this.killtarget); }
                this.killtarget = strzone(ReadString());
        }
 
-       if(f & 4)
-       {
+       if (f & 4) {
                this.origin_x = ReadCoord();
                this.origin_y = ReadCoord();
                this.origin_z = ReadCoord();
-       }
-       else
+       } else {
                this.origin = '0 0 0';
+       }
        setorigin(this, this.origin);
 
        this.modelindex = ReadShort();
@@ -150,22 +148,22 @@ void trigger_common_read(entity this, bool withtarget)
 
 void trigger_remove_generic(entity this)
 {
-       if(this.target) { strunzone(this.target); }
+       if (this.target) { strunzone(this.target); }
        this.target = string_null;
 
-       if(this.target2) { strunzone(this.target2); }
+       if (this.target2) { strunzone(this.target2); }
        this.target2 = string_null;
 
-       if(this.target3) { strunzone(this.target3); }
+       if (this.target3) { strunzone(this.target3); }
        this.target3 = string_null;
 
-       if(this.target4) { strunzone(this.target4); }
+       if (this.target4) { strunzone(this.target4); }
        this.target4 = string_null;
 
-       if(this.targetname) { strunzone(this.targetname); }
+       if (this.targetname) { strunzone(this.targetname); }
        this.target = string_null;
 
-       if(this.killtarget) { strunzone(this.killtarget); }
+       if (this.killtarget) { strunzone(this.killtarget); }
        this.killtarget = string_null;
 }
 #endif
@@ -185,8 +183,8 @@ Centerprints any this.message to the activator.
 Removes all entities with a targetname that match this.killtarget,
 and removes them, so some events can remove other triggers.
 
-Search for (string)targetname in all entities that
-match (string)this.target and call their .use function
+Search for (string) targetname in all entities that
+match (string) this.target and call their .use function
 
 ==============================
 */
@@ -196,9 +194,8 @@ void SUB_UseTargets_Ex(entity this, entity actor, entity trigger, bool preventRe
 //
 // check for a delay
 //
-       if (this.delay)
-       {
-       // create a temp object to fire at a later time
+       if (this.delay) {
+               // create a temp object to fire at a later time
                entity t = new(DelayedUse);
                t.nextthink = time + this.delay;
                setthink(t, DelayThink);
@@ -219,23 +216,25 @@ void SUB_UseTargets_Ex(entity this, entity actor, entity trigger, bool preventRe
 // print the message
 //
 #ifdef SVQC
-       if(this)
-       if(IS_PLAYER(actor) && this.message != "")
-       if(IS_REAL_CLIENT(actor))
-       {
-               centerprint(actor, this.message);
-               if (this.noise == "")
-                       play2(actor, SND(TALK));
+       if (this) {
+               if (IS_PLAYER(actor) && this.message != "") {
+                       if (IS_REAL_CLIENT(actor)) {
+                               centerprint(actor, this.message);
+                               if (this.noise == "") {
+                                       play2(actor, SND(TALK));
+                               }
+                       }
+               }
        }
 
 //
 // kill the killtagets
 //
        s = this.killtarget;
-       if (s != "")
-       {
-               for(entity t = NULL; (t = find(t, targetname, s)); )
+       if (s != "") {
+               for (entity t = NULL; (t = find(t, targetname, s)); ) {
                        delete(t);
+               }
        }
 #endif
 
@@ -243,51 +242,50 @@ void SUB_UseTargets_Ex(entity this, entity actor, entity trigger, bool preventRe
 // fire targets
 //
 
-       if(this.target_random)
+       if (this.target_random) {
                RandomSelection_Init();
+       }
 
-       for(int i = 0; i < 4; ++i)
-       {
-               switch(i)
-               {
+       for (int i = 0; i < 4; ++i) {
+               switch (i) {
                        default:
-                       case 0: s = this.target; break;
-                       case 1: s = this.target2; break;
-                       case 2: s = this.target3; break;
-                       case 3: s = this.target4; break;
+                       case 0: s = this.target;
+                               break;
+                       case 1: s = this.target2;
+                               break;
+                       case 2: s = this.target3;
+                               break;
+                       case 3: s = this.target4;
+                               break;
                }
-               if (s != "")
-               {
+               if (s != "") {
                        // Flag to set func_clientwall state
                        // 1 == deactivate, 2 == activate, 0 == do nothing
                        int aw_flag = this.antiwall_flag;
-                       for(entity t = NULL; (t = find(t, targetname, s)); )
-                       {
-                               if(t.use && (t.sub_target_used != time || !preventReuse))
-                               {
-                                       if(this.target_random)
-                                       {
+                       for (entity t = NULL; (t = find(t, targetname, s)); ) {
+                               if (t.use && (t.sub_target_used != time || !preventReuse)) {
+                                       if (this.target_random) {
                                                RandomSelection_AddEnt(t, 1, 0);
-                                       }
-                                       else
-                                       {
-                                               if (t.classname == "func_clientwall" || t.classname == "func_clientillusionary")
+                                       } else {
+                                               if (t.classname == "func_clientwall" || t.classname == "func_clientillusionary") {
                                                        t.antiwall_flag = aw_flag;
+                                               }
 
                                                t.use(t, actor, this);
-                                               if(preventReuse)
+                                               if (preventReuse) {
                                                        t.sub_target_used = time;
+                                               }
                                        }
                                }
                        }
                }
        }
 
-       if(this.target_random && RandomSelection_chosen_ent)
-       {
+       if (this.target_random && RandomSelection_chosen_ent) {
                RandomSelection_chosen_ent.use(RandomSelection_chosen_ent, actor, this);
-               if(preventReuse)
+               if (preventReuse) {
                        RandomSelection_chosen_ent.sub_target_used = time;
+               }
        }
 }
 
index 56ebb0c381e91750f35e719a60c7c00c8524297e..234bf9fc10643a927c01f58058592495adfb2606 100644 (file)
@@ -4,8 +4,8 @@ const float SF_TRIGGER_INIT = 1;
 const float SF_TRIGGER_UPDATE = 2;
 const float SF_TRIGGER_RESET = 4;
 
-const float    SPAWNFLAG_NOMESSAGE = 1;
-const float    SPAWNFLAG_NOTOUCH = 1;
+const float SPAWNFLAG_NOMESSAGE = 1;
+const float SPAWNFLAG_NOTOUCH = 1;
 
 .bool pushable;
 
@@ -49,9 +49,9 @@ void trigger_remove_generic(entity this);
 .string target;
 .string targetname;
 
-const int ACTIVE_NOT           = 0;
-const int ACTIVE_ACTIVE        = 1;
-const int ACTIVE_IDLE          = 2;
-const int ACTIVE_BUSY          = 2;
-const int ACTIVE_TOGGLE                = 3;
+const int ACTIVE_NOT        = 0;
+const int ACTIVE_ACTIVE     = 1;
+const int ACTIVE_IDLE       = 2;
+const int ACTIVE_BUSY       = 2;
+const int ACTIVE_TOGGLE     = 3;
 #endif
index e63a931a67361df15b0d7b15f71fbc16e484c862..705029ca05a2b05c5ea27977b35378612def114c 100644 (file)
@@ -14,55 +14,48 @@ REGISTRY_CHECK(Turrets)
 
 GENERIC_COMMAND(dumpturrets, "Dump all turrets into turrets_dump.txt")
 {
-    switch(request)
-    {
-        case CMD_REQUEST_COMMAND:
-        {
-            #ifdef SVQC
-            tur_config_file = -1;
-            tur_config_alsoprint = -1;
-            string filename = argv(1);
+       switch (request) {
+               case CMD_REQUEST_COMMAND:
+               {
+#ifdef SVQC
+                       tur_config_file = -1;
+                       tur_config_alsoprint = -1;
+                       string filename = argv(1);
 
-            if(filename == "")
-            {
-                filename = "turrets_dump.cfg";
-                tur_config_alsoprint = false;
-            }
-            else if(filename == "-")
-            {
-                filename = "turrets_dump.cfg";
-                tur_config_alsoprint = true;
-            }
-            tur_config_file = fopen(filename, FILE_WRITE);
+                       if (filename == "") {
+                               filename = "turrets_dump.cfg";
+                               tur_config_alsoprint = false;
+                       } else if (filename == "-") {
+                               filename = "turrets_dump.cfg";
+                               tur_config_alsoprint = true;
+                       }
+                       tur_config_file = fopen(filename, FILE_WRITE);
 
-            if(tur_config_file >= 0)
-            {
-                Dump_Turret_Settings();
-                LOG_INFOF("Dumping turrets... File located in ^2data/data/%s^7.", filename);
-                fclose(tur_config_file);
-                tur_config_file = -1;
-                tur_config_alsoprint = -1;
-            }
-            else
-            {
-                LOG_INFOF("^1Error: ^7Could not open file '%s'!", filename);
-            }
-            #else
-            LOG_INFO(_("Turrets dump command only works with sv_cmd."));
-            #endif
-            return;
-        }
+                       if (tur_config_file >= 0) {
+                               Dump_Turret_Settings();
+                               LOG_INFOF("Dumping turrets... File located in ^2data/data/%s^7.", filename);
+                               fclose(tur_config_file);
+                               tur_config_file = -1;
+                               tur_config_alsoprint = -1;
+                       } else {
+                               LOG_INFOF("^1Error: ^7Could not open file '%s'!", filename);
+                       }
+#else
+                       LOG_INFO(_("Turrets dump command only works with sv_cmd."));
+#endif
+                       return;
+               }
 
-        default:
-        case CMD_REQUEST_USAGE:
-        {
-            LOG_INFO("Usage:^3 ", GetProgramCommandPrefix(), " dumpturrets [filename]");
-            LOG_INFO("  Where 'filename' is the file to write (default is turrets_dump.cfg),");
-            LOG_INFO("  if supplied with '-' output to console as well as default,");
-            LOG_INFO("  if left blank, it will only write to default.");
-            return;
-        }
-    }
+               default:
+               case CMD_REQUEST_USAGE:
+               {
+                       LOG_INFO("Usage:^3 ", GetProgramCommandPrefix(), " dumpturrets [filename]");
+                       LOG_INFO("  Where 'filename' is the file to write (default is turrets_dump.cfg),");
+                       LOG_INFO("  if supplied with '-' output to console as well as default,");
+                       LOG_INFO("  if left blank, it will only write to default.");
+                       return;
+               }
+       }
 }
 
 
index f5ba71477982d4ec6b727d1312aaf36633269a1c..9083b6b2cd7df6002b9f3f00a4dfc3d52d0ed508 100644 (file)
@@ -7,7 +7,7 @@
 **/
 
 
-//.entity checkpoint_target;
+// .entity checkpoint_target;
 
 /*
 #define checkpoint_cache_who  flagcarried
@@ -27,16 +27,16 @@ entity path_makeorcache(entity forwho,entity start, entity end)
 */
 
 void turret_checkpoint_use()
-{
-}
+{}
 
 #if 0
 void turret_checkpoint_think(entity this)
 {
-    if(this.enemy)
-        te_lightning1(this,this.origin, this.enemy.origin);
+       if (this.enemy) {
+               te_lightning1(this, this.origin, this.enemy.origin);
+       }
 
-    this.nextthink = time + 0.25;
+       this.nextthink = time + 0.25;
 }
 #endif
 /*QUAKED turret_checkpoint (1 0 1) (-32 -32 -32) (32 32 32)
@@ -48,35 +48,35 @@ wait:   Pause at this point # seconds.
 If a loop is of targets are formed, any unit entering this loop will patrol it indefinitly.
 If the checkpoint chain in not looped, the unit will go "Roaming" when the last point is reached.
 */
-//float tc_acum;
+// float tc_acum;
 void turret_checkpoint_init(entity this)
 {
-    traceline(this.origin + '0 0 16', this.origin - '0 0 1024', MOVE_WORLDONLY, this);
-    setorigin(this, trace_endpos + '0 0 32');
+       traceline(this.origin + '0 0 16', this.origin - '0 0 1024', MOVE_WORLDONLY, this);
+       setorigin(this, trace_endpos + '0 0 32');
 
-    if(this.target != "")
-    {
-        this.enemy = find(NULL, targetname, this.target);
-        if(this.enemy == NULL)
-            LOG_TRACE("A turret_checkpoint faild to find its target!");
-    }
-    //setthink(this, turret_checkpoint_think);
-    //this.nextthink = time + tc_acum + 0.25;
-    //tc_acum += 0.25;
+       if (this.target != "") {
+               this.enemy = find(NULL, targetname, this.target);
+               if (this.enemy == NULL) {
+                       LOG_TRACE("A turret_checkpoint faild to find its target!");
+               }
+       }
+       // setthink(this, turret_checkpoint_think);
+       // this.nextthink = time + tc_acum + 0.25;
+       // tc_acum += 0.25;
 }
 
 spawnfunc(turret_checkpoint)
 {
-    setorigin(this, this.origin);
-    setthink(this, turret_checkpoint_init);
-    this.nextthink = time + 0.2;
+       setorigin(this, this.origin);
+       setthink(this, turret_checkpoint_init);
+       this.nextthink = time + 0.2;
 }
 
 // Compat.
 spawnfunc(walker_checkpoint)
 {
-    this.classname = "turret_checkpoint";
-    spawnfunc_turret_checkpoint(this);
+       this.classname = "turret_checkpoint";
+       spawnfunc_turret_checkpoint(this);
 }
 
 #endif
index effabeac275ded29fed4b17d370f6e56e7cd5fb2..e19e50659d8ea84845215ce2ae040db7813e674a 100644 (file)
@@ -16,13 +16,12 @@ float T_Config_Queue_Compare(float root, float child, entity pass)
 {
        float i, r, c;
 
-       for(i = 1; i <= 100; ++i)
-       {
+       for (i = 1; i <= 100; ++i) {
                r = str2chr(config_queue[root], i);
                c = str2chr(config_queue[child], i);
-               if(r == c) { continue; }
-               else if(c > r) { return -1; }
-               else { return 1; }
+               if (r == c) { continue; } else if (c > r) {
+                       return -1;
+               else { return 1; }
        }
 
        return 0;
@@ -34,8 +33,9 @@ void Dump_Turret_Settings()
        FOREACH(Turrets, it != TUR_Null, {
                // step 1: clear the queue
                TUR_CONFIG_COUNT = 0;
-               for(int j = 0; j <= MAX_CONFIG_SETTINGS; ++j)
+               for (int j = 0; j <= MAX_CONFIG_SETTINGS; ++j) {
                        config_queue[j] = string_null;
+               }
 
                // step 2: build new queue
                it.tr_config(it);
@@ -45,19 +45,21 @@ void Dump_Turret_Settings()
 
                // step 4: write queue
                TUR_CONFIG_WRITETOFILE(sprintf("// {{{ #%d: %s\n", i, it.turret_name))
-               for(int j = 0; j <= TUR_CONFIG_COUNT; ++j)
+               for (int j = 0; j <= TUR_CONFIG_COUNT; ++j) {
                        TUR_CONFIG_WRITETOFILE(config_queue[j])
-               TUR_CONFIG_WRITETOFILE("// }}}\n")
+                       TUR_CONFIG_WRITETOFILE("// }}}\n")
 
-               // step 5: debug info
-               LOG_INFOF("#%d: %s: %d settings...", i, it.turret_name, TUR_CONFIG_COUNT);
+                   // step 5: debug info
+                       LOG_INFOF("#%d: %s: %d settings...", i, it.turret_name, TUR_CONFIG_COUNT);
+               }
                totalsettings += TUR_CONFIG_COUNT;
        });
 
        // clear queue now that we're finished
        TUR_CONFIG_COUNT = 0;
-       for(int j = 0; j <= MAX_CONFIG_SETTINGS; ++j)
+       for (int j = 0; j <= MAX_CONFIG_SETTINGS; ++j) {
                config_queue[j] = string_null;
+       }
 
        // extra information
        LOG_INFOF("Totals: %d turrets, %d settings", (Turrets_COUNT - 1), totalsettings);
index ac09e9e37248f3f5320a1df3267f758820140126..206aa8c31070883b9b65864ab2b7919d9eb1fd7b 100644 (file)
@@ -7,9 +7,10 @@ float tur_config_file;
 float tur_config_alsoprint;
 
 float TUR_CONFIG_COUNT;
-#define TUR_CONFIG_WRITETOFILE(a) { \
-       fputs(tur_config_file, a); \
-       if(tur_config_alsoprint) { LOG_INFO(a); } }
+#define TUR_CONFIG_WRITETOFILE(a) \
+       { \
+               fputs(tur_config_file, a); \
+               if (tur_config_alsoprint) { LOG_INFO(a); } }
 
 
 #endif
index 41a7bd962dc6e8a19ffcef03eb4291db7e55ed29..9fae21bca982afb991c2c55f421fdbe7f10fc9ea 100644 (file)
@@ -9,26 +9,26 @@ bool turret_firecheck(entity this);
 entity turret_select_target(entity this);
 
 // turret fields
-.float ticrate; // interal ai think rate
-.entity tur_head; // top part of the turret
-.entity tur_defend; // defend this entity
-.vector tur_shotorg; // shot origin
-.vector tur_aimpos; // aiming location
-.float tur_impacttime; // predicted projectile impact time
-.entity tur_impactent; // entity the projectile hit
-.float tur_dist_enemy; // distance to enemy
-.float tur_dist_aimpos; // distance to aim location
+.float ticrate;                   // interal ai think rate
+.entity tur_head;                 // top part of the turret
+.entity tur_defend;               // defend this entity
+.vector tur_shotorg;              // shot origin
+.vector tur_aimpos;               // aiming location
+.float tur_impacttime;            // predicted projectile impact time
+.entity tur_impactent;            // entity the projectile hit
+.float tur_dist_enemy;            // distance to enemy
+.float tur_dist_aimpos;           // distance to aim location
 .float tur_dist_impact_to_aimpos; // distance impact<->aim
-.float volly_counter; // decrement counter from .shot_volly to 0
+.float volly_counter;             // decrement counter from .shot_volly to 0
 
-.float shot_refire; // attack refire
-.float shot_speed; // projectile speed
-.float shot_spread; // inaccuracy
-.float shot_dmg; // core damage of projectile
-.float shot_radius; // projectile damage radius
-.float shot_force; // projectile damage force
-.float shot_volly; // smaller than 1 = shoot # times at target
-.float shot_volly_refire; // refire after completed volly
+.float shot_refire;               // attack refire
+.float shot_speed;                // projectile speed
+.float shot_spread;               // inaccuracy
+.float shot_dmg;                  // core damage of projectile
+.float shot_radius;               // projectile damage radius
+.float shot_force;                // projectile damage force
+.float shot_volly;                // smaller than 1 = shoot # times at target
+.float shot_volly_refire;         // refire after completed volly
 
 .float target_range;
 .float target_range_min;
@@ -39,7 +39,7 @@ entity turret_select_target(entity this);
 .float target_select_anglebias;
 .float target_select_missilebias;
 .float target_select_playerbias;
-.float target_select_time; // last time turret had a valid target
+.float target_select_time;   // last time turret had a valid target
 .float target_validate_time; // throttle re-validation of current target
 
 .float aim_firetolerance_dist;
@@ -47,9 +47,9 @@ entity turret_select_target(entity this);
 .float aim_maxpitch;
 .float aim_maxrotate;
 
-.float ammo; // current ammo
+.float ammo;          // current ammo
 .float ammo_recharge; // recharge rate
-.float ammo_max; // maximum ammo
+.float ammo_max;      // maximum ammo
 
 .vector idle_aim;
 
@@ -70,7 +70,7 @@ entity turret_select_target(entity this);
 
 // tracking type
 .float track_type;
-const float TFL_TRACKTYPE_STEPMOTOR = 1; // hard angle increments, ugly for fast turning with best accuracy
+const float TFL_TRACKTYPE_STEPMOTOR = 1;    // hard angle increments, ugly for fast turning with best accuracy
 const float TFL_TRACKTYPE_FLUIDPRECISE = 2; // smooth absolute movement, looks OK with fair accuracy
 const float TFL_TRACKTYPE_FLUIDINERTIA = 3; // simulated inertia ("wobbly" mode), worst accuracy, depends on below flags
 .float track_accel_pitch;
@@ -92,7 +92,7 @@ bool turret_initialize(entity this, Turret tur);
 /// Function to use for target evaluation. usualy turret_targetscore_generic
 .float(entity _turret, entity _target) turret_score_target;
 
-.bool(entity this, entity e_target,entity e_sender) turret_addtarget;
+.bool(entity this, entity e_target, entity e_sender) turret_addtarget;
 
 .entity pathcurrent;
 
@@ -102,22 +102,22 @@ float turret_count;
 
 // debugging
 // Uncomment below to enable various debug output.
-//#define TURRET_DEBUG
-//#define TURRET_DEBUG_TARGETVALIDATE
-//#define TURRET_DEBUG_TARGETSELECT
+// #define TURRET_DEBUG
+// #define TURRET_DEBUG_TARGETVALIDATE
+// #define TURRET_DEBUG_TARGETSELECT
 #ifdef TURRET_DEBUG
 .float tur_debug_dmg_t_h; // total damage that hit something (can be more than tur_debug_dmg_t_f since it should count radius damage)
 .float tur_debug_dmg_t_f; // total damage
-.float tur_debug_start; // turret initialization time
-.float tur_debug_tmr1; // random timer
-.float tur_debug_tmr2; // random timer
-.float tur_debug_tmr3; // random timer
-.vector tur_debug_rvec; // random vector
+.float tur_debug_start;   // turret initialization time
+.float tur_debug_tmr1;    // random timer
+.float tur_debug_tmr2;    // random timer
+.float tur_debug_tmr3;    // random timer
+.vector tur_debug_rvec;   // random vector
 #endif
 
 // aiming
 vector tvt_thadv; // turret head angle diff vector, updated by a successful call to turret_validate_target
-vector tvt_tadv; // turret angle diff vector, updated by a successful call to turret_validate_target
-float tvt_thadf; // turret head angle diff float, updated by a successful call to turret_validate_target
-float tvt_tadf; // turret angle diff float, updated by a successful call to turret_validate_target
-float tvt_dist; // turret distance, updated by a successful call to turret_validate_target
+vector tvt_tadv;  // turret angle diff vector, updated by a successful call to turret_validate_target
+float tvt_thadf;  // turret head angle diff float, updated by a successful call to turret_validate_target
+float tvt_tadf;   // turret angle diff float, updated by a successful call to turret_validate_target
+float tvt_dist;   // turret distance, updated by a successful call to turret_validate_target
index d64616f50354ca6ad092c4a0b1dae10a6ef8881b..c8887349e99932f963ca4913fa372c6b46697b7c 100644 (file)
@@ -7,25 +7,25 @@ void turret_targettrigger_touch(entity this, entity toucher);
 
 void turret_targettrigger_touch(entity this, entity toucher)
 {
-    if (this.cnt > time) return;
-    IL_EACH(g_turrets, it.targetname == this.target,
-    {
-        if (!(it.turret_flags & TUR_FLAG_RECIEVETARGETS)) continue;
-        if (!it.turret_addtarget) continue;
-        it.turret_addtarget(it, toucher, this);
-    });
-    this.cnt = time + 0.5;
+       if (this.cnt > time) { return; }
+       IL_EACH(g_turrets, it.targetname == this.target,
+       {
+               if (!(it.turret_flags & TUR_FLAG_RECIEVETARGETS)) { continue; }
+               if (!it.turret_addtarget) { continue; }
+               it.turret_addtarget(it, toucher, this);
+       });
+       this.cnt = time + 0.5;
 }
 
 /*QUAKED turret_targettrigger (.5 .5 .5) ?
 */
 spawnfunc(turret_targettrigger)
 {
-    if(!autocvar_g_turrets) { delete(this); return; }
+       if (!autocvar_g_turrets) { delete(this); return; }
 
-    InitTrigger(this);
+       InitTrigger(this);
 
-    settouch(this, turret_targettrigger_touch);
+       settouch(this, turret_targettrigger_touch);
 }
 
 #endif
index 5625d23fc935e8be8453afb9517ef40e333243a8..72c2f0f750e44df36c1514f6383fc994d9454661 100644 (file)
@@ -16,201 +16,191 @@ const int ewheel_anim_bck_fast = 4;
 
 void ewheel_move_path(entity this)
 {
-    // Are we close enough to a path node to switch to the next?
-    if(vdist(this.origin - this.pathcurrent.origin, <, 64))
-    {
+       // Are we close enough to a path node to switch to the next?
+       if (vdist(this.origin - this.pathcurrent.origin, <, 64)) {
 #ifdef EWHEEL_FANCYPATH
-        if (this.pathcurrent.path_next == NULL)
-        {
-            // Path endpoint reached
-            pathlib_deletepath(this.pathcurrent.owner);
-            this.pathcurrent = NULL;
-
-            if (this.pathgoal)
-            {
-                if (this.pathgoal.use)
-                    this.pathgoal.use(this.pathgoal, NULL, NULL);
-
-                if (this.pathgoal.enemy)
-                {
-                    this.pathcurrent = pathlib_astar(this, this.pathgoal.origin,this.pathgoal.enemy.origin);
-                    this.pathgoal = this.pathgoal.enemy;
-                }
-            }
-            else
-                this.pathgoal = NULL;
-        }
-        else
-            this.pathcurrent = this.pathcurrent.path_next;
+               if (this.pathcurrent.path_next == NULL) {
+                       // Path endpoint reached
+                       pathlib_deletepath(this.pathcurrent.owner);
+                       this.pathcurrent = NULL;
+
+                       if (this.pathgoal) {
+                               if (this.pathgoal.use) {
+                                       this.pathgoal.use(this.pathgoal, NULL, NULL);
+                               }
+
+                               if (this.pathgoal.enemy) {
+                                       this.pathcurrent = pathlib_astar(this, this.pathgoal.origin, this.pathgoal.enemy.origin);
+                                       this.pathgoal = this.pathgoal.enemy;
+                               }
+                       } else {
+                               this.pathgoal = NULL;
+                       }
+               } else {
+                       this.pathcurrent = this.pathcurrent.path_next;
+               }
 #else
-        this.pathcurrent = this.pathcurrent.enemy;
+               this.pathcurrent = this.pathcurrent.enemy;
 #endif
-    }
+       }
 
-    if (this.pathcurrent)
-    {
+       if (this.pathcurrent) {
+               this.moveto = this.pathcurrent.origin;
+               this.steerto = steerlib_attract2(this, this.moveto, 0.5, 500, 0.95);
 
-        this.moveto = this.pathcurrent.origin;
-        this.steerto = steerlib_attract2(this, this.moveto, 0.5, 500, 0.95);
-
-        movelib_move_simple(this, v_forward, (autocvar_g_turrets_unit_ewheel_speed_fast), 0.4);
-    }
+               movelib_move_simple(this, v_forward, (autocvar_g_turrets_unit_ewheel_speed_fast), 0.4);
+       }
 }
 
 void ewheel_move_enemy(entity this)
 {
-    int newframe;
-
-    this.steerto = steerlib_arrive(this, this.enemy.origin,this.target_range_optimal);
-
-    this.moveto = this.origin + this.steerto * 128;
-
-    if (this.tur_dist_enemy > this.target_range_optimal)
-    {
-        if ( this.tur_head.spawnshieldtime < 1 )
-        {
-            newframe = ewheel_anim_fwd_fast;
-            movelib_move_simple(this, v_forward, (autocvar_g_turrets_unit_ewheel_speed_fast), 0.4);
-        }
-        else if (this.tur_head.spawnshieldtime < 2)
-        {
-
-            newframe = ewheel_anim_fwd_slow;
-            movelib_move_simple(this, v_forward, (autocvar_g_turrets_unit_ewheel_speed_slow), 0.4);
-       }
-        else
-        {
-            newframe = ewheel_anim_fwd_slow;
-            movelib_move_simple(this, v_forward, (autocvar_g_turrets_unit_ewheel_speed_slower), 0.4);
-        }
-    }
-    else if (this.tur_dist_enemy < this.target_range_optimal * 0.5)
-    {
-        newframe = ewheel_anim_bck_slow;
-        movelib_move_simple(this, v_forward * -1, (autocvar_g_turrets_unit_ewheel_speed_slow), 0.4);
-    }
-    else
-    {
-        newframe = ewheel_anim_stop;
-        movelib_brake_simple(this, (autocvar_g_turrets_unit_ewheel_speed_stop));
-    }
-
-    turrets_setframe(this, newframe, false);
+       int newframe;
+
+       this.steerto = steerlib_arrive(this, this.enemy.origin, this.target_range_optimal);
+
+       this.moveto = this.origin + this.steerto * 128;
+
+       if (this.tur_dist_enemy > this.target_range_optimal) {
+               if (this.tur_head.spawnshieldtime < 1) {
+                       newframe = ewheel_anim_fwd_fast;
+                       movelib_move_simple(this, v_forward, (autocvar_g_turrets_unit_ewheel_speed_fast), 0.4);
+               } else if (this.tur_head.spawnshieldtime < 2) {
+                       newframe = ewheel_anim_fwd_slow;
+                       movelib_move_simple(this, v_forward, (autocvar_g_turrets_unit_ewheel_speed_slow), 0.4);
+               } else {
+                       newframe = ewheel_anim_fwd_slow;
+                       movelib_move_simple(this, v_forward, (autocvar_g_turrets_unit_ewheel_speed_slower), 0.4);
+               }
+       } else if (this.tur_dist_enemy < this.target_range_optimal * 0.5) {
+               newframe = ewheel_anim_bck_slow;
+               movelib_move_simple(this, v_forward * -1, (autocvar_g_turrets_unit_ewheel_speed_slow), 0.4);
+       } else {
+               newframe = ewheel_anim_stop;
+               movelib_brake_simple(this, (autocvar_g_turrets_unit_ewheel_speed_stop));
+       }
+
+       turrets_setframe(this, newframe, false);
 }
 
 void ewheel_move_idle(entity this)
 {
-    if(this.frame != 0)
-    {
-        this.SendFlags |= TNSF_ANIM;
-        this.anim_start_time = time;
-    }
-
-    this.frame = 0;
-    if(this.velocity)
-        movelib_brake_simple(this, (autocvar_g_turrets_unit_ewheel_speed_stop));
+       if (this.frame != 0) {
+               this.SendFlags |= TNSF_ANIM;
+               this.anim_start_time = time;
+       }
+
+       this.frame = 0;
+       if (this.velocity) {
+               movelib_brake_simple(this, (autocvar_g_turrets_unit_ewheel_speed_stop));
+       }
 }
 
 void ewheel_findtarget(entity this)
 {
-    entity e = find(NULL, targetname, this.target);
-    if (!e)
-    {
-        LOG_TRACE("Initital waypoint for ewheel does NOT exist, fix your map!");
-        this.target = "";
-    }
-
-    if (e.classname != "turret_checkpoint")
-        LOG_TRACE("Warning: not a turret path");
-    else
-    {
-
+       entity e = find(NULL, targetname, this.target);
+       if (!e) {
+               LOG_TRACE("Initital waypoint for ewheel does NOT exist, fix your map!");
+               this.target = "";
+       }
+
+       if (e.classname != "turret_checkpoint") {
+               LOG_TRACE("Warning: not a turret path");
+       } else {
 #ifdef EWHEEL_FANCYPATH
-        this.pathcurrent = pathlib_astar(this, this.origin, e.origin);
-        this.pathgoal = e;
+               this.pathcurrent = pathlib_astar(this, this.origin, e.origin);
+               this.pathgoal = e;
 #else
-        this.pathcurrent  = e;
+               this.pathcurrent  = e;
 #endif
-    }
+       }
 }
 
-spawnfunc(turret_ewheel) { if(!turret_initialize(this, TUR_EWHEEL)) delete(this); }
+spawnfunc(turret_ewheel)
+{
+       if (!turret_initialize(this, TUR_EWHEEL)) {
+               delete(this);
+       }
+}
 
 METHOD(EWheel, tr_think, void(EWheel thistur, entity it))
 {
-    vector wish_angle, real_angle;
+       vector wish_angle, real_angle;
 
-    float vz = it.velocity_z;
+       float vz = it.velocity_z;
 
-    it.angles_x = anglemods(it.angles_x);
-    it.angles_y = anglemods(it.angles_y);
+       it.angles_x = anglemods(it.angles_x);
+       it.angles_y = anglemods(it.angles_y);
 
-    fixedmakevectors(it.angles);
+       fixedmakevectors(it.angles);
 
-    wish_angle = normalize(it.steerto);
-    wish_angle = vectoangles(wish_angle);
-    real_angle = wish_angle - it.angles;
-    real_angle = shortangle_vxy(real_angle, it.tur_head.angles);
+       wish_angle = normalize(it.steerto);
+       wish_angle = vectoangles(wish_angle);
+       real_angle = wish_angle - it.angles;
+       real_angle = shortangle_vxy(real_angle, it.tur_head.angles);
 
-    it.tur_head.spawnshieldtime = fabs(real_angle_y);
-    real_angle_y  = bound(-it.tur_head.aim_speed, real_angle_y, it.tur_head.aim_speed);
-    it.angles_y = (it.angles_y + real_angle_y);
+       it.tur_head.spawnshieldtime = fabs(real_angle_y);
+       real_angle_y  = bound(-it.tur_head.aim_speed, real_angle_y, it.tur_head.aim_speed);
+       it.angles_y = (it.angles_y + real_angle_y);
 
-    if(it.enemy)
-        ewheel_move_enemy(it);
-    else if(it.pathcurrent)
-        ewheel_move_path(it);
-    else
-        ewheel_move_idle(it);
+       if (it.enemy) {
+               ewheel_move_enemy(it);
+       } else if (it.pathcurrent) {
+               ewheel_move_path(it);
+       } else {
+               ewheel_move_idle(it);
+       }
 
-    it.velocity_z = vz;
+       it.velocity_z = vz;
 
-    if(it.velocity)
-        it.SendFlags |= TNSF_MOVE;
+       if (it.velocity) {
+               it.SendFlags |= TNSF_MOVE;
+       }
 }
 
 METHOD(EWheel, tr_death, void(EWheel this, entity it))
 {
-    it.velocity = '0 0 0';
+       it.velocity = '0 0 0';
 
 #ifdef EWHEEL_FANCYPATH
-    if (it.pathcurrent)
-        pathlib_deletepath(it.pathcurrent.owner);
+       if (it.pathcurrent) {
+               pathlib_deletepath(it.pathcurrent.owner);
+       }
 #endif
-    it.pathcurrent = NULL;
+       it.pathcurrent = NULL;
 }
 
 METHOD(EWheel, tr_setup, void(EWheel this, entity it))
 {
-    if(it.move_movetype == MOVETYPE_WALK)
-    {
-        it.velocity = '0 0 0';
-        it.enemy = NULL;
-
-        setorigin(it, it.pos1);
-
-        if (it.target != "")
-            InitializeEntity(it, ewheel_findtarget, INITPRIO_FINDTARGET);
-    }
-
-    it.iscreature                              = true;
-    it.teleportable                    = TELEPORT_NORMAL;
-    if(!it.damagedbycontents)
-        IL_PUSH(g_damagedbycontents, it);
-    it.damagedbycontents        = true;
-    set_movetype(it, MOVETYPE_WALK);
-    it.solid                                   = SOLID_SLIDEBOX;
-    it.takedamage                              = DAMAGE_AIM;
-    it.idle_aim                                = '0 0 0';
-    it.pos1                                    = it.origin;
-    it.target_select_flags     = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_RANGELIMITS | TFL_TARGETSELECT_TEAMCHECK | TFL_TARGETSELECT_LOS;
-    it.target_validate_flags   = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_RANGELIMITS | TFL_TARGETSELECT_TEAMCHECK | TFL_TARGETSELECT_LOS;
-    it.frame                                   = it.tur_head.frame = 1;
-    it.ammo_flags                              = TFL_AMMO_ENERGY | TFL_AMMO_RECHARGE | TFL_AMMO_RECIEVE;
-
-    // Convert from dgr / sec to dgr / tic
-    it.tur_head.aim_speed = (autocvar_g_turrets_unit_ewheel_turnrate);
-    it.tur_head.aim_speed = it.tur_head.aim_speed / (1 / it.ticrate);
+       if (it.move_movetype == MOVETYPE_WALK) {
+               it.velocity = '0 0 0';
+               it.enemy = NULL;
+
+               setorigin(it, it.pos1);
+
+               if (it.target != "") {
+                       InitializeEntity(it, ewheel_findtarget, INITPRIO_FINDTARGET);
+               }
+       }
+
+       it.iscreature               = true;
+       it.teleportable         = TELEPORT_NORMAL;
+       if (!it.damagedbycontents) {
+               IL_PUSH(g_damagedbycontents, it);
+       }
+       it.damagedbycontents        = true;
+       set_movetype(it, MOVETYPE_WALK);
+       it.solid                    = SOLID_SLIDEBOX;
+       it.takedamage               = DAMAGE_AIM;
+       it.idle_aim             = '0 0 0';
+       it.pos1                 = it.origin;
+       it.target_select_flags  = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_RANGELIMITS | TFL_TARGETSELECT_TEAMCHECK | TFL_TARGETSELECT_LOS;
+       it.target_validate_flags    = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_RANGELIMITS | TFL_TARGETSELECT_TEAMCHECK | TFL_TARGETSELECT_LOS;
+       it.frame                    = it.tur_head.frame = 1;
+       it.ammo_flags               = TFL_AMMO_ENERGY | TFL_AMMO_RECHARGE | TFL_AMMO_RECIEVE;
+
+       // Convert from dgr / sec to dgr / tic
+       it.tur_head.aim_speed = (autocvar_g_turrets_unit_ewheel_turnrate);
+       it.tur_head.aim_speed = it.tur_head.aim_speed / (1 / it.ticrate);
 }
 
 #endif // SVQC
@@ -218,28 +208,31 @@ METHOD(EWheel, tr_setup, void(EWheel this, entity it))
 
 void ewheel_draw(entity this)
 {
-    float dt;
-
-    dt = time - this.move_time;
-    this.move_time = time;
-    if(dt <= 0)
-        return;
-
-    fixedmakevectors(this.angles);
-    setorigin(this, this.origin + this.velocity * dt);
-    this.tur_head.angles += dt * this.tur_head.avelocity;
-
-    if (this.health < 127)
-    if(random() < 0.05)
-        te_spark(this.origin + '0 0 40', randomvec() * 256 + '0 0 256', 16);
+       float dt;
+
+       dt = time - this.move_time;
+       this.move_time = time;
+       if (dt <= 0) {
+               return;
+       }
+
+       fixedmakevectors(this.angles);
+       setorigin(this, this.origin + this.velocity * dt);
+       this.tur_head.angles += dt * this.tur_head.avelocity;
+
+       if (this.health < 127) {
+               if (random() < 0.05) {
+                       te_spark(this.origin + '0 0 40', randomvec() * 256 + '0 0 256', 16);
+               }
+       }
 }
 
-        METHOD(EWheel, tr_setup, void(EWheel this, entity it))
-        {
-            it.gravity         = 1;
-            set_movetype(it, MOVETYPE_BOUNCE);
-            it.move_time               = time;
-            it.draw                    = ewheel_draw;
-        }
+METHOD(EWheel, tr_setup, void(EWheel this, entity it))
+{
+       it.gravity      = 1;
+       set_movetype(it, MOVETYPE_BOUNCE);
+       it.move_time        = time;
+       it.draw         = ewheel_draw;
+}
 
 #endif // CSQC
index ed1a5a6307173d540291b8596145307c278bb5ae..af5a3a71807b69bb2f1c07d93efd81d136eb06b6 100644 (file)
@@ -1,6 +1,6 @@
 #pragma once
 
-//#define EWHEEL_FANCYPATH
+// #define EWHEEL_FANCYPATH
 
 #include "ewheel_weapon.qh"
 
@@ -13,6 +13,6 @@ CLASS(EWheel, Turret)
 /* head_model */ ATTRIB_STRZONE(EWheel, head_model, string, strcat("models/turrets/", "ewheel-gun1.md3"));
 /* netname    */ ATTRIB(EWheel, netname, string, "ewheel");
 /* fullname   */ ATTRIB(EWheel, turret_name, string, _("eWheel Turret"));
-    ATTRIB(EWheel, m_weapon, Weapon, WEP_EWHEEL);
+       ATTRIB(EWheel, m_weapon, Weapon, WEP_EWHEEL);
 ENDCLASS(EWheel)
 REGISTER_TURRET(EWHEEL, NEW(EWheel));
index fc22c3086c861505e57b49baff564297a74a1b26..df73c271f6adce41b8614ca26329bba0c2b2b9e1 100644 (file)
@@ -4,33 +4,36 @@
 
 void turret_initparams(entity);
 SOUND(EWheelAttack_FIRE, W_Sound("electro_fire"));
-METHOD(EWheelAttack, wr_think, void(entity thiswep, entity actor, .entity weaponentity, int fire)) {
-    bool isPlayer = IS_PLAYER(actor);
-    if (fire & 1)
-    if (!isPlayer || weapon_prepareattack(thiswep, actor, weaponentity, false, WEP_CVAR_PRI(electro, refire))) {
-        if (isPlayer) {
-            turret_initparams(actor);
-            W_SetupShot_Dir(actor, weaponentity, v_forward, false, 0, SND_EWheelAttack_FIRE, CH_WEAPON_B, 0);
-            actor.tur_shotdir_updated = w_shotdir;
-            actor.tur_shotorg = w_shotorg;
-            actor.tur_head = actor;
-            weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, WEP_CVAR_PRI(electro, animtime), w_ready);
-        }
-
-        turret_do_updates(actor);
-
-        entity missile = turret_projectile(actor, SND_LASERGUN_FIRE, 1, 0, DEATH_TURRET_EWHEEL.m_id, PROJECTILE_BLASTER, true, true);
-        missile.missile_flags = MIF_SPLASH;
-
-        Send_Effect(EFFECT_BLASTER_MUZZLEFLASH, actor.tur_shotorg, actor.tur_shotdir_updated * 1000, 1);
-
-        if (!isPlayer) {
-            actor.tur_head.frame += 2;
-
-            if (actor.tur_head.frame > 3)
-                actor.tur_head.frame = 0;
-        }
-    }
+METHOD(EWheelAttack, wr_think, void(entity thiswep, entity actor, .entity weaponentity, int fire))
+{
+       bool isPlayer = IS_PLAYER(actor);
+       if (fire & 1) {
+               if (!isPlayer || weapon_prepareattack(thiswep, actor, weaponentity, false, WEP_CVAR_PRI(electro, refire))) {
+                       if (isPlayer) {
+                               turret_initparams(actor);
+                               W_SetupShot_Dir(actor, weaponentity, v_forward, false, 0, SND_EWheelAttack_FIRE, CH_WEAPON_B, 0);
+                               actor.tur_shotdir_updated = w_shotdir;
+                               actor.tur_shotorg = w_shotorg;
+                               actor.tur_head = actor;
+                               weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, WEP_CVAR_PRI(electro, animtime), w_ready);
+                       }
+
+                       turret_do_updates(actor);
+
+                       entity missile = turret_projectile(actor, SND_LASERGUN_FIRE, 1, 0, DEATH_TURRET_EWHEEL.m_id, PROJECTILE_BLASTER, true, true);
+                       missile.missile_flags = MIF_SPLASH;
+
+                       Send_Effect(EFFECT_BLASTER_MUZZLEFLASH, actor.tur_shotorg, actor.tur_shotdir_updated * 1000, 1);
+
+                       if (!isPlayer) {
+                               actor.tur_head.frame += 2;
+
+                               if (actor.tur_head.frame > 3) {
+                                       actor.tur_head.frame = 0;
+                               }
+                       }
+               }
+       }
 }
 
 #endif
index 6a81bc2c9919d28d04c8fea015593803a51b27cd..40fbfdbe30a03918c52e578bec377deb70c575d8 100644 (file)
@@ -2,14 +2,19 @@
 
 #ifdef SVQC
 
-spawnfunc(turret_flac) { if (!turret_initialize(this, TUR_FLAC)) delete(this); }
+spawnfunc(turret_flac)
+{
+       if (!turret_initialize(this, TUR_FLAC)) {
+               delete(this);
+       }
+}
 
 METHOD(Flac, tr_setup, void(Flac this, entity it))
 {
-    it.ammo_flags = TFL_AMMO_ROCKETS | TFL_AMMO_RECHARGE;
-    it.aim_flags = TFL_AIM_LEAD | TFL_AIM_SHOTTIMECOMPENSATE;
-    it.damage_flags |= TFL_DMG_HEADSHAKE;
-    it.target_select_flags |= TFL_TARGETSELECT_NOTURRETS | TFL_TARGETSELECT_MISSILESONLY;
+       it.ammo_flags = TFL_AMMO_ROCKETS | TFL_AMMO_RECHARGE;
+       it.aim_flags = TFL_AIM_LEAD | TFL_AIM_SHOTTIMECOMPENSATE;
+       it.damage_flags |= TFL_DMG_HEADSHAKE;
+       it.target_select_flags |= TFL_TARGETSELECT_NOTURRETS | TFL_TARGETSELECT_MISSILESONLY;
 }
 
 #endif
index 216dcd71f8dea2069369656407e46319ce9a33b4..34a7997d60ab73299c3c24c69e3562e60d82baad 100644 (file)
@@ -11,6 +11,6 @@ CLASS(Flac, Turret)
 /* head_model */ ATTRIB_STRZONE(Flac, head_model, string, strcat("models/turrets/", "flac.md3"));
 /* netname    */ ATTRIB(Flac, netname, string, "flac");
 /* fullname   */ ATTRIB(Flac, turret_name, string, _("FLAC Cannon"));
-    ATTRIB(Flac, m_weapon, Weapon, WEP_FLAC);
+       ATTRIB(Flac, m_weapon, Weapon, WEP_FLAC);
 ENDCLASS(Flac)
 REGISTER_TURRET(FLAC, NEW(Flac));
index 10d53aa08f527e64dd53ce05d92a0329d54d8465..9021b3e2ff49fe3061746f525d4ac2ae5ca2e637 100644 (file)
@@ -4,50 +4,55 @@
 
 void turret_flac_projectile_think_explode(entity this);
 SOUND(FlacAttack_FIRE, W_Sound("electro_fire"));
-METHOD(FlacAttack, wr_think, void(entity thiswep, entity actor, .entity weaponentity, int fire)) {
-    bool isPlayer = IS_PLAYER(actor);
-    if (fire & 1)
-    if (!isPlayer || weapon_prepareattack(thiswep, actor, weaponentity, false, WEP_CVAR_PRI(electro, refire))) {
-        if (isPlayer) {
-            turret_initparams(actor);
-            W_SetupShot_Dir(actor, weaponentity, v_forward, false, 0, SND_FlacAttack_FIRE, CH_WEAPON_B, 0);
-            actor.tur_shotdir_updated = w_shotdir;
-            actor.tur_shotorg = w_shotorg;
-            actor.tur_head = actor;
-            actor.tur_impacttime = 10;
-            weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, WEP_CVAR_PRI(electro, animtime), w_ready);
-        }
-
-        turret_tag_fire_update(actor);
-
-        entity proj = turret_projectile(actor, SND_HAGAR_FIRE, 5, 0, DEATH_TURRET_FLAC.m_id, PROJECTILE_HAGAR, true, true);
-        proj.missile_flags = MIF_SPLASH | MIF_PROXY;
-        setthink(proj, turret_flac_projectile_think_explode);
-        proj.nextthink  = time + actor.tur_impacttime + (random() * 0.01 - random() * 0.01);
-        Send_Effect(EFFECT_BLASTER_MUZZLEFLASH, actor.tur_shotorg, actor.tur_shotdir_updated * 1000, 1);
-
-        if (!isPlayer) {
-            actor.tur_head.frame = actor.tur_head.frame + 1;
-            if (actor.tur_head.frame >= 4)
-                actor.tur_head.frame = 0;
-        }
-    }
+METHOD(FlacAttack, wr_think, void(entity thiswep, entity actor, .entity weaponentity, int fire))
+{
+       bool isPlayer = IS_PLAYER(actor);
+       if (fire & 1) {
+               if (!isPlayer || weapon_prepareattack(thiswep, actor, weaponentity, false, WEP_CVAR_PRI(electro, refire))) {
+                       if (isPlayer) {
+                               turret_initparams(actor);
+                               W_SetupShot_Dir(actor, weaponentity, v_forward, false, 0, SND_FlacAttack_FIRE, CH_WEAPON_B, 0);
+                               actor.tur_shotdir_updated = w_shotdir;
+                               actor.tur_shotorg = w_shotorg;
+                               actor.tur_head = actor;
+                               actor.tur_impacttime = 10;
+                               weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, WEP_CVAR_PRI(electro, animtime), w_ready);
+                       }
+
+                       turret_tag_fire_update(actor);
+
+                       entity proj = turret_projectile(actor, SND_HAGAR_FIRE, 5, 0, DEATH_TURRET_FLAC.m_id, PROJECTILE_HAGAR, true, true);
+                       proj.missile_flags = MIF_SPLASH | MIF_PROXY;
+                       setthink(proj, turret_flac_projectile_think_explode);
+                       proj.nextthink  = time + actor.tur_impacttime + (random() * 0.01 - random() * 0.01);
+                       Send_Effect(EFFECT_BLASTER_MUZZLEFLASH, actor.tur_shotorg, actor.tur_shotdir_updated * 1000, 1);
+
+                       if (!isPlayer) {
+                               actor.tur_head.frame = actor.tur_head.frame + 1;
+                               if (actor.tur_head.frame >= 4) {
+                                       actor.tur_head.frame = 0;
+                               }
+                       }
+               }
+       }
 }
 
 void turret_flac_projectile_think_explode(entity this)
 {
-    if(this.enemy != NULL)
-    if(vdist(this.origin - this.enemy.origin, <, this.owner.shot_radius * 3))
-        setorigin(this, this.enemy.origin + randomvec() * this.owner.shot_radius);
+       if (this.enemy != NULL) {
+               if (vdist(this.origin - this.enemy.origin, <, this.owner.shot_radius * 3)) {
+                       setorigin(this, this.enemy.origin + randomvec() * this.owner.shot_radius);
+               }
+       }
 
 #ifdef TURRET_DEBUG
-    float d = RadiusDamage (this, this.owner, this.owner.shot_dmg, this.owner.shot_dmg, this.owner.shot_radius, this, NULL, this.owner.shot_force, this.totalfrags, NULL);
-    this.owner.tur_dbg_dmg_t_h = this.owner.tur_dbg_dmg_t_h + d;
-    this.owner.tur_dbg_dmg_t_f = this.owner.tur_dbg_dmg_t_f + this.owner.shot_dmg;
+       float d = RadiusDamage(this, this.owner, this.owner.shot_dmg, this.owner.shot_dmg, this.owner.shot_radius, this, NULL, this.owner.shot_force, this.totalfrags, NULL);
+       this.owner.tur_dbg_dmg_t_h = this.owner.tur_dbg_dmg_t_h + d;
+       this.owner.tur_dbg_dmg_t_f = this.owner.tur_dbg_dmg_t_f + this.owner.shot_dmg;
 #else
-    RadiusDamage (this, this.realowner, this.owner.shot_dmg, this.owner.shot_dmg, this.owner.shot_radius, this, NULL, this.owner.shot_force, this.totalfrags, NULL);
+       RadiusDamage(this, this.realowner, this.owner.shot_dmg, this.owner.shot_dmg, this.owner.shot_radius, this, NULL, this.owner.shot_force, this.totalfrags, NULL);
 #endif
-    delete(this);
+       delete(this);
 }
 
 #endif
index 32ac81d586cc7ecc9035d7accddf5aada188bbdb..a30c62ecbb75a290d2bbd08af28c98ecb4786ffa 100644 (file)
@@ -3,52 +3,60 @@
 #ifdef SVQC
 bool turret_fusionreactor_firecheck(entity this)
 {
-    entity targ = this.enemy;
-
-    switch(MUTATOR_CALLHOOK(FusionReactor_ValidTarget, this, targ))
-    {
-        case MUT_FUSREAC_TARG_VALID: { return true; }
-        case MUT_FUSREAC_TARG_INVALID: { return false; }
-    }
-
-    if((this.attack_finished_single[0] > time)
-    || (!targ)
-    || (IS_DEAD(targ))
-    || (this.ammo < this.shot_dmg)
-    || (targ.ammo >= targ.ammo_max)
-    || (vdist(targ.origin - this.origin, >, this.target_range))
-    || (this.team != targ.team)
-    || (!(targ.ammo_flags & TFL_AMMO_ENERGY))
-    ) { return false; }
-
-    return true;
+       entity targ = this.enemy;
+
+       switch (MUTATOR_CALLHOOK(FusionReactor_ValidTarget, this, targ)) {
+               case MUT_FUSREAC_TARG_VALID:
+               { return true;
+               }
+               case MUT_FUSREAC_TARG_INVALID:
+               { return false;
+               }
+       }
+
+       if ((this.attack_finished_single[0] > time)
+               || (!targ)
+               || (IS_DEAD(targ))
+               || (this.ammo < this.shot_dmg)
+               || (targ.ammo >= targ.ammo_max)
+               || (vdist(targ.origin - this.origin, >, this.target_range))
+               || (this.team != targ.team)
+               || (!(targ.ammo_flags & TFL_AMMO_ENERGY))
+       ) { return false; }
+
+       return true;
 }
 
-spawnfunc(turret_fusionreactor) { if (!turret_initialize(this, TUR_FUSIONREACTOR)) delete(this); }
+spawnfunc(turret_fusionreactor)
+{
+       if (!turret_initialize(this, TUR_FUSIONREACTOR)) {
+               delete(this);
+       }
+}
 
 METHOD(FusionReactor, tr_attack, void(FusionReactor this, entity it))
 {
-    it.enemy.ammo = min(it.enemy.ammo + it.shot_dmg,it.enemy.ammo_max);
-    vector fl_org = 0.5 * (it.enemy.absmin + it.enemy.absmax);
-    te_smallflash(fl_org);
+       it.enemy.ammo = min(it.enemy.ammo + it.shot_dmg, it.enemy.ammo_max);
+       vector fl_org = 0.5 * (it.enemy.absmin + it.enemy.absmax);
+       te_smallflash(fl_org);
 }
 METHOD(FusionReactor, tr_think, void(FusionReactor thistur, entity it))
 {
-    it.tur_head.avelocity = '0 250 0' * (it.ammo / it.ammo_max);
+       it.tur_head.avelocity = '0 250 0' * (it.ammo / it.ammo_max);
 }
 METHOD(FusionReactor, tr_setup, void(FusionReactor this, entity it))
 {
-    it.ammo_flags                              = TFL_AMMO_ENERGY | TFL_AMMO_RECHARGE;
-    it.target_select_flags     = TFL_TARGETSELECT_TEAMCHECK | TFL_TARGETSELECT_OWNTEAM | TFL_TARGETSELECT_RANGELIMITS;
-    it.firecheck_flags         = TFL_FIRECHECK_AMMO_OWN | TFL_FIRECHECK_AMMO_OTHER | TFL_FIRECHECK_DISTANCES | TFL_FIRECHECK_DEAD;
-    it.shoot_flags                     = TFL_SHOOT_HITALLVALID;
-    it.aim_flags                               = TFL_AIM_NO;
-    it.track_flags                     = TFL_TRACK_NO;
+       it.ammo_flags               = TFL_AMMO_ENERGY | TFL_AMMO_RECHARGE;
+       it.target_select_flags  = TFL_TARGETSELECT_TEAMCHECK | TFL_TARGETSELECT_OWNTEAM | TFL_TARGETSELECT_RANGELIMITS;
+       it.firecheck_flags      = TFL_FIRECHECK_AMMO_OWN | TFL_FIRECHECK_AMMO_OTHER | TFL_FIRECHECK_DISTANCES | TFL_FIRECHECK_DEAD;
+       it.shoot_flags          = TFL_SHOOT_HITALLVALID;
+       it.aim_flags                = TFL_AIM_NO;
+       it.track_flags          = TFL_TRACK_NO;
 
-    it.tur_head.scale = 0.75;
-    it.tur_head.avelocity = '0 50 0';
+       it.tur_head.scale = 0.75;
+       it.tur_head.avelocity = '0 50 0';
 
-    it.turret_firecheckfunc = turret_fusionreactor_firecheck;
+       it.turret_firecheckfunc = turret_fusionreactor_firecheck;
 }
 
 #endif
index 15dc36b3d7eadeb107446c3d257bd9c5a5a08eb9..5da28639a89e3835690be4a0cd5ec2e2c647b6af 100644 (file)
@@ -2,22 +2,29 @@
 
 #ifdef SVQC
 
-spawnfunc(turret_hellion) { if (!turret_initialize(this, TUR_HELLION)) delete(this); }
+spawnfunc(turret_hellion)
+{
+       if (!turret_initialize(this, TUR_HELLION)) {
+               delete(this);
+       }
+}
 
 METHOD(Hellion, tr_think, void(Hellion thistur, entity it))
 {
-    if (it.tur_head.frame != 0)
-        it.tur_head.frame += 1;
+       if (it.tur_head.frame != 0) {
+               it.tur_head.frame += 1;
+       }
 
-    if (it.tur_head.frame >= 7)
-        it.tur_head.frame = 0;
+       if (it.tur_head.frame >= 7) {
+               it.tur_head.frame = 0;
+       }
 }
 METHOD(Hellion, tr_setup, void(Hellion this, entity it))
 {
-    it.aim_flags = TFL_AIM_SIMPLE;
-    it.target_select_flags = TFL_TARGETSELECT_LOS | TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_RANGELIMITS | TFL_TARGETSELECT_TEAMCHECK ;
-    it.firecheck_flags = TFL_FIRECHECK_DEAD | TFL_FIRECHECK_DISTANCES | TFL_FIRECHECK_TEAMCHECK | TFL_FIRECHECK_REFIRE | TFL_FIRECHECK_AFF | TFL_FIRECHECK_AMMO_OWN;
-    it.ammo_flags = TFL_AMMO_ROCKETS | TFL_AMMO_RECHARGE;
+       it.aim_flags = TFL_AIM_SIMPLE;
+       it.target_select_flags = TFL_TARGETSELECT_LOS | TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_RANGELIMITS | TFL_TARGETSELECT_TEAMCHECK;
+       it.firecheck_flags = TFL_FIRECHECK_DEAD | TFL_FIRECHECK_DISTANCES | TFL_FIRECHECK_TEAMCHECK | TFL_FIRECHECK_REFIRE | TFL_FIRECHECK_AFF | TFL_FIRECHECK_AMMO_OWN;
+       it.ammo_flags = TFL_AMMO_ROCKETS | TFL_AMMO_RECHARGE;
 }
 
 #endif
index 216b4c7ec18f00e13304a99ed5e477f73db2be79..bb3202f3a4315477a0dc5abcd6c38f7febed2e5d 100644 (file)
@@ -11,6 +11,6 @@ CLASS(Hellion, Turret)
 /* head_model */ ATTRIB_STRZONE(Hellion, head_model, string, strcat("models/turrets/", "hellion.md3"));
 /* netname    */ ATTRIB(Hellion, netname, string, "hellion");
 /* fullname   */ ATTRIB(Hellion, turret_name, string, _("Hellion Missile Turret"));
-    ATTRIB(Hellion, m_weapon, Weapon, WEP_HELLION);
+       ATTRIB(Hellion, m_weapon, Weapon, WEP_HELLION);
 ENDCLASS(Hellion)
 REGISTER_TURRET(HELLION, NEW(Hellion));
index a1065dec1b12033916dc30437a2a9a92c9be62bd..84b905e064d7fe25ee0e562f75018200a10465d2 100644 (file)
@@ -7,97 +7,102 @@ float autocvar_g_turrets_unit_hellion_shot_speed_max;
 
 void turret_hellion_missile_think(entity this);
 SOUND(HellionAttack_FIRE, W_Sound("electro_fire"));
-METHOD(HellionAttack, wr_think, void(entity thiswep, entity actor, .entity weaponentity, int fire)) {
-    bool isPlayer = IS_PLAYER(actor);
-    if (fire & 1)
-    if (!isPlayer || weapon_prepareattack(thiswep, actor, weaponentity, false, WEP_CVAR_PRI(electro, refire))) {
-        if (isPlayer) {
-            turret_initparams(actor);
-            W_SetupShot_Dir(actor, weaponentity, v_forward, false, 0, SND_HellionAttack_FIRE, CH_WEAPON_B, 0);
-            actor.tur_shotdir_updated = w_shotdir;
-            actor.tur_shotorg = w_shotorg;
-            actor.tur_head = actor;
-            actor.shot_radius = 500;
-            weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, WEP_CVAR_PRI(electro, animtime), w_ready);
-        }
-        if (!isPlayer) {
-            if (actor.tur_head.frame != 0)
-                actor.tur_shotorg = gettaginfo(actor.tur_head, gettagindex(actor.tur_head, "tag_fire"));
-            else
-                actor.tur_shotorg = gettaginfo(actor.tur_head, gettagindex(actor.tur_head, "tag_fire2"));
-        }
-
-        entity missile = turret_projectile(actor, SND_ROCKET_FIRE, 6, 10, DEATH_TURRET_HELLION.m_id, PROJECTILE_ROCKET, false, false);
-        te_explosion (missile.origin);
-        setthink(missile, turret_hellion_missile_think);
-        missile.nextthink      = time;
-        missile.max_health   = time + 9;
-        missile.tur_aimpos   = randomvec() * 128;
-        missile.missile_flags = MIF_SPLASH | MIF_PROXY | MIF_GUIDED_HEAT;
-        if (!isPlayer) actor.tur_head.frame += 1;
-    }
+METHOD(HellionAttack, wr_think, void(entity thiswep, entity actor, .entity weaponentity, int fire))
+{
+       bool isPlayer = IS_PLAYER(actor);
+       if (fire & 1) {
+               if (!isPlayer || weapon_prepareattack(thiswep, actor, weaponentity, false, WEP_CVAR_PRI(electro, refire))) {
+                       if (isPlayer) {
+                               turret_initparams(actor);
+                               W_SetupShot_Dir(actor, weaponentity, v_forward, false, 0, SND_HellionAttack_FIRE, CH_WEAPON_B, 0);
+                               actor.tur_shotdir_updated = w_shotdir;
+                               actor.tur_shotorg = w_shotorg;
+                               actor.tur_head = actor;
+                               actor.shot_radius = 500;
+                               weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, WEP_CVAR_PRI(electro, animtime), w_ready);
+                       }
+                       if (!isPlayer) {
+                               if (actor.tur_head.frame != 0) {
+                                       actor.tur_shotorg = gettaginfo(actor.tur_head, gettagindex(actor.tur_head, "tag_fire"));
+                               } else {
+                                       actor.tur_shotorg = gettaginfo(actor.tur_head, gettagindex(actor.tur_head, "tag_fire2"));
+                               }
+                       }
+
+                       entity missile = turret_projectile(actor, SND_ROCKET_FIRE, 6, 10, DEATH_TURRET_HELLION.m_id, PROJECTILE_ROCKET, false, false);
+                       te_explosion(missile.origin);
+                       setthink(missile, turret_hellion_missile_think);
+                       missile.nextthink   = time;
+                       missile.max_health   = time + 9;
+                       missile.tur_aimpos   = randomvec() * 128;
+                       missile.missile_flags = MIF_SPLASH | MIF_PROXY | MIF_GUIDED_HEAT;
+                       if (!isPlayer) { actor.tur_head.frame += 1; }
+               }
+       }
 }
 
 void turret_hellion_missile_think(entity this)
 {
-    vector olddir,newdir;
-    vector pre_pos;
-    float itime;
-
-    this.nextthink = time + 0.05;
+       vector olddir, newdir;
+       vector pre_pos;
+       float itime;
 
-    olddir = normalize(this.velocity);
+       this.nextthink = time + 0.05;
 
-    if(this.max_health < time)
-        turret_projectile_explode(this);
+       olddir = normalize(this.velocity);
 
-    // Enemy dead? just keep on the current heading then.
-    if ((this.enemy == NULL) || (IS_DEAD(this.enemy)))
-    {
+       if (this.max_health < time) {
+               turret_projectile_explode(this);
+       }
 
-        // Make sure we dont return to tracking a respawned player
-        this.enemy = NULL;
+       // Enemy dead? just keep on the current heading then.
+       if ((this.enemy == NULL) || (IS_DEAD(this.enemy))) {
+               // Make sure we dont return to tracking a respawned player
+               this.enemy = NULL;
 
-        // Turn model
-        this.angles = vectoangles(this.velocity);
+               // Turn model
+               this.angles = vectoangles(this.velocity);
 
-        if(vdist(this.origin - this.owner.origin, >, (this.owner.shot_radius * 5)))
-            turret_projectile_explode(this);
+               if (vdist(this.origin - this.owner.origin, >, (this.owner.shot_radius * 5))) {
+                       turret_projectile_explode(this);
+               }
 
-        // Accelerate
-        this.velocity = olddir * min(vlen(this.velocity) * (autocvar_g_turrets_unit_hellion_shot_speed_gain), (autocvar_g_turrets_unit_hellion_shot_speed_max));
+               // Accelerate
+               this.velocity = olddir * min(vlen(this.velocity) * (autocvar_g_turrets_unit_hellion_shot_speed_gain), (autocvar_g_turrets_unit_hellion_shot_speed_max));
 
-        UpdateCSQCProjectile(this);
+               UpdateCSQCProjectile(this);
 
-        return;
-    }
+               return;
+       }
 
-    // Enemy in range?
-    if(vdist(this.origin - this.enemy.origin, <, this.owner.shot_radius * 0.2))
-        turret_projectile_explode(this);
+       // Enemy in range?
+       if (vdist(this.origin - this.enemy.origin, <, this.owner.shot_radius * 0.2)) {
+               turret_projectile_explode(this);
+       }
 
-    // Predict enemy position
-    itime = vlen(this.enemy.origin - this.origin) / vlen(this.velocity);
-    pre_pos = this.enemy.origin + this.enemy.velocity * itime;
+       // Predict enemy position
+       itime = vlen(this.enemy.origin - this.origin) / vlen(this.velocity);
+       pre_pos = this.enemy.origin + this.enemy.velocity * itime;
 
-    pre_pos = (pre_pos + this.enemy.origin) * 0.5;
+       pre_pos = (pre_pos + this.enemy.origin) * 0.5;
 
-    // Find out the direction to that place
-    newdir = normalize(pre_pos - this.origin);
+       // Find out the direction to that place
+       newdir = normalize(pre_pos - this.origin);
 
-    // Turn
-    newdir = normalize(olddir + newdir * 0.35);
+       // Turn
+       newdir = normalize(olddir + newdir * 0.35);
 
-    // Turn model
-    this.angles = vectoangles(this.velocity);
+       // Turn model
+       this.angles = vectoangles(this.velocity);
 
-    // Accelerate
-    this.velocity = newdir * min(vlen(this.velocity) * (autocvar_g_turrets_unit_hellion_shot_speed_gain), (autocvar_g_turrets_unit_hellion_shot_speed_max));
+       // Accelerate
+       this.velocity = newdir * min(vlen(this.velocity) * (autocvar_g_turrets_unit_hellion_shot_speed_gain), (autocvar_g_turrets_unit_hellion_shot_speed_max));
 
-    if (itime < 0.05)
-        setthink(this, turret_projectile_explode);
+       if (itime < 0.05) {
+               setthink(this, turret_projectile_explode);
+       }
 
-    UpdateCSQCProjectile(this);
+       UpdateCSQCProjectile(this);
 }
 
 #endif
index 811e386f5b4e38bc85cb90f8f0ade95e0e3b3e8c..961fe266fe9bc6d5083e06a1e3fb1d22cfc7799a 100644 (file)
@@ -6,42 +6,47 @@
 .float atime;
 #endif
 
-spawnfunc(turret_hk) { if(!turret_initialize(this, TUR_HK)) delete(this); }
+spawnfunc(turret_hk)
+{
+       if (!turret_initialize(this, TUR_HK)) {
+               delete(this);
+       }
+}
 
 METHOD(HunterKiller, tr_think, void(HunterKiller thistur, entity it))
 {
-    if (it.tur_head.frame != 0)
-        it.tur_head.frame = it.tur_head.frame + 1;
+       if (it.tur_head.frame != 0) {
+               it.tur_head.frame = it.tur_head.frame + 1;
+       }
 
-    if (it.tur_head.frame > 5)
-        it.tur_head.frame = 0;
+       if (it.tur_head.frame > 5) {
+               it.tur_head.frame = 0;
+       }
 }
 
-bool turret_hk_addtarget(entity this, entity e_target,entity e_sender);
+bool turret_hk_addtarget(entity this, entity e_target, entity e_sender);
 METHOD(HunterKiller, tr_setup, void(HunterKiller this, entity it))
 {
-    it.ammo_flags = TFL_AMMO_ROCKETS | TFL_AMMO_RECHARGE;
-    it.aim_flags = TFL_AIM_SIMPLE;
-    it.target_select_flags = TFL_TARGETSELECT_LOS | TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_TRIGGERTARGET | TFL_TARGETSELECT_RANGELIMITS | TFL_TARGETSELECT_TEAMCHECK;
-    it.firecheck_flags = TFL_FIRECHECK_DEAD | TFL_FIRECHECK_TEAMCHECK  | TFL_FIRECHECK_REFIRE | TFL_FIRECHECK_AFF;
-    it.shoot_flags = TFL_SHOOT_CLEARTARGET;
-    it.target_validate_flags = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_TEAMCHECK;
-
-    it.turret_addtarget = turret_hk_addtarget;
+       it.ammo_flags = TFL_AMMO_ROCKETS | TFL_AMMO_RECHARGE;
+       it.aim_flags = TFL_AIM_SIMPLE;
+       it.target_select_flags = TFL_TARGETSELECT_LOS | TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_TRIGGERTARGET | TFL_TARGETSELECT_RANGELIMITS | TFL_TARGETSELECT_TEAMCHECK;
+       it.firecheck_flags = TFL_FIRECHECK_DEAD | TFL_FIRECHECK_TEAMCHECK  | TFL_FIRECHECK_REFIRE | TFL_FIRECHECK_AFF;
+       it.shoot_flags = TFL_SHOOT_CLEARTARGET;
+       it.target_validate_flags = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_TEAMCHECK;
+
+       it.turret_addtarget = turret_hk_addtarget;
 }
 
-bool turret_hk_addtarget(entity this, entity e_target,entity e_sender)
+bool turret_hk_addtarget(entity this, entity e_target, entity e_sender)
 {
-    if (e_target)
-    {
-        if (turret_validate_target(this,e_target,this.target_validate_flags) > 0)
-        {
-            this.enemy = e_target;
-            return true;
-        }
-    }
-
-    return false;
+       if (e_target) {
+               if (turret_validate_target(this, e_target, this.target_validate_flags) > 0) {
+                       this.enemy = e_target;
+                       return true;
+               }
+       }
+
+       return false;
 }
 
 #endif // SVQC
index 639924fc47dfcda628df6935e30cbec7839305d1..c8e4836078d0f17c02a978a02c31263b2fc25c37 100644 (file)
@@ -1,6 +1,6 @@
 #pragma once
 
-//#define TURRET_DEBUG_HK
+// #define TURRET_DEBUG_HK
 
 #include "hk_weapon.qh"
 
@@ -13,6 +13,6 @@ CLASS(HunterKiller, Turret)
 /* head_model */ ATTRIB_STRZONE(HunterKiller, head_model, string, strcat("models/turrets/", "hk.md3"));
 /* netname    */ ATTRIB(HunterKiller, netname, string, "hk");
 /* fullname   */ ATTRIB(HunterKiller, turret_name, string, _("Hunter-Killer Turret"));
-    ATTRIB(HunterKiller, m_weapon, Weapon, WEP_HK);
+       ATTRIB(HunterKiller, m_weapon, Weapon, WEP_HK);
 ENDCLASS(HunterKiller)
 REGISTER_TURRET(HK, NEW(HunterKiller));
index 9a243adaa73c6903cad83ea22e1eb9155bb84d44..7aefd91206d51960911e7efc393f71449b9baab4 100644 (file)
@@ -14,265 +14,267 @@ SOUND(HunterKillerAttack_FIRE, W_Sound("electro_fire"));
 METHOD(HunterKillerAttack, wr_think, void(entity thiswep, entity actor, .entity weaponentity, int fire))
 {
        bool isPlayer = IS_PLAYER(actor);
-       if (fire & 1)
-       if (!isPlayer || weapon_prepareattack(thiswep, actor, weaponentity, false, WEP_CVAR_PRI(electro, refire))) {
-               if (isPlayer) {
-            turret_initparams(actor);
-            W_SetupShot_Dir(actor, weaponentity, v_forward, false, 0, SND_HunterKillerAttack_FIRE, CH_WEAPON_B, 0);
-            actor.tur_shotdir_updated = w_shotdir;
-            actor.tur_shotorg = w_shotorg;
-            actor.tur_head = actor;
-            weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, WEP_CVAR_PRI(electro, animtime), w_ready);
-        }
-        entity missile = turret_projectile(actor, SND_ROCKET_FIRE, 6, 10, DEATH_TURRET_HK.m_id, PROJECTILE_ROCKET, false, false);
-        te_explosion (missile.origin);
-
-        setthink(missile, turret_hk_missile_think);
-        missile.nextthink = time + 0.25;
-        set_movetype(missile, MOVETYPE_BOUNCEMISSILE);
-        missile.velocity = actor.tur_shotdir_updated * (actor.shot_speed * 0.75);
-        missile.angles = vectoangles(missile.velocity);
-        missile.cnt = time + 30;
-        missile.ticrate = max(autocvar_sys_ticrate, 0.05);
-        missile.missile_flags = MIF_SPLASH | MIF_PROXY | MIF_GUIDED_AI;
-
-        if (!isPlayer)
-        if (actor.tur_head.frame == 0)
-            actor.tur_head.frame = actor.tur_head.frame + 1;
+       if (fire & 1) {
+               if (!isPlayer || weapon_prepareattack(thiswep, actor, weaponentity, false, WEP_CVAR_PRI(electro, refire))) {
+                       if (isPlayer) {
+                               turret_initparams(actor);
+                               W_SetupShot_Dir(actor, weaponentity, v_forward, false, 0, SND_HunterKillerAttack_FIRE, CH_WEAPON_B, 0);
+                               actor.tur_shotdir_updated = w_shotdir;
+                               actor.tur_shotorg = w_shotorg;
+                               actor.tur_head = actor;
+                               weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, WEP_CVAR_PRI(electro, animtime), w_ready);
+                       }
+                       entity missile = turret_projectile(actor, SND_ROCKET_FIRE, 6, 10, DEATH_TURRET_HK.m_id, PROJECTILE_ROCKET, false, false);
+                       te_explosion(missile.origin);
+
+                       setthink(missile, turret_hk_missile_think);
+                       missile.nextthink = time + 0.25;
+                       set_movetype(missile, MOVETYPE_BOUNCEMISSILE);
+                       missile.velocity = actor.tur_shotdir_updated * (actor.shot_speed * 0.75);
+                       missile.angles = vectoangles(missile.velocity);
+                       missile.cnt = time + 30;
+                       missile.ticrate = max(autocvar_sys_ticrate, 0.05);
+                       missile.missile_flags = MIF_SPLASH | MIF_PROXY | MIF_GUIDED_AI;
+
+                       if (!isPlayer) {
+                               if (actor.tur_head.frame == 0) {
+                                       actor.tur_head.frame = actor.tur_head.frame + 1;
+                               }
+                       }
+               }
        }
 }
 
 bool hk_is_valid_target(entity this, entity proj, entity targ);
 void turret_hk_missile_think(entity this)
 {
-    vector vu, vd, vf, vl, vr, ve;  // Vector (direction)
-    float  fu, fd, ff, fl, fr, fe;  // Fraction to solid
-    vector olddir,wishdir,newdir;   // Final direction
-    float lt_for;   // Length of Trace FORwrad
-    float lt_seek;  // Length of Trace SEEK (left, right, up down)
-    float pt_seek;  // Pitch of Trace SEEK (How mutch to angele left, right up, down trace towards v_forward)
-    float myspeed;
-
-    this.nextthink = time + this.ticrate;
-
-    //if (this.cnt < time)
-    // turret_hk_missile_explode();
-
-    if (IS_DEAD(this.enemy))
-        this.enemy = NULL;
-
-    // Pick the closest valid target.
-    if (!this.enemy)
-    {
-        // in this case, the lighter check is to validate it first, and check distance if it is valid
-        IL_EACH(g_damagedbycontents, hk_is_valid_target(this.owner, this, it),
-        {
-            if(vdist(it.origin, >, 5000))
-                continue;
-
-            if(!this.enemy)
-                this.enemy = it;
-            else if(vlen2(this.origin - it.origin) < vlen2(this.origin - this.enemy.origin))
-                this.enemy = it;
-        });
-    }
-
-    this.angles = vectoangles(this.velocity);
-    this.angles_x = this.angles_x * -1;
-    makevectors(this.angles);
-    this.angles_x = this.angles_x * -1;
-
-    if (this.enemy)
-    {
-        // Close enougth to do decent damage?
-        if(vdist(this.origin - this.enemy.origin, <=, (this.owner.shot_radius * 0.25)))
-        {
-            turret_projectile_explode(this);
-            return;
-        }
-
-        // Get data on enemy position
-        vector pre_pos = this.enemy.origin +
-                  this.enemy.velocity *
-                  min((vlen(this.enemy.origin - this.origin) / vlen(this.velocity)),0.5);
-
-        traceline(this.origin, pre_pos,true,this.enemy);
-        ve = normalize(pre_pos - this.origin);
-        fe = trace_fraction;
-
-    }
-    else
-    {
-        ve = '0 0 0';
-        fe = 0;
-    }
-
-    if ((fe != 1) || (this.enemy == NULL) || vdist(this.origin - this.enemy.origin, >, 1000))
-    {
-        myspeed = vlen(this.velocity);
-
-        lt_for  = myspeed * 3;
-        lt_seek = myspeed * 2.95;
-
-        // Trace forward
-        traceline(this.origin, this.origin + v_forward * lt_for,false,this);
-        vf = trace_endpos;
-        ff = trace_fraction;
-
-        // Find angular offset
-        float ad = vlen(vectoangles(normalize(this.enemy.origin - this.origin)) - this.angles);
-
-        // To close to something, Slow down!
-        if ( ((ff < 0.7) || (ad > 4)) && (myspeed > (autocvar_g_turrets_unit_hk_shot_speed)) )
-            myspeed = max(myspeed * (autocvar_g_turrets_unit_hk_shot_speed_decel), (autocvar_g_turrets_unit_hk_shot_speed));
-
-        // Failry clear, accelerate.
-        if ( (ff > 0.7) && (myspeed < (autocvar_g_turrets_unit_hk_shot_speed_max)) )
-            myspeed = min(myspeed * (autocvar_g_turrets_unit_hk_shot_speed_accel), (autocvar_g_turrets_unit_hk_shot_speed_max));
-
-        // Setup trace pitch
-        pt_seek = 1 - ff;
-        pt_seek = bound(0.15,pt_seek,0.8);
-        if (ff < 0.5) pt_seek = 1;
-
-        // Trace left
-        traceline(this.origin, this.origin + (-1 * (v_right * pt_seek) + (v_forward * ff)) * lt_seek,false,this);
-        vl = trace_endpos;
-        fl = trace_fraction;
-
-        // Trace right
-        traceline(this.origin,  this.origin + ((v_right * pt_seek) + (v_forward * ff)) * lt_seek ,false,this);
-        vr = trace_endpos;
-        fr = trace_fraction;
-
-        // Trace up
-        traceline(this.origin,  this.origin + ((v_up * pt_seek) + (v_forward * ff)) * lt_seek ,false,this);
-        vu = trace_endpos;
-        fu = trace_fraction;
-
-        // Trace down
-        traceline(this.origin,  this.origin + (-1 * (v_up * pt_seek) + (v_forward * ff)) * lt_seek ,false,this);
-        vd = trace_endpos;
-        fd = trace_fraction;
-
-        vl = normalize(vl - this.origin);
-        vr = normalize(vr - this.origin);
-        vu = normalize(vu - this.origin);
-        vd = normalize(vd - this.origin);
-
-        // Panic tresh passed, find a single direction and turn as hard as we can
-        if (pt_seek == 1)
-        {
-            wishdir = v_right;
-            if (fl > fr) wishdir = -1 * v_right;
-            if (fu > fl) wishdir = v_up;
-            if (fd > fu) wishdir = -1 * v_up;
-        }
-        else
-        {
-            // Normalize our trace vectors to make a smooth path
-            wishdir = normalize( (vl * fl) + (vr * fr) +  (vu * fu) +  (vd * fd) );
-        }
-
-        if (this.enemy)
-        {
-            if (fe < 0.1) fe = 0.1; // Make sure we always try to move sligtly towards our target
-            wishdir = (wishdir * (1 - fe)) + (ve * fe);
-        }
-    }
-    else
-    {
-        // Got a clear path to target, speed up fast (if not at full speed) and go straight for it.
-        myspeed = vlen(this.velocity);
-        if (myspeed < (autocvar_g_turrets_unit_hk_shot_speed_max))
-            myspeed = min(myspeed * (autocvar_g_turrets_unit_hk_shot_speed_accel2),(autocvar_g_turrets_unit_hk_shot_speed_max));
-
-        wishdir = ve;
-    }
-
-    if ((myspeed > (autocvar_g_turrets_unit_hk_shot_speed)) && (this.cnt > time))
-        myspeed = min(myspeed * (autocvar_g_turrets_unit_hk_shot_speed_accel2),(autocvar_g_turrets_unit_hk_shot_speed_max));
-
-    // Ranoutagazfish?
-    if (this.cnt < time)
-    {
-        this.cnt = time + 0.25;
-        this.nextthink = 0;
-        set_movetype(this, MOVETYPE_BOUNCE);
-        return;
-    }
-
-    // Calculate new heading
-    olddir = normalize(this.velocity);
-    newdir = normalize(olddir + wishdir * (autocvar_g_turrets_unit_hk_shot_speed_turnrate));
-
-    // Set heading & speed
-    this.velocity = newdir * myspeed;
-
-    // Align model with new heading
-    this.angles = vectoangles(this.velocity);
+       vector vu, vd, vf, vl, vr, ve;  // Vector (direction)
+       float  fu, fd, ff, fl, fr, fe;  // Fraction to solid
+       vector olddir, wishdir, newdir; // Final direction
+       float lt_for;                   // Length of Trace FORwrad
+       float lt_seek;                  // Length of Trace SEEK (left, right, up down)
+       float pt_seek;                  // Pitch of Trace SEEK (How mutch to angele left, right up, down trace towards v_forward)
+       float myspeed;
+
+       this.nextthink = time + this.ticrate;
+
+       // if (this.cnt < time)
+       //      turret_hk_missile_explode();
+
+       if (IS_DEAD(this.enemy)) {
+               this.enemy = NULL;
+       }
+
+       // Pick the closest valid target.
+       if (!this.enemy) {
+               // in this case, the lighter check is to validate it first, and check distance if it is valid
+               IL_EACH(g_damagedbycontents, hk_is_valid_target(this.owner, this, it),
+               {
+                       if (vdist(it.origin, >, 5000)) {
+                               continue;
+                       }
+
+                       if (!this.enemy) {
+                               this.enemy = it;
+                       } else if (vlen2(this.origin - it.origin) < vlen2(this.origin - this.enemy.origin)) {
+                               this.enemy = it;
+                       }
+               });
+       }
+
+       this.angles = vectoangles(this.velocity);
+       this.angles_x = this.angles_x * -1;
+       makevectors(this.angles);
+       this.angles_x = this.angles_x * -1;
+
+       if (this.enemy) {
+               // Close enougth to do decent damage?
+               if (vdist(this.origin - this.enemy.origin, <=, (this.owner.shot_radius * 0.25))) {
+                       turret_projectile_explode(this);
+                       return;
+               }
+
+               // Get data on enemy position
+               vector pre_pos = this.enemy.origin
+                       + this.enemy.velocity
+                       * min((vlen(this.enemy.origin - this.origin) / vlen(this.velocity)), 0.5);
+
+               traceline(this.origin, pre_pos, true, this.enemy);
+               ve = normalize(pre_pos - this.origin);
+               fe = trace_fraction;
+       } else {
+               ve = '0 0 0';
+               fe = 0;
+       }
+
+       if ((fe != 1) || (this.enemy == NULL) || vdist(this.origin - this.enemy.origin, >, 1000)) {
+               myspeed = vlen(this.velocity);
+
+               lt_for  = myspeed * 3;
+               lt_seek = myspeed * 2.95;
+
+               // Trace forward
+               traceline(this.origin, this.origin + v_forward * lt_for, false, this);
+               vf = trace_endpos;
+               ff = trace_fraction;
+
+               // Find angular offset
+               float ad = vlen(vectoangles(normalize(this.enemy.origin - this.origin)) - this.angles);
+
+               // To close to something, Slow down!
+               if (((ff < 0.7) || (ad > 4)) && (myspeed > (autocvar_g_turrets_unit_hk_shot_speed))) {
+                       myspeed = max(myspeed * (autocvar_g_turrets_unit_hk_shot_speed_decel), (autocvar_g_turrets_unit_hk_shot_speed));
+               }
+
+               // Failry clear, accelerate.
+               if ((ff > 0.7) && (myspeed < (autocvar_g_turrets_unit_hk_shot_speed_max))) {
+                       myspeed = min(myspeed * (autocvar_g_turrets_unit_hk_shot_speed_accel), (autocvar_g_turrets_unit_hk_shot_speed_max));
+               }
+
+               // Setup trace pitch
+               pt_seek = 1 - ff;
+               pt_seek = bound(0.15, pt_seek, 0.8);
+               if (ff < 0.5) { pt_seek = 1; }
+
+               // Trace left
+               traceline(this.origin, this.origin + (-1 * (v_right * pt_seek) + (v_forward * ff)) * lt_seek, false, this);
+               vl = trace_endpos;
+               fl = trace_fraction;
+
+               // Trace right
+               traceline(this.origin,  this.origin + ((v_right * pt_seek) + (v_forward * ff)) * lt_seek, false, this);
+               vr = trace_endpos;
+               fr = trace_fraction;
+
+               // Trace up
+               traceline(this.origin,  this.origin + ((v_up * pt_seek) + (v_forward * ff)) * lt_seek, false, this);
+               vu = trace_endpos;
+               fu = trace_fraction;
+
+               // Trace down
+               traceline(this.origin,  this.origin + (-1 * (v_up * pt_seek) + (v_forward * ff)) * lt_seek, false, this);
+               vd = trace_endpos;
+               fd = trace_fraction;
+
+               vl = normalize(vl - this.origin);
+               vr = normalize(vr - this.origin);
+               vu = normalize(vu - this.origin);
+               vd = normalize(vd - this.origin);
+
+               // Panic tresh passed, find a single direction and turn as hard as we can
+               if (pt_seek == 1) {
+                       wishdir = v_right;
+                       if (fl > fr) { wishdir = -1 * v_right; }
+                       if (fu > fl) { wishdir = v_up; }
+                       if (fd > fu) { wishdir = -1 * v_up; }
+               } else {
+                       // Normalize our trace vectors to make a smooth path
+                       wishdir = normalize((vl * fl) + (vr * fr) +  (vu * fu) +  (vd * fd));
+               }
+
+               if (this.enemy) {
+                       if (fe < 0.1) {
+                               fe = 0.1; // Make sure we always try to move sligtly towards our target
+                       }
+                       wishdir = (wishdir * (1 - fe)) + (ve * fe);
+               }
+       } else {
+               // Got a clear path to target, speed up fast (if not at full speed) and go straight for it.
+               myspeed = vlen(this.velocity);
+               if (myspeed < (autocvar_g_turrets_unit_hk_shot_speed_max)) {
+                       myspeed = min(myspeed * (autocvar_g_turrets_unit_hk_shot_speed_accel2), (autocvar_g_turrets_unit_hk_shot_speed_max));
+               }
+
+               wishdir = ve;
+       }
+
+       if ((myspeed > (autocvar_g_turrets_unit_hk_shot_speed)) && (this.cnt > time)) {
+               myspeed = min(myspeed * (autocvar_g_turrets_unit_hk_shot_speed_accel2), (autocvar_g_turrets_unit_hk_shot_speed_max));
+       }
+
+       // Ranoutagazfish?
+       if (this.cnt < time) {
+               this.cnt = time + 0.25;
+               this.nextthink = 0;
+               set_movetype(this, MOVETYPE_BOUNCE);
+               return;
+       }
+
+       // Calculate new heading
+       olddir = normalize(this.velocity);
+       newdir = normalize(olddir + wishdir * (autocvar_g_turrets_unit_hk_shot_speed_turnrate));
+
+       // Set heading & speed
+       this.velocity = newdir * myspeed;
+
+       // Align model with new heading
+       this.angles = vectoangles(this.velocity);
 
 
 #ifdef TURRET_DEBUG_HK
-    //if(this.atime < time) {
-    if ((fe <= 0.99)||vdist(this.origin - this.enemy.origin, >, 1000))
-    {
-        te_lightning2(NULL,this.origin, this.origin + vr * lt_seek);
-        te_lightning2(NULL,this.origin, this.origin + vl * lt_seek);
-        te_lightning2(NULL,this.origin, this.origin + vu * lt_seek);
-        te_lightning2(NULL,this.origin, this.origin + vd * lt_seek);
-        te_lightning2(NULL,this.origin, vf);
-    }
-    else
-    {
-        te_lightning2(NULL,this.origin, this.enemy.origin);
-    }
-    bprint("Speed: ", ftos(rint(myspeed)), "\n");
-    bprint("Trace to solid: ", ftos(rint(ff * 100)), "%\n");
-    bprint("Trace to target:", ftos(rint(fe * 100)), "%\n");
-    this.atime = time + 0.2;
-    //}
+       // if(this.atime < time) {
+       if ((fe <= 0.99) || vdist(this.origin - this.enemy.origin, >, 1000)) {
+               te_lightning2(NULL, this.origin, this.origin + vr * lt_seek);
+               te_lightning2(NULL, this.origin, this.origin + vl * lt_seek);
+               te_lightning2(NULL, this.origin, this.origin + vu * lt_seek);
+               te_lightning2(NULL, this.origin, this.origin + vd * lt_seek);
+               te_lightning2(NULL, this.origin, vf);
+       } else {
+               te_lightning2(NULL, this.origin, this.enemy.origin);
+       }
+       bprint("Speed: ", ftos(rint(myspeed)), "\n");
+       bprint("Trace to solid: ", ftos(rint(ff * 100)), "%\n");
+       bprint("Trace to target:", ftos(rint(fe * 100)), "%\n");
+       this.atime = time + 0.2;
+       // }
 #endif
 
-    UpdateCSQCProjectile(this);
+       UpdateCSQCProjectile(this);
 }
 
 bool hk_is_valid_target(entity this, entity proj, entity targ)
 {
-    if (!targ)
-        return false;
+       if (!targ) {
+               return false;
+       }
 
-    // we know for sure pure entities are bad targets
-    if(is_pure(targ))
-        return false;
+       // we know for sure pure entities are bad targets
+       if (is_pure(targ)) {
+               return false;
+       }
 
-    // If only this was used more..
-    if (targ.flags & FL_NOTARGET)
-        return false;
+       // If only this was used more..
+       if (targ.flags & FL_NOTARGET) {
+               return false;
+       }
 
-    // Cant touch this
-    if ((targ.takedamage == DAMAGE_NO) || (targ.health < 0))
-        return false;
+       // Cant touch this
+       if ((targ.takedamage == DAMAGE_NO) || (targ.health < 0)) {
+               return false;
+       }
 
-    // player
-    if (IS_PLAYER(targ))
-    {
-        if (this.target_select_playerbias < 0)
-            return false;
+       // player
+       if (IS_PLAYER(targ)) {
+               if (this.target_select_playerbias < 0) {
+                       return false;
+               }
 
-        if (IS_DEAD(targ))
-            return false;
-    }
+               if (IS_DEAD(targ)) {
+                       return false;
+               }
+       }
 
-    // Missile
-    if ((targ.flags & FL_PROJECTILE) && (this.target_select_missilebias < 0))
-        return false;
+       // Missile
+       if ((targ.flags & FL_PROJECTILE) && (this.target_select_missilebias < 0)) {
+               return false;
+       }
 
-    // Team check
-    if ((targ.team == this.team) || (this.team == targ.owner.team))
-        return false;
+       // Team check
+       if ((targ.team == this.team) || (this.team == targ.owner.team)) {
+               return false;
+       }
 
-    return true;
+       return true;
 }
 
 #endif
index a2ee1def6b8a68bb65671c545f33dc5871574718..0abc6f328d6c489babe3b06b77677057c419d888 100644 (file)
@@ -2,15 +2,20 @@
 
 #ifdef SVQC
 
-spawnfunc(turret_machinegun) { if (!turret_initialize(this, TUR_MACHINEGUN)) delete(this); }
+spawnfunc(turret_machinegun)
+{
+       if (!turret_initialize(this, TUR_MACHINEGUN)) {
+               delete(this);
+       }
+}
 
 METHOD(MachineGunTurret, tr_setup, void(MachineGunTurret this, entity it))
 {
-    it.damage_flags |= TFL_DMG_HEADSHAKE;
-    it.target_select_flags = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_RANGELIMITS | TFL_TARGETSELECT_TEAMCHECK;
-    it.ammo_flags = TFL_AMMO_BULLETS | TFL_AMMO_RECHARGE | TFL_AMMO_RECIEVE;
-    it.aim_flags = TFL_AIM_LEAD | TFL_AIM_SHOTTIMECOMPENSATE;
-    it.turret_flags |= TUR_FLAG_HITSCAN;
+       it.damage_flags |= TFL_DMG_HEADSHAKE;
+       it.target_select_flags = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_RANGELIMITS | TFL_TARGETSELECT_TEAMCHECK;
+       it.ammo_flags = TFL_AMMO_BULLETS | TFL_AMMO_RECHARGE | TFL_AMMO_RECIEVE;
+       it.aim_flags = TFL_AIM_LEAD | TFL_AIM_SHOTTIMECOMPENSATE;
+       it.turret_flags |= TUR_FLAG_HITSCAN;
 }
 
 #endif // SVQC
index c4a6066b3b49a43b95365edcf60519b2915dde82..0fcecab0de0f0d68e741235d9cbae076005b5897 100644 (file)
@@ -11,6 +11,6 @@ CLASS(MachineGunTurret, Turret)
 /* head_model */ ATTRIB_STRZONE(MachineGunTurret, head_model, string, strcat("models/turrets/", "machinegun.md3"));
 /* netname    */ ATTRIB(MachineGunTurret, netname, string, "machinegun");
 /* fullname   */ ATTRIB(MachineGunTurret, turret_name, string, _("Machinegun Turret"));
-    ATTRIB(MachineGunTurret, m_weapon, Weapon, WEP_TUR_MACHINEGUN);
+       ATTRIB(MachineGunTurret, m_weapon, Weapon, WEP_TUR_MACHINEGUN);
 ENDCLASS(MachineGunTurret)
 REGISTER_TURRET(MACHINEGUN, NEW(MachineGunTurret));
index 846b5234376a0c7bcaf50c1e85224e49846d1eff..7718ccab9a2a67e68a91a2fe5e9014b889edba1b 100644 (file)
@@ -6,21 +6,22 @@ void W_MachineGun_MuzzleFlash(entity actor, .entity weaponentity);
 SOUND(MachineGunTurretAttack_FIRE, W_Sound("electro_fire"));
 METHOD(MachineGunTurretAttack, wr_think, void(entity thiswep, entity actor, .entity weaponentity, int fire))
 {
-    bool isPlayer = IS_PLAYER(actor);
-    if (fire & 1)
-    if (!isPlayer || weapon_prepareattack(thiswep, actor, weaponentity, false, WEP_CVAR(machinegun, sustained_refire))) {
-        if (isPlayer) {
-            turret_initparams(actor);
-            W_SetupShot_Dir(actor, weaponentity, v_forward, false, 0, SND_MachineGunTurretAttack_FIRE, CH_WEAPON_B, 0);
-            actor.tur_shotdir_updated = w_shotdir;
-            actor.tur_shotorg = w_shotorg;
-            actor.tur_head = actor;
-            weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, 0, w_ready);
-        }
-        fireBullet (actor, weaponentity, actor.tur_shotorg, actor.tur_shotdir_updated, actor.shot_spread, 0, actor.shot_dmg, actor.shot_force, DEATH_TURRET_MACHINEGUN.m_id, 0);
-        W_MachineGun_MuzzleFlash(actor, weaponentity);
-        setattachment(actor.(weaponentity).muzzle_flash, actor.tur_head, "tag_fire");
-    }
+       bool isPlayer = IS_PLAYER(actor);
+       if (fire & 1) {
+               if (!isPlayer || weapon_prepareattack(thiswep, actor, weaponentity, false, WEP_CVAR(machinegun, sustained_refire))) {
+                       if (isPlayer) {
+                               turret_initparams(actor);
+                               W_SetupShot_Dir(actor, weaponentity, v_forward, false, 0, SND_MachineGunTurretAttack_FIRE, CH_WEAPON_B, 0);
+                               actor.tur_shotdir_updated = w_shotdir;
+                               actor.tur_shotorg = w_shotorg;
+                               actor.tur_head = actor;
+                               weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, 0, w_ready);
+                       }
+                       fireBullet(actor, weaponentity, actor.tur_shotorg, actor.tur_shotdir_updated, actor.shot_spread, 0, actor.shot_dmg, actor.shot_force, DEATH_TURRET_MACHINEGUN.m_id, 0);
+                       W_MachineGun_MuzzleFlash(actor, weaponentity);
+                       setattachment(actor.(weaponentity).muzzle_flash, actor.tur_head, "tag_fire");
+               }
+       }
 }
 
 #endif
index 2315012b11379bed39838e697795a6345569dbf5..e0eb871bdaa4c2a928cbb89767b2c61d21cffdcb 100644 (file)
@@ -2,26 +2,30 @@
 
 #ifdef SVQC
 
-spawnfunc(turret_mlrs) { if (!turret_initialize(this, TUR_MLRS)) delete(this); }
+spawnfunc(turret_mlrs)
+{
+       if (!turret_initialize(this, TUR_MLRS)) {
+               delete(this);
+       }
+}
 
 METHOD(MLRSTurret, tr_think, void(MLRSTurret thistur, entity it))
 {
-    // 0 = full, 6 = empty
-    it.tur_head.frame = bound(0, 6 - floor(0.1 + it.ammo / it.shot_dmg), 6);
-    if(it.tur_head.frame < 0)
-    {
-        LOG_TRACE("ammo:",ftos(it.ammo));
-        LOG_TRACE("shot_dmg:",ftos(it.shot_dmg));
-    }
+       // 0 = full, 6 = empty
+       it.tur_head.frame = bound(0, 6 - floor(0.1 + it.ammo / it.shot_dmg), 6);
+       if (it.tur_head.frame < 0) {
+               LOG_TRACE("ammo:", ftos(it.ammo));
+               LOG_TRACE("shot_dmg:", ftos(it.shot_dmg));
+       }
 }
 METHOD(MLRSTurret, tr_setup, void(MLRSTurret this, entity it))
 {
-    it.ammo_flags = TFL_AMMO_ROCKETS | TFL_AMMO_RECHARGE;
-    it.aim_flags = TFL_AIM_LEAD | TFL_AIM_SHOTTIMECOMPENSATE;
+       it.ammo_flags = TFL_AMMO_ROCKETS | TFL_AMMO_RECHARGE;
+       it.aim_flags = TFL_AIM_LEAD | TFL_AIM_SHOTTIMECOMPENSATE;
 
-    it.damage_flags |= TFL_DMG_HEADSHAKE;
-    it.shoot_flags  |= TFL_SHOOT_VOLLYALWAYS;
-    it.volly_counter = it.shot_volly;
+       it.damage_flags |= TFL_DMG_HEADSHAKE;
+       it.shoot_flags  |= TFL_SHOOT_VOLLYALWAYS;
+       it.volly_counter = it.shot_volly;
 }
 
 #endif // SVQC
index 7e0bccf224a40adefd9b2bee93c4a8687a910e17..7c84c4cd3242788402f09cdb4a05562ac3815450 100644 (file)
@@ -11,6 +11,6 @@ CLASS(MLRSTurret, Turret)
 /* head_model */ ATTRIB_STRZONE(MLRSTurret, head_model, string, strcat("models/turrets/", "mlrs.md3"));
 /* netname    */ ATTRIB(MLRSTurret, netname, string, "mlrs");
 /* fullname   */ ATTRIB(MLRSTurret, turret_name, string, _("MLRS Turret"));
-    ATTRIB(MLRSTurret, m_weapon, Weapon, WEP_TUR_MLRS);
+       ATTRIB(MLRSTurret, m_weapon, Weapon, WEP_TUR_MLRS);
 ENDCLASS(MLRSTurret)
 REGISTER_TURRET(MLRS, NEW(MLRSTurret));
index ccf309aaf7c31ef8015b788b17d3a112551f49f6..7b198fb0de56c8ea3d27480fa3fd7b53417aa337 100644 (file)
@@ -4,24 +4,25 @@
 SOUND(MLRSTurretAttack_FIRE, W_Sound("electro_fire"));
 METHOD(MLRSTurretAttack, wr_think, void(entity thiswep, entity actor, .entity weaponentity, int fire))
 {
-    bool isPlayer = IS_PLAYER(actor);
-    if (fire & 1)
-    if (!isPlayer || weapon_prepareattack(thiswep, actor, weaponentity, false, WEP_CVAR(machinegun, sustained_refire))) {
-        if (isPlayer) {
-            turret_initparams(actor);
-            W_SetupShot_Dir(actor, weaponentity, v_forward, false, 0, SND_MLRSTurretAttack_FIRE, CH_WEAPON_B, 0);
-            actor.tur_shotdir_updated = w_shotdir;
-            actor.tur_shotorg = w_shotorg;
-            actor.tur_head = actor;
-            actor.shot_radius = 500;
-            weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, 0, w_ready);
-        }
-        turret_tag_fire_update(actor);
-        entity missile = turret_projectile(actor, SND_ROCKET_FIRE, 6, 10, DEATH_TURRET_MLRS.m_id, PROJECTILE_ROCKET, true, true);
-        missile.nextthink = time + max(actor.tur_impacttime,(actor.shot_radius * 2) / actor.shot_speed);
-        missile.missile_flags = MIF_SPLASH;
-        te_explosion (missile.origin);
-    }
+       bool isPlayer = IS_PLAYER(actor);
+       if (fire & 1) {
+               if (!isPlayer || weapon_prepareattack(thiswep, actor, weaponentity, false, WEP_CVAR(machinegun, sustained_refire))) {
+                       if (isPlayer) {
+                               turret_initparams(actor);
+                               W_SetupShot_Dir(actor, weaponentity, v_forward, false, 0, SND_MLRSTurretAttack_FIRE, CH_WEAPON_B, 0);
+                               actor.tur_shotdir_updated = w_shotdir;
+                               actor.tur_shotorg = w_shotorg;
+                               actor.tur_head = actor;
+                               actor.shot_radius = 500;
+                               weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, 0, w_ready);
+                       }
+                       turret_tag_fire_update(actor);
+                       entity missile = turret_projectile(actor, SND_ROCKET_FIRE, 6, 10, DEATH_TURRET_MLRS.m_id, PROJECTILE_ROCKET, true, true);
+                       missile.nextthink = time + max(actor.tur_impacttime, (actor.shot_radius * 2) / actor.shot_speed);
+                       missile.missile_flags = MIF_SPLASH;
+                       te_explosion(missile.origin);
+               }
+       }
 }
 
 #endif
index 9c93a6e89a742313b097ba23fd1a03a3267a16df..4c2204f4260b463d5ad92dfb47c97763ff46fb96 100644 (file)
@@ -2,44 +2,45 @@
 
 #ifdef SVQC
 
-spawnfunc(turret_phaser) { if (!turret_initialize(this, TUR_PHASER)) delete(this); }
+spawnfunc(turret_phaser)
+{
+       if (!turret_initialize(this, TUR_PHASER)) {
+               delete(this);
+       }
+}
 
 .int fireflag;
 
 METHOD(PhaserTurret, tr_think, void(PhaserTurret thistur, entity it))
 {
-    if (it.tur_head.frame != 0)
-    {
-        if (it.fireflag == 1)
-        {
-            if (it.tur_head.frame == 10)
-                it.tur_head.frame = 1;
-            else
-                it.tur_head.frame = it.tur_head.frame +1;
-        }
-        else if (it.fireflag == 2 )
-        {
-            it.tur_head.frame = it.tur_head.frame +1;
-            if (it.tur_head.frame == 15)
-            {
-                it.tur_head.frame = 0;
-                it.fireflag = 0;
-            }
-        }
-    }
+       if (it.tur_head.frame != 0) {
+               if (it.fireflag == 1) {
+                       if (it.tur_head.frame == 10) {
+                               it.tur_head.frame = 1;
+                       } else {
+                               it.tur_head.frame = it.tur_head.frame + 1;
+                       }
+               } else if (it.fireflag == 2) {
+                       it.tur_head.frame = it.tur_head.frame + 1;
+                       if (it.tur_head.frame == 15) {
+                               it.tur_head.frame = 0;
+                               it.fireflag = 0;
+                       }
+               }
+       }
 }
 bool turret_phaser_firecheck(entity this);
 METHOD(PhaserTurret, tr_setup, void(PhaserTurret this, entity it))
 {
-    it.ammo_flags = TFL_AMMO_ENERGY | TFL_AMMO_RECHARGE | TFL_AMMO_RECIEVE;
-    it.aim_flags = TFL_AIM_LEAD;
+       it.ammo_flags = TFL_AMMO_ENERGY | TFL_AMMO_RECHARGE | TFL_AMMO_RECIEVE;
+       it.aim_flags = TFL_AIM_LEAD;
 
-    it.turret_firecheckfunc = turret_phaser_firecheck;
+       it.turret_firecheckfunc = turret_phaser_firecheck;
 }
 bool turret_phaser_firecheck(entity this)
 {
-    if (this.fireflag != 0) return false;
-    return turret_firecheck(this);
+       if (this.fireflag != 0) { return false; }
+       return turret_firecheck(this);
 }
 
 #endif
index 887a11a9e726741dd533fcd56888d0f69ca3d385..7a1aabe48141cf8e7b37ad4b1e7287ebdf8ca41c 100644 (file)
@@ -11,6 +11,6 @@ CLASS(PhaserTurret, Turret)
 /* head_model */ ATTRIB_STRZONE(PhaserTurret, head_model, string, strcat("models/turrets/", "phaser.md3"));
 /* netname    */ ATTRIB(PhaserTurret, netname, string, "phaser");
 /* fullname   */ ATTRIB(PhaserTurret, turret_name, string, _("Phaser Cannon"));
-    ATTRIB(PhaserTurret, m_weapon, Weapon, WEP_PHASER);
+       ATTRIB(PhaserTurret, m_weapon, Weapon, WEP_PHASER);
 ENDCLASS(PhaserTurret)
 REGISTER_TURRET(PHASER, NEW(PhaserTurret));
index 3fb34fb14c2b9b1d97f7c0a6ad3008ba3e6011af..756ad00961a5484121c23ed106fe728a322b014f 100644 (file)
@@ -7,84 +7,84 @@ void beam_think(entity this);
 SOUND(PhaserTurretAttack_FIRE, W_Sound("electro_fire"));
 METHOD(PhaserTurretAttack, wr_think, void(entity thiswep, entity actor, .entity weaponentity, int fire))
 {
-    bool isPlayer = IS_PLAYER(actor);
-    if (fire & 1)
-    if (!isPlayer || weapon_prepareattack(thiswep, actor, weaponentity, false, WEP_CVAR_PRI(electro, refire))) {
-        if (isPlayer) {
-            turret_initparams(actor);
-            W_SetupShot_Dir(actor, weaponentity, v_forward, false, 0, SND_PhaserTurretAttack_FIRE, CH_WEAPON_B, 0);
-            actor.tur_shotdir_updated = w_shotdir;
-            actor.tur_shotorg = w_shotorg;
-            actor.tur_head = actor;
-            actor.shot_speed = 1;
-            weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, WEP_CVAR_PRI(electro, animtime), w_ready);
-        }
-        entity beam = spawn();
-        beam.ticrate = 0.1; //autocvar_sys_ticrate;
-        setmodel(beam, MDL_TUR_PHASER_BEAM);
-        beam.effects = EF_LOWPRECISION;
-        beam.solid = SOLID_NOT;
-        setthink(beam, beam_think);
-        beam.cnt = time + actor.shot_speed;
-        beam.shot_spread = time + 2;
-        beam.nextthink = time;
-        beam.owner = actor;
-        beam.shot_dmg = actor.shot_dmg / (actor.shot_speed / beam.ticrate);
-        beam.scale = actor.target_range / 256;
-        set_movetype(beam, MOVETYPE_NONE);
-        beam.enemy = actor.enemy;
-        beam.bot_dodge = true;
-        IL_PUSH(g_bot_dodge, beam);
-        beam.bot_dodgerating = beam.shot_dmg;
-        sound (beam, CH_SHOTS_SINGLE, SND_TUR_PHASER, VOL_BASE, ATTEN_NORM);
-        actor.fireflag = 1;
+       bool isPlayer = IS_PLAYER(actor);
+       if (fire & 1) {
+               if (!isPlayer || weapon_prepareattack(thiswep, actor, weaponentity, false, WEP_CVAR_PRI(electro, refire))) {
+                       if (isPlayer) {
+                               turret_initparams(actor);
+                               W_SetupShot_Dir(actor, weaponentity, v_forward, false, 0, SND_PhaserTurretAttack_FIRE, CH_WEAPON_B, 0);
+                               actor.tur_shotdir_updated = w_shotdir;
+                               actor.tur_shotorg = w_shotorg;
+                               actor.tur_head = actor;
+                               actor.shot_speed = 1;
+                               weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, WEP_CVAR_PRI(electro, animtime), w_ready);
+                       }
+                       entity beam = spawn();
+                       beam.ticrate = 0.1; // autocvar_sys_ticrate;
+                       setmodel(beam, MDL_TUR_PHASER_BEAM);
+                       beam.effects = EF_LOWPRECISION;
+                       beam.solid = SOLID_NOT;
+                       setthink(beam, beam_think);
+                       beam.cnt = time + actor.shot_speed;
+                       beam.shot_spread = time + 2;
+                       beam.nextthink = time;
+                       beam.owner = actor;
+                       beam.shot_dmg = actor.shot_dmg / (actor.shot_speed / beam.ticrate);
+                       beam.scale = actor.target_range / 256;
+                       set_movetype(beam, MOVETYPE_NONE);
+                       beam.enemy = actor.enemy;
+                       beam.bot_dodge = true;
+                       IL_PUSH(g_bot_dodge, beam);
+                       beam.bot_dodgerating = beam.shot_dmg;
+                       sound(beam, CH_SHOTS_SINGLE, SND_TUR_PHASER, VOL_BASE, ATTEN_NORM);
+                       actor.fireflag = 1;
 
-        beam.attack_finished_single[0] = actor.attack_finished_single[0];
-        actor.attack_finished_single[0] = time; // + autocvar_sys_ticrate;
+                       beam.attack_finished_single[0] = actor.attack_finished_single[0];
+                       actor.attack_finished_single[0] = time; // + autocvar_sys_ticrate;
 
-        setattachment(beam,actor.tur_head, "tag_fire");
+                       setattachment(beam, actor.tur_head, "tag_fire");
 
-        soundat (actor, trace_endpos, CH_SHOTS, SND(NEXIMPACT), VOL_BASE, ATTEN_NORM);
-        if (!isPlayer)
-        if (actor.tur_head.frame == 0)
-            actor.tur_head.frame = 1;
-    }
+                       soundat(actor, trace_endpos, CH_SHOTS, SND(NEXIMPACT), VOL_BASE, ATTEN_NORM);
+                       if (!isPlayer) {
+                               if (actor.tur_head.frame == 0) {
+                                       actor.tur_head.frame = 1;
+                               }
+                       }
+               }
+       }
 }
 
 void beam_think(entity this)
 {
-    if ((time > this.cnt) || (IS_DEAD(this.owner)))
-    {
-        this.owner.attack_finished_single[0] = time + this.owner.shot_refire;
-        this.owner.fireflag = 2;
-        this.owner.tur_head.frame = 10;
-        sound (this, CH_SHOTS_SINGLE, SND_Null, VOL_BASE, ATTEN_NORM);
-        delete(this);
-        return;
-    }
+       if ((time > this.cnt) || (IS_DEAD(this.owner))) {
+               this.owner.attack_finished_single[0] = time + this.owner.shot_refire;
+               this.owner.fireflag = 2;
+               this.owner.tur_head.frame = 10;
+               sound(this, CH_SHOTS_SINGLE, SND_Null, VOL_BASE, ATTEN_NORM);
+               delete(this);
+               return;
+       }
 
-    turret_do_updates(this.owner);
+       turret_do_updates(this.owner);
 
-    if (time - this.shot_spread > 0)
-    {
-        this.shot_spread = time + 2;
-        sound (this, CH_SHOTS_SINGLE, SND_TUR_PHASER, VOL_BASE, ATTEN_NORM);
-    }
+       if (time - this.shot_spread > 0) {
+               this.shot_spread = time + 2;
+               sound(this, CH_SHOTS_SINGLE, SND_TUR_PHASER, VOL_BASE, ATTEN_NORM);
+       }
 
 
-    this.nextthink = time + this.ticrate;
-
-    this.owner.attack_finished_single[0] = time + frametime;
-    FireImoBeam (   this.owner, this.tur_shotorg,
-                    this.tur_shotorg + this.tur_shotdir_updated * this.target_range,
-                    '-1 -1 -1' * this.shot_radius,
-                    '1 1 1' * this.shot_radius,
-                    this.shot_force,
-                    this.shot_dmg,
-                    0.75,
-                    DEATH_TURRET_PHASER.m_id);
-    this.scale = vlen(this.owner.tur_shotorg - trace_endpos) / 256;
+       this.nextthink = time + this.ticrate;
 
+       this.owner.attack_finished_single[0] = time + frametime;
+       FireImoBeam(this.owner, this.tur_shotorg,
+               this.tur_shotorg + this.tur_shotdir_updated * this.target_range,
+               '-1 -1 -1' * this.shot_radius,
+               '1 1 1' * this.shot_radius,
+               this.shot_force,
+               this.shot_dmg,
+               0.75,
+               DEATH_TURRET_PHASER.m_id);
+       this.scale = vlen(this.owner.tur_shotorg - trace_endpos) / 256;
 }
 
 #endif
index f15ecfc897478799aed451b63e0fe52fd4cc4916..6a851ea061913edc8b090db3807b9b478fe09514 100644 (file)
@@ -11,6 +11,6 @@ CLASS(PlasmaTurret, Turret)
 /* head_model */ ATTRIB_STRZONE(PlasmaTurret, head_model, string, strcat("models/turrets/", "plasma.md3"));
 /* netname    */ ATTRIB(PlasmaTurret, netname, string, "plasma");
 /* fullname   */ ATTRIB(PlasmaTurret, turret_name, string, _("Plasma Cannon"));
-    ATTRIB(PlasmaTurret, m_weapon, Weapon, WEP_PLASMA);
+       ATTRIB(PlasmaTurret, m_weapon, Weapon, WEP_PLASMA);
 ENDCLASS(PlasmaTurret)
 REGISTER_TURRET(PLASMA, NEW(PlasmaTurret));
index 04436c47f8c728af20a160318ce5456999aa3b53..c1b501c33ad55db523ba786949ac465f68a7286a 100644 (file)
@@ -17,6 +17,6 @@ CLASS(DualPlasmaTurret, PlasmaTurret)
 /* head_model */ ATTRIB_STRZONE(DualPlasmaTurret, head_model, string, strcat("models/turrets/", "plasmad.md3"));
 /* netname    */ ATTRIB(DualPlasmaTurret, netname, string, "plasma_dual");
 /* fullname   */ ATTRIB(DualPlasmaTurret, turret_name, string, _("Dual Plasma Cannon"));
-    ATTRIB(DualPlasmaTurret, m_weapon, Weapon, WEP_PLASMA_DUAL);
+       ATTRIB(DualPlasmaTurret, m_weapon, Weapon, WEP_PLASMA_DUAL);
 ENDCLASS(DualPlasmaTurret)
 REGISTER_TURRET(PLASMA_DUAL, NEW(DualPlasmaTurret));
index 7de7406e2da1fe195f38bf1b06caf70cbcfb54aa..3d543f62960772d49d5ac34990d2c3313a751506 100644 (file)
@@ -2,21 +2,23 @@
 
 #ifdef SVQC
 SOUND(PlasmaAttack_FIRE, W_Sound("electro_fire"));
-METHOD(PlasmaAttack, wr_think, void(entity thiswep, entity actor, .entity weaponentity, int fire)) {
+METHOD(PlasmaAttack, wr_think, void(entity thiswep, entity actor, .entity weaponentity, int fire))
+{
        bool isPlayer = IS_PLAYER(actor);
-       if (fire & 1)
-       if (!isPlayer || weapon_prepareattack(thiswep, actor, weaponentity, false, WEP_CVAR_PRI(electro, refire))) {
-               if (isPlayer) {
-            turret_initparams(actor);
-            W_SetupShot_Dir(actor, weaponentity, v_forward, false, 0, SND_PlasmaAttack_FIRE, CH_WEAPON_B, 0);
-            actor.tur_shotdir_updated = w_shotdir;
-            actor.tur_shotorg = w_shotorg;
-            actor.tur_head = actor;
-            weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, WEP_CVAR_PRI(electro, animtime), w_ready);
-        }
-        entity missile = turret_projectile(actor, SND_HAGAR_FIRE, 1, 0, DEATH_TURRET_PLASMA.m_id, PROJECTILE_ELECTRO_BEAM, true, true);
-        missile.missile_flags = MIF_SPLASH;
-        Send_Effect(EFFECT_BLASTER_MUZZLEFLASH, actor.tur_shotorg, actor.tur_shotdir_updated * 1000, 1);
+       if (fire & 1) {
+               if (!isPlayer || weapon_prepareattack(thiswep, actor, weaponentity, false, WEP_CVAR_PRI(electro, refire))) {
+                       if (isPlayer) {
+                               turret_initparams(actor);
+                               W_SetupShot_Dir(actor, weaponentity, v_forward, false, 0, SND_PlasmaAttack_FIRE, CH_WEAPON_B, 0);
+                               actor.tur_shotdir_updated = w_shotdir;
+                               actor.tur_shotorg = w_shotorg;
+                               actor.tur_head = actor;
+                               weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, WEP_CVAR_PRI(electro, animtime), w_ready);
+                       }
+                       entity missile = turret_projectile(actor, SND_HAGAR_FIRE, 1, 0, DEATH_TURRET_PLASMA.m_id, PROJECTILE_ELECTRO_BEAM, true, true);
+                       missile.missile_flags = MIF_SPLASH;
+                       Send_Effect(EFFECT_BLASTER_MUZZLEFLASH, actor.tur_shotorg, actor.tur_shotdir_updated * 1000, 1);
+               }
        }
 }
 
index 4c27bc9acce8cd112e0426e0062a0cceee1e115e..c513d17442ac1adfecb25e391cccc88b0bb09305 100644 (file)
@@ -2,87 +2,94 @@
 
 #ifdef SVQC
 
-spawnfunc(turret_tesla) { if (!turret_initialize(this, TUR_TESLA)) delete(this); }
+spawnfunc(turret_tesla)
+{
+       if (!turret_initialize(this, TUR_TESLA)) {
+               delete(this);
+       }
+}
 
 METHOD(TeslaCoil, tr_think, void(TeslaCoil thistur, entity it))
 {
-    if(!it.active)
-    {
-        it.tur_head.avelocity = '0 0 0';
-        return;
-    }
-
-    if(it.ammo < it.shot_dmg)
-    {
-        it.tur_head.avelocity = '0 45 0' * (it.ammo / it.shot_dmg);
-    }
-    else
-    {
-        it.tur_head.avelocity = '0 180 0' * (it.ammo / it.shot_dmg);
-
-        if(it.attack_finished_single[0] > time)
-            return;
-
-        float f;
-        f = (it.ammo / it.ammo_max);
-        f = f * f;
-        if(f > random())
-            if(random() < 0.1)
-                te_csqc_lightningarc(it.tur_shotorg,it.tur_shotorg + (randomvec() * 350));
-    }
+       if (!it.active) {
+               it.tur_head.avelocity = '0 0 0';
+               return;
+       }
+
+       if (it.ammo < it.shot_dmg) {
+               it.tur_head.avelocity = '0 45 0' * (it.ammo / it.shot_dmg);
+       } else {
+               it.tur_head.avelocity = '0 180 0' * (it.ammo / it.shot_dmg);
+
+               if (it.attack_finished_single[0] > time) {
+                       return;
+               }
+
+               float f;
+               f = (it.ammo / it.ammo_max);
+               f = f * f;
+               if (f > random()) {
+                       if (random() < 0.1) {
+                               te_csqc_lightningarc(it.tur_shotorg, it.tur_shotorg + (randomvec() * 350));
+                       }
+               }
+       }
 }
 
 bool turret_tesla_firecheck(entity this);
 METHOD(TeslaCoil, tr_setup, void(TeslaCoil this, entity it))
 {
-    it.target_validate_flags = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_MISSILES |
-                         TFL_TARGETSELECT_RANGELIMITS | TFL_TARGETSELECT_TEAMCHECK;
-
-    it.turret_firecheckfunc = turret_tesla_firecheck;
-    it.target_select_flags = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_MISSILES |
-                       TFL_TARGETSELECT_RANGELIMITS | TFL_TARGETSELECT_TEAMCHECK;
-
-    it.firecheck_flags = TFL_FIRECHECK_REFIRE | TFL_FIRECHECK_AMMO_OWN;
-    it.shoot_flags             = TFL_SHOOT_CUSTOM;
-    it.ammo_flags                      = TFL_AMMO_ENERGY | TFL_AMMO_RECHARGE | TFL_AMMO_RECIEVE;
-    it.aim_flags                       = TFL_AIM_NO;
-    it.track_flags             = TFL_TRACK_NO;
+       it.target_validate_flags = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_MISSILES
+               | TFL_TARGETSELECT_RANGELIMITS | TFL_TARGETSELECT_TEAMCHECK;
+
+       it.turret_firecheckfunc = turret_tesla_firecheck;
+       it.target_select_flags = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_MISSILES
+               | TFL_TARGETSELECT_RANGELIMITS | TFL_TARGETSELECT_TEAMCHECK;
+
+       it.firecheck_flags  = TFL_FIRECHECK_REFIRE | TFL_FIRECHECK_AMMO_OWN;
+       it.shoot_flags      = TFL_SHOOT_CUSTOM;
+       it.ammo_flags           = TFL_AMMO_ENERGY | TFL_AMMO_RECHARGE | TFL_AMMO_RECIEVE;
+       it.aim_flags            = TFL_AIM_NO;
+       it.track_flags      = TFL_TRACK_NO;
 }
 
 bool turret_tesla_firecheck(entity this)
 {
-    // g_turrets_targetscan_maxdelay forces a target re-scan at least this often
-    float do_target_scan = 0;
-
-    if((this.target_select_time + autocvar_g_turrets_targetscan_maxdelay) < time)
-        do_target_scan = 1;
-
-    // Old target (if any) invalid?
-    if(this.target_validate_time < time)
-    if (turret_validate_target(this, this.enemy, this.target_validate_flags) <= 0)
-    {
-        this.enemy = NULL;
-        this.target_validate_time = time + 0.5;
-        do_target_scan = 1;
-    }
-
-    // But never more often then g_turrets_targetscan_mindelay!
-    if (this.target_select_time + autocvar_g_turrets_targetscan_mindelay > time)
-        do_target_scan = 0;
-
-    if(do_target_scan)
-    {
-        this.enemy = turret_select_target(this);
-        this.target_select_time = time;
-    }
-
-    if(!turret_firecheck(this))
-        return false;
-
-    if(this.enemy)
-        return true;
-
-    return false;
+       // g_turrets_targetscan_maxdelay forces a target re-scan at least this often
+       float do_target_scan = 0;
+
+       if ((this.target_select_time + autocvar_g_turrets_targetscan_maxdelay) < time) {
+               do_target_scan = 1;
+       }
+
+       // Old target (if any) invalid?
+       if (this.target_validate_time < time) {
+               if (turret_validate_target(this, this.enemy, this.target_validate_flags) <= 0) {
+                       this.enemy = NULL;
+                       this.target_validate_time = time + 0.5;
+                       do_target_scan = 1;
+               }
+       }
+
+       // But never more often then g_turrets_targetscan_mindelay!
+       if (this.target_select_time + autocvar_g_turrets_targetscan_mindelay > time) {
+               do_target_scan = 0;
+       }
+
+       if (do_target_scan) {
+               this.enemy = turret_select_target(this);
+               this.target_select_time = time;
+       }
+
+       if (!turret_firecheck(this)) {
+               return false;
+       }
+
+       if (this.enemy) {
+               return true;
+       }
+
+       return false;
 }
 
 #endif
index ee3192eb9fac339bf03a9887b0d9dacba6aeec29..405f7eeb844bf22dbc26c245fec1d4194aa993cb 100644 (file)
@@ -11,6 +11,6 @@ CLASS(TeslaCoil, Turret)
 /* head_model */ ATTRIB_STRZONE(TeslaCoil, head_model, string, strcat("models/turrets/", "tesla_head.md3"));
 /* netname    */ ATTRIB(TeslaCoil, netname, string, "tesla");
 /* fullname   */ ATTRIB(TeslaCoil, turret_name, string, _("Tesla Coil"));
-    ATTRIB(TeslaCoil, m_weapon, Weapon, WEP_TESLA);
+       ATTRIB(TeslaCoil, m_weapon, Weapon, WEP_TESLA);
 ENDCLASS(TeslaCoil)
 REGISTER_TURRET(TESLA, NEW(TeslaCoil));
index 88ca4db9702f491d237edd4adade82a526b0c9af..d9ec07c662e2503326b8a8dbde5c6d9cfb4fd8db 100644 (file)
@@ -4,81 +4,78 @@
 
 entity toast(entity actor, entity from, float range, float damage);
 SOUND(TeslaCoilTurretAttack_FIRE, W_Sound("electro_fire"));
-METHOD(TeslaCoilTurretAttack, wr_think, void(entity thiswep, entity actor, .entity weaponentity, int fire)) {
-    bool isPlayer = IS_PLAYER(actor);
-    if (fire & 1)
-    if (!isPlayer || weapon_prepareattack(thiswep, actor, weaponentity, false, WEP_CVAR_PRI(electro, refire))) {
-        if (isPlayer) {
-            turret_initparams(actor);
-            W_SetupShot_Dir(actor, weaponentity, v_forward, false, 0, SND_TeslaCoilTurretAttack_FIRE, CH_WEAPON_B, 0);
-            actor.tur_shotdir_updated = w_shotdir;
-            actor.tur_shotorg = w_shotorg;
-            actor.tur_head = actor;
-            weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, WEP_CVAR_PRI(electro, animtime), w_ready);
-        }
-
-        float d = actor.shot_dmg;
-        float r = actor.target_range;
-        entity e = spawn();
-        setorigin(e, actor.tur_shotorg);
+METHOD(TeslaCoilTurretAttack, wr_think, void(entity thiswep, entity actor, .entity weaponentity, int fire))
+{
+       bool isPlayer = IS_PLAYER(actor);
+       if (fire & 1) {
+               if (!isPlayer || weapon_prepareattack(thiswep, actor, weaponentity, false, WEP_CVAR_PRI(electro, refire))) {
+                       if (isPlayer) {
+                               turret_initparams(actor);
+                               W_SetupShot_Dir(actor, weaponentity, v_forward, false, 0, SND_TeslaCoilTurretAttack_FIRE, CH_WEAPON_B, 0);
+                               actor.tur_shotdir_updated = w_shotdir;
+                               actor.tur_shotorg = w_shotorg;
+                               actor.tur_head = actor;
+                               weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, WEP_CVAR_PRI(electro, animtime), w_ready);
+                       }
 
-        actor.target_validate_flags = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_MISSILES | TFL_TARGETSELECT_RANGELIMITS | TFL_TARGETSELECT_TEAMCHECK;
+                       float d = actor.shot_dmg;
+                       float r = actor.target_range;
+                       entity e = spawn();
+                       setorigin(e, actor.tur_shotorg);
 
-        entity t = toast(actor, e,r,d);
-        delete(e);
+                       actor.target_validate_flags = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_MISSILES | TFL_TARGETSELECT_RANGELIMITS | TFL_TARGETSELECT_TEAMCHECK;
 
-        if (t == NULL) return;
+                       entity t = toast(actor, e, r, d);
+                       delete(e);
 
-        actor.target_validate_flags = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_MISSILES | TFL_TARGETSELECT_TEAMCHECK;
+                       if (t == NULL) { return; }
 
-        actor.attack_finished_single[0] = time + actor.shot_refire;
-        for (int i = 0; i < 10; ++i) {
-            d *= 0.75;
-            r *= 0.85;
-            t = toast(actor, t, r, d);
-            if (t == NULL) break;
+                       actor.target_validate_flags = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_MISSILES | TFL_TARGETSELECT_TEAMCHECK;
 
-        }
+                       actor.attack_finished_single[0] = time + actor.shot_refire;
+                       for (int i = 0; i < 10; ++i) {
+                               d *= 0.75;
+                               r *= 0.85;
+                               t = toast(actor, t, r, d);
+                               if (t == NULL) { break; }
+                       }
 
-        IL_EACH(g_railgunhit, it.railgunhit,
-        {
-            it.railgunhit = false;
-        });
-        IL_CLEAR(g_railgunhit);
-    }
+                       IL_EACH(g_railgunhit, it.railgunhit,
+                       {
+                               it.railgunhit = false;
+                       });
+                       IL_CLEAR(g_railgunhit);
+               }
+       }
 }
 
 entity toast(entity actor, entity from, float range, float damage)
 {
-    float dd = range + 1;
-    entity etarget = NULL;
-    FOREACH_ENTITY_RADIUS(from.origin, range, it != from && !it.railgunhit,
-    {
-        float r = turret_validate_target(actor, it, actor.target_validate_flags);
-        if(r > 0)
-        {
-            traceline(from.origin, 0.5 * (it.absmin + it.absmax), MOVE_WORLDONLY, from);
-            if(trace_fraction == 1.0)
-            {
-                float d = vlen(it.origin - from.origin);
-                if(d < dd)
-                {
-                    dd = d;
-                    etarget = it;
-                }
-            }
-        }
-    });
+       float dd = range + 1;
+       entity etarget = NULL;
+       FOREACH_ENTITY_RADIUS(from.origin, range, it != from && !it.railgunhit,
+       {
+               float r = turret_validate_target(actor, it, actor.target_validate_flags);
+               if (r > 0) {
+                       traceline(from.origin, 0.5 * (it.absmin + it.absmax), MOVE_WORLDONLY, from);
+                       if (trace_fraction == 1.0) {
+                               float d = vlen(it.origin - from.origin);
+                               if (d < dd) {
+                                       dd = d;
+                                       etarget = it;
+                               }
+                       }
+               }
+       });
 
-    if (etarget)
-    {
-        te_csqc_lightningarc(from.origin, etarget.origin);
-        Damage(etarget, actor, actor, damage, DEATH_TURRET_TESLA.m_id, etarget.origin, '0 0 0');
-        etarget.railgunhit = true;
-        IL_PUSH(g_railgunhit, etarget);
-    }
+       if (etarget) {
+               te_csqc_lightningarc(from.origin, etarget.origin);
+               Damage(etarget, actor, actor, damage, DEATH_TURRET_TESLA.m_id, etarget.origin, '0 0 0');
+               etarget.railgunhit = true;
+               IL_PUSH(g_railgunhit, etarget);
+       }
 
-    return etarget;
+       return etarget;
 }
 
 #endif
index 415d5dfeef16fd315cd5c08d7dc269be2c199bd9..8d48e9544cea5af65f64badd257b175667dc8e67 100644 (file)
@@ -43,569 +43,558 @@ const int ANIM_ROAM       = 11;
 
 bool walker_firecheck(entity this)
 {
-    if (this.animflag == ANIM_MELEE)
-        return false;
+       if (this.animflag == ANIM_MELEE) {
+               return false;
+       }
 
-    return turret_firecheck(this);
+       return turret_firecheck(this);
 }
 
 void walker_melee_do_dmg(entity this)
 {
-    vector where;
-    entity e;
-
-    makevectors(this.angles);
-    where = this.origin + v_forward * 128;
-
-    e = findradius(where,32);
-    while (e)
-    {
-        if (turret_validate_target(this, e, this.target_validate_flags))
-            if (e != this && e.owner != this)
-                Damage(e, this, this, (autocvar_g_turrets_unit_walker_melee_damage), DEATH_TURRET_WALK_MELEE.m_id, '0 0 0', v_forward * (autocvar_g_turrets_unit_walker_melee_force));
-
-        e = e.chain;
-    }
+       vector where;
+       entity e;
+
+       makevectors(this.angles);
+       where = this.origin + v_forward * 128;
+
+       e = findradius(where, 32);
+       while (e) {
+               if (turret_validate_target(this, e, this.target_validate_flags)) {
+                       if (e != this && e.owner != this) {
+                               Damage(e, this, this, (autocvar_g_turrets_unit_walker_melee_damage), DEATH_TURRET_WALK_MELEE.m_id, '0 0 0', v_forward * (autocvar_g_turrets_unit_walker_melee_force));
+                       }
+               }
+
+               e = e.chain;
+       }
 }
 
 void walker_setnoanim(entity this)
 {
-    turrets_setframe(this, ANIM_NO, false);
-    this.animflag = this.frame;
+       turrets_setframe(this, ANIM_NO, false);
+       this.animflag = this.frame;
 }
 void walker_rocket_explode(entity this)
 {
-    RadiusDamage (this, this.owner, (autocvar_g_turrets_unit_walker_rocket_damage), 0, (autocvar_g_turrets_unit_walker_rocket_radius), this, NULL, (autocvar_g_turrets_unit_walker_rocket_force), DEATH_TURRET_WALK_ROCKET.m_id, NULL);
-    delete(this);
+       RadiusDamage(this, this.owner, (autocvar_g_turrets_unit_walker_rocket_damage), 0, (autocvar_g_turrets_unit_walker_rocket_radius), this, NULL, (autocvar_g_turrets_unit_walker_rocket_force), DEATH_TURRET_WALK_ROCKET.m_id, NULL);
+       delete(this);
 }
 
 void walker_rocket_touch(entity this, entity toucher)
 {
-    walker_rocket_explode(this);
+       walker_rocket_explode(this);
 }
 
 void walker_rocket_damage(entity this, entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector vforce)
 {
-    this.health = this.health - damage;
-    this.velocity = this.velocity + vforce;
+       this.health = this.health - damage;
+       this.velocity = this.velocity + vforce;
 
-    if (this.health <= 0)
-        W_PrepareExplosionByDamage(this, this.owner, walker_rocket_explode);
+       if (this.health <= 0) {
+               W_PrepareExplosionByDamage(this, this.owner, walker_rocket_explode);
+       }
 }
 
 #define WALKER_ROCKET_MOVE(s) movelib_move_simple((s), newdir, (autocvar_g_turrets_unit_walker_rocket_speed), (autocvar_g_turrets_unit_walker_rocket_turnrate)); UpdateCSQCProjectile(s)
 void walker_rocket_loop(entity this);
 void walker_rocket_think(entity this)
 {
-    vector newdir;
-    float edist;
-    float itime;
-    float m_speed;
-
-    this.nextthink = time;
-
-    edist = vlen(this.enemy.origin - this.origin);
-
-    // Simulate crude guidance
-    if (this.cnt < time)
-    {
-        if (edist < 1000)
-            this.tur_shotorg = randomvec() * min(edist, 64);
-        else
-            this.tur_shotorg = randomvec() * min(edist, 256);
-
-        this.cnt = time + 0.5;
-    }
-
-    if (edist < 128)
-        this.tur_shotorg = '0 0 0';
-
-    if (this.max_health < time)
-    {
-        setthink(this, walker_rocket_explode);
-        this.nextthink  = time;
-        return;
-    }
-
-    if (this.shot_dmg != 1337 && random() < 0.01)
-    {
-        walker_rocket_loop(this);
-        return;
-    }
-
-    m_speed = vlen(this.velocity);
-
-    // Enemy dead? just keep on the current heading then.
-    if (this.enemy == NULL || IS_DEAD(this.enemy))
-        this.enemy = NULL;
-
-    if (this.enemy)
-    {
-        itime = max(edist / m_speed, 1);
-        newdir = steerlib_pull(this, this.enemy.origin + this.tur_shotorg);
-    }
-    else
-        newdir  = normalize(this.velocity);
-
-    WALKER_ROCKET_MOVE(this);
+       vector newdir;
+       float edist;
+       float itime;
+       float m_speed;
+
+       this.nextthink = time;
+
+       edist = vlen(this.enemy.origin - this.origin);
+
+       // Simulate crude guidance
+       if (this.cnt < time) {
+               if (edist < 1000) {
+                       this.tur_shotorg = randomvec() * min(edist, 64);
+               } else {
+                       this.tur_shotorg = randomvec() * min(edist, 256);
+               }
+
+               this.cnt = time + 0.5;
+       }
+
+       if (edist < 128) {
+               this.tur_shotorg = '0 0 0';
+       }
+
+       if (this.max_health < time) {
+               setthink(this, walker_rocket_explode);
+               this.nextthink  = time;
+               return;
+       }
+
+       if (this.shot_dmg != 1337 && random() < 0.01) {
+               walker_rocket_loop(this);
+               return;
+       }
+
+       m_speed = vlen(this.velocity);
+
+       // Enemy dead? just keep on the current heading then.
+       if (this.enemy == NULL || IS_DEAD(this.enemy)) {
+               this.enemy = NULL;
+       }
+
+       if (this.enemy) {
+               itime = max(edist / m_speed, 1);
+               newdir = steerlib_pull(this, this.enemy.origin + this.tur_shotorg);
+       } else {
+               newdir  = normalize(this.velocity);
+       }
+
+       WALKER_ROCKET_MOVE(this);
 }
 
 void walker_rocket_loop3(entity this)
 {
-    this.nextthink = time;
+       this.nextthink = time;
 
-    if (this.max_health < time)
-    {
-        setthink(this, walker_rocket_explode);
-        return;
-    }
+       if (this.max_health < time) {
+               setthink(this, walker_rocket_explode);
+               return;
+       }
 
-    if(vdist(this.origin - this.tur_shotorg, <, 100))
-    {
-        setthink(this, walker_rocket_think);
-        return;
-    }
+       if (vdist(this.origin - this.tur_shotorg, <, 100)) {
+               setthink(this, walker_rocket_think);
+               return;
+       }
 
-    vector newdir = steerlib_pull(this, this.tur_shotorg);
-    WALKER_ROCKET_MOVE(this);
+       vector newdir = steerlib_pull(this, this.tur_shotorg);
+       WALKER_ROCKET_MOVE(this);
 
-    this.angles = vectoangles(this.velocity);
+       this.angles = vectoangles(this.velocity);
 }
 
 void walker_rocket_loop2(entity this)
 {
-    this.nextthink = time;
-
-    if (this.max_health < time)
-    {
-        setthink(this, walker_rocket_explode);
-        return;
-    }
-
-    if(vdist(this.origin - this.tur_shotorg, <, 100))
-    {
-        this.tur_shotorg = this.origin - '0 0 200';
-        setthink(this, walker_rocket_loop3);
-        return;
-    }
-
-    vector newdir = steerlib_pull(this, this.tur_shotorg);
-    WALKER_ROCKET_MOVE(this);
+       this.nextthink = time;
+
+       if (this.max_health < time) {
+               setthink(this, walker_rocket_explode);
+               return;
+       }
+
+       if (vdist(this.origin - this.tur_shotorg, <, 100)) {
+               this.tur_shotorg = this.origin - '0 0 200';
+               setthink(this, walker_rocket_loop3);
+               return;
+       }
+
+       vector newdir = steerlib_pull(this, this.tur_shotorg);
+       WALKER_ROCKET_MOVE(this);
 }
 
 void walker_rocket_loop(entity this)
 {
-    this.nextthink = time;
-    this.tur_shotorg = this.origin + '0 0 300';
-    setthink(this, walker_rocket_loop2);
-    this.shot_dmg = 1337;
+       this.nextthink = time;
+       this.tur_shotorg = this.origin + '0 0 300';
+       setthink(this, walker_rocket_loop2);
+       this.shot_dmg = 1337;
 }
 
 void walker_fire_rocket(entity this, vector org)
 {
-    fixedmakevectors(this.angles);
-
-    te_explosion (org);
-
-    entity rocket = new(walker_rocket);
-    setorigin(rocket, org);
-
-    sound (this, CH_WEAPON_A, SND_HAGAR_FIRE, VOL_BASE, ATTEN_NORM);
-    setsize (rocket, '-3 -3 -3', '3 3 3'); // give it some size so it can be shot
-
-    rocket.owner                         = this;
-    rocket.bot_dodge             = true;
-    rocket.bot_dodgerating     = 50;
-    rocket.takedamage           = DAMAGE_YES;
-    rocket.damageforcescale   = 2;
-    rocket.health                       = 25;
-    rocket.tur_shotorg         = randomvec() * 512;
-    rocket.cnt                         = time + 1;
-    rocket.enemy                         = this.enemy;
-
-    if (random() < 0.01)
-        setthink(rocket, walker_rocket_loop);
-    else
-        setthink(rocket, walker_rocket_think);
-
-    rocket.event_damage           = walker_rocket_damage;
-
-    rocket.nextthink             = time;
-    set_movetype(rocket, MOVETYPE_FLY);
-    rocket.velocity               = normalize((v_forward + v_up * 0.5) + (randomvec() * 0.2)) * (autocvar_g_turrets_unit_walker_rocket_speed);
-    rocket.angles                       = vectoangles(rocket.velocity);
-    settouch(rocket, walker_rocket_touch);
-    rocket.flags = FL_PROJECTILE;
-    IL_PUSH(g_projectiles, rocket);
-    IL_PUSH(g_bot_dodge, rocket);
-    rocket.solid                         = SOLID_BBOX;
-    rocket.max_health           = time + 9;
-    rocket.missile_flags = MIF_SPLASH | MIF_PROXY | MIF_GUIDED_HEAT;
-
-    CSQCProjectile(rocket, false, PROJECTILE_ROCKET, false); // no culling, has fly sound
+       fixedmakevectors(this.angles);
+
+       te_explosion(org);
+
+       entity rocket = new(walker_rocket);
+       setorigin(rocket, org);
+
+       sound(this, CH_WEAPON_A, SND_HAGAR_FIRE, VOL_BASE, ATTEN_NORM);
+       setsize(rocket, '-3 -3 -3', '3 3 3'); // give it some size so it can be shot
+
+       rocket.owner              = this;
+       rocket.bot_dodge          = true;
+       rocket.bot_dodgerating  = 50;
+       rocket.takedamage        = DAMAGE_YES;
+       rocket.damageforcescale   = 2;
+       rocket.health            = 25;
+       rocket.tur_shotorg      = randomvec() * 512;
+       rocket.cnt              = time + 1;
+       rocket.enemy              = this.enemy;
+
+       if (random() < 0.01) {
+               setthink(rocket, walker_rocket_loop);
+       } else {
+               setthink(rocket, walker_rocket_think);
+       }
+
+       rocket.event_damage    = walker_rocket_damage;
+
+       rocket.nextthink          = time;
+       set_movetype(rocket, MOVETYPE_FLY);
+       rocket.velocity        = normalize((v_forward + v_up * 0.5) + (randomvec() * 0.2)) * (autocvar_g_turrets_unit_walker_rocket_speed);
+       rocket.angles            = vectoangles(rocket.velocity);
+       settouch(rocket, walker_rocket_touch);
+       rocket.flags = FL_PROJECTILE;
+       IL_PUSH(g_projectiles, rocket);
+       IL_PUSH(g_bot_dodge, rocket);
+       rocket.solid              = SOLID_BBOX;
+       rocket.max_health        = time + 9;
+       rocket.missile_flags = MIF_SPLASH | MIF_PROXY | MIF_GUIDED_HEAT;
+
+       CSQCProjectile(rocket, false, PROJECTILE_ROCKET, false); // no culling, has fly sound
 }
 
 .vector enemy_last_loc;
 .float enemy_last_time;
 void walker_move_to(entity this, vector _target, float _dist)
 {
-    switch (this.waterlevel)
-    {
-        case WATERLEVEL_NONE:
-            if (_dist > 500)
-                this.animflag = ANIM_RUN;
-            else
-                this.animflag = ANIM_WALK;
-        case WATERLEVEL_WETFEET:
-        case WATERLEVEL_SWIMMING:
-            if (this.animflag != ANIM_SWIM)
-                this.animflag = ANIM_WALK;
-            else
-                this.animflag = ANIM_SWIM;
-            break;
-        case WATERLEVEL_SUBMERGED:
-            this.animflag = ANIM_SWIM;
-    }
-
-    this.moveto = _target;
-    this.steerto = steerlib_attract2(this, this.moveto, 0.5, 500, 0.95);
-
-    if(this.enemy)
-    {
-        this.enemy_last_loc = _target;
-        this.enemy_last_time = time;
-    }
+       switch (this.waterlevel) {
+               case WATERLEVEL_NONE:
+                       if (_dist > 500) {
+                               this.animflag = ANIM_RUN;
+                       } else {
+                               this.animflag = ANIM_WALK;
+                       }
+               case WATERLEVEL_WETFEET:
+               case WATERLEVEL_SWIMMING:
+                       if (this.animflag != ANIM_SWIM) {
+                               this.animflag = ANIM_WALK;
+                       } else {
+                               this.animflag = ANIM_SWIM;
+                       }
+                       break;
+               case WATERLEVEL_SUBMERGED:
+                       this.animflag = ANIM_SWIM;
+       }
+
+       this.moveto = _target;
+       this.steerto = steerlib_attract2(this, this.moveto, 0.5, 500, 0.95);
+
+       if (this.enemy) {
+               this.enemy_last_loc = _target;
+               this.enemy_last_time = time;
+       }
 }
 
 void walker_move_path(entity this)
 {
 #ifdef WALKER_FANCYPATHING
-    // Are we close enougth to a path node to switch to the next?
-    if(vdist(this.origin - this.pathcurrent.origin, <, 64))
-        if (this.pathcurrent.path_next == NULL)
-        {
-            // Path endpoint reached
-            pathlib_deletepath(this.pathcurrent.owner);
-            this.pathcurrent = NULL;
-
-            if (this.pathgoal)
-            {
-                if (this.pathgoal.use)
-                    this.pathgoal.use(this, NULL, NULL);
-
-                if (this.pathgoal.enemy)
-                {
-                    this.pathcurrent = pathlib_astar(this, this.pathgoal.origin, this.pathgoal.enemy.origin);
-                    this.pathgoal = this.pathgoal.enemy;
-                }
-            }
-            else
-                this.pathgoal = NULL;
-        }
-        else
-            this.pathcurrent = this.pathcurrent.path_next;
-
-    this.moveto = this.pathcurrent.origin;
-    this.steerto = steerlib_attract2(this, this.moveto,0.5,500,0.95);
-    walker_move_to(this, this.moveto, 0);
+       // Are we close enougth to a path node to switch to the next?
+       if (vdist(this.origin - this.pathcurrent.origin, <, 64)) {
+               if (this.pathcurrent.path_next == NULL) {
+                       // Path endpoint reached
+                       pathlib_deletepath(this.pathcurrent.owner);
+                       this.pathcurrent = NULL;
+
+                       if (this.pathgoal) {
+                               if (this.pathgoal.use) {
+                                       this.pathgoal.use(this, NULL, NULL);
+                               }
+
+                               if (this.pathgoal.enemy) {
+                                       this.pathcurrent = pathlib_astar(this, this.pathgoal.origin, this.pathgoal.enemy.origin);
+                                       this.pathgoal = this.pathgoal.enemy;
+                               }
+                       } else {
+                               this.pathgoal = NULL;
+                       }
+               } else {
+                       this.pathcurrent = this.pathcurrent.path_next;
+               }
+       }
+
+       this.moveto = this.pathcurrent.origin;
+       this.steerto = steerlib_attract2(this, this.moveto, 0.5, 500, 0.95);
+       walker_move_to(this, this.moveto, 0);
 
 #else
-    if(vdist(this.origin - this.pathcurrent.origin, <, 64))
-        this.pathcurrent = this.pathcurrent.enemy;
+       if (vdist(this.origin - this.pathcurrent.origin, <, 64)) {
+               this.pathcurrent = this.pathcurrent.enemy;
+       }
 
-    if(!this.pathcurrent)
-        return;
+       if (!this.pathcurrent) {
+               return;
+       }
 
-    this.moveto = this.pathcurrent.origin;
-    this.steerto = steerlib_attract2(this, this.moveto, 0.5, 500, 0.95);
-    walker_move_to(this, this.moveto, 0);
+       this.moveto = this.pathcurrent.origin;
+       this.steerto = steerlib_attract2(this, this.moveto, 0.5, 500, 0.95);
+       walker_move_to(this, this.moveto, 0);
 #endif
 }
 
 void walker_findtarget(entity this)
 {
-    entity e = find(NULL, targetname, this.target);
-    if (!e)
-    {
-        LOG_TRACE("Initital waypoint for walker does NOT exist, fix your map!");
-        this.target = "";
-    }
-
-    if (e.classname != "turret_checkpoint")
-        LOG_TRACE("Warning: not a turrret path");
-    else
-    {
+       entity e = find(NULL, targetname, this.target);
+       if (!e) {
+               LOG_TRACE("Initital waypoint for walker does NOT exist, fix your map!");
+               this.target = "";
+       }
+
+       if (e.classname != "turret_checkpoint") {
+               LOG_TRACE("Warning: not a turrret path");
+       } else {
 #ifdef WALKER_FANCYPATHING
-        this.pathcurrent = pathlib_astar(this, this.origin, e.origin);
-        this.pathgoal = e;
+               this.pathcurrent = pathlib_astar(this, this.origin, e.origin);
+               this.pathgoal = e;
 #else
-        this.pathcurrent = e;
+               this.pathcurrent = e;
 #endif
-    }
+       }
 
-    // TODO: this doesn't reset target, so tur_defend will be the checkpoint too!
+       // TODO: this doesn't reset target, so tur_defend will be the checkpoint too!
 }
 
-spawnfunc(turret_walker) { if(!turret_initialize(this, TUR_WALKER)) delete(this); }
+spawnfunc(turret_walker)
+{
+       if (!turret_initialize(this, TUR_WALKER)) {
+               delete(this);
+       }
+}
 
 METHOD(WalkerTurret, tr_think, void(WalkerTurret thistur, entity it))
 {
-    fixedmakevectors(it.angles);
-
-    if (it.spawnflags & TSF_NO_PATHBREAK && it.pathcurrent)
-        walker_move_path(it);
-    else if (it.enemy == NULL)
-    {
-        if(it.pathcurrent)
-            walker_move_path(it);
-        else
-        {
-            if(it.enemy_last_time != 0)
-            {
-                if(vdist(it.origin - it.enemy_last_loc, <, 128) || time - it.enemy_last_time > 10)
-                    it.enemy_last_time = 0;
-                else
-                    walker_move_to(it, it.enemy_last_loc, 0);
-            }
-            else
-            {
-                if(it.animflag != ANIM_NO)
-                {
-                    traceline(it.origin + '0 0 64', it.origin + '0 0 64' + v_forward * 128, MOVE_NORMAL, it);
-
-                    if(trace_fraction != 1.0)
-                        it.tur_head.idletime = -1337;
-                    else
-                    {
-                        traceline(trace_endpos, trace_endpos - '0 0 256', MOVE_NORMAL, it);
-                        if(trace_fraction == 1.0)
-                            it.tur_head.idletime = -1337;
-                    }
-
-                    if(it.tur_head.idletime == -1337)
-                    {
-                        it.moveto = it.origin + randomvec() * 256;
-                        it.tur_head.idletime = 0;
-                    }
-
-                    it.moveto = it.moveto * 0.9 + ((it.origin + v_forward * 500) + randomvec() * 400) * 0.1;
-                    it.moveto_z = it.origin_z + 64;
-                    walker_move_to(it, it.moveto, 0);
-                }
-
-                if(it.idletime < time)
-                {
-                    if(random() < 0.5 || !(it.spawnflags & TSL_ROAM))
-                    {
-                        it.idletime = time + 1 + random() * 5;
-                        it.moveto = it.origin;
-                        it.animflag = ANIM_NO;
-                    }
-                    else
-                    {
-                        it.animflag = ANIM_WALK;
-                        it.idletime = time + 4 + random() * 2;
-                        it.moveto = it.origin + randomvec() * 256;
-                        it.tur_head.moveto = it.moveto;
-                        it.tur_head.idletime = 0;
-                    }
-                }
-            }
-        }
-    }
-    else
-    {
-        if (it.tur_dist_enemy < (autocvar_g_turrets_unit_walker_melee_range) && it.animflag != ANIM_MELEE)
-        {
-            vector wish_angle;
-
-            wish_angle = angleofs(it, it.enemy);
-            if (it.animflag != ANIM_SWIM)
-            if (fabs(wish_angle_y) < 15)
-            {
-                it.moveto   = it.enemy.origin;
-                it.steerto  = steerlib_attract2(it, it.moveto, 0.5, 500, 0.95);
-                it.animflag = ANIM_MELEE;
-            }
-        }
-        else if (it.tur_head.attack_finished_single[0] < time)
-        {
-            if(it.tur_head.shot_volly)
-            {
-                it.animflag = ANIM_NO;
-
-                it.tur_head.shot_volly = it.tur_head.shot_volly -1;
-                if(it.tur_head.shot_volly == 0)
-                    it.tur_head.attack_finished_single[0] = time + (autocvar_g_turrets_unit_walker_rocket_refire);
-                else
-                    it.tur_head.attack_finished_single[0] = time + 0.2;
-
-                if(it.tur_head.shot_volly > 1)
-                    walker_fire_rocket(it, gettaginfo(it, gettagindex(it, "tag_rocket01")));
-                else
-                    walker_fire_rocket(it, gettaginfo(it, gettagindex(it, "tag_rocket02")));
-            }
-            else
-            {
-                if (it.tur_dist_enemy > (autocvar_g_turrets_unit_walker_rocket_range_min))
-                if (it.tur_dist_enemy < (autocvar_g_turrets_unit_walker_rocket_range))
-                    it.tur_head.shot_volly = 4;
-            }
-        }
-        else
-        {
-            if (it.animflag != ANIM_MELEE)
-                walker_move_to(it, it.enemy.origin, it.tur_dist_enemy);
-        }
-    }
-
-    {
-        vector real_angle;
-        float turny = 0, turnx = 0;
-        float vz;
-
-        real_angle = vectoangles(it.steerto) - it.angles;
-        vz = it.velocity_z;
-
-        switch (it.animflag)
-        {
-            case ANIM_NO:
-                movelib_brake_simple(it, (autocvar_g_turrets_unit_walker_speed_stop));
-                break;
-
-            case ANIM_TURN:
-                turny = (autocvar_g_turrets_unit_walker_turn);
-                movelib_brake_simple(it, (autocvar_g_turrets_unit_walker_speed_stop));
-                break;
-
-            case ANIM_WALK:
-                turny = (autocvar_g_turrets_unit_walker_turn_walk);
-                movelib_move_simple(it, v_forward, (autocvar_g_turrets_unit_walker_speed_walk), 0.6);
-                break;
-
-            case ANIM_RUN:
-                turny = (autocvar_g_turrets_unit_walker_turn_run);
-                movelib_move_simple(it, v_forward, (autocvar_g_turrets_unit_walker_speed_run), 0.6);
-                break;
-
-            case ANIM_STRAFE_L:
-                turny = (autocvar_g_turrets_unit_walker_turn_strafe);
-                movelib_move_simple(it, v_right * -1, (autocvar_g_turrets_unit_walker_speed_walk), 0.8);
-                break;
-
-            case ANIM_STRAFE_R:
-                turny = (autocvar_g_turrets_unit_walker_turn_strafe);
-                movelib_move_simple(it, v_right, (autocvar_g_turrets_unit_walker_speed_walk), 0.8);
-                break;
-
-            case ANIM_JUMP:
-                it.velocity += '0 0 1' * (autocvar_g_turrets_unit_walker_speed_jump);
-                break;
-
-            case ANIM_LAND:
-                break;
-
-            case ANIM_PAIN:
-                if(it.frame != ANIM_PAIN)
-                    defer(it, 0.25, walker_setnoanim);
-
-                break;
-
-            case ANIM_MELEE:
-                if(it.frame != ANIM_MELEE)
-                {
-                    defer(it, 0.41, walker_setnoanim);
-                    defer(it, 0.21, walker_melee_do_dmg);
-                }
-
-                movelib_brake_simple(it, (autocvar_g_turrets_unit_walker_speed_stop));
-                break;
-
-            case ANIM_SWIM:
-                turny = (autocvar_g_turrets_unit_walker_turn_swim);
-                turnx = (autocvar_g_turrets_unit_walker_turn_swim);
-
-                it.angles_x += bound(-10, shortangle_f(real_angle_x, it.angles_x), 10);
-                movelib_move_simple(it, v_forward, (autocvar_g_turrets_unit_walker_speed_swim), 0.3);
-                vz = it.velocity_z + sin(time * 4) * 8;
-                break;
-
-            case ANIM_ROAM:
-                turny = (autocvar_g_turrets_unit_walker_turn_walk);
-                movelib_move_simple(it, v_forward ,(autocvar_g_turrets_unit_walker_speed_roam), 0.5);
-                break;
-        }
-
-        if(turny)
-        {
-            turny = bound( turny * -1, shortangle_f(real_angle_y, it.angles_y), turny );
-            it.angles_y += turny;
-        }
-
-        if(turnx)
-        {
-            turnx = bound( turnx * -1, shortangle_f(real_angle_x, it.angles_x), turnx );
-            it.angles_x += turnx;
-        }
-
-        it.velocity_z = vz;
-    }
-
-
-    if(it.origin != it.oldorigin)
-        it.SendFlags |= TNSF_MOVE;
-
-    it.oldorigin = it.origin;
-    turrets_setframe(it, it.animflag, false);
+       fixedmakevectors(it.angles);
+
+       if (it.spawnflags & TSF_NO_PATHBREAK && it.pathcurrent) {
+               walker_move_path(it);
+       } else if (it.enemy == NULL) {
+               if (it.pathcurrent) {
+                       walker_move_path(it);
+               } else {
+                       if (it.enemy_last_time != 0) {
+                               if (vdist(it.origin - it.enemy_last_loc, <, 128) || time - it.enemy_last_time > 10) {
+                                       it.enemy_last_time = 0;
+                               } else {
+                                       walker_move_to(it, it.enemy_last_loc, 0);
+                               }
+                       } else {
+                               if (it.animflag != ANIM_NO) {
+                                       traceline(it.origin + '0 0 64', it.origin + '0 0 64' + v_forward * 128, MOVE_NORMAL, it);
+
+                                       if (trace_fraction != 1.0) {
+                                               it.tur_head.idletime = -1337;
+                                       } else {
+                                               traceline(trace_endpos, trace_endpos - '0 0 256', MOVE_NORMAL, it);
+                                               if (trace_fraction == 1.0) {
+                                                       it.tur_head.idletime = -1337;
+                                               }
+                                       }
+
+                                       if (it.tur_head.idletime == -1337) {
+                                               it.moveto = it.origin + randomvec() * 256;
+                                               it.tur_head.idletime = 0;
+                                       }
+
+                                       it.moveto = it.moveto * 0.9 + ((it.origin + v_forward * 500) + randomvec() * 400) * 0.1;
+                                       it.moveto_z = it.origin_z + 64;
+                                       walker_move_to(it, it.moveto, 0);
+                               }
+
+                               if (it.idletime < time) {
+                                       if (random() < 0.5 || !(it.spawnflags & TSL_ROAM)) {
+                                               it.idletime = time + 1 + random() * 5;
+                                               it.moveto = it.origin;
+                                               it.animflag = ANIM_NO;
+                                       } else {
+                                               it.animflag = ANIM_WALK;
+                                               it.idletime = time + 4 + random() * 2;
+                                               it.moveto = it.origin + randomvec() * 256;
+                                               it.tur_head.moveto = it.moveto;
+                                               it.tur_head.idletime = 0;
+                                       }
+                               }
+                       }
+               }
+       } else {
+               if (it.tur_dist_enemy < (autocvar_g_turrets_unit_walker_melee_range) && it.animflag != ANIM_MELEE) {
+                       vector wish_angle;
+
+                       wish_angle = angleofs(it, it.enemy);
+                       if (it.animflag != ANIM_SWIM) {
+                               if (fabs(wish_angle_y) < 15) {
+                                       it.moveto   = it.enemy.origin;
+                                       it.steerto  = steerlib_attract2(it, it.moveto, 0.5, 500, 0.95);
+                                       it.animflag = ANIM_MELEE;
+                               }
+                       }
+               } else if (it.tur_head.attack_finished_single[0] < time) {
+                       if (it.tur_head.shot_volly) {
+                               it.animflag = ANIM_NO;
+
+                               it.tur_head.shot_volly = it.tur_head.shot_volly - 1;
+                               if (it.tur_head.shot_volly == 0) {
+                                       it.tur_head.attack_finished_single[0] = time + (autocvar_g_turrets_unit_walker_rocket_refire);
+                               } else {
+                                       it.tur_head.attack_finished_single[0] = time + 0.2;
+                               }
+
+                               if (it.tur_head.shot_volly > 1) {
+                                       walker_fire_rocket(it, gettaginfo(it, gettagindex(it, "tag_rocket01")));
+                               } else {
+                                       walker_fire_rocket(it, gettaginfo(it, gettagindex(it, "tag_rocket02")));
+                               }
+                       } else {
+                               if (it.tur_dist_enemy > (autocvar_g_turrets_unit_walker_rocket_range_min)) {
+                                       if (it.tur_dist_enemy < (autocvar_g_turrets_unit_walker_rocket_range)) {
+                                               it.tur_head.shot_volly = 4;
+                                       }
+                               }
+                       }
+               } else {
+                       if (it.animflag != ANIM_MELEE) {
+                               walker_move_to(it, it.enemy.origin, it.tur_dist_enemy);
+                       }
+               }
+       }
+
+       {
+               vector real_angle;
+               float turny = 0, turnx = 0;
+               float vz;
+
+               real_angle = vectoangles(it.steerto) - it.angles;
+               vz = it.velocity_z;
+
+               switch (it.animflag) {
+                       case ANIM_NO:
+                               movelib_brake_simple(it, (autocvar_g_turrets_unit_walker_speed_stop));
+                               break;
+
+                       case ANIM_TURN:
+                               turny = (autocvar_g_turrets_unit_walker_turn);
+                               movelib_brake_simple(it, (autocvar_g_turrets_unit_walker_speed_stop));
+                               break;
+
+                       case ANIM_WALK:
+                               turny = (autocvar_g_turrets_unit_walker_turn_walk);
+                               movelib_move_simple(it, v_forward, (autocvar_g_turrets_unit_walker_speed_walk), 0.6);
+                               break;
+
+                       case ANIM_RUN:
+                               turny = (autocvar_g_turrets_unit_walker_turn_run);
+                               movelib_move_simple(it, v_forward, (autocvar_g_turrets_unit_walker_speed_run), 0.6);
+                               break;
+
+                       case ANIM_STRAFE_L:
+                               turny = (autocvar_g_turrets_unit_walker_turn_strafe);
+                               movelib_move_simple(it, v_right * -1, (autocvar_g_turrets_unit_walker_speed_walk), 0.8);
+                               break;
+
+                       case ANIM_STRAFE_R:
+                               turny = (autocvar_g_turrets_unit_walker_turn_strafe);
+                               movelib_move_simple(it, v_right, (autocvar_g_turrets_unit_walker_speed_walk), 0.8);
+                               break;
+
+                       case ANIM_JUMP:
+                               it.velocity += '0 0 1' * (autocvar_g_turrets_unit_walker_speed_jump);
+                               break;
+
+                       case ANIM_LAND:
+                               break;
+
+                       case ANIM_PAIN:
+                               if (it.frame != ANIM_PAIN) {
+                                       defer(it, 0.25, walker_setnoanim);
+                               }
+
+                               break;
+
+                       case ANIM_MELEE:
+                               if (it.frame != ANIM_MELEE) {
+                                       defer(it, 0.41, walker_setnoanim);
+                                       defer(it, 0.21, walker_melee_do_dmg);
+                               }
+
+                               movelib_brake_simple(it, (autocvar_g_turrets_unit_walker_speed_stop));
+                               break;
+
+                       case ANIM_SWIM:
+                               turny = (autocvar_g_turrets_unit_walker_turn_swim);
+                               turnx = (autocvar_g_turrets_unit_walker_turn_swim);
+
+                               it.angles_x += bound(-10, shortangle_f(real_angle_x, it.angles_x), 10);
+                               movelib_move_simple(it, v_forward, (autocvar_g_turrets_unit_walker_speed_swim), 0.3);
+                               vz = it.velocity_z + sin(time * 4) * 8;
+                               break;
+
+                       case ANIM_ROAM:
+                               turny = (autocvar_g_turrets_unit_walker_turn_walk);
+                               movelib_move_simple(it, v_forward, (autocvar_g_turrets_unit_walker_speed_roam), 0.5);
+                               break;
+               }
+
+               if (turny) {
+                       turny = bound(turny * -1, shortangle_f(real_angle_y, it.angles_y), turny);
+                       it.angles_y += turny;
+               }
+
+               if (turnx) {
+                       turnx = bound(turnx * -1, shortangle_f(real_angle_x, it.angles_x), turnx);
+                       it.angles_x += turnx;
+               }
+
+               it.velocity_z = vz;
+       }
+
+
+       if (it.origin != it.oldorigin) {
+               it.SendFlags |= TNSF_MOVE;
+       }
+
+       it.oldorigin = it.origin;
+       turrets_setframe(it, it.animflag, false);
 }
 METHOD(WalkerTurret, tr_death, void(WalkerTurret this, entity it))
 {
 #ifdef WALKER_FANCYPATHING
-    if (it.pathcurrent)
-        pathlib_deletepath(it.pathcurrent.owner);
+       if (it.pathcurrent) {
+               pathlib_deletepath(it.pathcurrent.owner);
+       }
 #endif
-    it.pathcurrent = NULL;
+       it.pathcurrent = NULL;
 }
 METHOD(WalkerTurret, tr_setup, void(WalkerTurret this, entity it))
 {
-    it.ticrate = 0.05;
-
-    // Respawn is called & first spawn to, to set team. need to make sure we do not move the initial spawn.
-    if(it.move_movetype == MOVETYPE_WALK)
-    {
-        if(it.pos1)
-            setorigin(it, it.pos1);
-        if(it.pos2)
-            it.angles = it.pos2;
-    }
-
-    it.ammo_flags = TFL_AMMO_BULLETS | TFL_AMMO_RECHARGE | TFL_AMMO_RECIEVE;
-    it.aim_flags = TFL_AIM_LEAD;
-    it.turret_flags |= TUR_FLAG_HITSCAN;
-
-    it.target_select_flags = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_RANGELIMITS | TFL_TARGETSELECT_TEAMCHECK | TFL_TARGETSELECT_LOS;
-    it.target_validate_flags = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_RANGELIMITS | TFL_TARGETSELECT_TEAMCHECK | TFL_TARGETSELECT_LOS;
-    it.iscreature = true;
-    it.teleportable = TELEPORT_NORMAL;
-    if(!it.damagedbycontents)
-        IL_PUSH(g_damagedbycontents, it);
-    it.damagedbycontents = true;
-    it.solid = SOLID_SLIDEBOX;
-    it.takedamage = DAMAGE_AIM;
-    if(it.move_movetype != MOVETYPE_WALK)
-    {
-        setorigin(it, it.origin);
-        tracebox(it.origin + '0 0 128', it.mins, it.maxs, it.origin - '0 0 10000', MOVE_NORMAL, it);
-        setorigin(it, trace_endpos + '0 0 4');
-        it.pos1 = it.origin;
-        it.pos2 = it.angles;
-    }
-    set_movetype(it, MOVETYPE_WALK);
-    it.idle_aim = '0 0 0';
-    it.turret_firecheckfunc = walker_firecheck;
-
-    if (it.target != "")
-        InitializeEntity(it, walker_findtarget, INITPRIO_FINDTARGET);
+       it.ticrate = 0.05;
+
+       // Respawn is called & first spawn to, to set team. need to make sure we do not move the initial spawn.
+       if (it.move_movetype == MOVETYPE_WALK) {
+               if (it.pos1) {
+                       setorigin(it, it.pos1);
+               }
+               if (it.pos2) {
+                       it.angles = it.pos2;
+               }
+       }
+
+       it.ammo_flags = TFL_AMMO_BULLETS | TFL_AMMO_RECHARGE | TFL_AMMO_RECIEVE;
+       it.aim_flags = TFL_AIM_LEAD;
+       it.turret_flags |= TUR_FLAG_HITSCAN;
+
+       it.target_select_flags = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_RANGELIMITS | TFL_TARGETSELECT_TEAMCHECK | TFL_TARGETSELECT_LOS;
+       it.target_validate_flags = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_RANGELIMITS | TFL_TARGETSELECT_TEAMCHECK | TFL_TARGETSELECT_LOS;
+       it.iscreature = true;
+       it.teleportable = TELEPORT_NORMAL;
+       if (!it.damagedbycontents) {
+               IL_PUSH(g_damagedbycontents, it);
+       }
+       it.damagedbycontents = true;
+       it.solid = SOLID_SLIDEBOX;
+       it.takedamage = DAMAGE_AIM;
+       if (it.move_movetype != MOVETYPE_WALK) {
+               setorigin(it, it.origin);
+               tracebox(it.origin + '0 0 128', it.mins, it.maxs, it.origin - '0 0 10000', MOVE_NORMAL, it);
+               setorigin(it, trace_endpos + '0 0 4');
+               it.pos1 = it.origin;
+               it.pos2 = it.angles;
+       }
+       set_movetype(it, MOVETYPE_WALK);
+       it.idle_aim = '0 0 0';
+       it.turret_firecheckfunc = walker_firecheck;
+
+       if (it.target != "") {
+               InitializeEntity(it, walker_findtarget, INITPRIO_FINDTARGET);
+       }
 }
 
 #endif // SVQC
@@ -615,29 +604,32 @@ METHOD(WalkerTurret, tr_setup, void(WalkerTurret this, entity it))
 
 void walker_draw(entity this)
 {
-    float dt;
-
-    dt = time - this.move_time;
-    this.move_time = time;
-    if(dt <= 0)
-        return;
-
-    fixedmakevectors(this.angles);
-    movelib_groundalign4point(this, 300, 100, 0.25, 45);
-    setorigin(this, this.origin + this.velocity * dt);
-    this.tur_head.angles += dt * this.tur_head.avelocity;
-
-    if (this.health < 127)
-    if(random() < 0.15)
-        te_spark(this.origin + '0 0 40', randomvec() * 256 + '0 0 256', 16);
+       float dt;
+
+       dt = time - this.move_time;
+       this.move_time = time;
+       if (dt <= 0) {
+               return;
+       }
+
+       fixedmakevectors(this.angles);
+       movelib_groundalign4point(this, 300, 100, 0.25, 45);
+       setorigin(this, this.origin + this.velocity * dt);
+       this.tur_head.angles += dt * this.tur_head.avelocity;
+
+       if (this.health < 127) {
+               if (random() < 0.15) {
+                       te_spark(this.origin + '0 0 40', randomvec() * 256 + '0 0 256', 16);
+               }
+       }
 }
 
-        METHOD(WalkerTurret, tr_setup, void(WalkerTurret this, entity it))
-        {
-            it.gravity         = 1;
-            set_movetype(it, MOVETYPE_BOUNCE);
-            it.move_time               = time;
-            it.draw                    = walker_draw;
-        }
+METHOD(WalkerTurret, tr_setup, void(WalkerTurret this, entity it))
+{
+       it.gravity      = 1;
+       set_movetype(it, MOVETYPE_BOUNCE);
+       it.move_time        = time;
+       it.draw         = walker_draw;
+}
 
 #endif // CSQC
index 1c923cad7801b97352263dd2c7deda320da7b9a0..adec3cf3a00cd5ee48fd86007b3cc727cfdaa801 100644 (file)
@@ -1,6 +1,6 @@
 #pragma once
 
-//#define WALKER_FANCYPATHING
+// #define WALKER_FANCYPATHING
 
 #include "walker_weapon.qh"
 
@@ -13,6 +13,6 @@ CLASS(WalkerTurret, Turret)
 /* head_model */ ATTRIB_STRZONE(WalkerTurret, head_model, string, strcat("models/turrets/", "walker_head_minigun.md3"));
 /* netname    */ ATTRIB(WalkerTurret, netname, string, "walker");
 /* fullname   */ ATTRIB(WalkerTurret, turret_name, string, _("Walker Turret"));
-    ATTRIB(WalkerTurret, m_weapon, Weapon, WEP_WALKER);
+       ATTRIB(WalkerTurret, m_weapon, Weapon, WEP_WALKER);
 ENDCLASS(WalkerTurret)
 REGISTER_TURRET(WALKER, NEW(WalkerTurret));
index b418ce40d32240445a75560a8e35bbbd521f89ff..87157a4c6b6c6d60da4177e39f98b637a220ff44 100644 (file)
@@ -3,22 +3,24 @@
 #ifdef SVQC
 
 SOUND(WalkerTurretAttack_FIRE, W_Sound("electro_fire"));
-METHOD(WalkerTurretAttack, wr_think, void(entity thiswep, entity actor, .entity weaponentity, int fire)) {
-    bool isPlayer = IS_PLAYER(actor);
-    if (fire & 1)
-    if (!isPlayer || weapon_prepareattack(thiswep, actor, weaponentity, false, WEP_CVAR_PRI(electro, refire))) {
-        if (isPlayer) {
-            turret_initparams(actor);
-            W_SetupShot_Dir(actor, weaponentity, v_forward, false, 0, SND_WalkerTurretAttack_FIRE, CH_WEAPON_B, 0);
-            actor.tur_shotdir_updated = w_shotdir;
-            actor.tur_shotorg = w_shotorg;
-            actor.tur_head = actor;
-            weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, WEP_CVAR_PRI(electro, animtime), w_ready);
-        }
-        sound (actor, CH_WEAPON_A, SND_UZI_FIRE, VOL_BASE, ATTEN_NORM);
-        fireBullet (actor, weaponentity, actor.tur_shotorg, actor.tur_shotdir_updated, actor.shot_spread, 0, actor.shot_dmg, actor.shot_force, DEATH_TURRET_WALK_GUN.m_id, 0);
-        Send_Effect(EFFECT_BLASTER_MUZZLEFLASH, actor.tur_shotorg, actor.tur_shotdir_updated * 1000, 1);
-    }
+METHOD(WalkerTurretAttack, wr_think, void(entity thiswep, entity actor, .entity weaponentity, int fire))
+{
+       bool isPlayer = IS_PLAYER(actor);
+       if (fire & 1) {
+               if (!isPlayer || weapon_prepareattack(thiswep, actor, weaponentity, false, WEP_CVAR_PRI(electro, refire))) {
+                       if (isPlayer) {
+                               turret_initparams(actor);
+                               W_SetupShot_Dir(actor, weaponentity, v_forward, false, 0, SND_WalkerTurretAttack_FIRE, CH_WEAPON_B, 0);
+                               actor.tur_shotdir_updated = w_shotdir;
+                               actor.tur_shotorg = w_shotorg;
+                               actor.tur_head = actor;
+                               weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, WEP_CVAR_PRI(electro, animtime), w_ready);
+                       }
+                       sound(actor, CH_WEAPON_A, SND_UZI_FIRE, VOL_BASE, ATTEN_NORM);
+                       fireBullet(actor, weaponentity, actor.tur_shotorg, actor.tur_shotdir_updated, actor.shot_spread, 0, actor.shot_dmg, actor.shot_force, DEATH_TURRET_WALK_GUN.m_id, 0);
+                       Send_Effect(EFFECT_BLASTER_MUZZLEFLASH, actor.tur_shotorg, actor.tur_shotdir_updated * 1000, 1);
+               }
+       }
 }
 
 #endif
index d4cbb4fb1da280665f62c00f00dc3b340f251909..0c33b555ea6d3ea54a9f326312cc97c32a70536e 100644 (file)
@@ -8,8 +8,7 @@
 */
 float turret_tag_fire_update(entity this)
 {
-       if(!this.tur_head)
-       {
+       if (!this.tur_head) {
                LOG_DEBUG("Call to turret_tag_fire_update with this.tur_head missing!");
                this.tur_shotorg = '0 0 0';
                return false;
@@ -24,8 +23,7 @@ float turret_tag_fire_update(entity this)
 /*
 * Railgun-like beam, but has thickness and suppots slowing of target
 */
-void FireImoBeam(entity this, vector start, vector end, vector smin, vector smax,
-                                 float bforce, float f_dmg, float f_velfactor, int deathtype)
+void FireImoBeam(entity this, vector start, vector end, vector smin, vector smax, float bforce, float f_dmg, float f_velfactor, int deathtype)
 
 {
        vector hitloc, force, endpoint, dir;
@@ -39,16 +37,17 @@ void FireImoBeam(entity this, vector start, vector end, vector smin, vector smax
 
        // trace multiple times until we hit a wall, each obstacle will be made unsolid.
        // note down which entities were hit so we can damage them later
-       while (1)
-       {
+       while (1) {
                tracebox(start, smin, smax, end, false, this);
 
                // if it is NULL we can't hurt it so stop now
-               if (trace_ent == NULL || trace_fraction == 1)
+               if (trace_ent == NULL || trace_fraction == 1) {
                        break;
+               }
 
-               if (trace_ent.solid == SOLID_BSP)
+               if (trace_ent.solid == SOLID_BSP) {
                        break;
+               }
 
                // make the entity non-solid so we can hit the next one
                trace_ent.railgunhit = true;
@@ -65,8 +64,7 @@ void FireImoBeam(entity this, vector start, vector end, vector smin, vector smax
 
        // find all the entities the railgun hit and restore their solid state
        ent = findfloat(NULL, railgunhit, true);
-       while (ent)
-       {
+       while (ent) {
                // restore their solid type
                ent.solid = ent.railgunhitsolidbackup;
                ent = findfloat(ent, railgunhit, true);
@@ -74,8 +72,7 @@ void FireImoBeam(entity this, vector start, vector end, vector smin, vector smax
 
        // find all the entities the railgun hit and hurt them
        ent = findfloat(NULL, railgunhit, true);
-       while (ent)
-       {
+       while (ent) {
                // get the details we need to call the damage function
                hitloc = ent.railgunhitloc;
                ent.railgunhitloc = '0 0 0';
@@ -83,11 +80,10 @@ void FireImoBeam(entity this, vector start, vector end, vector smin, vector smax
                ent.railgunhit = false;
 
                // apply the damage
-               if (ent.takedamage)
-               {
-                       Damage (ent, this, this, f_dmg, deathtype, hitloc, force);
+               if (ent.takedamage) {
+                       Damage(ent, this, this, f_dmg, deathtype, hitloc, force);
                        ent.velocity = ent.velocity * f_velfactor;
-                       //ent.alpha = 0.25 + random() * 0.75;
+                       // ent.alpha = 0.25 + random() * 0.75;
                }
 
                // advance to the next entity
@@ -99,22 +95,23 @@ void FireImoBeam(entity this, vector start, vector end, vector smin, vector smax
 #ifdef TURRET_DEBUG
 void marker_think(entity this, )
 {
-       if(this.cnt)
-       if(this.cnt < time)
-       {
-               setthink(this, SUB_Remove);
-               this.nextthink = time;
-               return;
+       if (this.cnt) {
+               if (this.cnt < time) {
+                       setthink(this, SUB_Remove);
+                       this.nextthink = time;
+                       return;
+               }
        }
 
        this.frame += 1;
-       if(this.frame > 29)
+       if (this.frame > 29) {
                this.frame = 0;
+       }
 
        this.nextthink = time;
 }
 
-void mark_error(vector where,float lifetime)
+void mark_error(vector where, float lifetime)
 {
        entity err = new(error_marker);
        setmodel(err, MDL_MARKER);
@@ -123,11 +120,12 @@ void mark_error(vector where,float lifetime)
        setthink(err, marker_think);
        err.nextthink = time;
        err.skin = 0;
-       if(lifetime)
+       if (lifetime) {
                err.cnt = lifetime + time;
+       }
 }
 
-void mark_info(vector where,float lifetime)
+void mark_info(vector where, float lifetime)
 {
        entity err = spawn(info_marker);
        setmodel(err, MDL_MARKER);
@@ -136,11 +134,12 @@ void mark_info(vector where,float lifetime)
        setthink(err, marker_think);
        err.nextthink = time;
        err.skin = 1;
-       if(lifetime)
+       if (lifetime) {
                err.cnt = lifetime + time;
+       }
 }
 
-entity mark_misc(vector where,float lifetime)
+entity mark_misc(vector where, float lifetime)
 {
        entity err = spawn(mark_misc);
        setmodel(err, MDL_MARKER);
@@ -149,8 +148,9 @@ entity mark_misc(vector where,float lifetime)
        setthink(err, marker_think);
        err.nextthink = time;
        err.skin = 3;
-       if(lifetime)
+       if (lifetime) {
                err.cnt = lifetime + time;
+       }
        return err;
 }
 
@@ -166,9 +166,9 @@ void paint_target(entity onwho, float f_size, vector v_color, float f_time)
 
        e = spawn();
        setmodel(e, MDL_TUR_C512); // precision set above
-       e.scale = (f_size/512);
-       //setsize(e, '0 0 0', '0 0 0');
-       //setattachment(e,onwho,"");
+       e.scale = (f_size / 512);
+       // setsize(e, '0 0 0', '0 0 0');
+       // setattachment(e,onwho,"");
        setorigin(e, onwho.origin + '0 0 1');
        e.alpha = 0.15;
        set_movetype(e, MOVETYPE_FLY);
@@ -176,7 +176,7 @@ void paint_target(entity onwho, float f_size, vector v_color, float f_time)
        e.velocity = (v_color * 32); // + '0 0 1' * 64;
 
        e.colormod = v_color;
-       SUB_SetFade(e,time,f_time);
+       SUB_SetFade(e, time, f_time);
 }
 
 void paint_target2(entity onwho, float f_size, vector v_color, float f_time)
@@ -185,7 +185,7 @@ void paint_target2(entity onwho, float f_size, vector v_color, float f_time)
 
        e = spawn();
        setmodel(e, MDL_TUR_C512); // precision set above
-       e.scale = (f_size/512);
+       e.scale = (f_size / 512);
        setsize(e, '0 0 0', '0 0 0');
 
        setorigin(e, onwho.origin + '0 0 1');
@@ -196,7 +196,7 @@ void paint_target2(entity onwho, float f_size, vector v_color, float f_time)
        e.avelocity_x = -128;
 
        e.colormod = v_color;
-       SUB_SetFade(e,time,f_time);
+       SUB_SetFade(e, time, f_time);
 }
 
 void paint_target3(vector where, float f_size, vector v_color, float f_time)
@@ -204,13 +204,13 @@ void paint_target3(vector where, float f_size, vector v_color, float f_time)
        entity e;
        e = spawn();
        setmodel(e, MDL_TUR_C512); // precision set above
-       e.scale = (f_size/512);
+       e.scale = (f_size / 512);
        setsize(e, '0 0 0', '0 0 0');
        setorigin(e, where + '0 0 1');
        set_movetype(e, MOVETYPE_NONE);
        e.velocity = '0 0 0';
        e.colormod = v_color;
-       SUB_SetFade(e,time,f_time);
+       SUB_SetFade(e, time, f_time);
 }
 #endif
 
index ed44be777bf369acd3cc2ad697b89cb03b5bfd11..a6c86bdf3f9e4833a8dd934317e7428b139e028a 100644 (file)
@@ -13,9 +13,9 @@ const int VEH_FIRST = 1;
 #define REGISTER_VEHICLE(id, inst) REGISTER(Vehicles, VEH, id, vehicleid, inst)
 
 #if defined(SVQC)
-       #include "sv_vehicles.qh"
+#include "sv_vehicles.qh"
 #elif defined(CSQC)
-       #include "cl_vehicles.qh"
+#include "cl_vehicles.qh"
 #endif
 
 REGISTER_VEHICLE(Null, NEW(Vehicle));
index b2f87821eea414ca4b6eb764663571d4d1826c4c..119918f714a34acd8a2ef6981235fc7cbf101446 100644 (file)
@@ -21,22 +21,23 @@ float alarm2time;
 
 void vehicle_alarm(entity e, int ch, Sound s0und)
 {
-    TC(Sound, s0und);
-       if(!autocvar_cl_vehicles_alarm)
+       TC(Sound, s0und);
+       if (!autocvar_cl_vehicles_alarm) {
                return;
+       }
 
        sound(e, ch, s0und, VOL_BASEVOICE, ATTEN_NONE);
 }
 
 void AuxiliaryXhair_Draw2D(entity this)
 {
-       if (scoreboard_active)
+       if (scoreboard_active) {
                return;
+       }
 
        vector pos = project_3d_to_2d(this.origin);
 
-       if (!(pos.z < 0 || pos.x < 0 || pos.y < 0 || pos.x > vid_conwidth || pos.y > vid_conheight))
-       {
+       if (!(pos.z < 0 || pos.x < 0 || pos.y < 0 || pos.x > vid_conwidth || pos.y > vid_conheight)) {
                vector size = draw_getimagesize(this.axh_image) * autocvar_cl_vehicles_crosshair_size;
                pos.x -= 0.5 * size.x;
                pos.y -= 0.5 * size.y;
@@ -44,46 +45,44 @@ void AuxiliaryXhair_Draw2D(entity this)
                drawpic(pos, this.axh_image, size, this.colormod, autocvar_crosshair_alpha * this.alpha, this.axh_drawflag);
        }
 
-       if(time - this.cnt > this.axh_fadetime)
+       if (time - this.cnt > this.axh_fadetime) {
                this.draw2d = func_null;
+       }
 }
 
 NET_HANDLE(ENT_CLIENT_AUXILIARYXHAIR, bool isnew)
 {
        int sf = ReadByte();
 
-       int axh_id      = bound(0, ReadByte(), MAX_AXH);
+       int axh_id  = bound(0, ReadByte(), MAX_AXH);
        entity axh = AuxiliaryXhair[axh_id];
 
-       if(axh == NULL || wasfreed(axh))
-       {
-               axh                                     = new(auxiliary_crosshair);
-               axh.draw2d                      = func_null;
-               axh.drawmask            = MASK_NORMAL;
-               axh.axh_drawflag        = DRAWFLAG_ADDITIVE;
-               axh.axh_fadetime        = 0.1;
-               axh.axh_image           = vCROSS_HINT;
-               axh.alpha                       = 1;
+       if (axh == NULL || wasfreed(axh)) {
+               axh                 = new(auxiliary_crosshair);
+               axh.draw2d          = func_null;
+               axh.drawmask        = MASK_NORMAL;
+               axh.axh_drawflag    = DRAWFLAG_ADDITIVE;
+               axh.axh_fadetime    = 0.1;
+               axh.axh_image       = vCROSS_HINT;
+               axh.alpha           = 1;
                AuxiliaryXhair[axh_id] = axh;
                IL_PUSH(g_drawables_2d, axh);
        }
 
-       if(sf & 2)
-       {
+       if (sf & 2) {
                axh.origin_x = ReadCoord();
                axh.origin_y = ReadCoord();
                axh.origin_z = ReadCoord();
        }
 
-       if(sf & 4)
-       {
+       if (sf & 4) {
                axh.colormod_x = ReadByte() / 255;
                axh.colormod_y = ReadByte() / 255;
                axh.colormod_z = ReadByte() / 255;
        }
 
-       axh.cnt                         = time;
-       axh.draw2d                      = AuxiliaryXhair_Draw2D;
+       axh.cnt             = time;
+       axh.draw2d          = AuxiliaryXhair_Draw2D;
        return true;
 }
 
@@ -94,17 +93,14 @@ NET_HANDLE(TE_CSQC_VEHICLESETUP, bool isnew)
 
        // hud_id == 0 means we exited a vehicle, so stop alarm sound/s
        // note: HUD_NORMAL is set to 0 currently too, but we'll check both just in case
-       if(hud_id == 0 || hud_id == HUD_NORMAL)
-       {
+       if (hud_id == 0 || hud_id == HUD_NORMAL) {
                sound(this, CH_TRIGGER_SINGLE, SND_Null, VOL_BASEVOICE, ATTEN_NONE);
                sound(this, CH_PAIN_SINGLE, SND_Null, VOL_BASEVOICE, ATTEN_NONE);
 
-               for(int i = 0; i < MAX_AXH; ++i)
-               {
+               for (int i = 0; i < MAX_AXH; ++i) {
                        entity axh = AuxiliaryXhair[i];
 
-                       if(axh != NULL && !wasfreed(axh))
-                       {
+                       if (axh != NULL && !wasfreed(axh)) {
                                AuxiliaryXhair[i] = NULL;
                                delete(axh);
                        }
@@ -113,12 +109,12 @@ NET_HANDLE(TE_CSQC_VEHICLESETUP, bool isnew)
        }
 
        // Init auxiliary crosshairs
-       for(int i = 0; i < MAX_AXH; ++i)
-       {
+       for (int i = 0; i < MAX_AXH; ++i) {
                entity axh = AuxiliaryXhair[i];
 
-               if(axh != NULL && !wasfreed(axh))  // MADNESS? THIS IS QQQQCCCCCCCCC (wasfreed, why do you exsist?)
+               if (axh != NULL && !wasfreed(axh)) { // MADNESS? THIS IS QQQQCCCCCCCCC (wasfreed, why do you exsist?)
                        delete(axh);
+               }
 
                axh              = spawn();
                axh.draw2d       = func_null;
@@ -131,24 +127,16 @@ NET_HANDLE(TE_CSQC_VEHICLESETUP, bool isnew)
                IL_PUSH(g_drawables_2d, axh);
        }
 
-       if(hud_id == HUD_BUMBLEBEE_GUN)
-       {
+       if (hud_id == HUD_BUMBLEBEE_GUN) {
                AuxiliaryXhair[0].axh_image = vCROSS_BURST; // Plasma cannons
                AuxiliaryXhair[1].axh_image = vCROSS_BURST; // Raygun
        } else {
                Vehicle info = Vehicles_from(hud_id);
-       info.vr_setup(info, NULL);
+               info.vr_setup(info, NULL);
        }
 }
 
-void Vehicles_drawHUD(
-       string vehicle,
-       string vehicleWeapon1,
-       string vehicleWeapon2,
-       string iconAmmo1,
-       vector colorAmmo1,
-       string iconAmmo2,
-       vector colorAmmo2)
+void Vehicles_drawHUD(string vehicle, string vehicleWeapon1, string vehicleWeapon2, string iconAmmo1, vector colorAmmo1, string iconAmmo2, vector colorAmmo2)
 {
        // Initialize
        vector tmpSize = '0 0 0';
@@ -171,22 +159,23 @@ void Vehicles_drawHUD(
 
        // Frame
        string frame = strcat(hud_skin_path, "/vehicle_frame");
-       if (precache_pic(frame) == "")
+       if (precache_pic(frame) == "") {
                frame = "gfx/hud/default/vehicle_frame";
+       }
 
        vehicleHud_Size  = draw_getimagesize(frame) * autocvar_cl_vehicles_hudscale;
        vehicleHud_Pos.x = (vid_conwidth - vehicleHud_Size.x) / 2;
        vehicleHud_Pos.y = vid_conheight - vehicleHud_Size.y;
 
-       if(teamplay && autocvar_hud_panel_bg_color_team)
+       if (teamplay && autocvar_hud_panel_bg_color_team) {
                drawpic(vehicleHud_Pos, frame, vehicleHud_Size, myteamcolors * autocvar_hud_panel_bg_color_team, autocvar_hud_panel_bg_alpha * hud_fade_alpha, DRAWFLAG_NORMAL);
-       else
+       } else {
                drawpic(vehicleHud_Pos, frame, vehicleHud_Size, autocvar_hud_panel_bg_color, autocvar_hud_panel_bg_alpha * hud_fade_alpha, DRAWFLAG_NORMAL);
+       }
 
-       if(!autocvar__vehicles_shownchasemessage && time < vh_notice_time)
-       {
+       if (!autocvar__vehicles_shownchasemessage && time < vh_notice_time) {
                float tmpblinkValue = 0.55 + sin(time * 3) * 0.45;
-               tmpPos.x = vehicleHud_Pos.x + vehicleHud_Size.x * (96/256) - tmpSize.x;
+               tmpPos.x = vehicleHud_Pos.x + vehicleHud_Size.x * (96 / 256) - tmpSize.x;
                tmpPos.y = vehicleHud_Pos.y;
                tmpSize = '1 1 1' * hud_fontsize;
                drawstring(tmpPos, sprintf(_("Press %s"), getcommandkey(_("drop weapon"), "dropweapon")), tmpSize, '1 0 0' + '0 1 1' * tmpblinkValue, hudAlpha, DRAWFLAG_NORMAL);
@@ -198,21 +187,24 @@ void Vehicles_drawHUD(
        tmpPos.x  = vehicleHud_Pos.x + vehicleHud_Size.x / 3;
        tmpPos.y  = vehicleHud_Pos.y;
 
-       if(health < 0.25)
+       if (health < 0.25) {
                drawpic_skin(tmpPos, vehicle, tmpSize, '1 0 0' + '0 1 1' * blinkValue, hudAlpha, DRAWFLAG_NORMAL);
-       else
+       } else {
                drawpic_skin(tmpPos, vehicle, tmpSize, '1 1 1' * health  + '1 0 0' * (1 - health), hudAlpha, DRAWFLAG_NORMAL);
+       }
 
-       if(vehicleWeapon1)
+       if (vehicleWeapon1) {
                drawpic_skin(tmpPos, vehicleWeapon1, tmpSize, '1 1 1' * ammo1 + '1 0 0' * (1 - ammo1), hudAlpha, DRAWFLAG_NORMAL);
-       if(vehicleWeapon2)
+       }
+       if (vehicleWeapon2) {
                drawpic_skin(tmpPos, vehicleWeapon2, tmpSize, '1 1 1' * ammo2 + '1 0 0' * (1 - ammo2), hudAlpha, DRAWFLAG_NORMAL);
+       }
 
        drawpic_skin(tmpPos, "vehicle_shield", tmpSize, '1 1 1' * shield + '1 0 0' * (1 - shield), hudAlpha * shield, DRAWFLAG_NORMAL);
 
        // Health bar
        tmpSize.y = vehicleHud_Size.y / 2;
-       tmpPos.x  = vehicleHud_Pos.x + vehicleHud_Size.x * (32/768);
+       tmpPos.x  = vehicleHud_Pos.x + vehicleHud_Size.x * (32 / 768);
        tmpPos.y  = vehicleHud_Pos.y;
 
        drawsetcliparea(tmpPos.x + (tmpSize.x * (1 - health)), tmpPos.y, tmpSize.x, tmpSize.y);
@@ -225,46 +217,43 @@ void Vehicles_drawHUD(
        drawpic_skin(tmpPos, "vehicle_bar_southwest", tmpSize, autocvar_hud_progressbar_armor_color, barAlpha, DRAWFLAG_NORMAL);
 
        // Ammo1 bar
-       tmpPos.x = vehicleHud_Pos.x + vehicleHud_Size.x * (480/768);
+       tmpPos.x = vehicleHud_Pos.x + vehicleHud_Size.x * (480 / 768);
        tmpPos.y = vehicleHud_Pos.y;
 
-       if(ammo1)
+       if (ammo1) {
                drawsetcliparea(tmpPos.x, tmpPos.y, tmpSize.x * ammo1, tmpSize.y);
-       else
+       } else {
                drawsetcliparea(tmpPos.x, tmpPos.y, tmpSize.x * reload1, tmpSize.y);
+       }
 
        drawpic_skin(tmpPos, "vehicle_bar_northeast", tmpSize, colorAmmo1, barAlpha, DRAWFLAG_NORMAL);
 
        // Ammo2 bar
        tmpPos.y = vehicleHud_Pos.y + vehicleHud_Size.y / 2;
 
-       if(ammo2)
+       if (ammo2) {
                drawsetcliparea(tmpPos.x, tmpPos.y, tmpSize.x * ammo2, tmpSize.y);
-       else
+       } else {
                drawsetcliparea(tmpPos.x, tmpPos.y, tmpSize.x * reload2, tmpSize.y);
+       }
 
        drawpic_skin(tmpPos, "vehicle_bar_southeast", tmpSize, colorAmmo2, barAlpha, DRAWFLAG_NORMAL);
        drawresetcliparea();
 
        // Health icon
-       tmpSize.x = vehicleHud_Size.x * (80/768);
-       tmpSize.y = vehicleHud_Size.y * (80/256);
-       tmpPos.x  = vehicleHud_Pos.x + vehicleHud_Size.x * (64/768);
-       tmpPos.y  = vehicleHud_Pos.y + vehicleHud_Size.y * (48/256);
-
-       if(health < 0.25)
-       {
-               if(alarm1time < time)
-               {
+       tmpSize.x = vehicleHud_Size.x * (80 / 768);
+       tmpSize.y = vehicleHud_Size.y * (80 / 256);
+       tmpPos.x  = vehicleHud_Pos.x + vehicleHud_Size.x * (64 / 768);
+       tmpPos.y  = vehicleHud_Pos.y + vehicleHud_Size.y * (48 / 256);
+
+       if (health < 0.25) {
+               if (alarm1time < time) {
                        alarm1time = time + 2;
                        vehicle_alarm(NULL, CH_PAIN_SINGLE, SND_VEH_ALARM);
                }
                drawpic_skin(tmpPos, "vehicle_icon_health", tmpSize, '1 1 1', hudAlpha * blinkValue, DRAWFLAG_NORMAL);
-       }
-       else
-       {
-               if(alarm1time)
-               {
+       } else {
+               if (alarm1time) {
                        vehicle_alarm(NULL, CH_PAIN_SINGLE, SND_Null);
                        alarm1time = 0;
                }
@@ -274,19 +263,14 @@ void Vehicles_drawHUD(
        // Shield icon
        tmpPos.y = vehicleHud_Pos.y + vehicleHud_Size.y / 2;
 
-       if(shield < 0.25)
-       {
-               if(alarm2time < time)
-               {
+       if (shield < 0.25) {
+               if (alarm2time < time) {
                        alarm2time = time + 1;
                        vehicle_alarm(NULL, CH_TRIGGER_SINGLE, SND_VEH_ALARM_SHIELD);
                }
                drawpic_skin(tmpPos, "vehicle_icon_shield", tmpSize, '1 1 1', hudAlpha * blinkValue, DRAWFLAG_NORMAL);
-       }
-       else
-       {
-               if(alarm2time)
-               {
+       } else {
+               if (alarm2time) {
                        vehicle_alarm(NULL, CH_TRIGGER_SINGLE, SND_Null);
                        alarm2time = 0;
                }
@@ -294,26 +278,26 @@ void Vehicles_drawHUD(
        }
 
        // Ammo1 icon
-       tmpPos.x = vehicleHud_Pos.x + vehicleHud_Size.x * (624/768);
-       tmpPos.y = vehicleHud_Pos.y + vehicleHud_Size.y * (48/256);
+       tmpPos.x = vehicleHud_Pos.x + vehicleHud_Size.x * (624 / 768);
+       tmpPos.y = vehicleHud_Pos.y + vehicleHud_Size.y * (48 / 256);
 
-       if(iconAmmo1)
-       {
-               if(ammo1)
+       if (iconAmmo1) {
+               if (ammo1) {
                        drawpic_skin(tmpPos, iconAmmo1, tmpSize, '1 1 1', hudAlpha, DRAWFLAG_NORMAL);
-               else
+               } else {
                        drawpic_skin(tmpPos, iconAmmo1, tmpSize, '1 1 1', hudAlpha * 0.2, DRAWFLAG_NORMAL);
+               }
        }
 
        // Ammo2 icon
        tmpPos.y = vehicleHud_Pos.y + vehicleHud_Size.y / 2;
 
-       if(iconAmmo2)
-       {
-               if(ammo2)
+       if (iconAmmo2) {
+               if (ammo2) {
                        drawpic_skin(tmpPos, iconAmmo2, tmpSize, '1 1 1', hudAlpha, DRAWFLAG_NORMAL);
-               else
+               } else {
                        drawpic_skin(tmpPos, iconAmmo2, tmpSize, '1 1 1', hudAlpha * 0.2, DRAWFLAG_NORMAL);
+               }
        }
 }
 
@@ -323,15 +307,15 @@ void Vehicles_drawCrosshair(string crosshair)
        vector tmpPos  = '0 0 0';
 
        // Crosshair
-       if(crosshair)
-       {
+       if (crosshair) {
                tmpSize  = draw_getimagesize(crosshair) * autocvar_cl_vehicles_crosshair_size;
                tmpPos.x = (vid_conwidth - tmpSize.x) / 2;
                tmpPos.y = (vid_conheight - tmpSize.y) / 2;
 
                vector wcross_color = '1 1 1';
-               if(autocvar_cl_vehicles_crosshair_colorize)
+               if (autocvar_cl_vehicles_crosshair_colorize) {
                        wcross_color = crosshair_getcolor(NULL, STAT(VEHICLESTAT_HEALTH));
+               }
 
                drawpic(tmpPos, crosshair, tmpSize, wcross_color, autocvar_crosshair_alpha, DRAWFLAG_NORMAL);
        }
index 22e2e4859dd170c94f3bf03c571822bb9c496052..bfa33f83655db537c3561393e066b2dbf0aca289 100644 (file)
@@ -36,7 +36,7 @@ float autocvar_g_vehicles_weapon_damagerate = 2;
 .entity gun1;
 .entity gun2;
 .entity gun3;
-.entity vehicle_shieldent;  /// Entity to disply the shild effect on damage
+.entity vehicle_shieldent; /// Entity to disply the shild effect on damage
 .entity vehicle;
 .entity vehicle_viewport;
 .entity vehicle_hudmodel;
@@ -45,13 +45,13 @@ float autocvar_g_vehicles_weapon_damagerate = 2;
 .entity gunner1;
 .entity gunner2;
 
-.float vehicle_health = _STAT(VEHICLESTAT_HEALTH);  /// If ent is player this is 0..100 indicating precentage of health left on vehicle. If ent is vehile, this is the real health value.
-.float vehicle_energy = _STAT(VEHICLESTAT_ENERGY);  /// If ent is player this is 0..100 indicating precentage of energy left on vehicle. If ent is vehile, this is the real energy value.
-.float vehicle_shield = _STAT(VEHICLESTAT_SHIELD);  /// If ent is player this is 0..100 indicating precentage of shield left on vehicle. If ent is vehile, this is the real shield value.
+.float vehicle_health = _STAT(VEHICLESTAT_HEALTH);   /// If ent is player this is 0..100 indicating precentage of health left on vehicle. If ent is vehile, this is the real health value.
+.float vehicle_energy = _STAT(VEHICLESTAT_ENERGY);   /// If ent is player this is 0..100 indicating precentage of energy left on vehicle. If ent is vehile, this is the real energy value.
+.float vehicle_shield = _STAT(VEHICLESTAT_SHIELD);   /// If ent is player this is 0..100 indicating precentage of shield left on vehicle. If ent is vehile, this is the real shield value.
 
-.float vehicle_ammo1 = _STAT(VEHICLESTAT_AMMO1);   /// If ent is player this is 0..100 indicating percentage of primary ammo left UNLESS value is already stored in vehicle_energy. If ent is vehile, this is the real ammo1 value.
+.float vehicle_ammo1 = _STAT(VEHICLESTAT_AMMO1);     /// If ent is player this is 0..100 indicating percentage of primary ammo left UNLESS value is already stored in vehicle_energy. If ent is vehile, this is the real ammo1 value.
 .float vehicle_reload1 = _STAT(VEHICLESTAT_RELOAD1); /// If ent is player this is 0..100 indicating percentage of primary reload status. If ent is vehile, this is the real reload1 value.
-.float vehicle_ammo2 = _STAT(VEHICLESTAT_AMMO2);   /// If ent is player this is 0..100 indicating percentage of secondary ammo left. If ent is vehile, this is the real ammo2 value.
+.float vehicle_ammo2 = _STAT(VEHICLESTAT_AMMO2);     /// If ent is player this is 0..100 indicating percentage of secondary ammo left. If ent is vehile, this is the real ammo2 value.
 .float vehicle_reload2 = _STAT(VEHICLESTAT_RELOAD2); /// If ent is player this is 0..100 indicating percentage of secondary reload status. If ent is vehile, this is the real reload2 value.
 
 .float sound_nexttime;
@@ -80,17 +80,17 @@ const int MAX_AXH = 4;
 .float  lock_strength;
 .float  lock_time;
 .float  lock_soundtime;
-const float    DAMAGE_TARGETDRONE = 10;
+const float DAMAGE_TARGETDRONE = 10;
 
 // vehicle functions
-.void(int _spawnflag) vehicle_spawn;  /// Vehicles custom fucntion to be efecuted when vehicle (re)spawns
+.void(int _spawnflag) vehicle_spawn; /// Vehicles custom fucntion to be efecuted when vehicle (re) spawns
 .bool(entity this, int _imp) vehicles_impulse;
 .int vehicle_weapon2mode = _STAT(VEHICLESTAT_W2MODE);
 .void(entity this, int exit_flags) vehicle_exit;
 .bool(entity this, entity player) vehicle_enter;
 const int VHEF_NORMAL = 0;  /// User pressed exit key
 const int VHEF_EJECT  = 1;  /// User pressed exit key 3 times fast (not implemented) or vehile is dying
-const int VHEF_RELEASE = 2;  /// Release ownership, client possibly allready dissconnected / went spec / changed team / used "kill" (not implemented)
+const int VHEF_RELEASE = 2; /// Release ownership, client possibly allready dissconnected / went spec / changed team / used "kill" (not implemented)
 
 float  force_fromtag_power;
 float  force_fromtag_normpower;
@@ -99,7 +99,7 @@ vector force_fromtag_origin;
 float vehicles_exit_running;
 
 // macros
-#define VEHICLE_UPDATE_PLAYER(ply,vehi,fld,vhname) \
+#define VEHICLE_UPDATE_PLAYER(ply, vehi, fld, vhname) \
        ply.vehicle_##fld = (vehi.vehicle_##fld / autocvar_g_vehicle_##vhname##_##fld) * 100
 
 .float vehicle_enter_delay; // prevent players jumping to and from vehicles instantly
@@ -111,6 +111,9 @@ bool vehicles_crushable(entity e);
 float vehicle_altitude(entity this, float amax);
 
 IntrusiveList g_vehicle_returners;
-STATIC_INIT(g_vehicle_returners) { g_vehicle_returners = IL_NEW(); }
+STATIC_INIT(g_vehicle_returners)
+{
+       g_vehicle_returners = IL_NEW();
+}
 
 #endif
index 018e1a17db9cf3ee0277d7097ec8188bcb7ce2f0..9e8d7b38b5f2a22ae27dee1da214120e016c25a9 100644 (file)
@@ -75,24 +75,21 @@ bool bumblebee_gunner_frame(entity this, float dt)
        return = true;
 
        // this isn't technically a vehicle (yet), let's not do frame functions on it (yet)
-       //vehicles_frame(gun, player);
+       // vehicles_frame(gun, player);
 
        vehic.solid = SOLID_NOT;
-       //setorigin(this, vehic.origin);
+       // setorigin(this, vehic.origin);
        this.velocity = vehic.velocity;
 
        float _in, _out;
        vehic.angles_x *= -1;
        makevectors(vehic.angles);
        vehic.angles_x *= -1;
-       if(gun == vehic.gun1)
-       {
+       if (gun == vehic.gun1) {
                _in = autocvar_g_vehicle_bumblebee_cannon_turnlimit_in;
                _out = autocvar_g_vehicle_bumblebee_cannon_turnlimit_out;
                setorigin(this, vehic.origin + v_up * -16 + v_forward * -16 + v_right * 128);
-       }
-       else
-       {
+       } else {
                _in = autocvar_g_vehicle_bumblebee_cannon_turnlimit_out;
                _out = autocvar_g_vehicle_bumblebee_cannon_turnlimit_in;
                setorigin(this, vehic.origin + v_up * -16 + v_forward * -16 + v_right * -128);
@@ -103,32 +100,33 @@ bool bumblebee_gunner_frame(entity this, float dt)
        vector _ct = trace_endpos;
        vector ad;
 
-       if(autocvar_g_vehicle_bumblebee_cannon_lock)
-       {
-               if(gun.lock_time < time)
+       if (autocvar_g_vehicle_bumblebee_cannon_lock) {
+               if (gun.lock_time < time) {
                        gun.enemy = NULL;
+               }
 
-               if(trace_ent)
-                       if(trace_ent.move_movetype)
-                               if(trace_ent.takedamage)
-                                       if(!IS_DEAD(trace_ent) && !STAT(FROZEN, trace_ent))
-                                       {
-                                               if(DIFF_TEAM(trace_ent, this))
-                                               {
+               if (trace_ent) {
+                       if (trace_ent.move_movetype) {
+                               if (trace_ent.takedamage) {
+                                       if (!IS_DEAD(trace_ent) && !STAT(FROZEN, trace_ent)) {
+                                               if (DIFF_TEAM(trace_ent, this)) {
                                                        gun.enemy = trace_ent;
                                                        gun.lock_time = time + 5;
                                                }
                                        }
+                               }
+                       }
+               }
        }
 
-       if(gun.enemy)
-       {
+       if (gun.enemy) {
                float distance, impact_time;
 
                vector vf = real_origin(gun.enemy);
                vector _vel = gun.enemy.velocity;
-               if(gun.enemy.move_movetype == MOVETYPE_WALK)
+               if (gun.enemy.move_movetype == MOVETYPE_WALK) {
                        _vel.z *= 0.1;
+               }
 
 
                ad = vf;
@@ -140,38 +138,41 @@ bool bumblebee_gunner_frame(entity this, float dt)
 
                UpdateAuxiliaryXhair(this, ad, '1 0 1', 1);
                vehicle_aimturret(vehic, trace_endpos, gun, "fire",
-                                                 autocvar_g_vehicle_bumblebee_cannon_pitchlimit_down * -1, autocvar_g_vehicle_bumblebee_cannon_pitchlimit_up,
-                                                 _out * -1,  _in,  autocvar_g_vehicle_bumblebee_cannon_turnspeed);
-
-       }
-       else
+                       autocvar_g_vehicle_bumblebee_cannon_pitchlimit_down * -1, autocvar_g_vehicle_bumblebee_cannon_pitchlimit_up,
+                       _out * -1,  _in,  autocvar_g_vehicle_bumblebee_cannon_turnspeed);
+       } else {
                vehicle_aimturret(vehic, _ct, gun, "fire",
-                                                 autocvar_g_vehicle_bumblebee_cannon_pitchlimit_down * -1, autocvar_g_vehicle_bumblebee_cannon_pitchlimit_up,
-                                                 _out * -1,  _in,  autocvar_g_vehicle_bumblebee_cannon_turnspeed);
-
-       if(!forbidWeaponUse(this))
-       if(PHYS_INPUT_BUTTON_ATCK(this))
-               if(time > gun.attack_finished_single[0])
-                       if(gun.vehicle_energy >= autocvar_g_vehicle_bumblebee_cannon_cost)
-                       {
-                               gun.vehicle_energy -= autocvar_g_vehicle_bumblebee_cannon_cost;
-                               bumblebee_fire_cannon(vehic, gun, "fire", this);
-                               gun.delay = time;
-                               gun.attack_finished_single[0] = time + autocvar_g_vehicle_bumblebee_cannon_refire;
+                       autocvar_g_vehicle_bumblebee_cannon_pitchlimit_down * -1, autocvar_g_vehicle_bumblebee_cannon_pitchlimit_up,
+                       _out * -1,  _in,  autocvar_g_vehicle_bumblebee_cannon_turnspeed);
+       }
+
+       if (!forbidWeaponUse(this)) {
+               if (PHYS_INPUT_BUTTON_ATCK(this)) {
+                       if (time > gun.attack_finished_single[0]) {
+                               if (gun.vehicle_energy >= autocvar_g_vehicle_bumblebee_cannon_cost) {
+                                       gun.vehicle_energy -= autocvar_g_vehicle_bumblebee_cannon_cost;
+                                       bumblebee_fire_cannon(vehic, gun, "fire", this);
+                                       gun.delay = time;
+                                       gun.attack_finished_single[0] = time + autocvar_g_vehicle_bumblebee_cannon_refire;
+                               }
                        }
+               }
+       }
 
        VEHICLE_UPDATE_PLAYER(this, vehic, health, bumblebee);
 
-       if(vehic.vehicle_flags & VHF_HASSHIELD)
+       if (vehic.vehicle_flags & VHF_HASSHIELD) {
                VEHICLE_UPDATE_PLAYER(this, vehic, shield, bumblebee);
+       }
 
        ad = gettaginfo(gun, gettagindex(gun, "fire"));
        traceline(ad, ad + v_forward * max_shot_distance, MOVE_NORMAL, gun);
 
-       UpdateAuxiliaryXhair(this, trace_endpos, ('1 0 0' * this.vehicle_reload1) + ('0 1 0' *(1 - this.vehicle_reload1)), 0);
+       UpdateAuxiliaryXhair(this, trace_endpos, ('1 0 0' * this.vehicle_reload1) + ('0 1 0' * (1 - this.vehicle_reload1)), 0);
 
-       if(vehic.owner)
-               UpdateAuxiliaryXhair(vehic.owner, trace_endpos, ('1 0 0' * this.vehicle_reload1) + ('0 1 0' *(1 - this.vehicle_reload1)), ((this == vehic.gunner1) ? 1 : 2));
+       if (vehic.owner) {
+               UpdateAuxiliaryXhair(vehic.owner, trace_endpos, ('1 0 0' * this.vehicle_reload1) + ('0 1 0' * (1 - this.vehicle_reload1)), ((this == vehic.gunner1) ? 1 : 2));
+       }
 
        vehic.solid = SOLID_BBOX;
        PHYS_INPUT_BUTTON_ATCK(this) = PHYS_INPUT_BUTTON_ATCK2(this) = PHYS_INPUT_BUTTON_CROUCH(this) = false;
@@ -180,25 +181,26 @@ bool bumblebee_gunner_frame(entity this, float dt)
 
 vector bumblebee_gunner_findgoodexit(vector prefer_spot, entity gunner, entity player)
 {
-       //vector exitspot;
+       // vector exitspot;
        float mysize;
 
        tracebox(gunner.origin + '0 0 32', STAT(PL_MIN, player), STAT(PL_MAX, player), prefer_spot, MOVE_NORMAL, player);
-       if(trace_fraction == 1.0 && !trace_startsolid && !trace_allsolid)
+       if (trace_fraction == 1.0 && !trace_startsolid && !trace_allsolid) {
                return prefer_spot;
+       }
 
        mysize = 1.5 * vlen(STAT(PL_MAX, player) - STAT(PL_MIN, player)); // can't use gunner's size, as they don't have a size
        float i;
        vector v, v2;
        v2 = 0.5 * (gunner.absmin + gunner.absmax);
-       for(i = 0; i < 100; ++i)
-       {
+       for (i = 0; i < 100; ++i) {
                v = randomvec();
                v_z = 0;
                v = v2 + normalize(v) * mysize;
                tracebox(v2, STAT(PL_MIN, player), STAT(PL_MAX, player), v, MOVE_NORMAL, player);
-               if(trace_fraction == 1.0 && !trace_startsolid && !trace_allsolid)
+               if (trace_fraction == 1.0 && !trace_startsolid && !trace_allsolid) {
                        return v;
+               }
        }
 
        return prefer_spot; // this should be considered a fallback?!
@@ -210,8 +212,7 @@ void bumblebee_gunner_exit(entity this, int _exitflag)
        entity gunner = this;
        entity vehic = gunner.owner;
 
-       if(IS_REAL_CLIENT(player))
-       {
+       if (IS_REAL_CLIENT(player)) {
                msg_entity = player;
                WriteByte(MSG_ONE, SVC_SETVIEWPORT);
                WriteEntity(MSG_ONE, player);
@@ -234,9 +235,8 @@ void bumblebee_gunner_exit(entity this, int _exitflag)
        player.view_ofs       = STAT(PL_VIEW_OFS, player);
        player.event_damage   = PlayerDamage;
        player.hud            = HUD_NORMAL;
-       player.teleportable       = TELEPORT_NORMAL;
-       for(int slot = 0; slot < MAX_WEAPONSLOTS; ++slot)
-       {
+       player.teleportable   = TELEPORT_NORMAL;
+       for (int slot = 0; slot < MAX_WEAPONSLOTS; ++slot) {
                .entity weaponentity = weaponentities[slot];
                player.(weaponentity).m_switchweapon = gunner.(weaponentity).m_switchweapon;
                delete(gunner.(weaponentity));
@@ -245,8 +245,8 @@ void bumblebee_gunner_exit(entity this, int _exitflag)
 
        fixedmakevectors(vehic.angles);
 
-       if(player == vehic.gunner1) { vehic.gunner1 = NULL; }
-       if(player == vehic.gunner2) { vehic.gunner2 = NULL; v_right *= -1; }
+       if (player == vehic.gunner1) { vehic.gunner1 = NULL; }
+       if (player == vehic.gunner2) { vehic.gunner2 = NULL; v_right *= -1; }
 
        vector spot = real_origin(gunner);
        spot = spot + v_up * 128 + v_forward * 300 + v_right * 150;
@@ -270,48 +270,46 @@ bool bumblebee_gunner_enter(entity this, entity player)
        entity vehic = this;
        entity gunner = NULL;
 
-       if(!vehic.gunner1 && !vehic.gunner2 && ((time >= vehic.gun1.phase) + (time >= vehic.gun2.phase)) == 2)
-       {
+       if (!vehic.gunner1 && !vehic.gunner2 && ((time >= vehic.gun1.phase) + (time >= vehic.gun2.phase)) == 2) {
                // we can have some fun
                vector v1 = gettaginfo(vehic, gettagindex(vehic, "cannon_right"));
                vector v2 = gettaginfo(vehic, gettagindex(vehic, "cannon_left"));
-               if(vlen2(player.origin - v1) < vlen2(player.origin - v2))
-               {
+               if (vlen2(player.origin - v1) < vlen2(player.origin - v2)) {
                        gunner = vehic.gun1;
                        vehic.gunner1 = player;
-               }
-               else
-               {
+               } else {
                        gunner = vehic.gun2;
                        vehic.gunner2 = player;
                }
-       }
-       else if(!vehic.gunner1 && time >= vehic.gun1.phase)     { gunner = vehic.gun1; vehic.gunner1 = player; }
-       else if(!vehic.gunner2 && time >= vehic.gun2.phase)             { gunner = vehic.gun2; vehic.gunner2 = player; }
-       else { LOG_TRACE("Vehicle is full, fail"); return false; }
-
-       player.vehicle                  = gunner;
-       player.angles                   = vehic.angles;
-       player.takedamage               = DAMAGE_NO;
-       player.solid                    = SOLID_NOT;
-       player.alpha                    = -1;
+       } else if (!vehic.gunner1 && time >= vehic.gun1.phase) {
+               gunner = vehic.gun1;
+               vehic.gunner1 = player;
+       } else if (!vehic.gunner2 && time >= vehic.gun2.phase) {
+               gunner = vehic.gun2;
+               vehic.gunner2 = player;
+       } else { LOG_TRACE("Vehicle is full, fail"); return false; }
+
+       player.vehicle          = gunner;
+       player.angles           = vehic.angles;
+       player.takedamage       = DAMAGE_NO;
+       player.solid            = SOLID_NOT;
+       player.alpha            = -1;
        set_movetype(player, MOVETYPE_NOCLIP);
-       player.event_damage     = func_null;
-       player.view_ofs                 = '0 0 0';
-       player.hud                              = gunner.hud;
-       player.teleportable     = false;
-       player.PlayerPhysplug   = gunner.PlayerPhysplug;
-       player.vehicle_ammo1    = vehic.vehicle_ammo1;
-       player.vehicle_ammo2    = vehic.vehicle_ammo2;
-       player.vehicle_reload1  = vehic.vehicle_reload1;
-       player.vehicle_reload2  = vehic.vehicle_reload2;
-       player.vehicle_energy   = vehic.vehicle_energy;
+       player.event_damage     = func_null;
+       player.view_ofs         = '0 0 0';
+       player.hud              = gunner.hud;
+       player.teleportable     = false;
+       player.PlayerPhysplug   = gunner.PlayerPhysplug;
+       player.vehicle_ammo1    = vehic.vehicle_ammo1;
+       player.vehicle_ammo2    = vehic.vehicle_ammo2;
+       player.vehicle_reload1  = vehic.vehicle_reload1;
+       player.vehicle_reload2  = vehic.vehicle_reload2;
+       player.vehicle_energy   = vehic.vehicle_energy;
        UNSET_ONGROUND(player);
 
        RemoveGrapplingHooks(player);
 
-       for(int slot = 0; slot < MAX_WEAPONSLOTS; ++slot)
-       {
+       for (int slot = 0; slot < MAX_WEAPONSLOTS; ++slot) {
                .entity weaponentity = weaponentities[slot];
 
                gunner.(weaponentity) = new(temp_wepent);
@@ -320,16 +318,15 @@ bool bumblebee_gunner_enter(entity this, entity player)
        gunner.vehicle_exit = bumblebee_gunner_exit;
        gunner.vehicle_hudmodel.viewmodelforclient = player;
 
-       if(IS_REAL_CLIENT(player))
-       {
+       if (IS_REAL_CLIENT(player)) {
                msg_entity = player;
-               WriteByte(MSG_ONE,              SVC_SETVIEWPORT);
-               WriteEntity(MSG_ONE,    gunner.vehicle_viewport);
+               WriteByte(MSG_ONE,      SVC_SETVIEWPORT);
+               WriteEntity(MSG_ONE,    gunner.vehicle_viewport);
 
-               WriteByte(MSG_ONE,              SVC_SETVIEWANGLES);
-               WriteAngle(MSG_ONE,     gunner.angles_x + vehic.angles_x); // tilt
-               WriteAngle(MSG_ONE,     gunner.angles_y + vehic.angles_y); // yaw
-               WriteAngle(MSG_ONE,     0); // roll
+               WriteByte(MSG_ONE,      SVC_SETVIEWANGLES);
+               WriteAngle(MSG_ONE,     gunner.angles_x + vehic.angles_x); // tilt
+               WriteAngle(MSG_ONE,     gunner.angles_y + vehic.angles_y); // yaw
+               WriteAngle(MSG_ONE,     0);                                // roll
        }
 
        CSQCVehicleSetup(player, player.hud);
@@ -341,13 +338,14 @@ bool bumblebee_gunner_enter(entity this, entity player)
 
 bool vehicles_valid_pilot(entity this, entity toucher)
 {
-       if(IS_BOT_CLIENT(toucher) && !autocvar_g_vehicles_allow_bots)
+       if (IS_BOT_CLIENT(toucher) && !autocvar_g_vehicles_allow_bots) {
                return false;
+       }
 
-       if((!IS_PLAYER(toucher))
-       || (IS_DEAD(toucher))
-       || (toucher.vehicle)
-       || (DIFF_TEAM(toucher, this))
+       if ((!IS_PLAYER(toucher))
+               || (IS_DEAD(toucher))
+               || (toucher.vehicle)
+               || (DIFF_TEAM(toucher, this))
        ) { return false; }
 
        return true;
@@ -355,21 +353,21 @@ bool vehicles_valid_pilot(entity this, entity toucher)
 
 void bumblebee_touch(entity this, entity toucher)
 {
-       if(autocvar_g_vehicles_enter) { return; }
+       if (autocvar_g_vehicles_enter) { return; }
 
-       if(this.gunner1 != NULL && this.gunner2 != NULL)
-       {
+       if (this.gunner1 != NULL && this.gunner2 != NULL) {
                vehicles_touch(this, toucher);
                return;
        }
 
-       if(vehicles_valid_pilot(this, toucher))
-       {
+       if (vehicles_valid_pilot(this, toucher)) {
                float phase_time = (time >= this.gun1.phase) + (time >= this.gun2.phase);
 
-               if(time >= toucher.vehicle_enter_delay && phase_time)
-               if(bumblebee_gunner_enter(this, toucher))
-                       return;
+               if (time >= toucher.vehicle_enter_delay && phase_time) {
+                       if (bumblebee_gunner_enter(this, toucher)) {
+                               return;
+                       }
+               }
        }
 
        vehicles_touch(this, toucher);
@@ -377,23 +375,27 @@ void bumblebee_touch(entity this, entity toucher)
 
 void bumblebee_regen(entity this, float dt)
 {
-       if(this.gun1.delay + autocvar_g_vehicle_bumblebee_cannon_ammo_regen_pause < time)
+       if (this.gun1.delay + autocvar_g_vehicle_bumblebee_cannon_ammo_regen_pause < time) {
                this.gun1.vehicle_energy = min(autocvar_g_vehicle_bumblebee_cannon_ammo,
-                                                                          this.gun1.vehicle_energy + autocvar_g_vehicle_bumblebee_cannon_ammo_regen * dt);
+                       this.gun1.vehicle_energy + autocvar_g_vehicle_bumblebee_cannon_ammo_regen * dt);
+       }
 
-       if(this.gun2.delay + autocvar_g_vehicle_bumblebee_cannon_ammo_regen_pause < time)
+       if (this.gun2.delay + autocvar_g_vehicle_bumblebee_cannon_ammo_regen_pause < time) {
                this.gun2.vehicle_energy = min(autocvar_g_vehicle_bumblebee_cannon_ammo,
-                                                                          this.gun2.vehicle_energy + autocvar_g_vehicle_bumblebee_cannon_ammo_regen * dt);
+                       this.gun2.vehicle_energy + autocvar_g_vehicle_bumblebee_cannon_ammo_regen * dt);
+       }
 
-       if(this.vehicle_flags  & VHF_SHIELDREGEN)
+       if (this.vehicle_flags  & VHF_SHIELDREGEN) {
                vehicles_regen(this, this.dmg_time, vehicle_shield, autocvar_g_vehicle_bumblebee_shield, autocvar_g_vehicle_bumblebee_shield_regen_pause, autocvar_g_vehicle_bumblebee_shield_regen, dt, true);
+       }
 
-       if(this.vehicle_flags  & VHF_HEALTHREGEN)
+       if (this.vehicle_flags  & VHF_HEALTHREGEN) {
                vehicles_regen(this, this.dmg_time, vehicle_health, autocvar_g_vehicle_bumblebee_health, autocvar_g_vehicle_bumblebee_health_regen_pause, autocvar_g_vehicle_bumblebee_health_regen, dt, false);
+       }
 
-       if(this.vehicle_flags  & VHF_ENERGYREGEN)
+       if (this.vehicle_flags  & VHF_ENERGYREGEN) {
                vehicles_regen(this, this.wait, vehicle_energy, autocvar_g_vehicle_bumblebee_energy, autocvar_g_vehicle_bumblebee_energy_regen_pause, autocvar_g_vehicle_bumblebee_energy_regen, dt, false);
-
+       }
 }
 
 bool bumblebee_pilot_frame(entity this, float dt)
@@ -401,8 +403,7 @@ bool bumblebee_pilot_frame(entity this, float dt)
        entity vehic = this.vehicle;
        return = true;
 
-       if(game_stopped)
-       {
+       if (game_stopped) {
                vehic.solid = SOLID_NOT;
                vehic.takedamage = DAMAGE_NO;
                set_movetype(vehic, MOVETYPE_NONE);
@@ -411,8 +412,7 @@ bool bumblebee_pilot_frame(entity this, float dt)
 
        vehicles_frame(vehic, this);
 
-       if(IS_DEAD(vehic))
-       {
+       if (IS_DEAD(vehic)) {
                PHYS_INPUT_BUTTON_ATCK(this) = PHYS_INPUT_BUTTON_ATCK2(this) = false;
                return;
        }
@@ -425,24 +425,25 @@ bool bumblebee_pilot_frame(entity this, float dt)
        vector newvel = vectoangles(normalize(trace_endpos - vehic.origin + '0 0 32'));
        vang.x *= -1;
        newvel.x *= -1;
-       if(newvel.x > 180)  newvel.x -= 360;
-       if(newvel.x < -180) newvel.x += 360;
-       if(newvel.y > 180)  newvel.y -= 360;
-       if(newvel.y < -180) newvel.y += 360;
+       if (newvel.x > 180) { newvel.x -= 360; }
+       if (newvel.x < -180) { newvel.x += 360; }
+       if (newvel.y > 180) { newvel.y -= 360; }
+       if (newvel.y < -180) { newvel.y += 360; }
 
        float ftmp = shortangle_f(this.v_angle.y - vang.y, vang.y);
-       if(ftmp > 180)  ftmp -= 360;
-       if(ftmp < -180) ftmp += 360;
+       if (ftmp > 180) { ftmp -= 360; }
+       if (ftmp < -180) { ftmp += 360; }
        vehic.avelocity_y = bound(-autocvar_g_vehicle_bumblebee_turnspeed, ftmp + vehic.avelocity.y * 0.9, autocvar_g_vehicle_bumblebee_turnspeed);
 
        // Pitch
        ftmp = 0;
-       if(CS(this).movement.x > 0 && vang.x < autocvar_g_vehicle_bumblebee_pitchlimit)
+       if (CS(this).movement.x > 0 && vang.x < autocvar_g_vehicle_bumblebee_pitchlimit) {
                ftmp = 4;
-       else if(CS(this).movement.x < 0 && vang.x > -autocvar_g_vehicle_bumblebee_pitchlimit)
+       } else if (CS(this).movement.x < 0 && vang.x > -autocvar_g_vehicle_bumblebee_pitchlimit) {
                ftmp = -8;
+       }
 
-       newvel.x = bound(-autocvar_g_vehicle_bumblebee_pitchlimit, newvel.x , autocvar_g_vehicle_bumblebee_pitchlimit);
+       newvel.x = bound(-autocvar_g_vehicle_bumblebee_pitchlimit, newvel.x, autocvar_g_vehicle_bumblebee_pitchlimit);
        ftmp = vang.x - bound(-autocvar_g_vehicle_bumblebee_pitchlimit, newvel.x + ftmp, autocvar_g_vehicle_bumblebee_pitchlimit);
        vehic.avelocity_x = bound(-autocvar_g_vehicle_bumblebee_pitchspeed, ftmp + vehic.avelocity.x * 0.9, autocvar_g_vehicle_bumblebee_pitchspeed);
 
@@ -453,143 +454,135 @@ bool bumblebee_pilot_frame(entity this, float dt)
        makevectors('0 1 0' * vehic.angles.y);
        newvel = vehic.velocity * -autocvar_g_vehicle_bumblebee_friction;
 
-       if(CS(this).movement.x != 0)
-       {
-               if(CS(this).movement.x > 0)
+       if (CS(this).movement.x != 0) {
+               if (CS(this).movement.x > 0) {
                        newvel += v_forward  * autocvar_g_vehicle_bumblebee_speed_forward;
-               else if(CS(this).movement.x < 0)
+               } else if (CS(this).movement.x < 0) {
                        newvel -= v_forward  * autocvar_g_vehicle_bumblebee_speed_forward;
+               }
        }
 
-       if(CS(this).movement.y != 0)
-       {
-               if(CS(this).movement.y < 0)
+       if (CS(this).movement.y != 0) {
+               if (CS(this).movement.y < 0) {
                        newvel -= v_right * autocvar_g_vehicle_bumblebee_speed_strafe;
-               else if(CS(this).movement.y > 0)
+               } else if (CS(this).movement.y > 0) {
                        newvel += v_right * autocvar_g_vehicle_bumblebee_speed_strafe;
+               }
                ftmp = newvel * v_right;
                ftmp *= dt * 0.1;
                vehic.angles_z = bound(-15, vehic.angles.z + ftmp, 15);
-       }
-       else
-       {
+       } else {
                vehic.angles_z *= 0.95;
-               if(vehic.angles.z >= -1 && vehic.angles.z <= -1)
+               if (vehic.angles.z >= -1 && vehic.angles.z <= -1) {
                        vehic.angles_z = 0;
+               }
        }
 
-       if(PHYS_INPUT_BUTTON_CROUCH(this))
+       if (PHYS_INPUT_BUTTON_CROUCH(this)) {
                newvel -=   v_up * autocvar_g_vehicle_bumblebee_speed_down;
-       else if(PHYS_INPUT_BUTTON_JUMP(this))
+       } else if (PHYS_INPUT_BUTTON_JUMP(this)) {
                newvel +=  v_up * autocvar_g_vehicle_bumblebee_speed_up;
+       }
 
        vehic.velocity  += newvel * dt;
        this.velocity = CS(this).movement  = vehic.velocity;
 
 
-       if(autocvar_g_vehicle_bumblebee_healgun_locktime)
-       {
-               if(vehic.tur_head.lock_time < time || IS_DEAD(vehic.tur_head.enemy) || STAT(FROZEN, vehic.tur_head.enemy))
+       if (autocvar_g_vehicle_bumblebee_healgun_locktime) {
+               if (vehic.tur_head.lock_time < time || IS_DEAD(vehic.tur_head.enemy) || STAT(FROZEN, vehic.tur_head.enemy)) {
                        vehic.tur_head.enemy = NULL;
+               }
 
-               if(trace_ent)
-               if(trace_ent.move_movetype)
-               if(trace_ent.takedamage)
-               if(!IS_DEAD(trace_ent) && !STAT(FROZEN, trace_ent))
-               {
-                       if(teamplay)
-                       {
-                               if(trace_ent.team == this.team)
-                               {
-                                       vehic.tur_head.enemy = trace_ent;
-                                       vehic.tur_head.lock_time = time + autocvar_g_vehicle_bumblebee_healgun_locktime;
+               if (trace_ent) {
+                       if (trace_ent.move_movetype) {
+                               if (trace_ent.takedamage) {
+                                       if (!IS_DEAD(trace_ent) && !STAT(FROZEN, trace_ent)) {
+                                               if (teamplay) {
+                                                       if (trace_ent.team == this.team) {
+                                                               vehic.tur_head.enemy = trace_ent;
+                                                               vehic.tur_head.lock_time = time + autocvar_g_vehicle_bumblebee_healgun_locktime;
+                                                       }
+                                               } else {
+                                                       vehic.tur_head.enemy = trace_ent;
+                                                       vehic.tur_head.lock_time = time + autocvar_g_vehicle_bumblebee_healgun_locktime;
+                                               }
+                                       }
                                }
                        }
-                       else
-                       {
-                               vehic.tur_head.enemy = trace_ent;
-                               vehic.tur_head.lock_time = time + autocvar_g_vehicle_bumblebee_healgun_locktime;
-                       }
                }
 
-               if(vehic.tur_head.enemy)
-               {
+               if (vehic.tur_head.enemy) {
                        trace_endpos = real_origin(vehic.tur_head.enemy);
                        UpdateAuxiliaryXhair(this, trace_endpos, '0 0.75 0', 0);
                }
        }
 
        vang = vehicle_aimturret(vehic, trace_endpos, vehic.gun3, "fire",
-                                         autocvar_g_vehicle_bumblebee_raygun_pitchlimit_down * -1,  autocvar_g_vehicle_bumblebee_raygun_pitchlimit_up,
-                                         autocvar_g_vehicle_bumblebee_raygun_turnlimit_sides * -1,  autocvar_g_vehicle_bumblebee_raygun_turnlimit_sides,  autocvar_g_vehicle_bumblebee_raygun_turnspeed);
-
-       if(!forbidWeaponUse(this))
-       if((PHYS_INPUT_BUTTON_ATCK(this) || PHYS_INPUT_BUTTON_ATCK2(this)) && (vehic.vehicle_energy > autocvar_g_vehicle_bumblebee_raygun_dps * PHYS_INPUT_FRAMETIME || autocvar_g_vehicle_bumblebee_raygun == 0))
-       {
-               vehic.gun3.enemy.realowner = this;
-               vehic.gun3.enemy.effects &= ~EF_NODRAW;
-
-               vehic.gun3.enemy.hook_start = gettaginfo(vehic.gun3, gettagindex(vehic.gun3, "fire"));
-               vehic.gun3.enemy.SendFlags |= BRG_START;
-
-               traceline(vehic.gun3.enemy.hook_start, vehic.gun3.enemy.hook_start + v_forward * autocvar_g_vehicle_bumblebee_raygun_range, MOVE_NORMAL, vehic);
-
-               if(trace_ent)
-               {
-                       if(autocvar_g_vehicle_bumblebee_raygun)
-                       {
-                               Damage(trace_ent, vehic, this, autocvar_g_vehicle_bumblebee_raygun_dps * PHYS_INPUT_FRAMETIME, DEATH_GENERIC.m_id, trace_endpos, v_forward * autocvar_g_vehicle_bumblebee_raygun_fps * PHYS_INPUT_FRAMETIME);
-                               vehic.vehicle_energy -= autocvar_g_vehicle_bumblebee_raygun_aps * PHYS_INPUT_FRAMETIME;
-                       }
-                       else
-                       {
-                               if(!IS_DEAD(trace_ent))
-                                       if((teamplay && trace_ent.team == this.team) || !teamplay)
-                                       {
-
-                                               if(IS_VEHICLE(trace_ent))
-                                               {
-                                                       if(autocvar_g_vehicle_bumblebee_healgun_sps && trace_ent.vehicle_health <= trace_ent.max_health)
-                                                               trace_ent.vehicle_shield = min(trace_ent.vehicle_shield + autocvar_g_vehicle_bumblebee_healgun_sps * dt, trace_ent.tur_head.max_health);
-
-                                                       if(autocvar_g_vehicle_bumblebee_healgun_hps)
-                                                               trace_ent.vehicle_health = min(trace_ent.vehicle_health + autocvar_g_vehicle_bumblebee_healgun_hps * dt, trace_ent.max_health);
-                                               }
-                                               else if(IS_CLIENT(trace_ent))
-                                               {
-                                                       if(trace_ent.health <= autocvar_g_vehicle_bumblebee_healgun_hmax && autocvar_g_vehicle_bumblebee_healgun_hps)
-                                                               trace_ent.health = min(trace_ent.health + autocvar_g_vehicle_bumblebee_healgun_hps * dt, autocvar_g_vehicle_bumblebee_healgun_hmax);
+               autocvar_g_vehicle_bumblebee_raygun_pitchlimit_down * -1,  autocvar_g_vehicle_bumblebee_raygun_pitchlimit_up,
+               autocvar_g_vehicle_bumblebee_raygun_turnlimit_sides * -1,  autocvar_g_vehicle_bumblebee_raygun_turnlimit_sides,  autocvar_g_vehicle_bumblebee_raygun_turnspeed);
+
+       if (!forbidWeaponUse(this)) {
+               if ((PHYS_INPUT_BUTTON_ATCK(this) || PHYS_INPUT_BUTTON_ATCK2(this)) && (vehic.vehicle_energy > autocvar_g_vehicle_bumblebee_raygun_dps * PHYS_INPUT_FRAMETIME || autocvar_g_vehicle_bumblebee_raygun == 0)) {
+                       vehic.gun3.enemy.realowner = this;
+                       vehic.gun3.enemy.effects &= ~EF_NODRAW;
+
+                       vehic.gun3.enemy.hook_start = gettaginfo(vehic.gun3, gettagindex(vehic.gun3, "fire"));
+                       vehic.gun3.enemy.SendFlags |= BRG_START;
+
+                       traceline(vehic.gun3.enemy.hook_start, vehic.gun3.enemy.hook_start + v_forward * autocvar_g_vehicle_bumblebee_raygun_range, MOVE_NORMAL, vehic);
+
+                       if (trace_ent) {
+                               if (autocvar_g_vehicle_bumblebee_raygun) {
+                                       Damage(trace_ent, vehic, this, autocvar_g_vehicle_bumblebee_raygun_dps * PHYS_INPUT_FRAMETIME, DEATH_GENERIC.m_id, trace_endpos, v_forward * autocvar_g_vehicle_bumblebee_raygun_fps * PHYS_INPUT_FRAMETIME);
+                                       vehic.vehicle_energy -= autocvar_g_vehicle_bumblebee_raygun_aps * PHYS_INPUT_FRAMETIME;
+                               } else {
+                                       if (!IS_DEAD(trace_ent)) {
+                                               if ((teamplay && trace_ent.team == this.team) || !teamplay) {
+                                                       if (IS_VEHICLE(trace_ent)) {
+                                                               if (autocvar_g_vehicle_bumblebee_healgun_sps && trace_ent.vehicle_health <= trace_ent.max_health) {
+                                                                       trace_ent.vehicle_shield = min(trace_ent.vehicle_shield + autocvar_g_vehicle_bumblebee_healgun_sps * dt, trace_ent.tur_head.max_health);
+                                                               }
+
+                                                               if (autocvar_g_vehicle_bumblebee_healgun_hps) {
+                                                                       trace_ent.vehicle_health = min(trace_ent.vehicle_health + autocvar_g_vehicle_bumblebee_healgun_hps * dt, trace_ent.max_health);
+                                                               }
+                                                       } else if (IS_CLIENT(trace_ent)) {
+                                                               if (trace_ent.health <= autocvar_g_vehicle_bumblebee_healgun_hmax && autocvar_g_vehicle_bumblebee_healgun_hps) {
+                                                                       trace_ent.health = min(trace_ent.health + autocvar_g_vehicle_bumblebee_healgun_hps * dt, autocvar_g_vehicle_bumblebee_healgun_hmax);
+                                                               }
+
+                                                               if (trace_ent.armorvalue <= autocvar_g_vehicle_bumblebee_healgun_amax && autocvar_g_vehicle_bumblebee_healgun_aps) {
+                                                                       trace_ent.armorvalue = min(trace_ent.armorvalue + autocvar_g_vehicle_bumblebee_healgun_aps * dt, autocvar_g_vehicle_bumblebee_healgun_amax);
+                                                               }
 
-                                                       if(trace_ent.armorvalue <= autocvar_g_vehicle_bumblebee_healgun_amax && autocvar_g_vehicle_bumblebee_healgun_aps)
-                                                               trace_ent.armorvalue = min(trace_ent.armorvalue + autocvar_g_vehicle_bumblebee_healgun_aps * dt, autocvar_g_vehicle_bumblebee_healgun_amax);
-
-                                                       trace_ent.health = min(trace_ent.health + autocvar_g_vehicle_bumblebee_healgun_hps * dt, autocvar_g_vehicle_bumblebee_healgun_hmax);
-                                               }
-                                               else if(IS_TURRET(trace_ent))
-                                               {
-                                                       if(trace_ent.health  <= trace_ent.max_health && autocvar_g_vehicle_bumblebee_healgun_hps)
-                                                               trace_ent.health = min(trace_ent.health + autocvar_g_vehicle_bumblebee_healgun_hps * dt, trace_ent.max_health);
-                                                       //else ..hmmm what? ammo?
-
-                                                       trace_ent.SendFlags |= TNSF_STATUS;
+                                                               trace_ent.health = min(trace_ent.health + autocvar_g_vehicle_bumblebee_healgun_hps * dt, autocvar_g_vehicle_bumblebee_healgun_hmax);
+                                                       } else if (IS_TURRET(trace_ent)) {
+                                                               if (trace_ent.health  <= trace_ent.max_health && autocvar_g_vehicle_bumblebee_healgun_hps) {
+                                                                       trace_ent.health = min(trace_ent.health + autocvar_g_vehicle_bumblebee_healgun_hps * dt, trace_ent.max_health);
+                                                               }
+                                                               // else ..hmmm what? ammo?
+
+                                                               trace_ent.SendFlags |= TNSF_STATUS;
+                                                       }
                                                }
                                        }
+                               }
                        }
-               }
 
-               vehic.gun3.enemy.hook_end = trace_endpos;
-               setorigin(vehic.gun3.enemy, trace_endpos);
-               vehic.gun3.enemy.SendFlags |= BRG_END;
+                       vehic.gun3.enemy.hook_end = trace_endpos;
+                       setorigin(vehic.gun3.enemy, trace_endpos);
+                       vehic.gun3.enemy.SendFlags |= BRG_END;
 
-               vehic.wait = time + 1;
+                       vehic.wait = time + 1;
+               } else {
+                       vehic.gun3.enemy.effects |= EF_NODRAW;
+               }
        }
-       else
-               vehic.gun3.enemy.effects |= EF_NODRAW;
        /*{
-               if(vehic.gun3.enemy)
-                       remove(vehic.gun3.enemy);
+           if(vehic.gun3.enemy)
+               remove(vehic.gun3.enemy);
 
-               vehic.gun3.enemy = NULL;
+           vehic.gun3.enemy = NULL;
        }
        */
 
@@ -599,8 +592,9 @@ bool bumblebee_pilot_frame(entity this, float dt)
        this.vehicle_ammo1 = (vehic.gun1.vehicle_energy / autocvar_g_vehicle_bumblebee_cannon_ammo) * 100;
        this.vehicle_ammo2 = (vehic.gun2.vehicle_energy / autocvar_g_vehicle_bumblebee_cannon_ammo) * 100;
 
-       if(vehic.vehicle_flags & VHF_HASSHIELD)
+       if (vehic.vehicle_flags & VHF_HASSHIELD) {
                VEHICLE_UPDATE_PLAYER(this, vehic, shield, bumblebee);
+       }
 
        vehic.angles_x *= -1;
        makevectors(vehic.angles);
@@ -620,8 +614,9 @@ void bumblebee_land(entity this)
        this.angles_x *= 0.95;
        this.angles_z *= 0.95;
 
-       if(hgt < 16)
+       if (hgt < 16) {
                setthink(this, vehicles_think);
+       }
 
        this.nextthink = time;
 
@@ -630,37 +625,38 @@ void bumblebee_land(entity this)
 
 void bumblebee_exit(entity this, int eject)
 {
-       if(this.owner.vehicleid == VEH_BUMBLEBEE.vehicleid)
-       {
+       if (this.owner.vehicleid == VEH_BUMBLEBEE.vehicleid) {
                bumblebee_gunner_exit(this, eject);
                return;
        }
 
        settouch(this, vehicles_touch);
 
-       if(!IS_DEAD(this))
-       {
+       if (!IS_DEAD(this)) {
                setthink(this, bumblebee_land);
                this.nextthink  = time;
        }
 
        set_movetype(this, MOVETYPE_TOSS);
 
-       if(!this.owner)
+       if (!this.owner) {
                return;
+       }
 
        fixedmakevectors(this.angles);
        vector spot;
-       if(vdist(this.velocity, >, autocvar_g_vehicle_bumblebee_speed_forward * 0.5))
+       if (vdist(this.velocity, >, autocvar_g_vehicle_bumblebee_speed_forward * 0.5)) {
                spot = this.origin + v_up * 128 + v_forward * 300;
-       else
+       } else {
                spot = this.origin + v_up * 128 - v_forward * 300;
+       }
 
        spot = vehicles_findgoodexit(this, this.owner, spot);
 
        // Hide beam
-       if(this.gun3.enemy || !wasfreed(this.gun3.enemy))
+       if (this.gun3.enemy || !wasfreed(this.gun3.enemy)) {
                this.gun3.enemy.effects |= EF_NODRAW;
+       }
 
        this.owner.velocity = 0.75 * this.vehicle.velocity + normalize(spot - this.vehicle.origin) * 200;
        this.owner.velocity_z += 10;
@@ -673,16 +669,17 @@ void bumblebee_exit(entity this, int eject)
 void bumblebee_blowup(entity this)
 {
        RadiusDamage(this, this.enemy, autocvar_g_vehicle_bumblebee_blowup_coredamage,
-                                autocvar_g_vehicle_bumblebee_blowup_edgedamage,
-                                autocvar_g_vehicle_bumblebee_blowup_radius, this, NULL,
-                                autocvar_g_vehicle_bumblebee_blowup_forceintensity,
-                                DEATH_VH_BUMB_DEATH.m_id, NULL);
+               autocvar_g_vehicle_bumblebee_blowup_edgedamage,
+               autocvar_g_vehicle_bumblebee_blowup_radius, this, NULL,
+               autocvar_g_vehicle_bumblebee_blowup_forceintensity,
+               DEATH_VH_BUMB_DEATH.m_id, NULL);
 
        sound(this, CH_SHOTS, SND_ROCKET_IMPACT, VOL_BASE, ATTEN_NORM);
        Send_Effect(EFFECT_EXPLOSION_BIG, (this.origin + '0 0 100') + (randomvec() * 80), '0 0 0', 1);
 
-       if(this.owner.deadflag == DEAD_DYING)
+       if (this.owner.deadflag == DEAD_DYING) {
                this.owner.deadflag = DEAD_DEAD;
+       }
 
        delete(this);
 }
@@ -694,11 +691,11 @@ void bumblebee_dead_touch(entity this, entity toucher)
 
 void bumblebee_diethink(entity this)
 {
-       if(time >= this.wait)
+       if (time >= this.wait) {
                setthink(this, bumblebee_blowup);
+       }
 
-       if(random() < 0.1)
-       {
+       if (random() < 0.1) {
                sound(this, CH_SHOTS, SND_ROCKET_IMPACT, VOL_BASE, ATTEN_NORM);
                Send_Effect(EFFECT_EXPLOSION_SMALL, randomvec() * 80 + (this.origin + '0 0 100'), '0 0 0', 1);
        }
@@ -708,216 +705,230 @@ void bumblebee_diethink(entity this)
 
 spawnfunc(vehicle_bumblebee)
 {
-       if(!autocvar_g_vehicle_bumblebee) { delete(this); return; }
-       if(!vehicle_initialize(this, VEH_BUMBLEBEE, false)) { delete(this); return; }
+       if (!autocvar_g_vehicle_bumblebee) { delete(this); return; }
+       if (!vehicle_initialize(this, VEH_BUMBLEBEE, false)) { delete(this); return; }
 }
 
 METHOD(Bumblebee, vr_impact, void(Bumblebee thisveh, entity instance))
 {
-    if(autocvar_g_vehicle_bumblebee_bouncepain)
-        vehicles_impact(instance, autocvar_g_vehicle_bumblebee_bouncepain_x, autocvar_g_vehicle_bumblebee_bouncepain_y, autocvar_g_vehicle_bumblebee_bouncepain_z);
+       if (autocvar_g_vehicle_bumblebee_bouncepain) {
+               vehicles_impact(instance, autocvar_g_vehicle_bumblebee_bouncepain_x, autocvar_g_vehicle_bumblebee_bouncepain_y, autocvar_g_vehicle_bumblebee_bouncepain_z);
+       }
 }
 METHOD(Bumblebee, vr_enter, void(Bumblebee thisveh, entity instance))
 {
-    settouch(instance, bumblebee_touch);
-    instance.nextthink = 0;
-    set_movetype(instance, MOVETYPE_BOUNCEMISSILE);
+       settouch(instance, bumblebee_touch);
+       instance.nextthink = 0;
+       set_movetype(instance, MOVETYPE_BOUNCEMISSILE);
 }
 METHOD(Bumblebee, vr_gunner_enter, void(Bumblebee thisveh, entity instance, entity actor))
 {
-       if(!instance.gunner1)
-       if(time >= instance.gun1.phase)
-       if(instance.gun1.vehicle_enter)
-       if(instance.gun1.vehicle_enter(instance, actor))
-               return;
+       if (!instance.gunner1) {
+               if (time >= instance.gun1.phase) {
+                       if (instance.gun1.vehicle_enter) {
+                               if (instance.gun1.vehicle_enter(instance, actor)) {
+                                       return;
+                               }
+                       }
+               }
+       }
 
-       if(!instance.gunner2)
-       if(time >= instance.gun2.phase)
-       if(instance.gun2.vehicle_enter)
-       if(instance.gun2.vehicle_enter(instance, actor))
-               return;
+       if (!instance.gunner2) {
+               if (time >= instance.gun2.phase) {
+                       if (instance.gun2.vehicle_enter) {
+                               if (instance.gun2.vehicle_enter(instance, actor)) {
+                                       return;
+                               }
+                       }
+               }
+       }
 }
 METHOD(Bumblebee, vr_think, void(Bumblebee thisveh, entity instance))
 {
-    instance.angles_z *= 0.8;
-    instance.angles_x *= 0.8;
-
-    instance.nextthink = time;
-
-    if(!instance.owner)
-    {
-        if(instance.gunner1)
-        {
-               entity e = instance.gunner1;
-               instance.gun1.vehicle_exit(instance.gun1, VHEF_EJECT);
-               instance.phase = 0;
-               gettouch(instance)(instance, e);
-               return;
-        }
-
-        if(instance.gunner2)
-        {
-               entity e = instance.gunner2;
-               instance.gun2.vehicle_exit(instance.gun2, VHEF_EJECT);
-               instance.phase = 0;
-               gettouch(instance)(instance, e);
-            return;
-        }
-    }
+       instance.angles_z *= 0.8;
+       instance.angles_x *= 0.8;
+
+       instance.nextthink = time;
+
+       if (!instance.owner) {
+               if (instance.gunner1) {
+                       entity e = instance.gunner1;
+                       instance.gun1.vehicle_exit(instance.gun1, VHEF_EJECT);
+                       instance.phase = 0;
+                       gettouch(instance)(instance, e);
+                       return;
+               }
+
+               if (instance.gunner2) {
+                       entity e = instance.gunner2;
+                       instance.gun2.vehicle_exit(instance.gun2, VHEF_EJECT);
+                       instance.phase = 0;
+                       gettouch(instance)(instance, e);
+                       return;
+               }
+       }
 }
 METHOD(Bumblebee, vr_death, void(Bumblebee thisveh, entity instance))
 {
        CSQCModel_UnlinkEntity(instance);
 
        // hide beam
-       if(instance.gun3.enemy || !wasfreed(instance.gun3.enemy))
+       if (instance.gun3.enemy || !wasfreed(instance.gun3.enemy)) {
                instance.gun3.enemy.effects |= EF_NODRAW;
+       }
 
-       if(instance.gunner1)
+       if (instance.gunner1) {
                instance.gun1.vehicle_exit(instance.gun1, VHEF_EJECT);
+       }
 
-       if(instance.gunner2)
+       if (instance.gunner2) {
                instance.gun2.vehicle_exit(instance.gun2, VHEF_EJECT);
+       }
 
        instance.vehicle_exit(instance, VHEF_EJECT);
 
-    fixedmakevectors(instance.angles);
-    vehicle_tossgib(instance, instance.gun1, instance.velocity + v_right * 300 + v_up * 100 + randomvec() * 200, "cannon_right", rint(random()), rint(random()), 6, randomvec() * 200);
-    vehicle_tossgib(instance, instance.gun2, instance.velocity + v_right * -300 + v_up * 100 + randomvec() * 200, "cannon_left", rint(random()), rint(random()), 6, randomvec() * 200);
-    vehicle_tossgib(instance, instance.gun3, instance.velocity + v_forward * 300 + v_up * -100 + randomvec() * 200, "raygun", rint(random()), rint(random()), 6, randomvec() * 300);
-
-    entity _body = vehicle_tossgib(instance, instance, instance.velocity + randomvec() * 200, "", rint(random()), rint(random()), 6, randomvec() * 100);
-
-    if(random() > 0.5)
-        settouch(_body, bumblebee_dead_touch);
-    else
-        settouch(_body, func_null);
-
-    setthink(_body, bumblebee_diethink);
-    _body.nextthink = time;
-    _body.wait = time + 2 + (random() * 8);
-    _body.owner = instance;
-    _body.enemy = instance.enemy;
-    _body.scale = 1.5;
-    _body.angles = instance.angles;
-
-    Send_Effect(EFFECT_EXPLOSION_MEDIUM, findbetterlocation(instance.origin, 16), '0 0 0', 1);
-
-    instance.health                    = 0;
-    instance.event_damage      = func_null;
-    instance.solid                     = SOLID_NOT;
-    instance.takedamage                = DAMAGE_NO;
-    instance.deadflag          = DEAD_DYING;
-    set_movetype(instance, MOVETYPE_NONE);
-    instance.effects           = EF_NODRAW;
-    instance.colormod          = '0 0 0';
-    instance.avelocity         = '0 0 0';
-    instance.velocity          = '0 0 0';
-    settouch(instance, func_null);
-    instance.nextthink                 = 0;
-
-    setorigin(instance, instance.pos1);
+       fixedmakevectors(instance.angles);
+       vehicle_tossgib(instance, instance.gun1, instance.velocity + v_right * 300 + v_up * 100 + randomvec() * 200, "cannon_right", rint(random()), rint(random()), 6, randomvec() * 200);
+       vehicle_tossgib(instance, instance.gun2, instance.velocity + v_right * -300 + v_up * 100 + randomvec() * 200, "cannon_left", rint(random()), rint(random()), 6, randomvec() * 200);
+       vehicle_tossgib(instance, instance.gun3, instance.velocity + v_forward * 300 + v_up * -100 + randomvec() * 200, "raygun", rint(random()), rint(random()), 6, randomvec() * 300);
+
+       entity _body = vehicle_tossgib(instance, instance, instance.velocity + randomvec() * 200, "", rint(random()), rint(random()), 6, randomvec() * 100);
+
+       if (random() > 0.5) {
+               settouch(_body, bumblebee_dead_touch);
+       } else {
+               settouch(_body, func_null);
+       }
+
+       setthink(_body, bumblebee_diethink);
+       _body.nextthink = time;
+       _body.wait = time + 2 + (random() * 8);
+       _body.owner = instance;
+       _body.enemy = instance.enemy;
+       _body.scale = 1.5;
+       _body.angles = instance.angles;
+
+       Send_Effect(EFFECT_EXPLOSION_MEDIUM, findbetterlocation(instance.origin, 16), '0 0 0', 1);
+
+       instance.health         = 0;
+       instance.event_damage   = func_null;
+       instance.solid          = SOLID_NOT;
+       instance.takedamage     = DAMAGE_NO;
+       instance.deadflag       = DEAD_DYING;
+       set_movetype(instance, MOVETYPE_NONE);
+       instance.effects        = EF_NODRAW;
+       instance.colormod       = '0 0 0';
+       instance.avelocity      = '0 0 0';
+       instance.velocity       = '0 0 0';
+       settouch(instance, func_null);
+       instance.nextthink      = 0;
+
+       setorigin(instance, instance.pos1);
 }
 METHOD(Bumblebee, vr_spawn, void(Bumblebee thisveh, entity instance))
 {
-    if(!instance.gun1)
-    {
-        // for some reason, autosizing of the shield entity refuses to work for this one so set it up in advance.
-        instance.vehicle_shieldent = spawn();
-        instance.vehicle_shieldent.effects = EF_LOWPRECISION;
-        setmodel(instance.vehicle_shieldent, MDL_VEH_BUMBLEBEE_SHIELD);
-        setattachment(instance.vehicle_shieldent, instance, "");
-        setorigin(instance.vehicle_shieldent, real_origin(instance) - instance.origin);
-        instance.vehicle_shieldent.scale       = 512 / vlen(instance.maxs - instance.mins);
-        setthink(instance.vehicle_shieldent, shieldhit_think);
-        instance.vehicle_shieldent.alpha = -1;
-        instance.vehicle_shieldent.effects = EF_LOWPRECISION | EF_NODRAW;
-
-        instance.gun1 = new(vehicle_playerslot);
-        instance.gun2 = new(vehicle_playerslot);
-        instance.gun3 = new(bumblebee_raygun);
-
-        instance.vehicle_flags |= VHF_MULTISLOT;
-
-        instance.gun1.owner = instance;
-        instance.gun2.owner = instance;
-        instance.gun3.owner = instance;
-
-        setmodel(instance.gun1, MDL_VEH_BUMBLEBEE_CANNON_RIGHT);
-        setmodel(instance.gun2, MDL_VEH_BUMBLEBEE_CANNON_LEFT);
-        setmodel(instance.gun3, MDL_VEH_BUMBLEBEE_CANNON_CENTER);
-
-        setattachment(instance.gun1, instance, "cannon_right");
-        setattachment(instance.gun2, instance, "cannon_left");
-
-        // Angled bones are no fun, messes up gun-aim; so work arround it.
-        instance.gun3.pos1 = instance.angles;
-        instance.angles = '0 0 0';
-        vector ofs = gettaginfo(instance, gettagindex(instance, "raygun"));
-        ofs -= instance.origin;
-        setattachment(instance.gun3, instance, "");
-        setorigin(instance.gun3, ofs);
-        instance.angles = instance.gun3.pos1;
-
-        vehicle_addplayerslot(instance, instance.gun1, HUD_BUMBLEBEE_GUN, MDL_VEH_BUMBLEBEE_GUNCOCKPIT, bumblebee_gunner_frame, bumblebee_gunner_exit, bumblebee_gunner_enter);
-        vehicle_addplayerslot(instance, instance.gun2, HUD_BUMBLEBEE_GUN, MDL_VEH_BUMBLEBEE_GUNCOCKPIT, bumblebee_gunner_frame, bumblebee_gunner_exit, bumblebee_gunner_enter);
-
-        setorigin(instance.vehicle_hudmodel, '50 0 -5');    // Move cockpit forward - down.
-        setorigin(instance.vehicle_viewport, '5 0 2');    // Move camera forward up
-
-        //fixme-model-bones
-        setorigin(instance.gun1.vehicle_hudmodel, '90 -27 -23');
-        setorigin(instance.gun1.vehicle_viewport, '-85 0 50');
-        //fixme-model-bones
-        setorigin(instance.gun2.vehicle_hudmodel, '90 27 -23');
-        setorigin(instance.gun2.vehicle_viewport, '-85 0 50');
-
-        instance.scale = 1.5;
-
-        // Raygun beam
-        if(instance.gun3.enemy == NULL)
-        {
-            instance.gun3.enemy = spawn();
-            Net_LinkEntity(instance.gun3.enemy, true, 0, bumble_raygun_send);
-            instance.gun3.enemy.SendFlags = BRG_SETUP;
-            instance.gun3.enemy.cnt = autocvar_g_vehicle_bumblebee_raygun;
-            instance.gun3.enemy.effects = EF_NODRAW | EF_LOWPRECISION;
-        }
-    }
-
-    if(!autocvar_g_vehicle_bumblebee_swim)
-       instance.dphitcontentsmask |= DPCONTENTS_LIQUIDSMASK;
-
-    instance.vehicle_health = autocvar_g_vehicle_bumblebee_health;
-    instance.vehicle_shield = autocvar_g_vehicle_bumblebee_shield;
-    instance.solid = SOLID_BBOX;
-    set_movetype(instance, MOVETYPE_TOSS);
-    instance.damageforcescale = 0.025;
-
-    instance.PlayerPhysplug = bumblebee_pilot_frame;
-
-    setorigin(instance, instance.origin + '0 0 25');
+       if (!instance.gun1) {
+               // for some reason, autosizing of the shield entity refuses to work for this one so set it up in advance.
+               instance.vehicle_shieldent = spawn();
+               instance.vehicle_shieldent.effects = EF_LOWPRECISION;
+               setmodel(instance.vehicle_shieldent, MDL_VEH_BUMBLEBEE_SHIELD);
+               setattachment(instance.vehicle_shieldent, instance, "");
+               setorigin(instance.vehicle_shieldent, real_origin(instance) - instance.origin);
+               instance.vehicle_shieldent.scale       = 512 / vlen(instance.maxs - instance.mins);
+               setthink(instance.vehicle_shieldent, shieldhit_think);
+               instance.vehicle_shieldent.alpha = -1;
+               instance.vehicle_shieldent.effects = EF_LOWPRECISION | EF_NODRAW;
+
+               instance.gun1 = new(vehicle_playerslot);
+               instance.gun2 = new(vehicle_playerslot);
+               instance.gun3 = new(bumblebee_raygun);
+
+               instance.vehicle_flags |= VHF_MULTISLOT;
+
+               instance.gun1.owner = instance;
+               instance.gun2.owner = instance;
+               instance.gun3.owner = instance;
+
+               setmodel(instance.gun1, MDL_VEH_BUMBLEBEE_CANNON_RIGHT);
+               setmodel(instance.gun2, MDL_VEH_BUMBLEBEE_CANNON_LEFT);
+               setmodel(instance.gun3, MDL_VEH_BUMBLEBEE_CANNON_CENTER);
+
+               setattachment(instance.gun1, instance, "cannon_right");
+               setattachment(instance.gun2, instance, "cannon_left");
+
+               // Angled bones are no fun, messes up gun-aim; so work arround it.
+               instance.gun3.pos1 = instance.angles;
+               instance.angles = '0 0 0';
+               vector ofs = gettaginfo(instance, gettagindex(instance, "raygun"));
+               ofs -= instance.origin;
+               setattachment(instance.gun3, instance, "");
+               setorigin(instance.gun3, ofs);
+               instance.angles = instance.gun3.pos1;
+
+               vehicle_addplayerslot(instance, instance.gun1, HUD_BUMBLEBEE_GUN, MDL_VEH_BUMBLEBEE_GUNCOCKPIT, bumblebee_gunner_frame, bumblebee_gunner_exit, bumblebee_gunner_enter);
+               vehicle_addplayerslot(instance, instance.gun2, HUD_BUMBLEBEE_GUN, MDL_VEH_BUMBLEBEE_GUNCOCKPIT, bumblebee_gunner_frame, bumblebee_gunner_exit, bumblebee_gunner_enter);
+
+               setorigin(instance.vehicle_hudmodel, '50 0 -5'); // Move cockpit forward - down.
+               setorigin(instance.vehicle_viewport, '5 0 2');   // Move camera forward up
+
+               // fixme-model-bones
+               setorigin(instance.gun1.vehicle_hudmodel, '90 -27 -23');
+               setorigin(instance.gun1.vehicle_viewport, '-85 0 50');
+               // fixme-model-bones
+               setorigin(instance.gun2.vehicle_hudmodel, '90 27 -23');
+               setorigin(instance.gun2.vehicle_viewport, '-85 0 50');
+
+               instance.scale = 1.5;
+
+               // Raygun beam
+               if (instance.gun3.enemy == NULL) {
+                       instance.gun3.enemy = spawn();
+                       Net_LinkEntity(instance.gun3.enemy, true, 0, bumble_raygun_send);
+                       instance.gun3.enemy.SendFlags = BRG_SETUP;
+                       instance.gun3.enemy.cnt = autocvar_g_vehicle_bumblebee_raygun;
+                       instance.gun3.enemy.effects = EF_NODRAW | EF_LOWPRECISION;
+               }
+       }
+
+       if (!autocvar_g_vehicle_bumblebee_swim) {
+               instance.dphitcontentsmask |= DPCONTENTS_LIQUIDSMASK;
+       }
+
+       instance.vehicle_health = autocvar_g_vehicle_bumblebee_health;
+       instance.vehicle_shield = autocvar_g_vehicle_bumblebee_shield;
+       instance.solid = SOLID_BBOX;
+       set_movetype(instance, MOVETYPE_TOSS);
+       instance.damageforcescale = 0.025;
+
+       instance.PlayerPhysplug = bumblebee_pilot_frame;
+
+       setorigin(instance, instance.origin + '0 0 25');
 }
 METHOD(Bumblebee, vr_setup, void(Bumblebee thisveh, entity instance))
 {
-    if(autocvar_g_vehicle_bumblebee_energy)
-    if(autocvar_g_vehicle_bumblebee_energy_regen)
-        instance.vehicle_flags |= VHF_ENERGYREGEN;
+       if (autocvar_g_vehicle_bumblebee_energy) {
+               if (autocvar_g_vehicle_bumblebee_energy_regen) {
+                       instance.vehicle_flags |= VHF_ENERGYREGEN;
+               }
+       }
 
-    if(autocvar_g_vehicle_bumblebee_shield)
-        instance.vehicle_flags |= VHF_HASSHIELD;
+       if (autocvar_g_vehicle_bumblebee_shield) {
+               instance.vehicle_flags |= VHF_HASSHIELD;
+       }
 
-    if(autocvar_g_vehicle_bumblebee_shield_regen)
-        instance.vehicle_flags |= VHF_SHIELDREGEN;
+       if (autocvar_g_vehicle_bumblebee_shield_regen) {
+               instance.vehicle_flags |= VHF_SHIELDREGEN;
+       }
 
-    if(autocvar_g_vehicle_bumblebee_health_regen)
-        instance.vehicle_flags |= VHF_HEALTHREGEN;
+       if (autocvar_g_vehicle_bumblebee_health_regen) {
+               instance.vehicle_flags |= VHF_HEALTHREGEN;
+       }
 
-    instance.vehicle_exit = bumblebee_exit;
-    instance.respawntime = autocvar_g_vehicle_bumblebee_respawntime;
-    instance.vehicle_health = autocvar_g_vehicle_bumblebee_health;
-    instance.max_health = instance.vehicle_health;
-    instance.vehicle_shield = autocvar_g_vehicle_bumblebee_shield;
+       instance.vehicle_exit = bumblebee_exit;
+       instance.respawntime = autocvar_g_vehicle_bumblebee_respawntime;
+       instance.vehicle_health = autocvar_g_vehicle_bumblebee_health;
+       instance.max_health = instance.vehicle_health;
+       instance.vehicle_shield = autocvar_g_vehicle_bumblebee_shield;
 }
 
 #endif // SVQC
@@ -926,43 +937,41 @@ METHOD(Bumblebee, vr_setup, void(Bumblebee thisveh, entity instance))
 void CSQC_BUMBLE_GUN_HUD()
 {
        Vehicles_drawHUD("vehicle_gunner", "vehicle_gunner_weapon1", string_null,
-                                        "vehicle_icon_ammo1", autocvar_hud_progressbar_vehicles_ammo1_color,
-                                        string_null, '0 0 0');
+               "vehicle_icon_ammo1", autocvar_hud_progressbar_vehicles_ammo1_color,
+               string_null, '0 0 0');
 }
 
 METHOD(Bumblebee, vr_hud, void(Bumblebee thisveh))
 {
-    Vehicles_drawHUD(VEH_BUMBLEBEE.m_icon, "vehicle_bumble_weapon1", "vehicle_bumble_weapon2",
-                     "vehicle_icon_ammo1", autocvar_hud_progressbar_vehicles_ammo1_color,
-                     "vehicle_icon_ammo1", autocvar_hud_progressbar_vehicles_ammo1_color);
-
-    float hudAlpha = autocvar_hud_panel_fg_alpha;
-    float blinkValue = 0.55 + sin(time * 7) * 0.45;
-    vector tmpPos  = '0 0 0';
-    vector tmpSize = '1 1 1' * hud_fontsize;
-    tmpPos.x = vehicleHud_Pos.x + vehicleHud_Size.x * (520/768);
-
-    if(!AuxiliaryXhair[1].draw2d)
-    {
-        tmpPos.y = vehicleHud_Pos.y + vehicleHud_Size.y * (96/256) - tmpSize.y;
-        drawstring(tmpPos, _("No right gunner!"), tmpSize, '1 1 1', hudAlpha * blinkValue, DRAWFLAG_NORMAL);
-    }
-
-    if(!AuxiliaryXhair[2].draw2d)
-    {
-        tmpPos.y = vehicleHud_Pos.y + vehicleHud_Size.y * (160/256);
-        drawstring(tmpPos, _("No left gunner!"), tmpSize, '1 1 1', hudAlpha * blinkValue, DRAWFLAG_NORMAL);
-    }
+       Vehicles_drawHUD(VEH_BUMBLEBEE.m_icon, "vehicle_bumble_weapon1", "vehicle_bumble_weapon2",
+               "vehicle_icon_ammo1", autocvar_hud_progressbar_vehicles_ammo1_color,
+               "vehicle_icon_ammo1", autocvar_hud_progressbar_vehicles_ammo1_color);
+
+       float hudAlpha = autocvar_hud_panel_fg_alpha;
+       float blinkValue = 0.55 + sin(time * 7) * 0.45;
+       vector tmpPos  = '0 0 0';
+       vector tmpSize = '1 1 1' * hud_fontsize;
+       tmpPos.x = vehicleHud_Pos.x + vehicleHud_Size.x * (520 / 768);
+
+       if (!AuxiliaryXhair[1].draw2d) {
+               tmpPos.y = vehicleHud_Pos.y + vehicleHud_Size.y * (96 / 256) - tmpSize.y;
+               drawstring(tmpPos, _("No right gunner!"), tmpSize, '1 1 1', hudAlpha * blinkValue, DRAWFLAG_NORMAL);
+       }
+
+       if (!AuxiliaryXhair[2].draw2d) {
+               tmpPos.y = vehicleHud_Pos.y + vehicleHud_Size.y * (160 / 256);
+               drawstring(tmpPos, _("No left gunner!"), tmpSize, '1 1 1', hudAlpha * blinkValue, DRAWFLAG_NORMAL);
+       }
 }
 METHOD(Bumblebee, vr_crosshair, void(Bumblebee thisveh, entity player))
 {
-    Vehicles_drawCrosshair(vCROSS_HEAL);
+       Vehicles_drawCrosshair(vCROSS_HEAL);
 }
 METHOD(Bumblebee, vr_setup, void(Bumblebee thisveh, entity instance))
 {
-    AuxiliaryXhair[0].axh_image = vCROSS_LOCK;  // Raygun-locked
-    AuxiliaryXhair[1].axh_image = vCROSS_BURST; // Gunner1
-    AuxiliaryXhair[2].axh_image = vCROSS_BURST; // Gunner2
+       AuxiliaryXhair[0].axh_image = vCROSS_LOCK;  // Raygun-locked
+       AuxiliaryXhair[1].axh_image = vCROSS_BURST; // Gunner1
+       AuxiliaryXhair[2].axh_image = vCROSS_BURST; // Gunner2
 }
 
 #endif
index 4c226f97a86c97fa7adb9a272552d506f6697305..46423b7d87765a0e35b3c9c8237c682ceb8d285a 100644 (file)
@@ -8,8 +8,8 @@ CLASS(Bumblebee, Vehicle)
 /* maxs       */ ATTRIB(Bumblebee, m_maxs, vector, '230 130 130');
 /* view offset*/ ATTRIB(Bumblebee, view_ofs, vector, '0 0 300');
 /* view dist  */ ATTRIB(Bumblebee, height, float, 450);
-/* model         */ ATTRIB(Bumblebee, mdl, string, "models/vehicles/bumblebee_body.dpm");
-/* model         */ ATTRIB(Bumblebee, model, string, "models/vehicles/bumblebee_body.dpm");
+/* model         */ATTRIB(Bumblebee, mdl, string, "models/vehicles/bumblebee_body.dpm");
+/* model         */ATTRIB(Bumblebee, model, string, "models/vehicles/bumblebee_body.dpm");
 /* head_model */ ATTRIB(Bumblebee, head_model, string, "");
 /* hud_model  */ ATTRIB(Bumblebee, hud_model, string, "models/vehicles/spiderbot_cockpit.dpm");
 /* tags       */ ATTRIB(Bumblebee, tag_head, string, "");
@@ -22,7 +22,7 @@ ENDCLASS(Bumblebee)
 REGISTER_VEHICLE(BUMBLEBEE, NEW(Bumblebee));
 
 #ifdef GAMEQC
-       MODEL(VEH_BUMBLEBEE_GUNCOCKPIT, "models/vehicles/wakizashi_cockpit.dpm");
+MODEL(VEH_BUMBLEBEE_GUNCOCKPIT, "models/vehicles/wakizashi_cockpit.dpm");
 #endif
 
 #ifdef CSQC
index 8dbfae4677221eb70a7d63feb206b3f9724f3f4a..06ba84e16423d1907e7fc2c27c21ad6001422eb8 100644 (file)
@@ -33,7 +33,7 @@ float autocvar_g_vehicle_racer_friction = 0.45;
 
 float autocvar_g_vehicle_racer_water_time = 5;
 
-//float autocvar_g_vehicle_racer_collision_multiplier = 0.05;
+// float autocvar_g_vehicle_racer_collision_multiplier = 0.05;
 
 // 0 = hover, != 0 = maglev
 int autocvar_g_vehicle_racer_hovertype = 0;
@@ -85,40 +85,41 @@ void racer_align4point(entity this, float _delta)
        float fl_push, fr_push, bl_push, br_push;
 
        push_vector  = racer_force_from_tag(this, "tag_engine_fr", autocvar_g_vehicle_racer_springlength, autocvar_g_vehicle_racer_hoverpower);
-       fr_push   = force_fromtag_normpower;
-       //vehicles_sweap_collision(force_fromtag_origin, this.velocity, _delta, v_add, autocvar_g_vehicle_racer_collision_multiplier);
+       fr_push   = force_fromtag_normpower;
+       // vehicles_sweap_collision(force_fromtag_origin, this.velocity, _delta, v_add, autocvar_g_vehicle_racer_collision_multiplier);
 
        push_vector += racer_force_from_tag(this, "tag_engine_fl", autocvar_g_vehicle_racer_springlength, autocvar_g_vehicle_racer_hoverpower);
-       fl_push   = force_fromtag_normpower;
-       //vehicles_sweap_collision(force_fromtag_origin, this.velocity, _delta, v_add, autocvar_g_vehicle_racer_collision_multiplier);
+       fl_push   = force_fromtag_normpower;
+       // vehicles_sweap_collision(force_fromtag_origin, this.velocity, _delta, v_add, autocvar_g_vehicle_racer_collision_multiplier);
 
        push_vector += racer_force_from_tag(this, "tag_engine_br", autocvar_g_vehicle_racer_springlength, autocvar_g_vehicle_racer_hoverpower);
-       br_push   = force_fromtag_normpower;
-       //vehicles_sweap_collision(force_fromtag_origin, this.velocity, _delta, v_add, autocvar_g_vehicle_racer_collision_multiplier);
+       br_push   = force_fromtag_normpower;
+       // vehicles_sweap_collision(force_fromtag_origin, this.velocity, _delta, v_add, autocvar_g_vehicle_racer_collision_multiplier);
 
        push_vector += racer_force_from_tag(this, "tag_engine_bl", autocvar_g_vehicle_racer_springlength, autocvar_g_vehicle_racer_hoverpower);
-       bl_push   = force_fromtag_normpower;
-       //vehicles_sweap_collision(force_fromtag_origin, this.velocity, _delta, v_add, autocvar_g_vehicle_racer_collision_multiplier);
+       bl_push   = force_fromtag_normpower;
+       // vehicles_sweap_collision(force_fromtag_origin, this.velocity, _delta, v_add, autocvar_g_vehicle_racer_collision_multiplier);
 
        this.velocity += push_vector * _delta;
 
        float uforce = autocvar_g_vehicle_racer_upforcedamper;
 
        int cont = pointcontents(this.origin - '0 0 64');
-       if(cont == CONTENT_WATER || cont == CONTENT_LAVA || cont == CONTENT_SLIME)
-       {
+       if (cont == CONTENT_WATER || cont == CONTENT_LAVA || cont == CONTENT_SLIME) {
                uforce = autocvar_g_vehicle_racer_water_upforcedamper;
 
-               if(PHYS_INPUT_BUTTON_CROUCH(this.owner) && time < this.air_finished)
+               if (PHYS_INPUT_BUTTON_CROUCH(this.owner) && time < this.air_finished) {
                        this.velocity_z += 30;
-               else
+               } else {
                        this.velocity_z += 200;
+               }
        }
 
 
        // Anti ocilation
-       if(this.velocity_z > 0)
+       if (this.velocity_z > 0) {
                this.velocity_z *= 1 - uforce * _delta;
+       }
 
        push_vector_x =  (fl_push - bl_push);
        push_vector_x += (fr_push - br_push);
@@ -149,8 +150,7 @@ bool racer_frame(entity this, float dt)
        entity vehic = this.vehicle;
        return = true;
 
-       if(game_stopped)
-       {
+       if (game_stopped) {
                vehic.solid = SOLID_NOT;
                vehic.takedamage = DAMAGE_NO;
                set_movetype(vehic, MOVETYPE_NONE);
@@ -161,11 +161,11 @@ bool racer_frame(entity this, float dt)
 
        traceline(vehic.origin, vehic.origin + '0 0 1', MOVE_NOMONSTERS, this);
        int cont = trace_dpstartcontents;
-       if(!(cont & DPCONTENTS_WATER))
+       if (!(cont & DPCONTENTS_WATER)) {
                vehic.air_finished = time + autocvar_g_vehicle_racer_water_time;
+       }
 
-       if(IS_DEAD(vehic))
-       {
+       if (IS_DEAD(vehic)) {
                PHYS_INPUT_BUTTON_ATCK(this) = PHYS_INPUT_BUTTON_ATCK2(this) = false;
                return;
        }
@@ -192,94 +192,83 @@ bool racer_frame(entity this, float dt)
        makevectors(vehic.angles);
        vehic.angles_x *= -1;
 
-       //ftmp = vehic.velocity_z;
+       // ftmp = vehic.velocity_z;
        vector df = vehic.velocity * -autocvar_g_vehicle_racer_friction;
-       //vehic.velocity_z = ftmp;
-
-       if(CS(this).movement)
-       {
-               if(cont & DPCONTENTS_LIQUIDSMASK)
-               {
-                       if(CS(this).movement_x) { df += v_forward * ((CS(this).movement_x > 0) ? autocvar_g_vehicle_racer_water_speed_forward : -autocvar_g_vehicle_racer_water_speed_forward); }
-                       if(CS(this).movement_y) { df += v_right * ((CS(this).movement_y > 0) ? autocvar_g_vehicle_racer_water_speed_strafe : -autocvar_g_vehicle_racer_water_speed_strafe); }
-               }
-               else
-               {
-                       if(CS(this).movement_x) { df += v_forward * ((CS(this).movement_x > 0) ? autocvar_g_vehicle_racer_speed_forward : -autocvar_g_vehicle_racer_speed_forward); }
-                       if(CS(this).movement_y) { df += v_right * ((CS(this).movement_y > 0) ? autocvar_g_vehicle_racer_speed_strafe : -autocvar_g_vehicle_racer_speed_strafe); }
+       // vehic.velocity_z = ftmp;
+
+       if (CS(this).movement) {
+               if (cont & DPCONTENTS_LIQUIDSMASK) {
+                       if (CS(this).movement_x) { df += v_forward * ((CS(this).movement_x > 0) ? autocvar_g_vehicle_racer_water_speed_forward : -autocvar_g_vehicle_racer_water_speed_forward); }
+                       if (CS(this).movement_y) { df += v_right * ((CS(this).movement_y > 0) ? autocvar_g_vehicle_racer_water_speed_strafe : -autocvar_g_vehicle_racer_water_speed_strafe); }
+               } else {
+                       if (CS(this).movement_x) { df += v_forward * ((CS(this).movement_x > 0) ? autocvar_g_vehicle_racer_speed_forward : -autocvar_g_vehicle_racer_speed_forward); }
+                       if (CS(this).movement_y) { df += v_right * ((CS(this).movement_y > 0) ? autocvar_g_vehicle_racer_speed_strafe : -autocvar_g_vehicle_racer_speed_strafe); }
                }
 
 #ifdef SVQC
-               if(vehic.sound_nexttime < time || vehic.sounds != 1)
-               {
+               if (vehic.sound_nexttime < time || vehic.sounds != 1) {
                        vehic.sounds = 1;
-                       vehic.sound_nexttime = time + 10.922667; //soundlength("vehicles/racer_move.wav");
-                       sound (vehic, CH_TRIGGER_SINGLE, SND_VEH_RACER_MOVE, VOL_VEHICLEENGINE, ATTEN_NORM);
+                       vehic.sound_nexttime = time + 10.922667; // soundlength("vehicles/racer_move.wav");
+                       sound(vehic, CH_TRIGGER_SINGLE, SND_VEH_RACER_MOVE, VOL_VEHICLEENGINE, ATTEN_NORM);
                }
 #endif
        }
 #ifdef SVQC
-       else
-       {
-               if(vehic.sound_nexttime < time || vehic.sounds != 0)
-               {
+       else {
+               if (vehic.sound_nexttime < time || vehic.sounds != 0) {
                        vehic.sounds = 0;
-                       vehic.sound_nexttime = time + 11.888604; //soundlength("vehicles/racer_idle.wav");
-                       sound (vehic, CH_TRIGGER_SINGLE, SND_VEH_RACER_IDLE, VOL_VEHICLEENGINE, ATTEN_NORM);
+                       vehic.sound_nexttime = time + 11.888604; // soundlength("vehicles/racer_idle.wav");
+                       sound(vehic, CH_TRIGGER_SINGLE, SND_VEH_RACER_IDLE, VOL_VEHICLEENGINE, ATTEN_NORM);
                }
        }
 #endif
 
        // Afterburn
-       if (PHYS_INPUT_BUTTON_JUMP(this) && vehic.vehicle_energy >= (autocvar_g_vehicle_racer_afterburn_cost * dt))
-       {
+       if (PHYS_INPUT_BUTTON_JUMP(this) && vehic.vehicle_energy >= (autocvar_g_vehicle_racer_afterburn_cost * dt)) {
 #ifdef SVQC
-               if(time - vehic.wait > 0.2)
+               if (time - vehic.wait > 0.2) {
                        pointparticles(EFFECT_RACER_BOOSTER, vehic.origin - v_forward * 32, v_forward  * vlen(vehic.velocity), 1);
+               }
 #endif
 
                vehic.wait = time;
 
-               if(cont & DPCONTENTS_LIQUIDSMASK)
-               {
+               if (cont & DPCONTENTS_LIQUIDSMASK) {
                        vehic.vehicle_energy -= autocvar_g_vehicle_racer_waterburn_cost * dt;
                        df += (v_forward * autocvar_g_vehicle_racer_waterburn_speed);
-               }
-               else
-               {
+               } else {
                        vehic.vehicle_energy -= autocvar_g_vehicle_racer_afterburn_cost * dt;
                        df += (v_forward * autocvar_g_vehicle_racer_speed_afterburn);
                }
 
 #ifdef SVQC
-               if(vehic.invincible_finished < time)
-               {
+               if (vehic.invincible_finished < time) {
                        traceline(vehic.origin, vehic.origin - '0 0 256', MOVE_NORMAL, vehic);
-                       if(trace_fraction != 1.0)
+                       if (trace_fraction != 1.0) {
                                pointparticles(EFFECT_SMOKE_SMALL, trace_endpos, '0 0 0', 1);
+                       }
 
                        vehic.invincible_finished = time + 0.1 + (random() * 0.1);
                }
 
-               if(vehic.strength_finished < time)
-               {
-                       vehic.strength_finished = time + 10.922667; //soundlength("vehicles/racer_boost.wav");
-                       sound (vehic.tur_head, CH_TRIGGER_SINGLE, SND_VEH_RACER_BOOST, VOL_VEHICLEENGINE, ATTEN_NORM);
+               if (vehic.strength_finished < time) {
+                       vehic.strength_finished = time + 10.922667; // soundlength("vehicles/racer_boost.wav");
+                       sound(vehic.tur_head, CH_TRIGGER_SINGLE, SND_VEH_RACER_BOOST, VOL_VEHICLEENGINE, ATTEN_NORM);
                }
 #endif
-       }
-       else
-       {
+       } else {
                vehic.strength_finished = 0;
-               sound (vehic.tur_head, CH_TRIGGER_SINGLE, SND_Null, VOL_VEHICLEENGINE, ATTEN_NORM);
+               sound(vehic.tur_head, CH_TRIGGER_SINGLE, SND_Null, VOL_VEHICLEENGINE, ATTEN_NORM);
        }
 
-       if(cont & DPCONTENTS_LIQUIDSMASK)
+       if (cont & DPCONTENTS_LIQUIDSMASK) {
                vehic.racer_watertime = time;
+       }
 
        float dforce = autocvar_g_vehicle_racer_downforce;
-       if(time - vehic.racer_watertime <= 3)
+       if (time - vehic.racer_watertime <= 3) {
                dforce = autocvar_g_vehicle_racer_water_downforce;
+       }
 
        df -= v_up * (vlen(vehic.velocity) * dforce);
        CS(this).movement = vehic.velocity += df * dt;
@@ -288,88 +277,89 @@ bool racer_frame(entity this, float dt)
 
        Weapon wep1 = WEP_RACER;
        .entity weaponentity = weaponentities[0]; // TODO: unhardcode
-       if (!forbidWeaponUse(this))
-       if (PHYS_INPUT_BUTTON_ATCK(this))
-       if (wep1.wr_checkammo1(wep1, vehic, weaponentity))
-       {
-               string tagname = (vehic.cnt)
-                   ? (vehic.cnt = 0, "tag_fire1")
-                   : (vehic.cnt = 1, "tag_fire2");
-               vector org = gettaginfo(vehic, gettagindex(vehic, tagname));
-               w_shotorg = org;
-               w_shotdir = v_forward;
-               // Fix z-aim (for chase mode)
-               crosshair_trace(this);
-               w_shotdir.z = normalize(trace_endpos - org).z * 0.5;
-               wep1.wr_think(wep1, vehic, weaponentity, 1);
+       if (!forbidWeaponUse(this)) {
+               if (PHYS_INPUT_BUTTON_ATCK(this)) {
+                       if (wep1.wr_checkammo1(wep1, vehic, weaponentity)) {
+                               string tagname = (vehic.cnt)
+                                       ? (vehic.cnt = 0, "tag_fire1")
+                                       : (vehic.cnt = 1, "tag_fire2");
+                               vector org = gettaginfo(vehic, gettagindex(vehic, tagname));
+                               w_shotorg = org;
+                               w_shotdir = v_forward;
+                               // Fix z-aim (for chase mode)
+                               crosshair_trace(this);
+                               w_shotdir.z = normalize(trace_endpos - org).z * 0.5;
+                               wep1.wr_think(wep1, vehic, weaponentity, 1);
+                       }
+               }
        }
 
-       if(autocvar_g_vehicle_racer_rocket_locktarget)
-       {
-               if(time >= vehic.vehicle_last_trace)
-               {
+       if (autocvar_g_vehicle_racer_rocket_locktarget) {
+               if (time >= vehic.vehicle_last_trace) {
                        crosshair_trace(this);
 
                        vehicles_locktarget(vehic, (1 / autocvar_g_vehicle_racer_rocket_locking_time) * dt,
-                                                        (1 / autocvar_g_vehicle_racer_rocket_locking_releasetime) * dt,
-                                                        autocvar_g_vehicle_racer_rocket_locked_time);
+                               (1 / autocvar_g_vehicle_racer_rocket_locking_releasetime) * dt,
+                               autocvar_g_vehicle_racer_rocket_locked_time);
 
                        vehic.vehicle_last_trace = time + autocvar_g_vehicle_racer_thinkrate;
                }
 
-               if(vehic.lock_target)
-               {
-                       if(vehic.lock_strength == 1)
+               if (vehic.lock_target) {
+                       if (vehic.lock_strength == 1) {
                                UpdateAuxiliaryXhair(this, real_origin(vehic.lock_target), '1 0 0', 0);
-                       else if(vehic.lock_strength > 0.5)
+                       } else if (vehic.lock_strength > 0.5) {
                                UpdateAuxiliaryXhair(this, real_origin(vehic.lock_target), '0 1 0', 0);
-                       else if(vehic.lock_strength < 0.5)
+                       } else if (vehic.lock_strength < 0.5) {
                                UpdateAuxiliaryXhair(this, real_origin(vehic.lock_target), '0 0 1', 0);
+                       }
                }
        }
 
-       if(!forbidWeaponUse(this))
-       if(time > vehic.delay)
-       if(PHYS_INPUT_BUTTON_ATCK2(this))
-       {
-               vehic.misc_bulletcounter += 1;
-               vehic.delay = time + 0.3;
-
-               if(vehic.misc_bulletcounter == 1)
-               {
-                       racer_fire_rocket_aim(this, "tag_rocket_r", (vehic.lock_strength == 1 && vehic.lock_target) ? vehic.lock_target : NULL);
-                       this.vehicle_ammo2 = 50;
-               }
-               else if(vehic.misc_bulletcounter == 2)
-               {
-                       racer_fire_rocket_aim(this, "tag_rocket_l", (vehic.lock_strength == 1 && vehic.lock_target) ? vehic.lock_target : NULL);
-                       vehic.lock_strength  = 0;
-                       vehic.lock_target       = NULL;
-                       vehic.misc_bulletcounter = 0;
-                       vehic.delay = time + autocvar_g_vehicle_racer_rocket_refire;
-                       vehic.lip = time;
-                       this.vehicle_ammo2 = 0;
+       if (!forbidWeaponUse(this)) {
+               if (time > vehic.delay) {
+                       if (PHYS_INPUT_BUTTON_ATCK2(this)) {
+                               vehic.misc_bulletcounter += 1;
+                               vehic.delay = time + 0.3;
+
+                               if (vehic.misc_bulletcounter == 1) {
+                                       racer_fire_rocket_aim(this, "tag_rocket_r", (vehic.lock_strength == 1 && vehic.lock_target) ? vehic.lock_target : NULL);
+                                       this.vehicle_ammo2 = 50;
+                               } else if (vehic.misc_bulletcounter == 2) {
+                                       racer_fire_rocket_aim(this, "tag_rocket_l", (vehic.lock_strength == 1 && vehic.lock_target) ? vehic.lock_target : NULL);
+                                       vehic.lock_strength  = 0;
+                                       vehic.lock_target   = NULL;
+                                       vehic.misc_bulletcounter = 0;
+                                       vehic.delay = time + autocvar_g_vehicle_racer_rocket_refire;
+                                       vehic.lip = time;
+                                       this.vehicle_ammo2 = 0;
+                               }
+                       } else if (vehic.misc_bulletcounter == 0) {
+                               this.vehicle_ammo2 = 100;
+                       }
                }
        }
-       else if(vehic.misc_bulletcounter == 0)
-               this.vehicle_ammo2 = 100;
 
        this.vehicle_reload2 = bound(0, 100 * ((time - vehic.lip) / (vehic.delay - vehic.lip)), 100);
 
-       if(vehic.vehicle_flags  & VHF_SHIELDREGEN)
+       if (vehic.vehicle_flags  & VHF_SHIELDREGEN) {
                vehicles_regen(vehic, vehic.dmg_time, vehicle_shield, autocvar_g_vehicle_racer_shield, autocvar_g_vehicle_racer_shield_regen_pause, autocvar_g_vehicle_racer_shield_regen, dt, true);
+       }
 
-       if(vehic.vehicle_flags  & VHF_HEALTHREGEN)
+       if (vehic.vehicle_flags  & VHF_HEALTHREGEN) {
                vehicles_regen(vehic, vehic.dmg_time, vehicle_health, autocvar_g_vehicle_racer_health, autocvar_g_vehicle_racer_health_regen_pause, autocvar_g_vehicle_racer_health_regen, dt, false);
+       }
 
-       if(vehic.vehicle_flags  & VHF_ENERGYREGEN)
+       if (vehic.vehicle_flags  & VHF_ENERGYREGEN) {
                vehicles_regen(vehic, vehic.wait, vehicle_energy, autocvar_g_vehicle_racer_energy, autocvar_g_vehicle_racer_energy_regen_pause, autocvar_g_vehicle_racer_energy_regen, dt, false);
+       }
 
        VEHICLE_UPDATE_PLAYER(this, vehic, health, racer);
        VEHICLE_UPDATE_PLAYER(this, vehic, energy, racer);
 
-       if(vehic.vehicle_flags & VHF_HASSHIELD)
+       if (vehic.vehicle_flags & VHF_HASSHIELD) {
                VEHICLE_UPDATE_PLAYER(this, vehic, shield, racer);
+       }
 
        PHYS_INPUT_BUTTON_ATCK(this) = PHYS_INPUT_BUTTON_ATCK2(this) = false;
 #endif
@@ -390,18 +380,18 @@ void racer_think(entity this)
 
        float forced = autocvar_g_vehicle_racer_upforcedamper;
 
-       //int cont = pointcontents(this.origin - '0 0 64');
+       // int cont = pointcontents(this.origin - '0 0 64');
        traceline(this.origin - '0 0 64', this.origin - '0 0 64', MOVE_NOMONSTERS, this);
-       //if(cont == CONTENT_WATER || cont == CONTENT_LAVA || cont == CONTENT_SLIME)
-       if(trace_dpstartcontents & DPCONTENTS_LIQUIDSMASK)
-       {
+       // if(cont == CONTENT_WATER || cont == CONTENT_LAVA || cont == CONTENT_SLIME)
+       if (trace_dpstartcontents & DPCONTENTS_LIQUIDSMASK) {
                forced = autocvar_g_vehicle_racer_water_upforcedamper;
                this.velocity_z += 200;
        }
 
        this.velocity += df * autocvar_g_vehicle_racer_thinkrate;
-       if(this.velocity_z > 0)
+       if (this.velocity_z > 0) {
                this.velocity_z *= 1 - forced * autocvar_g_vehicle_racer_thinkrate;
+       }
 
        this.angles_x *= 1 - (autocvar_g_vehicle_racer_anglestabilizer * autocvar_g_vehicle_racer_thinkrate);
        this.angles_z *= 1 - (autocvar_g_vehicle_racer_anglestabilizer * autocvar_g_vehicle_racer_thinkrate);
@@ -416,38 +406,33 @@ void racer_exit(entity this, int eject)
        setthink(this, racer_think);
        this.nextthink  = time;
        set_movetype(this, MOVETYPE_BOUNCE);
-       sound (this.tur_head, CH_TRIGGER_SINGLE, SND_Null, VOL_VEHICLEENGINE, ATTEN_NORM);
+       sound(this.tur_head, CH_TRIGGER_SINGLE, SND_Null, VOL_VEHICLEENGINE, ATTEN_NORM);
 
-       if(!this.owner)
+       if (!this.owner) {
                return;
+       }
 
        makevectors(this.angles);
-       if(eject)
-       {
+       if (eject) {
                spot = this.origin + v_forward * 100 + '0 0 64';
                spot = vehicles_findgoodexit(this, this.owner, spot);
                setorigin(this.owner, spot);
                this.owner.velocity = (v_up + v_forward * 0.25) * 750;
                this.owner.oldvelocity = this.owner.velocity;
-       }
-       else
-       {
-               if(vdist(this.velocity, >, 2 * autocvar_sv_maxairspeed))
-               {
+       } else {
+               if (vdist(this.velocity, >, 2 * autocvar_sv_maxairspeed)) {
                        this.owner.velocity = normalize(this.velocity) * autocvar_sv_maxairspeed * 2;
                        this.owner.velocity_z += 200;
                        spot = this.origin + v_forward * 32 + '0 0 32';
                        spot = vehicles_findgoodexit(this, this.owner, spot);
-               }
-               else
-               {
+               } else {
                        this.owner.velocity = this.velocity * 0.5;
                        this.owner.velocity_z += 10;
                        spot = this.origin - v_forward * 200 + '0 0 32';
                        spot = vehicles_findgoodexit(this, this.owner, spot);
                }
                this.owner.oldvelocity = this.owner.velocity;
-               setorigin(this.owner , spot);
+               setorigin(this.owner, spot);
        }
        antilag_clear(this.owner, CS(this.owner));
        this.owner = NULL;
@@ -458,16 +443,16 @@ void racer_blowup(entity this)
        this.deadflag = DEAD_DEAD;
        this.vehicle_exit(this, VHEF_NORMAL);
 
-       RadiusDamage (this, this.enemy, autocvar_g_vehicle_racer_blowup_coredamage,
-                                       autocvar_g_vehicle_racer_blowup_edgedamage,
-                                       autocvar_g_vehicle_racer_blowup_radius, NULL, NULL,
-                                       autocvar_g_vehicle_racer_blowup_forceintensity,
-                                       DEATH_VH_WAKI_DEATH.m_id, NULL);
+       RadiusDamage(this, this.enemy, autocvar_g_vehicle_racer_blowup_coredamage,
+               autocvar_g_vehicle_racer_blowup_edgedamage,
+               autocvar_g_vehicle_racer_blowup_radius, NULL, NULL,
+               autocvar_g_vehicle_racer_blowup_forceintensity,
+               DEATH_VH_WAKI_DEATH.m_id, NULL);
 
        this.nextthink  = time + autocvar_g_vehicle_racer_respawntime;
        setthink(this, vehicles_spawn);
        set_movetype(this, MOVETYPE_NONE);
-       this.effects    = EF_NODRAW;
+       this.effects    = EF_NODRAW;
        this.solid = SOLID_NOT;
 
        this.colormod  = '0 0 0';
@@ -481,8 +466,9 @@ void racer_blowup_think(entity this)
 {
        this.nextthink = time;
 
-       if(time >= this.delay)
+       if (time >= this.delay) {
                racer_blowup(this);
+       }
 
        CSQCMODEL_AUTOUPDATE(this);
 }
@@ -491,14 +477,15 @@ void racer_deadtouch(entity this, entity toucher)
 {
        this.avelocity_x *= 0.7;
        this.cnt -= 1;
-       if(this.cnt <= 0)
+       if (this.cnt <= 0) {
                racer_blowup(this);
+       }
 }
 
 spawnfunc(vehicle_racer)
 {
-       if(!autocvar_g_vehicle_racer) { delete(this); return; }
-       if(!vehicle_initialize(this, VEH_RACER, false)) { delete(this); return; }
+       if (!autocvar_g_vehicle_racer) { delete(this); return; }
+       if (!vehicle_initialize(this, VEH_RACER, false)) { delete(this); return; }
 }
 
 #endif // SVQC
@@ -506,132 +493,140 @@ spawnfunc(vehicle_racer)
 METHOD(Racer, vr_impact, void(Racer thisveh, entity instance))
 {
 #ifdef SVQC
-    if(autocvar_g_vehicle_racer_bouncepain)
-        vehicles_impact(instance, autocvar_g_vehicle_racer_bouncepain_x, autocvar_g_vehicle_racer_bouncepain_y, autocvar_g_vehicle_racer_bouncepain_z);
+       if (autocvar_g_vehicle_racer_bouncepain) {
+               vehicles_impact(instance, autocvar_g_vehicle_racer_bouncepain_x, autocvar_g_vehicle_racer_bouncepain_y, autocvar_g_vehicle_racer_bouncepain_z);
+       }
 #endif
 }
 
 METHOD(Racer, vr_enter, void(Racer thisveh, entity instance))
 {
 #ifdef SVQC
-    set_movetype(instance, MOVETYPE_BOUNCE);
-    instance.owner.vehicle_health = (instance.vehicle_health / autocvar_g_vehicle_racer_health)  * 100;
-    instance.owner.vehicle_shield = (instance.vehicle_shield / autocvar_g_vehicle_racer_shield)  * 100;
+       set_movetype(instance, MOVETYPE_BOUNCE);
+       instance.owner.vehicle_health = (instance.vehicle_health / autocvar_g_vehicle_racer_health)  * 100;
+       instance.owner.vehicle_shield = (instance.vehicle_shield / autocvar_g_vehicle_racer_shield)  * 100;
 
-    if(instance.owner.flagcarried)
-       setorigin(instance.owner.flagcarried, '-190 0 96');
+       if (instance.owner.flagcarried) {
+               setorigin(instance.owner.flagcarried, '-190 0 96');
+       }
 #elif defined(CSQC)
-    set_movetype(instance, MOVETYPE_BOUNCE);
+       set_movetype(instance, MOVETYPE_BOUNCE);
 #endif
 }
 
 METHOD(Racer, vr_spawn, void(Racer thisveh, entity instance))
 {
 #ifdef SVQC
-    if(instance.scale != 0.5)
-    {
-        if(autocvar_g_vehicle_racer_hovertype != 0)
-            racer_force_from_tag = vehicles_force_fromtag_maglev;
-        else
-            racer_force_from_tag = vehicles_force_fromtag_hover;
-
-        // FIXME: this be hakkz, fix the models insted (scale body, add tag_viewport to the hudmodel).
-        instance.scale = 0.5;
-        setattachment(instance.vehicle_hudmodel, instance, "");
-        setattachment(instance.vehicle_viewport, instance, "tag_viewport");
-
-        instance.mass                     = 900;
-    }
-
-    setthink(instance, racer_think);
-    instance.nextthink   = time;
-    instance.vehicle_health = autocvar_g_vehicle_racer_health;
-    instance.vehicle_shield = autocvar_g_vehicle_racer_shield;
-
-    set_movetype(instance, MOVETYPE_TOSS);
-    instance.solid               = SOLID_SLIDEBOX;
-    instance.delay               = time;
-    instance.scale               = 0.5;
-
-    instance.PlayerPhysplug = racer_frame;
-
-    instance.bouncefactor = autocvar_g_vehicle_racer_bouncefactor;
-    instance.bouncestop = autocvar_g_vehicle_racer_bouncestop;
-    instance.damageforcescale = 0.5;
-    instance.vehicle_health = autocvar_g_vehicle_racer_health;
-    instance.vehicle_shield = autocvar_g_vehicle_racer_shield;
+       if (instance.scale != 0.5) {
+               if (autocvar_g_vehicle_racer_hovertype != 0) {
+                       racer_force_from_tag = vehicles_force_fromtag_maglev;
+               } else {
+                       racer_force_from_tag = vehicles_force_fromtag_hover;
+               }
+
+               // FIXME: this be hakkz, fix the models insted (scale body, add tag_viewport to the hudmodel).
+               instance.scale = 0.5;
+               setattachment(instance.vehicle_hudmodel, instance, "");
+               setattachment(instance.vehicle_viewport, instance, "tag_viewport");
+
+               instance.mass              = 900;
+       }
+
+       setthink(instance, racer_think);
+       instance.nextthink    = time;
+       instance.vehicle_health = autocvar_g_vehicle_racer_health;
+       instance.vehicle_shield = autocvar_g_vehicle_racer_shield;
+
+       set_movetype(instance, MOVETYPE_TOSS);
+       instance.solid        = SOLID_SLIDEBOX;
+       instance.delay        = time;
+       instance.scale        = 0.5;
+
+       instance.PlayerPhysplug = racer_frame;
+
+       instance.bouncefactor = autocvar_g_vehicle_racer_bouncefactor;
+       instance.bouncestop = autocvar_g_vehicle_racer_bouncestop;
+       instance.damageforcescale = 0.5;
+       instance.vehicle_health = autocvar_g_vehicle_racer_health;
+       instance.vehicle_shield = autocvar_g_vehicle_racer_shield;
 #endif
 }
 
 METHOD(Racer, vr_death, void(Racer thisveh, entity instance))
 {
 #ifdef SVQC
-    setSendEntity(instance, func_null); // stop networking this racer (for now)
-    instance.health                    = 0;
-    instance.event_damage      = func_null;
-    instance.solid                     = SOLID_CORPSE;
-    instance.takedamage                = DAMAGE_NO;
-    instance.deadflag          = DEAD_DYING;
-    set_movetype(instance, MOVETYPE_BOUNCE);
-    instance.wait                      = time;
-    instance.delay                     = 2 + time + random() * 3;
-    instance.cnt                       = 1 + random() * 2;
-    settouch(instance, racer_deadtouch);
-
-    Send_Effect(EFFECT_EXPLOSION_MEDIUM, instance.origin, '0 0 0', 1);
-
-    if(random() < 0.5)
-        instance.avelocity_z = 32;
-    else
-        instance.avelocity_z = -32;
-
-    instance.avelocity_x = -vlen(instance.velocity) * 0.2;
-    instance.velocity += '0 0 700';
-    instance.colormod = '-0.5 -0.5 -0.5';
-
-    setthink(instance, racer_blowup_think);
-    instance.nextthink = time;
+       setSendEntity(instance, func_null); // stop networking this racer (for now)
+       instance.health         = 0;
+       instance.event_damage   = func_null;
+       instance.solid          = SOLID_CORPSE;
+       instance.takedamage     = DAMAGE_NO;
+       instance.deadflag       = DEAD_DYING;
+       set_movetype(instance, MOVETYPE_BOUNCE);
+       instance.wait           = time;
+       instance.delay          = 2 + time + random() * 3;
+       instance.cnt            = 1 + random() * 2;
+       settouch(instance, racer_deadtouch);
+
+       Send_Effect(EFFECT_EXPLOSION_MEDIUM, instance.origin, '0 0 0', 1);
+
+       if (random() < 0.5) {
+               instance.avelocity_z = 32;
+       } else {
+               instance.avelocity_z = -32;
+       }
+
+       instance.avelocity_x = -vlen(instance.velocity) * 0.2;
+       instance.velocity += '0 0 700';
+       instance.colormod = '-0.5 -0.5 -0.5';
+
+       setthink(instance, racer_blowup_think);
+       instance.nextthink = time;
 #endif
 }
 
 #ifdef CSQC
 METHOD(Racer, vr_hud, void(Racer thisveh))
 {
-    Vehicles_drawHUD(VEH_RACER.m_icon, "vehicle_racer_weapon1", "vehicle_racer_weapon2",
-                     "vehicle_icon_ammo1", autocvar_hud_progressbar_vehicles_ammo1_color,
-                     "vehicle_icon_ammo2", autocvar_hud_progressbar_vehicles_ammo2_color);
+       Vehicles_drawHUD(VEH_RACER.m_icon, "vehicle_racer_weapon1", "vehicle_racer_weapon2",
+               "vehicle_icon_ammo1", autocvar_hud_progressbar_vehicles_ammo1_color,
+               "vehicle_icon_ammo2", autocvar_hud_progressbar_vehicles_ammo2_color);
 }
 METHOD(Racer, vr_crosshair, void(Racer thisveh, entity player))
 {
-    Vehicles_drawCrosshair(vCROSS_GUIDE);
+       Vehicles_drawCrosshair(vCROSS_GUIDE);
 }
 #endif
 METHOD(Racer, vr_setup, void(Racer thisveh, entity instance))
 {
 #ifdef SVQC
-    instance.vehicle_exit = racer_exit;
+       instance.vehicle_exit = racer_exit;
 
-    // we have no need to network energy
-    if(autocvar_g_vehicle_racer_energy)
-    if(autocvar_g_vehicle_racer_energy_regen)
-        instance.vehicle_flags |= VHF_ENERGYREGEN;
+       // we have no need to network energy
+       if (autocvar_g_vehicle_racer_energy) {
+               if (autocvar_g_vehicle_racer_energy_regen) {
+                       instance.vehicle_flags |= VHF_ENERGYREGEN;
+               }
+       }
 
-    if(autocvar_g_vehicle_racer_shield)
-        instance.vehicle_flags |= VHF_HASSHIELD;
+       if (autocvar_g_vehicle_racer_shield) {
+               instance.vehicle_flags |= VHF_HASSHIELD;
+       }
 
-    if(autocvar_g_vehicle_racer_shield_regen)
-        instance.vehicle_flags |= VHF_SHIELDREGEN;
+       if (autocvar_g_vehicle_racer_shield_regen) {
+               instance.vehicle_flags |= VHF_SHIELDREGEN;
+       }
 
-    if(autocvar_g_vehicle_racer_health_regen)
-        instance.vehicle_flags |= VHF_HEALTHREGEN;
+       if (autocvar_g_vehicle_racer_health_regen) {
+               instance.vehicle_flags |= VHF_HEALTHREGEN;
+       }
 
-    instance.respawntime = autocvar_g_vehicle_racer_respawntime;
-    instance.vehicle_health = autocvar_g_vehicle_racer_health;
-    instance.vehicle_shield = autocvar_g_vehicle_racer_shield;
-    instance.max_health = instance.vehicle_health;
+       instance.respawntime = autocvar_g_vehicle_racer_respawntime;
+       instance.vehicle_health = autocvar_g_vehicle_racer_health;
+       instance.vehicle_shield = autocvar_g_vehicle_racer_shield;
+       instance.max_health = instance.vehicle_health;
 #endif
 
 #ifdef CSQC
-    AuxiliaryXhair[0].axh_image = vCROSS_LOCK; // Rocket
+       AuxiliaryXhair[0].axh_image = vCROSS_LOCK; // Rocket
 #endif
 }
index 3c348ae1c2bec1086f65976aa238209778ebd15b..f1c704cf80e9a6777c10f2057d63b395a6e26360 100644 (file)
@@ -8,8 +8,8 @@ CLASS(Racer, Vehicle)
 /* maxs       */ ATTRIB(Racer, m_maxs, vector, '120 120 40' * 0.5);
 /* view offset*/ ATTRIB(Racer, view_ofs, vector, '0 0 50');
 /* view dist  */ ATTRIB(Racer, height, float, 200);
-/* model         */ ATTRIB(Racer, mdl, string, "models/vehicles/wakizashi.dpm");
-/* model         */ ATTRIB(Racer, model, string, "models/vehicles/wakizashi.dpm");
+/* model         */ATTRIB(Racer, mdl, string, "models/vehicles/wakizashi.dpm");
+/* model         */ATTRIB(Racer, model, string, "models/vehicles/wakizashi.dpm");
 /* head_model */ ATTRIB(Racer, head_model, string, "null");
 /* hud_model  */ ATTRIB(Racer, hud_model, string, "models/vehicles/wakizashi_cockpit.dpm");
 /* tags       */ ATTRIB(Racer, tag_head, string, "");
index 02015eb8daba23c239bee5794c9734b206b2decc..97fe333cd217d4ffd19c2e33cdf67e1b592b2241 100644 (file)
@@ -5,39 +5,41 @@
 void racer_fire_rocket(entity player, vector org, vector dir, entity trg);
 METHOD(RacerAttack, wr_think, void(entity thiswep, entity actor, .entity weaponentity, int fire))
 {
-    bool isPlayer = IS_PLAYER(actor);
-    entity player = isPlayer ? actor : actor.owner;
-    entity veh = player.vehicle;
-    if (fire & 1)
-    if (weapon_prepareattack(thiswep, player, weaponentity, false, autocvar_g_vehicle_racer_cannon_refire)) {
-        if (veh) {
-            veh.vehicle_energy -= autocvar_g_vehicle_racer_cannon_cost;
-            veh.wait = time;
-        }
-        if (isPlayer) W_SetupShot_Dir(player, weaponentity, v_forward, false, 0, SND_Null, CH_WEAPON_B, 0);
-        vector org = w_shotorg;
-        vector dir = w_shotdir;
-        entity bolt = vehicles_projectile(veh, EFFECT_RACER_MUZZLEFLASH.eent_eff_name, SND_LASERGUN_FIRE,
-                               org, normalize(v_forward + randomvec() * autocvar_g_vehicle_racer_cannon_spread) * autocvar_g_vehicle_racer_cannon_speed,
-                               autocvar_g_vehicle_racer_cannon_damage, autocvar_g_vehicle_racer_cannon_radius, autocvar_g_vehicle_racer_cannon_force,  0,
-                               DEATH_VH_WAKI_GUN.m_id, PROJECTILE_WAKICANNON, 0, true, true, player);
-        bolt.velocity = normalize(dir) * autocvar_g_vehicle_racer_cannon_speed;
-        weapon_thinkf(player, weaponentity, WFRAME_FIRE1, 0, w_ready);
-    }
-    if (fire & 2)
-    if (!isPlayer || weapon_prepareattack(thiswep, actor, weaponentity, false, 0.2)) {
-        if (isPlayer) W_SetupShot_Dir(actor, weaponentity, v_forward, false, 0, SND_Null, CH_WEAPON_B, 0);
-        racer_fire_rocket(player, w_shotorg, w_shotdir, NULL);
-        weapon_thinkf(actor, weaponentity, WFRAME_FIRE2, 0, w_ready);
-    }
+       bool isPlayer = IS_PLAYER(actor);
+       entity player = isPlayer ? actor : actor.owner;
+       entity veh = player.vehicle;
+       if (fire & 1) {
+               if (weapon_prepareattack(thiswep, player, weaponentity, false, autocvar_g_vehicle_racer_cannon_refire)) {
+                       if (veh) {
+                               veh.vehicle_energy -= autocvar_g_vehicle_racer_cannon_cost;
+                               veh.wait = time;
+                       }
+                       if (isPlayer) { W_SetupShot_Dir(player, weaponentity, v_forward, false, 0, SND_Null, CH_WEAPON_B, 0); }
+                       vector org = w_shotorg;
+                       vector dir = w_shotdir;
+                       entity bolt = vehicles_projectile(veh, EFFECT_RACER_MUZZLEFLASH.eent_eff_name, SND_LASERGUN_FIRE,
+                               org, normalize(v_forward + randomvec() * autocvar_g_vehicle_racer_cannon_spread) * autocvar_g_vehicle_racer_cannon_speed,
+                               autocvar_g_vehicle_racer_cannon_damage, autocvar_g_vehicle_racer_cannon_radius, autocvar_g_vehicle_racer_cannon_force,  0,
+                               DEATH_VH_WAKI_GUN.m_id, PROJECTILE_WAKICANNON, 0, true, true, player);
+                       bolt.velocity = normalize(dir) * autocvar_g_vehicle_racer_cannon_speed;
+                       weapon_thinkf(player, weaponentity, WFRAME_FIRE1, 0, w_ready);
+               }
+       }
+       if (fire & 2) {
+               if (!isPlayer || weapon_prepareattack(thiswep, actor, weaponentity, false, 0.2)) {
+                       if (isPlayer) { W_SetupShot_Dir(actor, weaponentity, v_forward, false, 0, SND_Null, CH_WEAPON_B, 0); }
+                       racer_fire_rocket(player, w_shotorg, w_shotdir, NULL);
+                       weapon_thinkf(actor, weaponentity, WFRAME_FIRE2, 0, w_ready);
+               }
+       }
 }
 
 METHOD(RacerAttack, wr_checkammo1, bool(RacerAttack thiswep, entity actor, .entity weaponentity))
 {
-    bool isPlayer = IS_PLAYER(actor);
-    entity player = isPlayer ? actor : actor.owner;
-    entity veh = player.vehicle;
-    return isPlayer || veh.vehicle_energy >= autocvar_g_vehicle_racer_cannon_cost;
+       bool isPlayer = IS_PLAYER(actor);
+       entity player = isPlayer ? actor : actor.owner;
+       entity veh = player.vehicle;
+       return isPlayer || veh.vehicle_energy >= autocvar_g_vehicle_racer_cannon_cost;
 }
 
 void racer_rocket_tracker(entity this);
@@ -45,125 +47,117 @@ void racer_rocket_groundhugger(entity this);
 
 void racer_fire_rocket(entity player, vector org, vector dir, entity trg)
 {
-    entity rocket = vehicles_projectile(player.vehicle, EFFECT_RACER_ROCKETLAUNCH.eent_eff_name, SND_ROCKET_FIRE,
-                           org, dir * autocvar_g_vehicle_racer_rocket_speed,
-                           autocvar_g_vehicle_racer_rocket_damage, autocvar_g_vehicle_racer_rocket_radius, autocvar_g_vehicle_racer_rocket_force, 3,
-                           DEATH_VH_WAKI_ROCKET.m_id, PROJECTILE_WAKIROCKET, 20, false, false, player);
-
-    rocket.lip                   = autocvar_g_vehicle_racer_rocket_accel * sys_frametime;
-    rocket.wait                         = autocvar_g_vehicle_racer_rocket_turnrate;
-    rocket.nextthink           = time;
-    rocket.enemy                       = trg;
-    rocket.cnt                   = time + 15;
-
-    if(trg)
-        setthink(rocket, racer_rocket_tracker);
-    else
-        setthink(rocket, racer_rocket_groundhugger);
+       entity rocket = vehicles_projectile(player.vehicle, EFFECT_RACER_ROCKETLAUNCH.eent_eff_name, SND_ROCKET_FIRE,
+               org, dir * autocvar_g_vehicle_racer_rocket_speed,
+               autocvar_g_vehicle_racer_rocket_damage, autocvar_g_vehicle_racer_rocket_radius, autocvar_g_vehicle_racer_rocket_force, 3,
+               DEATH_VH_WAKI_ROCKET.m_id, PROJECTILE_WAKIROCKET, 20, false, false, player);
+
+       rocket.lip            = autocvar_g_vehicle_racer_rocket_accel * sys_frametime;
+       rocket.wait          = autocvar_g_vehicle_racer_rocket_turnrate;
+       rocket.nextthink        = time;
+       rocket.enemy            = trg;
+       rocket.cnt            = time + 15;
+
+       if (trg) {
+               setthink(rocket, racer_rocket_tracker);
+       } else {
+               setthink(rocket, racer_rocket_groundhugger);
+       }
 }
 
 void racer_rocket_tracker(entity this)
 {
-    vector olddir, newdir;
-    float oldvel, newvel;
-
-    this.nextthink  = time;
-
-    if (IS_DEAD(this.owner) || this.cnt < time)
-    {
-        this.use(this, NULL, NULL);
-        return;
-    }
-
-    if(!this.realowner.vehicle)
-    {
-        UpdateCSQCProjectile(this);
-        return;
-    }
-
-    olddir = normalize(this.velocity);
-    oldvel = vlen(this.velocity);
-    newvel = oldvel + this.lip;
-    makevectors(vectoangles(olddir));
-
-    float time_to_impact = min(vlen(this.enemy.origin - this.origin) / vlen(this.velocity), 1);
-    vector predicted_origin = this.enemy.origin + this.enemy.velocity * time_to_impact;
-
-    traceline(this.origin, this.origin + v_forward * 64 - '0 0 32', MOVE_NORMAL, this);
-    newdir = normalize(predicted_origin - this.origin);
-
-    //vector
-    float height_diff = predicted_origin_z - this.origin_z;
-
-    if(vdist(newdir - v_forward, >, autocvar_g_vehicle_racer_rocket_locked_maxangle))
-    {
-        //bprint("Target lost!\n");
-        //dprint("OF:", ftos(vlen(newdir - v_forward)), "\n");
-        setthink(this, racer_rocket_groundhugger);
-        return;
-    }
-
-    if(trace_fraction != 1.0 && trace_ent != this.enemy)
-        newdir_z += 16 * sys_frametime;
-
-    this.velocity = normalize(olddir + newdir * autocvar_g_vehicle_racer_rocket_turnrate) * newvel;
-    this.velocity_z -= 800 * sys_frametime;
-    this.velocity_z += max(height_diff, autocvar_g_vehicle_racer_rocket_climbspeed) * sys_frametime ;
-
-    UpdateCSQCProjectile(this);
-    return;
+       vector olddir, newdir;
+       float oldvel, newvel;
+
+       this.nextthink  = time;
+
+       if (IS_DEAD(this.owner) || this.cnt < time) {
+               this.use(this, NULL, NULL);
+               return;
+       }
+
+       if (!this.realowner.vehicle) {
+               UpdateCSQCProjectile(this);
+               return;
+       }
+
+       olddir = normalize(this.velocity);
+       oldvel = vlen(this.velocity);
+       newvel = oldvel + this.lip;
+       makevectors(vectoangles(olddir));
+
+       float time_to_impact = min(vlen(this.enemy.origin - this.origin) / vlen(this.velocity), 1);
+       vector predicted_origin = this.enemy.origin + this.enemy.velocity * time_to_impact;
+
+       traceline(this.origin, this.origin + v_forward * 64 - '0 0 32', MOVE_NORMAL, this);
+       newdir = normalize(predicted_origin - this.origin);
+
+       // vector
+       float height_diff = predicted_origin_z - this.origin_z;
+
+       if (vdist(newdir - v_forward, >, autocvar_g_vehicle_racer_rocket_locked_maxangle)) {
+               // bprint("Target lost!\n");
+               // dprint("OF:", ftos(vlen(newdir - v_forward)), "\n");
+               setthink(this, racer_rocket_groundhugger);
+               return;
+       }
+
+       if (trace_fraction != 1.0 && trace_ent != this.enemy) {
+               newdir_z += 16 * sys_frametime;
+       }
+
+       this.velocity = normalize(olddir + newdir * autocvar_g_vehicle_racer_rocket_turnrate) * newvel;
+       this.velocity_z -= 800 * sys_frametime;
+       this.velocity_z += max(height_diff, autocvar_g_vehicle_racer_rocket_climbspeed) * sys_frametime;
+
+       UpdateCSQCProjectile(this);
 }
 
 void racer_rocket_groundhugger(entity this)
 {
-    vector olddir, newdir;
-    float oldvel, newvel;
-
-    this.nextthink  = time;
-
-    if(IS_DEAD(this.owner) || this.cnt < time)
-    {
-        this.use(this, NULL, NULL);
-        return;
-    }
-
-    if(!this.realowner.vehicle)
-    {
-        UpdateCSQCProjectile(this);
-        return;
-    }
-
-    olddir = normalize(this.velocity);
-    oldvel = vlen(this.velocity);
-    newvel = oldvel + this.lip;
-
-    tracebox(this.origin, this.mins, this.maxs, this.origin + olddir * 64, MOVE_WORLDONLY,this);
-    if(trace_fraction <= 0.5)
-    {
-        // Hitting somethign soon, just speed ahead
-        this.velocity = olddir * newvel;
-        UpdateCSQCProjectile(this);
-        return;
-    }
-
-    traceline(trace_endpos, trace_endpos - '0 0 64', MOVE_NORMAL, this);
-    if(trace_fraction != 1.0)
-    {
-        newdir = normalize(trace_endpos + '0 0 64' - this.origin) * autocvar_g_vehicle_racer_rocket_turnrate;
-        this.velocity = normalize(olddir + newdir) * newvel;
-    }
-    else
-    {
-        this.velocity = olddir * newvel;
-        this.velocity_z -= 1600 * sys_frametime; // 2x grav looks better for this one
-    }
-
-    int cont = pointcontents(this.origin - '0 0 32');
-    if(cont == CONTENT_WATER || cont == CONTENT_LAVA || cont == CONTENT_SLIME)
-        this.velocity_z += 200;
-
-    UpdateCSQCProjectile(this);
-    return;
+       vector olddir, newdir;
+       float oldvel, newvel;
+
+       this.nextthink  = time;
+
+       if (IS_DEAD(this.owner) || this.cnt < time) {
+               this.use(this, NULL, NULL);
+               return;
+       }
+
+       if (!this.realowner.vehicle) {
+               UpdateCSQCProjectile(this);
+               return;
+       }
+
+       olddir = normalize(this.velocity);
+       oldvel = vlen(this.velocity);
+       newvel = oldvel + this.lip;
+
+       tracebox(this.origin, this.mins, this.maxs, this.origin + olddir * 64, MOVE_WORLDONLY, this);
+       if (trace_fraction <= 0.5) {
+               // Hitting somethign soon, just speed ahead
+               this.velocity = olddir * newvel;
+               UpdateCSQCProjectile(this);
+               return;
+       }
+
+       traceline(trace_endpos, trace_endpos - '0 0 64', MOVE_NORMAL, this);
+       if (trace_fraction != 1.0) {
+               newdir = normalize(trace_endpos + '0 0 64' - this.origin) * autocvar_g_vehicle_racer_rocket_turnrate;
+               this.velocity = normalize(olddir + newdir) * newvel;
+       } else {
+               this.velocity = olddir * newvel;
+               this.velocity_z -= 1600 * sys_frametime; // 2x grav looks better for this one
+       }
+
+       int cont = pointcontents(this.origin - '0 0 32');
+       if (cont == CONTENT_WATER || cont == CONTENT_LAVA || cont == CONTENT_SLIME) {
+               this.velocity_z += 200;
+       }
+
+       UpdateCSQCProjectile(this);
 }
 
 #endif
index d7ef38abcad18d731ee7337e5f7a17bcc9f4c7f4..5e1f75578dfb55e2835d15c66e14ee0600cc3ca5 100644 (file)
@@ -61,17 +61,17 @@ void raptor_land(entity this)
        this.angles_x *= 0.95;
        this.angles_z *= 0.95;
 
-       if(hgt < 128 && hgt > 0)
+       if (hgt < 128 && hgt > 0) {
                this.frame = (hgt / 128) * 25;
+       }
 
        this.bomb1.gun1.avelocity_y = 90 + ((this.frame / 25) * 2000);
        this.bomb1.gun2.avelocity_y = -this.bomb1.gun1.avelocity_y;
 
-       if(hgt < 16)
-       {
+       if (hgt < 16) {
                set_movetype(this, MOVETYPE_TOSS);
                setthink(this, vehicles_think);
-               this.frame      = 0;
+               this.frame  = 0;
        }
 
        this.nextthink  = time;
@@ -85,36 +85,30 @@ void raptor_exit(entity this, int eject)
 
        this.tur_head.exteriormodeltoclient = NULL;
 
-       if(!IS_DEAD(this))
-       {
+       if (!IS_DEAD(this)) {
                setthink(this, raptor_land);
                this.nextthink = time;
        }
 
-       if(!player)
+       if (!player) {
                return;
+       }
 
        makevectors(this.angles);
        vector spot;
-       if(eject)
-       {
+       if (eject) {
                spot = this.origin + v_forward * 100 + '0 0 64';
                spot = vehicles_findgoodexit(this, player, spot);
                setorigin(player, spot);
                player.velocity = (v_up + v_forward * 0.25) * 750;
                player.oldvelocity = player.velocity;
-       }
-       else
-       {
-               if(vdist(this.velocity, >, 2 * autocvar_sv_maxairspeed))
-               {
+       } else {
+               if (vdist(this.velocity, >, 2 * autocvar_sv_maxairspeed)) {
                        player.velocity = normalize(this.velocity) * autocvar_sv_maxairspeed * 2;
                        player.velocity_z += 200;
                        spot = this.origin + v_forward * 32 + '0 0 64';
                        spot = vehicles_findgoodexit(this, player, spot);
-               }
-               else
-               {
+               } else {
                        player.velocity = this.velocity * 0.5;
                        player.velocity_z += 10;
                        spot = this.origin - v_forward * 200 + '0 0 64';
@@ -133,8 +127,7 @@ bool raptor_frame(entity this, float dt)
        entity vehic = this.vehicle;
        return = true;
 
-       if(game_stopped)
-       {
+       if (game_stopped) {
                vehic.solid = SOLID_NOT;
                vehic.takedamage = DAMAGE_NO;
                set_movetype(vehic, MOVETYPE_NONE);
@@ -146,66 +139,63 @@ bool raptor_frame(entity this, float dt)
        /*
        ftmp = vlen(vehic.velocity);
        if(ftmp > autocvar_g_vehicle_raptor_speed_forward)
-               ftmp = 1;
+           ftmp = 1;
        else
-               ftmp = ftmp / autocvar_g_vehicle_raptor_speed_forward;
+           ftmp = ftmp / autocvar_g_vehicle_raptor_speed_forward;
        */
 
-       if(vehic.sound_nexttime < time)
-       {
+       if (vehic.sound_nexttime < time) {
                vehic.sound_nexttime = time + 7.955812;
-               //sound (vehic.tur_head, CH_TRIGGER_SINGLE, SND_VEH_RAPTOR_FLY, 1 - ftmp,   ATTEN_NORM );
-               sound (vehic, CH_TRIGGER_SINGLE, SND_VEH_RAPTOR_SPEED, 1, ATTEN_NORM);
+               // sound (vehic.tur_head, CH_TRIGGER_SINGLE, SND_VEH_RAPTOR_FLY, 1 - ftmp,   ATTEN_NORM );
+               sound(vehic, CH_TRIGGER_SINGLE, SND_VEH_RAPTOR_SPEED, 1, ATTEN_NORM);
                vehic.wait = 0;
        }
        /*
        else if(fabs(ftmp - vehic.wait) > 0.2)
        {
-               sound (vehic.tur_head, CH_TRIGGER_SINGLE, SND_Null, 1 - ftmp,   ATTEN_NORM );
-               sound (vehic, CH_TRIGGER_SINGLE, SND_Null, ftmp, ATTEN_NORM);
-               vehic.wait = ftmp;
+           sound (vehic.tur_head, CH_TRIGGER_SINGLE, SND_Null, 1 - ftmp,   ATTEN_NORM );
+           sound (vehic, CH_TRIGGER_SINGLE, SND_Null, ftmp, ATTEN_NORM);
+           vehic.wait = ftmp;
        }
        */
 
-       if(IS_DEAD(vehic))
-       {
+       if (IS_DEAD(vehic)) {
                PHYS_INPUT_BUTTON_ATCK(this) = PHYS_INPUT_BUTTON_ATCK2(this) = false;
                return;
        }
        crosshair_trace(this);
 
-       //if(time - vehic.lastteleporttime < 1)
-       //{
-               if(vehic.angles_z > 50 || vehic.angles_z < -50)
-               {
-                       if(PHYS_INPUT_BUTTON_JUMP(this))
-                       {
-                               PHYS_INPUT_BUTTON_CROUCH(this) = true;
-                               PHYS_INPUT_BUTTON_JUMP(this) = false;
-                       }
+       // if(time - vehic.lastteleporttime < 1)
+       // {
+       if (vehic.angles_z > 50 || vehic.angles_z < -50) {
+               if (PHYS_INPUT_BUTTON_JUMP(this)) {
+                       PHYS_INPUT_BUTTON_CROUCH(this) = true;
+                       PHYS_INPUT_BUTTON_JUMP(this) = false;
                }
-       //}
+       }
+       // }
 
        vector vang;
        vang = vehic.angles;
        vector df = vectoangles(normalize(trace_endpos - vehic.origin + '0 0 32'));
        vang_x *= -1;
        df_x *= -1;
-       if(df_x > 180)  df_x -= 360;
-       if(df_x < -180) df_x += 360;
-       if(df_y > 180)  df_y -= 360;
-       if(df_y < -180) df_y += 360;
+       if (df_x > 180) { df_x -= 360; }
+       if (df_x < -180) { df_x += 360; }
+       if (df_y > 180) { df_y -= 360; }
+       if (df_y < -180) { df_y += 360; }
 
        float ftmp = shortangle_f(this.v_angle_y - vang_y, vang_y);
-       if(ftmp > 180)  ftmp -= 360; if(ftmp < -180) ftmp += 360;
+       if (ftmp > 180) { ftmp -= 360; } if (ftmp < -180) { ftmp += 360; }
        vehic.avelocity_y = bound(-autocvar_g_vehicle_raptor_turnspeed, ftmp + vehic.avelocity_y * 0.9, autocvar_g_vehicle_raptor_turnspeed);
 
        // Pitch
        ftmp = 0;
-       if(CS(this).movement_x > 0 && vang_x < autocvar_g_vehicle_raptor_pitchlimit) ftmp = 5;
-       else if(CS(this).movement_x < 0 && vang_x > -autocvar_g_vehicle_raptor_pitchlimit) ftmp = -20;
+       if (CS(this).movement_x > 0 && vang_x < autocvar_g_vehicle_raptor_pitchlimit) { ftmp = 5; } else if (CS(this).movement_x < 0 && vang_x > -autocvar_g_vehicle_raptor_pitchlimit) {
+               ftmp = -20;
+       }
 
-       df_x = bound(-autocvar_g_vehicle_raptor_pitchlimit, df_x , autocvar_g_vehicle_raptor_pitchlimit);
+       df_x = bound(-autocvar_g_vehicle_raptor_pitchlimit, df_x, autocvar_g_vehicle_raptor_pitchlimit);
        ftmp = vang_x - bound(-autocvar_g_vehicle_raptor_pitchlimit, df_x + ftmp, autocvar_g_vehicle_raptor_pitchlimit);
        vehic.avelocity_x = bound(-autocvar_g_vehicle_raptor_pitchspeed, ftmp + vehic.avelocity_x * 0.9, autocvar_g_vehicle_raptor_pitchspeed);
 
@@ -213,41 +203,42 @@ bool raptor_frame(entity this, float dt)
        vehic.angles_y = anglemods(vehic.angles_y);
        vehic.angles_z = anglemods(vehic.angles_z);
 
-       if(autocvar_g_vehicle_raptor_movestyle == 1)
+       if (autocvar_g_vehicle_raptor_movestyle == 1) {
                makevectors('0 1 0' * vehic.angles_y);
-       else
+       } else {
                makevectors(this.v_angle);
+       }
 
        df = vehic.velocity * -autocvar_g_vehicle_raptor_friction;
 
-       if(CS(this).movement_x != 0)
-       {
-               if(CS(this).movement_x > 0)
+       if (CS(this).movement_x != 0) {
+               if (CS(this).movement_x > 0) {
                        df += v_forward  * autocvar_g_vehicle_raptor_speed_forward;
-               else if(CS(this).movement_x < 0)
+               } else if (CS(this).movement_x < 0) {
                        df -= v_forward  * autocvar_g_vehicle_raptor_speed_forward;
+               }
        }
 
-       if(CS(this).movement_y != 0)
-       {
-               if(CS(this).movement_y < 0)
+       if (CS(this).movement_y != 0) {
+               if (CS(this).movement_y < 0) {
                        df -= v_right * autocvar_g_vehicle_raptor_speed_strafe;
-               else if(CS(this).movement_y > 0)
+               } else if (CS(this).movement_y > 0) {
                        df += v_right * autocvar_g_vehicle_raptor_speed_strafe;
+               }
 
-               vehic.angles_z = bound(-30,vehic.angles_z + (CS(this).movement_y / autocvar_g_vehicle_raptor_speed_strafe),30);
-       }
-       else
-       {
+               vehic.angles_z = bound(-30, vehic.angles_z + (CS(this).movement_y / autocvar_g_vehicle_raptor_speed_strafe), 30);
+       } else {
                vehic.angles_z *= 0.95;
-               if(vehic.angles_z >= -1 && vehic.angles_z <= -1)
+               if (vehic.angles_z >= -1 && vehic.angles_z <= -1) {
                        vehic.angles_z = 0;
+               }
        }
 
-       if(PHYS_INPUT_BUTTON_CROUCH(this))
+       if (PHYS_INPUT_BUTTON_CROUCH(this)) {
                df -=   v_up * autocvar_g_vehicle_raptor_speed_down;
-       else if (PHYS_INPUT_BUTTON_JUMP(this))
+       } else if (PHYS_INPUT_BUTTON_JUMP(this)) {
                df +=  v_up * autocvar_g_vehicle_raptor_speed_up;
+       }
 
        vehic.velocity  += df * dt;
        this.velocity = CS(this).movement  = vehic.velocity;
@@ -258,96 +249,90 @@ bool raptor_frame(entity this, float dt)
 
        vector vf, ad;
        // Target lock & predict
-       if(autocvar_g_vehicle_raptor_cannon_locktarget == 2)
-       {
-               if(vehic.gun1.lock_time < time || IS_DEAD(vehic.gun1.enemy) || STAT(FROZEN, vehic.gun1.enemy))
+       if (autocvar_g_vehicle_raptor_cannon_locktarget == 2) {
+               if (vehic.gun1.lock_time < time || IS_DEAD(vehic.gun1.enemy) || STAT(FROZEN, vehic.gun1.enemy)) {
                        vehic.gun1.enemy = NULL;
+               }
 
-               if(trace_ent)
-               if(trace_ent.move_movetype)
-               if(trace_ent.takedamage)
-               if(!IS_DEAD(trace_ent) && !STAT(FROZEN, trace_ent))
-               {
-                       if(teamplay)
-                       {
-                               if(trace_ent.team != this.team)
-                               {
-                                       vehic.gun1.enemy = trace_ent;
-                                       vehic.gun1.lock_time = time + 5;
+               if (trace_ent) {
+                       if (trace_ent.move_movetype) {
+                               if (trace_ent.takedamage) {
+                                       if (!IS_DEAD(trace_ent) && !STAT(FROZEN, trace_ent)) {
+                                               if (teamplay) {
+                                                       if (trace_ent.team != this.team) {
+                                                               vehic.gun1.enemy = trace_ent;
+                                                               vehic.gun1.lock_time = time + 5;
+                                                       }
+                                               } else {
+                                                       vehic.gun1.enemy = trace_ent;
+                                                       vehic.gun1.lock_time = time + 0.5;
+                                               }
+                                       }
                                }
                        }
-                       else
-                       {
-                               vehic.gun1.enemy = trace_ent;
-                               vehic.gun1.lock_time = time + 0.5;
-                       }
                }
 
-               if(vehic.gun1.enemy)
-               {
+               if (vehic.gun1.enemy) {
                        float distance, impact_time;
 
                        vf = real_origin(vehic.gun1.enemy);
                        UpdateAuxiliaryXhair(this, vf, '1 0 0', 1);
                        vector _vel = vehic.gun1.enemy.velocity;
-                       if(vehic.gun1.enemy.move_movetype == MOVETYPE_WALK)
+                       if (vehic.gun1.enemy.move_movetype == MOVETYPE_WALK) {
                                _vel_z *= 0.1;
+                       }
 
-                       if(autocvar_g_vehicle_raptor_cannon_predicttarget)
-                       {
+                       if (autocvar_g_vehicle_raptor_cannon_predicttarget) {
                                ad = vf;
                                distance = vlen(ad - this.origin);
                                impact_time = distance / autocvar_g_vehicle_raptor_cannon_speed;
                                ad = vf + _vel * impact_time;
                                trace_endpos = ad;
-                       }
-                       else
+                       } else {
                                trace_endpos = vf;
+                       }
                }
-       }
-       else if(autocvar_g_vehicle_raptor_cannon_locktarget == 1)
-       {
-
+       } else if (autocvar_g_vehicle_raptor_cannon_locktarget == 1) {
                vehicles_locktarget(vehic, (1 / autocvar_g_vehicle_raptor_cannon_locking_time) * dt,
-                                                        (1 / autocvar_g_vehicle_raptor_cannon_locking_releasetime) * dt,
-                                                        autocvar_g_vehicle_raptor_cannon_locked_time);
-
-               if(vehic.lock_target != NULL)
-               if(autocvar_g_vehicle_raptor_cannon_predicttarget)
-               if(vehic.lock_strength == 1)
-               {
-                       float i, distance, impact_time;
-
-                       vf = real_origin(vehic.lock_target);
-                       ad = vf;
-                       for(i = 0; i < 4; ++i)
-                       {
-                               distance = vlen(ad - vehic.origin);
-                               impact_time = distance / autocvar_g_vehicle_raptor_cannon_speed;
-                               ad = vf + vehic.lock_target.velocity * impact_time;
+                       (1 / autocvar_g_vehicle_raptor_cannon_locking_releasetime) * dt,
+                       autocvar_g_vehicle_raptor_cannon_locked_time);
+
+               if (vehic.lock_target != NULL) {
+                       if (autocvar_g_vehicle_raptor_cannon_predicttarget) {
+                               if (vehic.lock_strength == 1) {
+                                       float i, distance, impact_time;
+
+                                       vf = real_origin(vehic.lock_target);
+                                       ad = vf;
+                                       for (i = 0; i < 4; ++i) {
+                                               distance = vlen(ad - vehic.origin);
+                                               impact_time = distance / autocvar_g_vehicle_raptor_cannon_speed;
+                                               ad = vf + vehic.lock_target.velocity * impact_time;
+                                       }
+                                       trace_endpos = ad;
+                               }
                        }
-                       trace_endpos = ad;
                }
 
-               if(vehic.lock_target)
-               {
-                       if(vehic.lock_strength == 1)
+               if (vehic.lock_target) {
+                       if (vehic.lock_strength == 1) {
                                UpdateAuxiliaryXhair(this, real_origin(vehic.lock_target), '1 0 0', 1);
-                       else if(vehic.lock_strength > 0.5)
+                       } else if (vehic.lock_strength > 0.5) {
                                UpdateAuxiliaryXhair(this, real_origin(vehic.lock_target), '0 1 0', 1);
-                       else if(vehic.lock_strength < 0.5)
+                       } else if (vehic.lock_strength < 0.5) {
                                UpdateAuxiliaryXhair(this, real_origin(vehic.lock_target), '0 0 1', 1);
+                       }
                }
        }
 
 
        vehicle_aimturret(vehic, trace_endpos, vehic.gun1, "fire1",
-                                                 autocvar_g_vehicle_raptor_cannon_pitchlimit_down * -1,  autocvar_g_vehicle_raptor_cannon_pitchlimit_up,
-                                                 autocvar_g_vehicle_raptor_cannon_turnlimit * -1,  autocvar_g_vehicle_raptor_cannon_turnlimit,  autocvar_g_vehicle_raptor_cannon_turnspeed);
+               autocvar_g_vehicle_raptor_cannon_pitchlimit_down * -1,  autocvar_g_vehicle_raptor_cannon_pitchlimit_up,
+               autocvar_g_vehicle_raptor_cannon_turnlimit * -1,  autocvar_g_vehicle_raptor_cannon_turnlimit,  autocvar_g_vehicle_raptor_cannon_turnspeed);
 
        vehicle_aimturret(vehic, trace_endpos, vehic.gun2, "fire1",
-                                                 autocvar_g_vehicle_raptor_cannon_pitchlimit_down * -1,  autocvar_g_vehicle_raptor_cannon_pitchlimit_up,
-                                                 autocvar_g_vehicle_raptor_cannon_turnlimit * -1,  autocvar_g_vehicle_raptor_cannon_turnlimit,  autocvar_g_vehicle_raptor_cannon_turnspeed);
+               autocvar_g_vehicle_raptor_cannon_pitchlimit_down * -1,  autocvar_g_vehicle_raptor_cannon_pitchlimit_up,
+               autocvar_g_vehicle_raptor_cannon_turnlimit * -1,  autocvar_g_vehicle_raptor_cannon_turnlimit,  autocvar_g_vehicle_raptor_cannon_turnspeed);
 
        /*
        ad = ad * 0.5;
@@ -358,45 +343,47 @@ bool raptor_frame(entity this, float dt)
 
        Weapon wep1 = WEP_RAPTOR;
        .entity weaponentity = weaponentities[0];
-       if(!forbidWeaponUse(this))
-       if(PHYS_INPUT_BUTTON_ATCK(this))
-       if (wep1.wr_checkammo1(wep1, vehic, weaponentity))
-       {
-               wep1.wr_think(wep1, vehic, weaponentity, 1);
+       if (!forbidWeaponUse(this)) {
+               if (PHYS_INPUT_BUTTON_ATCK(this)) {
+                       if (wep1.wr_checkammo1(wep1, vehic, weaponentity)) {
+                               wep1.wr_think(wep1, vehic, weaponentity, 1);
+                       }
+               }
        }
 
-       if(vehic.vehicle_flags  & VHF_SHIELDREGEN)
+       if (vehic.vehicle_flags  & VHF_SHIELDREGEN) {
                vehicles_regen(vehic, vehic.dmg_time, vehicle_shield, autocvar_g_vehicle_raptor_shield, autocvar_g_vehicle_raptor_shield_regen_pause, autocvar_g_vehicle_raptor_shield_regen, dt, true);
+       }
 
-       if(vehic.vehicle_flags  & VHF_HEALTHREGEN)
+       if (vehic.vehicle_flags  & VHF_HEALTHREGEN) {
                vehicles_regen(vehic, vehic.dmg_time, vehicle_health, autocvar_g_vehicle_raptor_health, autocvar_g_vehicle_raptor_health_regen_pause, autocvar_g_vehicle_raptor_health_regen, dt, false);
+       }
 
-       if(vehic.vehicle_flags  & VHF_ENERGYREGEN)
+       if (vehic.vehicle_flags  & VHF_ENERGYREGEN) {
                vehicles_regen(vehic, vehic.cnt, vehicle_energy, autocvar_g_vehicle_raptor_energy, autocvar_g_vehicle_raptor_energy_regen_pause, autocvar_g_vehicle_raptor_energy_regen, dt, false);
+       }
 
        Weapon wep2a = WEP_RAPTOR_BOMB;
-       if(!forbidWeaponUse(this))
-       if(vehic.vehicle_weapon2mode == RSM_BOMB)
-       {
-               if(time > vehic.lip + autocvar_g_vehicle_raptor_bombs_refire)
-               if(PHYS_INPUT_BUTTON_ATCK2(this))
-               {
-                   .entity weaponentity = weaponentities[1];
-                       wep2a.wr_think(wep2a, vehic, weaponentity, 2);
-                       vehic.delay = time + autocvar_g_vehicle_raptor_bombs_refire;
-                       vehic.lip   = time;
-               }
-       }
-       else
-       {
-               Weapon wep2b = WEP_RAPTOR_FLARE;
-               if(time > vehic.lip + autocvar_g_vehicle_raptor_flare_refire)
-               if(PHYS_INPUT_BUTTON_ATCK2(this))
-               {
-                   .entity weaponentity = weaponentities[1];
-                       wep2b.wr_think(wep2b, vehic, weaponentity, 2);
-                       vehic.delay = time + autocvar_g_vehicle_raptor_flare_refire;
-                       vehic.lip   = time;
+       if (!forbidWeaponUse(this)) {
+               if (vehic.vehicle_weapon2mode == RSM_BOMB) {
+                       if (time > vehic.lip + autocvar_g_vehicle_raptor_bombs_refire) {
+                               if (PHYS_INPUT_BUTTON_ATCK2(this)) {
+                                       .entity weaponentity = weaponentities[1];
+                                       wep2a.wr_think(wep2a, vehic, weaponentity, 2);
+                                       vehic.delay = time + autocvar_g_vehicle_raptor_bombs_refire;
+                                       vehic.lip   = time;
+                               }
+                       }
+               } else {
+                       Weapon wep2b = WEP_RAPTOR_FLARE;
+                       if (time > vehic.lip + autocvar_g_vehicle_raptor_flare_refire) {
+                               if (PHYS_INPUT_BUTTON_ATCK2(this)) {
+                                       .entity weaponentity = weaponentities[1];
+                                       wep2b.wr_think(wep2b, vehic, weaponentity, 2);
+                                       vehic.delay = time + autocvar_g_vehicle_raptor_flare_refire;
+                                       vehic.lip   = time;
+                               }
+                       }
                }
        }
 
@@ -404,21 +391,19 @@ bool raptor_frame(entity this, float dt)
        this.vehicle_reload2 = bound(0, vehic.bomb1.alpha * 100, 100);
        this.vehicle_ammo2 = (this.vehicle_reload2 == 100) ? 100 : 0;
 
-       if(vehic.bomb1.cnt < time)
-       {
+       if (vehic.bomb1.cnt < time) {
                bool incoming = false;
                IL_EACH(g_projectiles, it.enemy == vehic,
                {
-                       if(MISSILE_IS_TRACKING(it))
-                       if(vdist(vehic.origin - it.origin, <, 2 * autocvar_g_vehicle_raptor_flare_range))
-                       {
-                               incoming = true;
-                               break;
+                       if (MISSILE_IS_TRACKING(it)) {
+                               if (vdist(vehic.origin - it.origin, <, 2 * autocvar_g_vehicle_raptor_flare_range)) {
+                                       incoming = true;
+                                       break;
+                               }
                        }
                });
 
-               if(incoming)
-               {
+               if (incoming) {
                        msg_entity = this;
                        soundto(MSG_ONE, vehic, CH_PAIN_SINGLE, SND(VEH_MISSILE_ALARM), VOL_BASE, ATTEN_NONE);
                }
@@ -429,8 +414,9 @@ bool raptor_frame(entity this, float dt)
 
        VEHICLE_UPDATE_PLAYER(this, vehic, health, raptor);
        VEHICLE_UPDATE_PLAYER(this, vehic, energy, raptor);
-       if(vehic.vehicle_flags & VHF_HASSHIELD)
+       if (vehic.vehicle_flags & VHF_HASSHIELD) {
                VEHICLE_UPDATE_PLAYER(this, vehic, shield, raptor);
+       }
 
        PHYS_INPUT_BUTTON_ATCK(this) = PHYS_INPUT_BUTTON_ATCK2(this) = PHYS_INPUT_BUTTON_CROUCH(this) = false;
 }
@@ -442,17 +428,15 @@ bool raptor_takeoff(entity this, float dt)
 
        vehic.nextthink = time;
        CSQCMODEL_AUTOUPDATE(vehic);
-       vehic.nextthink = 0; // will this work?
+       vehic.nextthink = 0;                        // will this work?
 
-       if(vehic.sound_nexttime < time)
-       {
-               vehic.sound_nexttime = time + 7.955812; //soundlength("vehicles/raptor_fly.wav");
-               sound (vehic, CH_TRIGGER_SINGLE, SND_VEH_RAPTOR_SPEED, VOL_VEHICLEENGINE, ATTEN_NORM);
+       if (vehic.sound_nexttime < time) {
+               vehic.sound_nexttime = time + 7.955812; // soundlength("vehicles/raptor_fly.wav");
+               sound(vehic, CH_TRIGGER_SINGLE, SND_VEH_RAPTOR_SPEED, VOL_VEHICLEENGINE, ATTEN_NORM);
        }
 
        // Takeoff sequense
-       if(vehic.frame < 25)
-       {
+       if (vehic.frame < 25) {
                vehic.frame += 25 / (autocvar_g_vehicle_raptor_takeofftime / PHYS_INPUT_FRAMETIME);
                vehic.velocity_z = min(vehic.velocity_z * 1.5, 256);
                vehic.bomb1.gun1.avelocity_y = 90 + ((vehic.frame / 25) * 25000);
@@ -461,20 +445,23 @@ bool raptor_takeoff(entity this, float dt)
 
                setorigin(this, vehic.origin + '0 0 32');
                this.oldorigin = this.origin;
-       }
-       else
+       } else {
                this.PlayerPhysplug = raptor_frame;
+       }
 
        this.vehicle_weapon2mode = vehic.vehicle_weapon2mode;
 
-       if(vehic.vehicle_flags  & VHF_SHIELDREGEN)
+       if (vehic.vehicle_flags  & VHF_SHIELDREGEN) {
                vehicles_regen(vehic, vehic.dmg_time, vehicle_shield, autocvar_g_vehicle_raptor_shield, autocvar_g_vehicle_raptor_shield_regen_pause, autocvar_g_vehicle_raptor_shield_regen, dt, true);
+       }
 
-       if(vehic.vehicle_flags  & VHF_HEALTHREGEN)
+       if (vehic.vehicle_flags  & VHF_HEALTHREGEN) {
                vehicles_regen(vehic, vehic.dmg_time, vehicle_health, autocvar_g_vehicle_raptor_health, autocvar_g_vehicle_raptor_health_regen_pause, autocvar_g_vehicle_raptor_health_regen, dt, false);
+       }
 
-       if(vehic.vehicle_flags  & VHF_ENERGYREGEN)
+       if (vehic.vehicle_flags  & VHF_ENERGYREGEN) {
                vehicles_regen(vehic, vehic.cnt, vehicle_energy, autocvar_g_vehicle_raptor_energy, autocvar_g_vehicle_raptor_energy_regen_pause, autocvar_g_vehicle_raptor_energy_regen, dt, false);
+       }
 
 
        vehic.bomb1.alpha = vehic.bomb2.alpha = (time - vehic.lip) / (vehic.delay - vehic.lip);
@@ -483,24 +470,25 @@ bool raptor_takeoff(entity this, float dt)
 
        VEHICLE_UPDATE_PLAYER(this, vehic, health, raptor);
        VEHICLE_UPDATE_PLAYER(this, vehic, energy, raptor);
-       if(vehic.vehicle_flags & VHF_HASSHIELD)
+       if (vehic.vehicle_flags & VHF_HASSHIELD) {
                VEHICLE_UPDATE_PLAYER(this, vehic, shield, raptor);
+       }
 
        PHYS_INPUT_BUTTON_ATCK(this) = PHYS_INPUT_BUTTON_ATCK2(this) = PHYS_INPUT_BUTTON_CROUCH(this) = false;
 }
 
 void raptor_blowup(entity this, entity toucher)
 {
-       this.deadflag   = DEAD_DEAD;
+       this.deadflag   = DEAD_DEAD;
        this.vehicle_exit(this, VHEF_NORMAL);
-       RadiusDamage (this, this.enemy, 250, 15, 250, NULL, NULL, 250, DEATH_VH_RAPT_DEATH.m_id, NULL);
+       RadiusDamage(this, this.enemy, 250, 15, 250, NULL, NULL, 250, DEATH_VH_RAPT_DEATH.m_id, NULL);
 
-       this.alpha                = -1;
+       this.alpha        = -1;
        set_movetype(this, MOVETYPE_NONE);
-       this.effects            = EF_NODRAW;
-       this.colormod      = '0 0 0';
-       this.avelocity    = '0 0 0';
-       this.velocity      = '0 0 0';
+       this.effects        = EF_NODRAW;
+       this.colormod      = '0 0 0';
+       this.avelocity    = '0 0 0';
+       this.velocity      = '0 0 0';
 
        setorigin(this, this.pos1);
        settouch(this, func_null);
@@ -509,15 +497,13 @@ void raptor_blowup(entity this, entity toucher)
 
 void raptor_diethink(entity this)
 {
-       if(time >= this.wait)
-       {
+       if (time >= this.wait) {
                raptor_blowup(this, NULL);
                return;
        }
 
-       if(random() < 0.05)
-       {
-               sound (this, CH_SHOTS, SND_ROCKET_IMPACT, VOL_BASE, ATTEN_NORM);
+       if (random() < 0.05) {
+               sound(this, CH_SHOTS, SND_ROCKET_IMPACT, VOL_BASE, ATTEN_NORM);
                Send_Effect(EFFECT_EXPLOSION_SMALL, randomvec() * 80 + (this.origin + '0 0 100'), '0 0 0', 1);
        }
        this.nextthink = time;
@@ -536,8 +522,7 @@ void raptor_rotor_anglefix(entity this)
 
 bool raptor_impulse(entity this, int _imp)
 {
-       switch(_imp)
-       {
+       switch (_imp) {
                case IMP_weapon_group_1.impulse:
                        this.vehicle.vehicle_weapon2mode = RSM_BOMB;
                        CSQCVehicleSetup(this, 0);
@@ -551,8 +536,9 @@ bool raptor_impulse(entity this, int _imp)
                case IMP_weapon_next_bypriority.impulse:
                case IMP_weapon_next_bygroup.impulse:
                        this.vehicle.vehicle_weapon2mode += 1;
-                       if(this.vehicle.vehicle_weapon2mode > RSM_LAST)
+                       if (this.vehicle.vehicle_weapon2mode > RSM_LAST) {
                                this.vehicle.vehicle_weapon2mode = RSM_FIRST;
+                       }
 
                        CSQCVehicleSetup(this, 0);
                        return true;
@@ -561,190 +547,198 @@ bool raptor_impulse(entity this, int _imp)
                case IMP_weapon_prev_bypriority.impulse:
                case IMP_weapon_prev_bygroup.impulse:
                        this.vehicle.vehicle_weapon2mode -= 1;
-                       if(this.vehicle.vehicle_weapon2mode < RSM_FIRST)
+                       if (this.vehicle.vehicle_weapon2mode < RSM_FIRST) {
                                this.vehicle.vehicle_weapon2mode = RSM_LAST;
+                       }
 
                        CSQCVehicleSetup(this, 0);
                        return true;
 
-               /*
-               case IMP_weapon_drop.impulse: // toss gun, could be used to exit?
-                       break;
-               case IMP_weapon_reload.impulse: // Manual minigun reload?
-                       break;
-               */
+                       /*
+                       case IMP_weapon_drop.impulse: // toss gun, could be used to exit?
+                           break;
+                       case IMP_weapon_reload.impulse: // Manual minigun reload?
+                           break;
+                       */
        }
        return false;
 }
 
 spawnfunc(vehicle_raptor)
 {
-       if(!autocvar_g_vehicle_raptor) { delete(this); return; }
-       if(!vehicle_initialize(this, VEH_RAPTOR, false)) { delete(this); return; }
+       if (!autocvar_g_vehicle_raptor) { delete(this); return; }
+       if (!vehicle_initialize(this, VEH_RAPTOR, false)) { delete(this); return; }
 }
 
 METHOD(Raptor, vr_impact, void(Raptor thisveh, entity instance))
 {
-    if(autocvar_g_vehicle_raptor_bouncepain)
-        vehicles_impact(instance, autocvar_g_vehicle_raptor_bouncepain_x, autocvar_g_vehicle_raptor_bouncepain_y, autocvar_g_vehicle_raptor_bouncepain_z);
+       if (autocvar_g_vehicle_raptor_bouncepain) {
+               vehicles_impact(instance, autocvar_g_vehicle_raptor_bouncepain_x, autocvar_g_vehicle_raptor_bouncepain_y, autocvar_g_vehicle_raptor_bouncepain_z);
+       }
 }
 METHOD(Raptor, vr_enter, void(Raptor thisveh, entity instance))
 {
-    instance.vehicle_weapon2mode = RSM_BOMB;
-    instance.owner.PlayerPhysplug = raptor_takeoff;
-    set_movetype(instance, MOVETYPE_BOUNCEMISSILE);
-    instance.solid               = SOLID_SLIDEBOX;
-    instance.owner.vehicle_health = (instance.vehicle_health / autocvar_g_vehicle_raptor_health) * 100;
-    instance.owner.vehicle_shield = (instance.vehicle_shield / autocvar_g_vehicle_raptor_shield) * 100;
-    instance.velocity = '0 0 1'; // nudge upwards so takeoff sequence can work
-    instance.tur_head.exteriormodeltoclient = instance.owner;
-
-    instance.delay = time + autocvar_g_vehicle_raptor_bombs_refire;
-    instance.lip   = time;
-
-    if(instance.owner.flagcarried)
-       setorigin(instance.owner.flagcarried, '-20 0 96');
-
-    CSQCVehicleSetup(instance.owner, 0);
+       instance.vehicle_weapon2mode = RSM_BOMB;
+       instance.owner.PlayerPhysplug = raptor_takeoff;
+       set_movetype(instance, MOVETYPE_BOUNCEMISSILE);
+       instance.solid        = SOLID_SLIDEBOX;
+       instance.owner.vehicle_health = (instance.vehicle_health / autocvar_g_vehicle_raptor_health) * 100;
+       instance.owner.vehicle_shield = (instance.vehicle_shield / autocvar_g_vehicle_raptor_shield) * 100;
+       instance.velocity = '0 0 1'; // nudge upwards so takeoff sequence can work
+       instance.tur_head.exteriormodeltoclient = instance.owner;
+
+       instance.delay = time + autocvar_g_vehicle_raptor_bombs_refire;
+       instance.lip   = time;
+
+       if (instance.owner.flagcarried) {
+               setorigin(instance.owner.flagcarried, '-20 0 96');
+       }
+
+       CSQCVehicleSetup(instance.owner, 0);
 }
 METHOD(Raptor, vr_death, void(Raptor thisveh, entity instance))
 {
-    instance.health                            = 0;
-    instance.event_damage              = func_null;
-    instance.solid                             = SOLID_CORPSE;
-    instance.takedamage                        = DAMAGE_NO;
-    instance.deadflag                  = DEAD_DYING;
-    set_movetype(instance, MOVETYPE_BOUNCE);
-    setthink(instance, raptor_diethink);
-    instance.nextthink                 = time;
-    instance.wait                              = time + 5 + (random() * 5);
+       instance.health             = 0;
+       instance.event_damage       = func_null;
+       instance.solid              = SOLID_CORPSE;
+       instance.takedamage         = DAMAGE_NO;
+       instance.deadflag           = DEAD_DYING;
+       set_movetype(instance, MOVETYPE_BOUNCE);
+       setthink(instance, raptor_diethink);
+       instance.nextthink          = time;
+       instance.wait               = time + 5 + (random() * 5);
 
-    Send_Effect(EFFECT_EXPLOSION_MEDIUM, findbetterlocation (instance.origin, 16), '0 0 0', 1);
+       Send_Effect(EFFECT_EXPLOSION_MEDIUM, findbetterlocation(instance.origin, 16), '0 0 0', 1);
 
-    instance.velocity_z += 600;
+       instance.velocity_z += 600;
 
-    instance.avelocity = '0 0.5 1' * (random() * 400);
-    instance.avelocity -= '0 0.5 1' * (random() * 400);
+       instance.avelocity = '0 0.5 1' * (random() * 400);
+       instance.avelocity -= '0 0.5 1' * (random() * 400);
 
-    instance.colormod = '-0.5 -0.5 -0.5';
-    settouch(instance, raptor_blowup);
+       instance.colormod = '-0.5 -0.5 -0.5';
+       settouch(instance, raptor_blowup);
 }
 METHOD(Raptor, vr_spawn, void(Raptor thisveh, entity instance))
 {
-    if(!instance.gun1)
-    {
-        entity spinner;
-        vector ofs;
-
-        //FIXME: Camera is in a bad place in HUD model.
-        //setorigin(instance.vehicle_viewport, '25 0 5');
-
-        instance.vehicles_impulse = raptor_impulse;
-
-        instance.frame = 0;
-
-        instance.bomb1 = new(raptor_bomb);
-        instance.bomb2 = new(raptor_bomb);
-        instance.gun1  = new(raptor_gun);
-        instance.gun2  = new(raptor_gun);
-
-        setmodel(instance.bomb1, MDL_VEH_RAPTOR_CB_FOLDED);
-        setmodel(instance.bomb2, MDL_VEH_RAPTOR_CB_FOLDED);
-        setmodel(instance.gun1, MDL_VEH_RAPTOR_GUN);
-        setmodel(instance.gun2, MDL_VEH_RAPTOR_GUN);
-        setmodel(instance.tur_head, MDL_VEH_RAPTOR_TAIL);
-
-        setattachment(instance.bomb1, instance, "bombmount_left");
-        setattachment(instance.bomb2, instance, "bombmount_right");
-        setattachment(instance.tur_head, instance,"root");
-
-        // FIXMODEL Guns mounts to angled bones
-        instance.bomb1.angles = instance.angles;
-        instance.angles = '0 0 0';
-        // This messes up gun-aim, so work arround it.
-        //setattachment(instance.gun1, instance, "gunmount_left");
-        ofs = gettaginfo(instance, gettagindex(instance, "gunmount_left"));
-        ofs -= instance.origin;
-        setattachment(instance.gun1, instance, "");
-        setorigin(instance.gun1, ofs);
-
-        //setattachment(instance.gun2, instance, "gunmount_right");
-        ofs = gettaginfo(instance, gettagindex(instance, "gunmount_right"));
-        ofs -= instance.origin;
-        setattachment(instance.gun2, instance, "");
-        setorigin(instance.gun2, ofs);
-
-        instance.angles = instance.bomb1.angles;
-        instance.bomb1.angles = '0 0 0';
-
-        spinner = new(raptor_spinner);
-        spinner.owner = instance;
-        setmodel(spinner, MDL_VEH_RAPTOR_PROP);
-        setattachment(spinner, instance, "engine_left");
-        set_movetype(spinner, MOVETYPE_NOCLIP);
-        spinner.avelocity = '0 90 0';
-        instance.bomb1.gun1 = spinner;
-
-        spinner = new(raptor_spinner);
-        spinner.owner = instance;
-        setmodel(spinner, MDL_VEH_RAPTOR_PROP);
-        setattachment(spinner, instance, "engine_right");
-        set_movetype(spinner, MOVETYPE_NOCLIP);
-        spinner.avelocity = '0 -90 0';
-        instance.bomb1.gun2 = spinner;
-
-        // Sigh.
-        setthink(instance.bomb1, raptor_rotor_anglefix);
-        instance.bomb1.nextthink = time;
-
-        instance.mass                     = 1 ;
-    }
-
-    instance.frame               = 0;
-    instance.vehicle_health = autocvar_g_vehicle_raptor_health;
-    instance.vehicle_shield = autocvar_g_vehicle_raptor_shield;
-    set_movetype(instance, MOVETYPE_TOSS);
-    instance.solid               = SOLID_SLIDEBOX;
-    instance.vehicle_energy = 1;
-
-    if(!autocvar_g_vehicle_raptor_swim)
-       instance.dphitcontentsmask |= DPCONTENTS_LIQUIDSMASK;
-
-    instance.PlayerPhysplug = raptor_frame;
-
-    instance.bomb1.gun1.avelocity_y = 90;
-    instance.bomb1.gun2.avelocity_y = -90;
-
-    instance.delay = time;
-
-    instance.bouncefactor = autocvar_g_vehicle_raptor_bouncefactor;
-    instance.bouncestop = autocvar_g_vehicle_raptor_bouncestop;
-    instance.damageforcescale = 0.25;
-    instance.vehicle_health = autocvar_g_vehicle_raptor_health;
-    instance.vehicle_shield = autocvar_g_vehicle_raptor_shield;
+       if (!instance.gun1) {
+               entity spinner;
+               vector ofs;
+
+               // FIXME: Camera is in a bad place in HUD model.
+               // setorigin(instance.vehicle_viewport, '25 0 5');
+
+               instance.vehicles_impulse = raptor_impulse;
+
+               instance.frame = 0;
+
+               instance.bomb1 = new(raptor_bomb);
+               instance.bomb2 = new(raptor_bomb);
+               instance.gun1  = new(raptor_gun);
+               instance.gun2  = new(raptor_gun);
+
+               setmodel(instance.bomb1, MDL_VEH_RAPTOR_CB_FOLDED);
+               setmodel(instance.bomb2, MDL_VEH_RAPTOR_CB_FOLDED);
+               setmodel(instance.gun1, MDL_VEH_RAPTOR_GUN);
+               setmodel(instance.gun2, MDL_VEH_RAPTOR_GUN);
+               setmodel(instance.tur_head, MDL_VEH_RAPTOR_TAIL);
+
+               setattachment(instance.bomb1, instance, "bombmount_left");
+               setattachment(instance.bomb2, instance, "bombmount_right");
+               setattachment(instance.tur_head, instance, "root");
+
+               // FIXMODEL Guns mounts to angled bones
+               instance.bomb1.angles = instance.angles;
+               instance.angles = '0 0 0';
+               // This messes up gun-aim, so work arround it.
+               // setattachment(instance.gun1, instance, "gunmount_left");
+               ofs = gettaginfo(instance, gettagindex(instance, "gunmount_left"));
+               ofs -= instance.origin;
+               setattachment(instance.gun1, instance, "");
+               setorigin(instance.gun1, ofs);
+
+               // setattachment(instance.gun2, instance, "gunmount_right");
+               ofs = gettaginfo(instance, gettagindex(instance, "gunmount_right"));
+               ofs -= instance.origin;
+               setattachment(instance.gun2, instance, "");
+               setorigin(instance.gun2, ofs);
+
+               instance.angles = instance.bomb1.angles;
+               instance.bomb1.angles = '0 0 0';
+
+               spinner = new(raptor_spinner);
+               spinner.owner = instance;
+               setmodel(spinner, MDL_VEH_RAPTOR_PROP);
+               setattachment(spinner, instance, "engine_left");
+               set_movetype(spinner, MOVETYPE_NOCLIP);
+               spinner.avelocity = '0 90 0';
+               instance.bomb1.gun1 = spinner;
+
+               spinner = new(raptor_spinner);
+               spinner.owner = instance;
+               setmodel(spinner, MDL_VEH_RAPTOR_PROP);
+               setattachment(spinner, instance, "engine_right");
+               set_movetype(spinner, MOVETYPE_NOCLIP);
+               spinner.avelocity = '0 -90 0';
+               instance.bomb1.gun2 = spinner;
+
+               // Sigh.
+               setthink(instance.bomb1, raptor_rotor_anglefix);
+               instance.bomb1.nextthink = time;
+
+               instance.mass              = 1;
+       }
+
+       instance.frame        = 0;
+       instance.vehicle_health = autocvar_g_vehicle_raptor_health;
+       instance.vehicle_shield = autocvar_g_vehicle_raptor_shield;
+       set_movetype(instance, MOVETYPE_TOSS);
+       instance.solid        = SOLID_SLIDEBOX;
+       instance.vehicle_energy = 1;
+
+       if (!autocvar_g_vehicle_raptor_swim) {
+               instance.dphitcontentsmask |= DPCONTENTS_LIQUIDSMASK;
+       }
+
+       instance.PlayerPhysplug = raptor_frame;
+
+       instance.bomb1.gun1.avelocity_y = 90;
+       instance.bomb1.gun2.avelocity_y = -90;
+
+       instance.delay = time;
+
+       instance.bouncefactor = autocvar_g_vehicle_raptor_bouncefactor;
+       instance.bouncestop = autocvar_g_vehicle_raptor_bouncestop;
+       instance.damageforcescale = 0.25;
+       instance.vehicle_health = autocvar_g_vehicle_raptor_health;
+       instance.vehicle_shield = autocvar_g_vehicle_raptor_shield;
 }
 METHOD(Raptor, vr_setup, void(Raptor thisveh, entity instance))
 {
-    if(autocvar_g_vehicle_raptor_shield)
-        instance.vehicle_flags |= VHF_HASSHIELD;
+       if (autocvar_g_vehicle_raptor_shield) {
+               instance.vehicle_flags |= VHF_HASSHIELD;
+       }
 
-    if(autocvar_g_vehicle_raptor_shield_regen)
-        instance.vehicle_flags |= VHF_SHIELDREGEN;
+       if (autocvar_g_vehicle_raptor_shield_regen) {
+               instance.vehicle_flags |= VHF_SHIELDREGEN;
+       }
 
-    if(autocvar_g_vehicle_raptor_health_regen)
-        instance.vehicle_flags |= VHF_HEALTHREGEN;
+       if (autocvar_g_vehicle_raptor_health_regen) {
+               instance.vehicle_flags |= VHF_HEALTHREGEN;
+       }
 
-    if(autocvar_g_vehicle_raptor_energy_regen)
-        instance.vehicle_flags |= VHF_ENERGYREGEN;
+       if (autocvar_g_vehicle_raptor_energy_regen) {
+               instance.vehicle_flags |= VHF_ENERGYREGEN;
+       }
 
-    instance.vehicle_exit = raptor_exit;
-    instance.respawntime = autocvar_g_vehicle_raptor_respawntime;
-    instance.vehicle_health = autocvar_g_vehicle_raptor_health;
-    instance.vehicle_shield = autocvar_g_vehicle_raptor_shield;
-    instance.max_health = instance.vehicle_health;
+       instance.vehicle_exit = raptor_exit;
+       instance.respawntime = autocvar_g_vehicle_raptor_respawntime;
+       instance.vehicle_health = autocvar_g_vehicle_raptor_health;
+       instance.vehicle_shield = autocvar_g_vehicle_raptor_shield;
+       instance.max_health = instance.vehicle_health;
 
-    if(!autocvar_g_vehicle_raptor_swim)
-       instance.dphitcontentsmask |= DPCONTENTS_LIQUIDSMASK;
+       if (!autocvar_g_vehicle_raptor_swim) {
+               instance.dphitcontentsmask |= DPCONTENTS_LIQUIDSMASK;
+       }
 }
 
 #endif
@@ -752,82 +746,75 @@ METHOD(Raptor, vr_setup, void(Raptor thisveh, entity instance))
 
 METHOD(Raptor, vr_hud, void(Raptor thisveh))
 {
-    Vehicles_drawHUD(VEH_RAPTOR.m_icon, "vehicle_raptor_weapon1", "vehicle_raptor_weapon2",
-                     "vehicle_icon_ammo1", autocvar_hud_progressbar_vehicles_ammo1_color,
-                     "vehicle_icon_ammo2", autocvar_hud_progressbar_vehicles_ammo2_color);
+       Vehicles_drawHUD(VEH_RAPTOR.m_icon, "vehicle_raptor_weapon1", "vehicle_raptor_weapon2",
+               "vehicle_icon_ammo1", autocvar_hud_progressbar_vehicles_ammo1_color,
+               "vehicle_icon_ammo2", autocvar_hud_progressbar_vehicles_ammo2_color);
 }
 METHOD(Raptor, vr_crosshair, void(Raptor thisveh, entity player))
 {
-    string crosshair;
-
-    switch(weapon2mode)
-    {
-        case RSM_FLARE: crosshair = vCROSS_RAIN;  break;
-        case RSM_BOMB:  crosshair = vCROSS_BURST; break;
-        default:        crosshair = vCROSS_BURST;
-    }
-
-    vector tmpSize = '0 0 0';
-    if(weapon2mode != RSM_FLARE && !spectatee_status)
-    {
-        vector where;
-
-        if(!dropmark)
-        {
-            dropmark = spawn();
-            dropmark.owner = player;
-            dropmark.gravity = 1;
-            dropmark.dphitcontentsmask = DPCONTENTS_SOLID;
-            dropmark.solid = SOLID_CORPSE;
+       string crosshair;
+
+       switch (weapon2mode) {
+               case RSM_FLARE: crosshair = vCROSS_RAIN;
+                       break;
+               case RSM_BOMB:  crosshair = vCROSS_BURST;
+                       break;
+               default:        crosshair = vCROSS_BURST;
+       }
+
+       vector tmpSize = '0 0 0';
+       if (weapon2mode != RSM_FLARE && !spectatee_status) {
+               vector where;
+
+               if (!dropmark) {
+                       dropmark = spawn();
+                       dropmark.owner = player;
+                       dropmark.gravity = 1;
+                       dropmark.dphitcontentsmask = DPCONTENTS_SOLID;
+                       dropmark.solid = SOLID_CORPSE;
                        set_movetype(dropmark, MOVETYPE_BOUNCE);
-        }
-
-        float reload2 = STAT(VEHICLESTAT_RELOAD2) * 0.01;
-        if(reload2 == 1)
-        {
-            setorigin(dropmark, pmove_org);
-            dropmark.velocity = pmove_vel;
-            tracetoss(dropmark, player);
-
-            where = project_3d_to_2d(trace_endpos);
-
-            setorigin(dropmark, trace_endpos);
-
-            if (!(where.z < 0 || where.x < 0 || where.y < 0 || where.x > vid_conwidth || where.y > vid_conheight))
-            {
-                tmpSize = draw_getimagesize(vCROSS_DROP) * autocvar_cl_vehicles_crosshair_size;
-                where.x -= tmpSize.x * 0.5;
-                where.y -= tmpSize.y * 0.5;
-                where.z = 0;
-                drawpic(where, vCROSS_DROP, tmpSize, '0 1 0', autocvar_crosshair_alpha * 0.9, DRAWFLAG_ADDITIVE);
-                drawpic(where, vCROSS_DROP, tmpSize, '0 1 0', autocvar_crosshair_alpha * 0.6, DRAWFLAG_NORMAL); // Ensure visibility against bright bg
-            }
-            dropmark.cnt = time + 5;
-        }
-        else
-        {
-            if(dropmark.cnt > time)
-            {
-                where = project_3d_to_2d(dropmark.origin);
-
-                if (!(where.z < 0 || where.x < 0 || where.y < 0 || where.x > vid_conwidth || where.y > vid_conheight))
-                {
-                    tmpSize = draw_getimagesize(vCROSS_DROP) * autocvar_cl_vehicles_crosshair_size * 1.25;
-                    where.x -= tmpSize.x * 0.5;
-                    where.y -= tmpSize.y * 0.5;
-                    where.z = 0;
-                    drawpic(where, vCROSS_DROP, tmpSize, '1 0 0', autocvar_crosshair_alpha * 0.9, DRAWFLAG_ADDITIVE);
-                    drawpic(where, vCROSS_DROP, tmpSize, '1 0 0', autocvar_crosshair_alpha * 0.6, DRAWFLAG_NORMAL); // Ensure visibility against bright bg
-                }
-            }
-        }
-    }
-
-    Vehicles_drawCrosshair(crosshair);
+               }
+
+               float reload2 = STAT(VEHICLESTAT_RELOAD2) * 0.01;
+               if (reload2 == 1) {
+                       setorigin(dropmark, pmove_org);
+                       dropmark.velocity = pmove_vel;
+                       tracetoss(dropmark, player);
+
+                       where = project_3d_to_2d(trace_endpos);
+
+                       setorigin(dropmark, trace_endpos);
+
+                       if (!(where.z < 0 || where.x < 0 || where.y < 0 || where.x > vid_conwidth || where.y > vid_conheight)) {
+                               tmpSize = draw_getimagesize(vCROSS_DROP) * autocvar_cl_vehicles_crosshair_size;
+                               where.x -= tmpSize.x * 0.5;
+                               where.y -= tmpSize.y * 0.5;
+                               where.z = 0;
+                               drawpic(where, vCROSS_DROP, tmpSize, '0 1 0', autocvar_crosshair_alpha * 0.9, DRAWFLAG_ADDITIVE);
+                               drawpic(where, vCROSS_DROP, tmpSize, '0 1 0', autocvar_crosshair_alpha * 0.6, DRAWFLAG_NORMAL); // Ensure visibility against bright bg
+                       }
+                       dropmark.cnt = time + 5;
+               } else {
+                       if (dropmark.cnt > time) {
+                               where = project_3d_to_2d(dropmark.origin);
+
+                               if (!(where.z < 0 || where.x < 0 || where.y < 0 || where.x > vid_conwidth || where.y > vid_conheight)) {
+                                       tmpSize = draw_getimagesize(vCROSS_DROP) * autocvar_cl_vehicles_crosshair_size * 1.25;
+                                       where.x -= tmpSize.x * 0.5;
+                                       where.y -= tmpSize.y * 0.5;
+                                       where.z = 0;
+                                       drawpic(where, vCROSS_DROP, tmpSize, '1 0 0', autocvar_crosshair_alpha * 0.9, DRAWFLAG_ADDITIVE);
+                                       drawpic(where, vCROSS_DROP, tmpSize, '1 0 0', autocvar_crosshair_alpha * 0.6, DRAWFLAG_NORMAL); // Ensure visibility against bright bg
+                               }
+                       }
+               }
+       }
+
+       Vehicles_drawCrosshair(crosshair);
 }
 METHOD(Raptor, vr_setup, void(Raptor thisveh, entity instance))
 {
-    AuxiliaryXhair[1].axh_image = vCROSS_LOCK;
+       AuxiliaryXhair[1].axh_image = vCROSS_LOCK;
 }
 
 #endif
index 954d54aea1e0fbf8f68276a1492952fb64a238ad..07148f727d06f16ba7f6d13c519d9052c5c773e6 100644 (file)
@@ -8,8 +8,8 @@ CLASS(Raptor, Vehicle)
 /* maxs       */ ATTRIB(Raptor, m_maxs, vector, '80 80 70');
 /* view offset*/ ATTRIB(Raptor, view_ofs, vector, '0 0 160');
 /* view dist  */ ATTRIB(Raptor, height, float, 200);
-/* model         */ ATTRIB(Raptor, mdl, string, "models/vehicles/raptor.dpm");
-/* model         */ ATTRIB(Raptor, model, string, "models/vehicles/raptor.dpm");
+/* model         */ATTRIB(Raptor, mdl, string, "models/vehicles/raptor.dpm");
+/* model         */ATTRIB(Raptor, model, string, "models/vehicles/raptor.dpm");
 /* head_model */ ATTRIB(Raptor, head_model, string, "");
 /* hud_model  */ ATTRIB(Raptor, hud_model, string, "models/vehicles/raptor_cockpit.dpm");
 /* tags       */ ATTRIB(Raptor, tag_head, string, "");
index 514d67c0e6cd5b31c0ea805c39d0200c26fd2c2b..242f48fcfc6019434241edfa00c439dd4d89245f 100644 (file)
 
 #ifdef SVQC
 
-METHOD(RaptorCannon, wr_think, void(entity thiswep, entity actor, .entity weaponentity, int fire)) {
-    bool isPlayer = IS_PLAYER(actor);
-    entity player = isPlayer ? actor : actor.owner;
-    entity veh = player.vehicle;
-    // 1 [wait] 1 [wait] 2 [wait] 2 [wait] [wait]
-    float t = autocvar_g_vehicle_raptor_cannon_refire * (1 + veh.misc_bulletcounter == 4);
-    if (fire & 1)
-    if (weapon_prepareattack(thiswep, player, weaponentity, false, t)) {
-        if (isPlayer) W_SetupShot_Dir(player, weaponentity, v_forward, false, 0, SND_Null, CH_WEAPON_B, 0);
-        vector org = w_shotorg;
-        vector dir = w_shotdir;
-        if (veh) {
-            veh.misc_bulletcounter += 1;
-            org = (veh.misc_bulletcounter <= 2) ? gettaginfo(veh.gun1, gettagindex(veh.gun1, "fire1"))
-              : (((veh.misc_bulletcounter == 4) ? veh.misc_bulletcounter = 0 : 0), gettaginfo(veh.gun2, gettagindex(veh.gun2, "fire1")));
-            dir = v_forward;
-            veh.vehicle_energy -= autocvar_g_vehicle_raptor_cannon_cost;
-            actor.cnt = time;
-        }
-        vehicles_projectile(veh, EFFECT_RAPTOR_MUZZLEFLASH.eent_eff_name, SND_LASERGUN_FIRE,
-                               org, normalize(dir + randomvec() * autocvar_g_vehicle_raptor_cannon_spread) * autocvar_g_vehicle_raptor_cannon_speed,
-                               autocvar_g_vehicle_raptor_cannon_damage, autocvar_g_vehicle_raptor_cannon_radius, autocvar_g_vehicle_raptor_cannon_force,  0,
-                               DEATH_VH_RAPT_CANNON.m_id, PROJECTILE_RAPTORCANNON, 0, true, true, player);
-        weapon_thinkf(player, weaponentity, WFRAME_FIRE1, 0, w_ready);
-    }
+METHOD(RaptorCannon, wr_think, void(entity thiswep, entity actor, .entity weaponentity, int fire))
+{
+       bool isPlayer = IS_PLAYER(actor);
+       entity player = isPlayer ? actor : actor.owner;
+       entity veh = player.vehicle;
+       // 1 [wait] 1 [wait] 2 [wait] 2 [wait] [wait]
+       float t = autocvar_g_vehicle_raptor_cannon_refire * (1 + veh.misc_bulletcounter == 4);
+       if (fire & 1) {
+               if (weapon_prepareattack(thiswep, player, weaponentity, false, t)) {
+                       if (isPlayer) { W_SetupShot_Dir(player, weaponentity, v_forward, false, 0, SND_Null, CH_WEAPON_B, 0); }
+                       vector org = w_shotorg;
+                       vector dir = w_shotdir;
+                       if (veh) {
+                               veh.misc_bulletcounter += 1;
+                               org = (veh.misc_bulletcounter <= 2) ? gettaginfo(veh.gun1, gettagindex(veh.gun1, "fire1"))
+                                       : (((veh.misc_bulletcounter == 4) ? veh.misc_bulletcounter = 0 : 0), gettaginfo(veh.gun2, gettagindex(veh.gun2, "fire1")));
+                               dir = v_forward;
+                               veh.vehicle_energy -= autocvar_g_vehicle_raptor_cannon_cost;
+                               actor.cnt = time;
+                       }
+                       vehicles_projectile(veh, EFFECT_RAPTOR_MUZZLEFLASH.eent_eff_name, SND_LASERGUN_FIRE,
+                               org, normalize(dir + randomvec() * autocvar_g_vehicle_raptor_cannon_spread) * autocvar_g_vehicle_raptor_cannon_speed,
+                               autocvar_g_vehicle_raptor_cannon_damage, autocvar_g_vehicle_raptor_cannon_radius, autocvar_g_vehicle_raptor_cannon_force,  0,
+                               DEATH_VH_RAPT_CANNON.m_id, PROJECTILE_RAPTORCANNON, 0, true, true, player);
+                       weapon_thinkf(player, weaponentity, WFRAME_FIRE1, 0, w_ready);
+               }
+       }
 }
-METHOD(RaptorCannon, wr_checkammo1, bool(RacerAttack thiswep, entity actor, .entity weaponentity)) {
-    bool isPlayer = IS_PLAYER(actor);
-    entity player = isPlayer ? actor : actor.owner;
-    entity veh = player.vehicle;
-    return isPlayer || veh.vehicle_energy >= autocvar_g_vehicle_raptor_cannon_cost;
+METHOD(RaptorCannon, wr_checkammo1, bool(RacerAttack thiswep, entity actor, .entity weaponentity))
+{
+       bool isPlayer = IS_PLAYER(actor);
+       entity player = isPlayer ? actor : actor.owner;
+       entity veh = player.vehicle;
+       return isPlayer || veh.vehicle_energy >= autocvar_g_vehicle_raptor_cannon_cost;
 }
 
 
 void raptor_bombdrop(entity this);
-METHOD(RaptorBomb, wr_think, void(entity thiswep, entity actor, .entity weaponentity, int fire)) {
-    bool isPlayer = IS_PLAYER(actor);
-    entity player = isPlayer ? actor : actor.owner;
-    entity veh = player.vehicle;
-    if (fire & 2)
-    if (!isPlayer || weapon_prepareattack(thiswep, player, weaponentity, true, autocvar_g_vehicle_raptor_bombs_refire)) {
-        entity e = (veh) ? veh : player;
-        raptor_bombdrop(e);
-        weapon_thinkf(player, weaponentity, WFRAME_FIRE2, 0, w_ready);
-    }
+METHOD(RaptorBomb, wr_think, void(entity thiswep, entity actor, .entity weaponentity, int fire))
+{
+       bool isPlayer = IS_PLAYER(actor);
+       entity player = isPlayer ? actor : actor.owner;
+       entity veh = player.vehicle;
+       if (fire & 2) {
+               if (!isPlayer || weapon_prepareattack(thiswep, player, weaponentity, true, autocvar_g_vehicle_raptor_bombs_refire)) {
+                       entity e = (veh) ? veh : player;
+                       raptor_bombdrop(e);
+                       weapon_thinkf(player, weaponentity, WFRAME_FIRE2, 0, w_ready);
+               }
+       }
 }
 
 void raptor_flare_think(entity this);
 void raptor_flare_damage(entity this, entity inflictor, entity attacker, float damage, int deathtype, vector hitloc, vector force);
 void raptor_flare_touch(entity this, entity toucher);
 
-METHOD(RaptorFlare, wr_think, void(entity thiswep, entity actor, .entity weaponentity, int fire)) {
-    bool isPlayer = IS_PLAYER(actor);
-    entity player = isPlayer ? actor : actor.owner;
-    entity veh = player.vehicle;
-    if (fire & 2)
-    if (!isPlayer || weapon_prepareattack(thiswep, player, weaponentity, true, autocvar_g_vehicle_raptor_flare_refire)) {
-        for(int i = 0; i < 3; ++i) {
-            entity _flare = spawn();
-            setmodel(_flare, MDL_VEH_RAPTOR_FLARE);
-            _flare.effects = EF_LOWPRECISION | EF_FLAME;
-            _flare.scale = 0.5;
-            setorigin(_flare, actor.origin - '0 0 16');
-            set_movetype(_flare, MOVETYPE_TOSS);
-            _flare.gravity = 0.15;
-            _flare.velocity = 0.25 * actor.velocity + (v_forward + randomvec() * 0.25)* -500;
-            setthink(_flare, raptor_flare_think);
-            _flare.nextthink = time;
-            _flare.owner = veh ? veh : player;
-            _flare.solid = SOLID_CORPSE;
-            _flare.takedamage = DAMAGE_YES;
-            _flare.event_damage = raptor_flare_damage;
-            _flare.health = 20;
-            _flare.tur_impacttime = time + autocvar_g_vehicle_raptor_flare_lifetime;
-            settouch(_flare, raptor_flare_touch);
-        }
-        weapon_thinkf(player, weaponentity, WFRAME_FIRE2, 0, w_ready);
-    }
+METHOD(RaptorFlare, wr_think, void(entity thiswep, entity actor, .entity weaponentity, int fire))
+{
+       bool isPlayer = IS_PLAYER(actor);
+       entity player = isPlayer ? actor : actor.owner;
+       entity veh = player.vehicle;
+       if (fire & 2) {
+               if (!isPlayer || weapon_prepareattack(thiswep, player, weaponentity, true, autocvar_g_vehicle_raptor_flare_refire)) {
+                       for (int i = 0; i < 3; ++i) {
+                               entity _flare = spawn();
+                               setmodel(_flare, MDL_VEH_RAPTOR_FLARE);
+                               _flare.effects = EF_LOWPRECISION | EF_FLAME;
+                               _flare.scale = 0.5;
+                               setorigin(_flare, actor.origin - '0 0 16');
+                               set_movetype(_flare, MOVETYPE_TOSS);
+                               _flare.gravity = 0.15;
+                               _flare.velocity = 0.25 * actor.velocity + (v_forward + randomvec() * 0.25) * -500;
+                               setthink(_flare, raptor_flare_think);
+                               _flare.nextthink = time;
+                               _flare.owner = veh ? veh : player;
+                               _flare.solid = SOLID_CORPSE;
+                               _flare.takedamage = DAMAGE_YES;
+                               _flare.event_damage = raptor_flare_damage;
+                               _flare.health = 20;
+                               _flare.tur_impacttime = time + autocvar_g_vehicle_raptor_flare_lifetime;
+                               settouch(_flare, raptor_flare_touch);
+                       }
+                       weapon_thinkf(player, weaponentity, WFRAME_FIRE2, 0, w_ready);
+               }
+       }
 }
 
 
 void raptor_bomblet_boom(entity this)
 {
-    RadiusDamage (this, this.realowner, autocvar_g_vehicle_raptor_bomblet_damage,
-                                    autocvar_g_vehicle_raptor_bomblet_edgedamage,
-                                    autocvar_g_vehicle_raptor_bomblet_radius, NULL, NULL,
-                                    autocvar_g_vehicle_raptor_bomblet_force, DEATH_VH_RAPT_BOMB.m_id, NULL);
-    delete(this);
+       RadiusDamage(this, this.realowner, autocvar_g_vehicle_raptor_bomblet_damage,
+               autocvar_g_vehicle_raptor_bomblet_edgedamage,
+               autocvar_g_vehicle_raptor_bomblet_radius, NULL, NULL,
+               autocvar_g_vehicle_raptor_bomblet_force, DEATH_VH_RAPT_BOMB.m_id, NULL);
+       delete(this);
 }
 
 void raptor_bomblet_touch(entity this, entity toucher)
 {
-    if(toucher == this.owner)
-        return;
+       if (toucher == this.owner) {
+               return;
+       }
 
-    PROJECTILE_TOUCH(this, toucher);
-    setthink(this, raptor_bomblet_boom);
-    this.nextthink = time + random() * autocvar_g_vehicle_raptor_bomblet_explode_delay;
+       PROJECTILE_TOUCH(this, toucher);
+       setthink(this, raptor_bomblet_boom);
+       this.nextthink = time + random() * autocvar_g_vehicle_raptor_bomblet_explode_delay;
 }
 
 void raptor_bomb_burst(entity this)
 {
-    if(this.cnt > time)
-    if(autocvar_g_vehicle_raptor_bomblet_alt)
-    {
-        this.nextthink = time;
-        traceline(this.origin, this.origin + (normalize(this.velocity) * autocvar_g_vehicle_raptor_bomblet_alt), MOVE_NORMAL, this);
-        if((trace_fraction == 1.0) || (vdist(this.origin - this.owner.origin, <, autocvar_g_vehicle_raptor_bomblet_radius)))
-        {
-            UpdateCSQCProjectile(this);
-            return;
-        }
-    }
-
-    entity bomblet;
-    float i;
-
-    Damage_DamageInfo(this.origin, 0, 0, 0, '0 0 0', DEATH_VH_RAPT_FRAGMENT.m_id, 0, this);
-
-    for(i = 0; i < autocvar_g_vehicle_raptor_bomblets; ++i)
-    {
-        bomblet = spawn();
-        setorigin(bomblet, this.origin);
-
-        set_movetype(bomblet, MOVETYPE_TOSS);
-        settouch(bomblet, raptor_bomblet_touch);
-        setthink(bomblet, raptor_bomblet_boom);
-        bomblet.nextthink   = time + 5;
-        bomblet.owner     = this.owner;
-        bomblet.realowner   = this.realowner;
-        bomblet.velocity       = normalize(normalize(this.velocity) + (randomvec() * autocvar_g_vehicle_raptor_bomblet_spread)) * vlen(this.velocity);
-
-        PROJECTILE_MAKETRIGGER(bomblet);
-        CSQCProjectile(bomblet, true, PROJECTILE_RAPTORBOMBLET, true);
-    }
-
-    delete(this);
+       if (this.cnt > time) {
+               if (autocvar_g_vehicle_raptor_bomblet_alt) {
+                       this.nextthink = time;
+                       traceline(this.origin, this.origin + (normalize(this.velocity) * autocvar_g_vehicle_raptor_bomblet_alt), MOVE_NORMAL, this);
+                       if ((trace_fraction == 1.0) || (vdist(this.origin - this.owner.origin, <, autocvar_g_vehicle_raptor_bomblet_radius))) {
+                               UpdateCSQCProjectile(this);
+                               return;
+                       }
+               }
+       }
+
+       entity bomblet;
+       float i;
+
+       Damage_DamageInfo(this.origin, 0, 0, 0, '0 0 0', DEATH_VH_RAPT_FRAGMENT.m_id, 0, this);
+
+       for (i = 0; i < autocvar_g_vehicle_raptor_bomblets; ++i) {
+               bomblet = spawn();
+               setorigin(bomblet, this.origin);
+
+               set_movetype(bomblet, MOVETYPE_TOSS);
+               settouch(bomblet, raptor_bomblet_touch);
+               setthink(bomblet, raptor_bomblet_boom);
+               bomblet.nextthink   = time + 5;
+               bomblet.owner      = this.owner;
+               bomblet.realowner   = this.realowner;
+               bomblet.velocity    = normalize(normalize(this.velocity) + (randomvec() * autocvar_g_vehicle_raptor_bomblet_spread)) * vlen(this.velocity);
+
+               PROJECTILE_MAKETRIGGER(bomblet);
+               CSQCProjectile(bomblet, true, PROJECTILE_RAPTORBOMBLET, true);
+       }
+
+       delete(this);
 }
 
 void raptor_bomb_touch(entity this, entity toucher)
@@ -148,66 +154,71 @@ void raptor_bomb_touch(entity this, entity toucher)
 
 void raptor_bombdrop(entity this)
 {
-    entity bomb_1, bomb_2;
-
-    bomb_1 = spawn();
-    bomb_2 = spawn();
-
-    vector org = gettaginfo(this, gettagindex(this, "bombmount_left"));
-    setorigin(bomb_1, org);
-    org = gettaginfo(this, gettagindex(this, "bombmount_right"));
-    setorigin(bomb_2, org);
-
-    set_movetype(bomb_1, MOVETYPE_BOUNCE);
-    set_movetype(bomb_2, MOVETYPE_BOUNCE);
-    bomb_1.velocity     = bomb_2.velocity   = this.velocity;
-    settouch(bomb_1, raptor_bomb_touch);
-    settouch(bomb_2, raptor_bomb_touch);
-    setthink(bomb_1, raptor_bomb_burst);
-    setthink(bomb_2, raptor_bomb_burst);
-    bomb_1.cnt           = bomb_2.cnt          = time + 10;
-
-    if(autocvar_g_vehicle_raptor_bomblet_alt)
-        bomb_1.nextthink = bomb_2.nextthink  = time;
-    else
-        bomb_1.nextthink = bomb_2.nextthink  = time + autocvar_g_vehicle_raptor_bomblet_time;
-
-    bomb_1.owner        = bomb_2.owner   = this;
-    bomb_1.realowner = bomb_2.realowner  = this.owner;
-    bomb_1.solid        = bomb_2.solid   = SOLID_BBOX;
-    bomb_1.gravity   = bomb_2.gravity  = 1;
-
-    PROJECTILE_MAKETRIGGER(bomb_1);
-    PROJECTILE_MAKETRIGGER(bomb_2);
-
-    CSQCProjectile(bomb_1, true, PROJECTILE_RAPTORBOMB, true);
-    CSQCProjectile(bomb_2, true, PROJECTILE_RAPTORBOMB, true);
+       entity bomb_1, bomb_2;
+
+       bomb_1 = spawn();
+       bomb_2 = spawn();
+
+       vector org = gettaginfo(this, gettagindex(this, "bombmount_left"));
+       setorigin(bomb_1, org);
+       org = gettaginfo(this, gettagindex(this, "bombmount_right"));
+       setorigin(bomb_2, org);
+
+       set_movetype(bomb_1, MOVETYPE_BOUNCE);
+       set_movetype(bomb_2, MOVETYPE_BOUNCE);
+       bomb_1.velocity  = bomb_2.velocity   = this.velocity;
+       settouch(bomb_1, raptor_bomb_touch);
+       settouch(bomb_2, raptor_bomb_touch);
+       setthink(bomb_1, raptor_bomb_burst);
+       setthink(bomb_2, raptor_bomb_burst);
+       bomb_1.cnt        = bomb_2.cnt      = time + 10;
+
+       if (autocvar_g_vehicle_raptor_bomblet_alt) {
+               bomb_1.nextthink = bomb_2.nextthink  = time;
+       } else {
+               bomb_1.nextthink = bomb_2.nextthink  = time + autocvar_g_vehicle_raptor_bomblet_time;
+       }
+
+       bomb_1.owner     = bomb_2.owner   = this;
+       bomb_1.realowner = bomb_2.realowner  = this.owner;
+       bomb_1.solid     = bomb_2.solid   = SOLID_BBOX;
+       bomb_1.gravity   = bomb_2.gravity   = 1;
+
+       PROJECTILE_MAKETRIGGER(bomb_1);
+       PROJECTILE_MAKETRIGGER(bomb_2);
+
+       CSQCProjectile(bomb_1, true, PROJECTILE_RAPTORBOMB, true);
+       CSQCProjectile(bomb_2, true, PROJECTILE_RAPTORBOMB, true);
 }
 
 void raptor_flare_touch(entity this, entity toucher)
 {
-    delete(this);
+       delete(this);
 }
 
 void raptor_flare_damage(entity this, entity inflictor, entity attacker, float damage, int deathtype, vector hitloc, vector force)
 {
-    this.health -= damage;
-    if(this.health <= 0)
-        delete(this);
+       this.health -= damage;
+       if (this.health <= 0) {
+               delete(this);
+       }
 }
 
 void raptor_flare_think(entity this)
 {
-    this.nextthink = time + 0.1;
-    IL_EACH(g_projectiles, it.enemy == this.owner,
-    {
-        if(vdist(this.origin - it.origin, <, autocvar_g_vehicle_raptor_flare_range))
-        if(random() > autocvar_g_vehicle_raptor_flare_chase)
-            it.enemy = this;
-    });
-
-    if(this.tur_impacttime < time)
-        delete(this);
+       this.nextthink = time + 0.1;
+       IL_EACH(g_projectiles, it.enemy == this.owner,
+       {
+               if (vdist(this.origin - it.origin, <, autocvar_g_vehicle_raptor_flare_range)) {
+                       if (random() > autocvar_g_vehicle_raptor_flare_chase) {
+                               it.enemy = this;
+                       }
+               }
+       });
+
+       if (this.tur_impacttime < time) {
+               delete(this);
+       }
 }
 
 #endif
@@ -216,44 +227,47 @@ void raptor_flare_think(entity this)
 
 void RaptorCBShellfragDraw(entity this)
 {
-    if(wasfreed(this))
-        return;
+       if (wasfreed(this)) {
+               return;
+       }
 
-    Movetype_Physics_MatchTicrate(this, autocvar_cl_gibs_ticrate, autocvar_cl_gibs_sloppy);
-    this.avelocity += randomvec() * 15;
-    this.renderflags = 0;
+       Movetype_Physics_MatchTicrate(this, autocvar_cl_gibs_ticrate, autocvar_cl_gibs_sloppy);
+       this.avelocity += randomvec() * 15;
+       this.renderflags = 0;
 
-    if(this.cnt < time)
-        this.alpha = bound(0, this.nextthink - time, 1);
+       if (this.cnt < time) {
+               this.alpha = bound(0, this.nextthink - time, 1);
+       }
 
-    if(this.alpha < ALPHA_MIN_VISIBLE)
-        delete(this);
+       if (this.alpha < ALPHA_MIN_VISIBLE) {
+               delete(this);
+       }
 }
 
 void RaptorCBShellfragToss(vector _org, vector _vel, vector _ang)
 {
-    entity sfrag = spawn();
-    setmodel(sfrag, MDL_VEH_RAPTOR_CB_FRAGMENT);
-    setorigin(sfrag, _org);
+       entity sfrag = spawn();
+       setmodel(sfrag, MDL_VEH_RAPTOR_CB_FRAGMENT);
+       setorigin(sfrag, _org);
 
-    set_movetype(sfrag, MOVETYPE_BOUNCE);
-    sfrag.gravity = 0.15;
-    sfrag.solid = SOLID_CORPSE;
+       set_movetype(sfrag, MOVETYPE_BOUNCE);
+       sfrag.gravity = 0.15;
+       sfrag.solid = SOLID_CORPSE;
 
-    sfrag.draw = RaptorCBShellfragDraw;
-    IL_PUSH(g_drawables, sfrag);
+       sfrag.draw = RaptorCBShellfragDraw;
+       IL_PUSH(g_drawables, sfrag);
 
-    sfrag.velocity = _vel;
-    sfrag.avelocity = prandomvec() * vlen(sfrag.velocity);
-    sfrag.angles = _ang;
+       sfrag.velocity = _vel;
+       sfrag.avelocity = prandomvec() * vlen(sfrag.velocity);
+       sfrag.angles = _ang;
 
-    sfrag.move_time = time;
-    sfrag.damageforcescale = 4;
+       sfrag.move_time = time;
+       sfrag.damageforcescale = 4;
 
-    sfrag.nextthink = time + 3;
-    sfrag.cnt = time + 2;
-    sfrag.alpha = 1;
-    sfrag.drawmask = MASK_NORMAL;
+       sfrag.nextthink = time + 3;
+       sfrag.cnt = time + 2;
+       sfrag.alpha = 1;
+       sfrag.drawmask = MASK_NORMAL;
 }
 
 #endif
index 57486a2f38bf22987abcdb403db3a68086c51214..dbf9f9236b76bbe346d586395667efbc7d1a30d9 100644 (file)
@@ -46,8 +46,7 @@ bool spiderbot_frame(entity this, float dt)
        entity vehic = this.vehicle;
        return = true;
 
-       if(game_stopped)
-       {
+       if (game_stopped) {
                vehic.solid = SOLID_NOT;
                vehic.takedamage = DAMAGE_NO;
                set_movetype(vehic, MOVETYPE_NONE);
@@ -58,8 +57,7 @@ bool spiderbot_frame(entity this, float dt)
 
        PHYS_INPUT_BUTTON_ZOOM(this) = false;
        PHYS_INPUT_BUTTON_CROUCH(this) = false;
-       for(int slot = 0; slot < MAX_WEAPONSLOTS; ++slot)
-       {
+       for (int slot = 0; slot < MAX_WEAPONSLOTS; ++slot) {
                .entity weaponentity = weaponentities[slot];
                this.(weaponentity).m_switchweapon = WEP_Null;
        }
@@ -91,7 +89,7 @@ bool spiderbot_frame(entity this, float dt)
        ad = vectoangles(normalize(trace_endpos - ad));
        ad = AnglesTransform_ToAngles(AnglesTransform_LeftDivide(AnglesTransform_FromAngles(vehic.angles), AnglesTransform_FromAngles(ad))) - vehic.tur_head.angles;
        ad = AnglesTransform_Normalize(ad, true);
-       //UpdateAuxiliaryXhair(this, trace_endpos, ('1 0 0' * this.vehicle_reload2) + ('0 1 0' * (1 - this.vehicle_reload2)), 2);
+       // UpdateAuxiliaryXhair(this, trace_endpos, ('1 0 0' * this.vehicle_reload2) + ('0 1 0' * (1 - this.vehicle_reload2)), 2);
 
        // Rotate head
        float ftmp = autocvar_g_vehicle_spiderbot_head_turnspeed * PHYS_INPUT_FRAMETIME;
@@ -103,140 +101,131 @@ bool spiderbot_frame(entity this, float dt)
        vehic.tur_head.angles_x = bound(autocvar_g_vehicle_spiderbot_head_pitchlimit_down, vehic.tur_head.angles_x + ad_x, autocvar_g_vehicle_spiderbot_head_pitchlimit_up);
 
 
-       //fixedmakevectors(vehic.angles);
+       // fixedmakevectors(vehic.angles);
        makevectors(vehic.angles + '-2 0 0' * vehic.angles_x);
 
        movelib_groundalign4point(vehic, autocvar_g_vehicle_spiderbot_springlength, autocvar_g_vehicle_spiderbot_springup, autocvar_g_vehicle_spiderbot_springblend, autocvar_g_vehicle_spiderbot_tiltlimit);
 
-       if(IS_ONGROUND(vehic))
+       if (IS_ONGROUND(vehic)) {
                vehic.jump_delay = time; // reset now so movement can begin
-
-       //if(IS_ONGROUND(vehic))
+       }
+       // if(IS_ONGROUND(vehic))
        {
-               if(IS_ONGROUND(vehic))
-               if(vehic.frame == 4 && vehic.tur_head.wait != 0)
-               {
-                       sound (vehic, CH_TRIGGER_SINGLE, SND_VEH_SPIDERBOT_LAND, VOL_VEHICLEENGINE, ATTEN_NORM);
-                       vehic.frame = 5;
+               if (IS_ONGROUND(vehic)) {
+                       if (vehic.frame == 4 && vehic.tur_head.wait != 0) {
+                               sound(vehic, CH_TRIGGER_SINGLE, SND_VEH_SPIDERBOT_LAND, VOL_VEHICLEENGINE, ATTEN_NORM);
+                               vehic.frame = 5;
+                       }
                }
 
-               if (!PHYS_INPUT_BUTTON_JUMP(this))
+               if (!PHYS_INPUT_BUTTON_JUMP(this)) {
                        vehic.button2 = false;
+               }
 
-               if((IS_ONGROUND(vehic)) && PHYS_INPUT_BUTTON_JUMP(this) && !vehic.button2 && vehic.tur_head.wait < time)
-               {
-                       sound (vehic, CH_TRIGGER_SINGLE, SND_VEH_SPIDERBOT_JUMP, VOL_VEHICLEENGINE, ATTEN_NORM);
-                       //dprint("spiderbot_jump:", ftos(soundlength("vehicles/spiderbot_jump.wav")), "\n");
+               if ((IS_ONGROUND(vehic)) && PHYS_INPUT_BUTTON_JUMP(this) && !vehic.button2 && vehic.tur_head.wait < time) {
+                       sound(vehic, CH_TRIGGER_SINGLE, SND_VEH_SPIDERBOT_JUMP, VOL_VEHICLEENGINE, ATTEN_NORM);
+                       // dprint("spiderbot_jump:", ftos(soundlength("vehicles/spiderbot_jump.wav")), "\n");
                        vehic.delay = 0;
 
                        vehic.tur_head.wait = time + 2;
                        vehic.jump_delay = time + 2;
                        vehic.button2 = true; // set spider's jump
-                       //PHYS_INPUT_BUTTON_JUMP(this) = false;
+                       // PHYS_INPUT_BUTTON_JUMP(this) = false;
 
                        vector movefix = '0 0 0';
-                       if(CS(this).movement_x > 0) movefix_x = 1;
-                       if(CS(this).movement_x < 0) movefix_x = -1;
-                       if(CS(this).movement_y > 0) movefix_y = 1;
-                       if(CS(this).movement_y < 0) movefix_y = -1;
+                       if (CS(this).movement_x > 0) { movefix_x = 1; }
+                       if (CS(this).movement_x < 0) { movefix_x = -1; }
+                       if (CS(this).movement_y > 0) { movefix_y = 1; }
+                       if (CS(this).movement_y < 0) { movefix_y = -1; }
 
                        vector rt = movefix_y * v_right;
                        vector sd = movefix_x * v_forward;
-                       if(movefix_y == 0 && movefix_x == 0)
+                       if (movefix_y == 0 && movefix_x == 0) {
                                sd = v_forward; // always do forward
-
+                       }
                        UNSET_ONGROUND(vehic);
 
                        vehic.velocity = sd * 700 + rt * 600 + v_up * 600;
                        vehic.frame = 4;
-               }
-               else if(time >= vehic.jump_delay)
-               {
-                       if(!CS(this).movement)
-                       {
-                               if(IS_ONGROUND(vehic))
-                               {
-                                       if(vehic.sound_nexttime < time || vehic.delay != 3)
-                                       {
+               } else if (time >= vehic.jump_delay) {
+                       if (!CS(this).movement) {
+                               if (IS_ONGROUND(vehic)) {
+                                       if (vehic.sound_nexttime < time || vehic.delay != 3) {
                                                vehic.delay = 3;
-                                               vehic.sound_nexttime = time + 6.486500; //soundlength("vehicles/spiderbot_idle.wav");
-                                               //dprint("spiderbot_idle:", ftos(soundlength("vehicles/spiderbot_idle.wav")), "\n");
-                                               sound (vehic, CH_TRIGGER_SINGLE, SND_VEH_SPIDERBOT_IDLE, VOL_VEHICLEENGINE, ATTEN_NORM);
+                                               vehic.sound_nexttime = time + 6.486500; // soundlength("vehicles/spiderbot_idle.wav");
+                                               // dprint("spiderbot_idle:", ftos(soundlength("vehicles/spiderbot_idle.wav")), "\n");
+                                               sound(vehic, CH_TRIGGER_SINGLE, SND_VEH_SPIDERBOT_IDLE, VOL_VEHICLEENGINE, ATTEN_NORM);
                                        }
                                        movelib_brake_simple(vehic, autocvar_g_vehicle_spiderbot_speed_stop);
                                        vehic.frame = 5;
                                }
-                       }
-                       else
-                       {
+                       } else {
                                // Turn Body
-                               if(CS(this).movement_x == 0 && CS(this).movement_y != 0)
+                               if (CS(this).movement_x == 0 && CS(this).movement_y != 0) {
                                        ftmp = autocvar_g_vehicle_spiderbot_turnspeed_strafe * PHYS_INPUT_FRAMETIME;
-                               else
+                               } else {
                                        ftmp = autocvar_g_vehicle_spiderbot_turnspeed * PHYS_INPUT_FRAMETIME;
+                               }
 
                                ftmp = bound(-ftmp, vehic.tur_head.angles_y, ftmp);
                                vehic.angles_y = anglemods(vehic.angles_y + ftmp);
                                vehic.tur_head.angles_y -= ftmp;
 
-                               if(CS(this).movement_x != 0)
-                               {
-                                       if(CS(this).movement_x > 0)
-                                       {
+                               if (CS(this).movement_x != 0) {
+                                       if (CS(this).movement_x > 0) {
                                                CS(this).movement_x = 1;
-                                               if(IS_ONGROUND(vehic))
+                                               if (IS_ONGROUND(vehic)) {
                                                        vehic.frame = 0;
-                                       }
-                                       else if(CS(this).movement_x < 0)
-                                       {
+                                               }
+                                       } else if (CS(this).movement_x < 0) {
                                                CS(this).movement_x = -1;
-                                               if(IS_ONGROUND(vehic))
+                                               if (IS_ONGROUND(vehic)) {
                                                        vehic.frame = 1;
+                                               }
                                        }
                                        CS(this).movement_y = 0;
                                        float oldvelz = vehic.velocity_z;
-                                       movelib_move_simple(vehic, normalize(v_forward * CS(this).movement_x),((PHYS_INPUT_BUTTON_JUMP(this)) ? autocvar_g_vehicle_spiderbot_speed_run : autocvar_g_vehicle_spiderbot_speed_walk),autocvar_g_vehicle_spiderbot_movement_inertia);
+                                       movelib_move_simple(vehic, normalize(v_forward * CS(this).movement_x), ((PHYS_INPUT_BUTTON_JUMP(this)) ? autocvar_g_vehicle_spiderbot_speed_run : autocvar_g_vehicle_spiderbot_speed_walk), autocvar_g_vehicle_spiderbot_movement_inertia);
                                        vehic.velocity_z = oldvelz;
                                        float g = ((autocvar_sv_gameplayfix_gravityunaffectedbyticrate) ? 0.5 : 1);
-                                       if(vehic.velocity_z <= 20) // not while jumping
+                                       if (vehic.velocity_z <= 20) { // not while jumping
                                                vehic.velocity_z -= g * PHYS_INPUT_FRAMETIME * autocvar_sv_gravity;
-                                       if(IS_ONGROUND(vehic))
-                                       if(vehic.sound_nexttime < time || vehic.delay != 1)
-                                       {
-                                               vehic.delay = 1;
-                                               vehic.sound_nexttime = time + 6.486500; //soundlength("vehicles/spiderbot_walk.wav");
-                                               sound (vehic, CH_TRIGGER_SINGLE, SND_VEH_SPIDERBOT_WALK, VOL_VEHICLEENGINE, ATTEN_NORM);
-                                               //dprint("spiderbot_walk:", ftos(soundlength("vehicles/spiderbot_walk.wav")), "\n");
                                        }
-                               }
-                               else if(CS(this).movement_y != 0)
-                               {
-                                       if(CS(this).movement_y < 0)
-                                       {
+                                       if (IS_ONGROUND(vehic)) {
+                                               if (vehic.sound_nexttime < time || vehic.delay != 1) {
+                                                       vehic.delay = 1;
+                                                       vehic.sound_nexttime = time + 6.486500; // soundlength("vehicles/spiderbot_walk.wav");
+                                                       sound(vehic, CH_TRIGGER_SINGLE, SND_VEH_SPIDERBOT_WALK, VOL_VEHICLEENGINE, ATTEN_NORM);
+                                                       // dprint("spiderbot_walk:", ftos(soundlength("vehicles/spiderbot_walk.wav")), "\n");
+                                               }
+                                       }
+                               } else if (CS(this).movement_y != 0) {
+                                       if (CS(this).movement_y < 0) {
                                                CS(this).movement_y = -1;
-                                               if(IS_ONGROUND(vehic))
+                                               if (IS_ONGROUND(vehic)) {
                                                        vehic.frame = 2;
-                                       }
-                                       else if(CS(this).movement_y > 0)
-                                       {
+                                               }
+                                       } else if (CS(this).movement_y > 0) {
                                                CS(this).movement_y = 1;
-                                               if(IS_ONGROUND(vehic))
+                                               if (IS_ONGROUND(vehic)) {
                                                        vehic.frame = 3;
+                                               }
                                        }
 
                                        float oldvelz = vehic.velocity_z;
-                                       movelib_move_simple(vehic, normalize(v_right * CS(this).movement_y),autocvar_g_vehicle_spiderbot_speed_strafe,autocvar_g_vehicle_spiderbot_movement_inertia);
+                                       movelib_move_simple(vehic, normalize(v_right * CS(this).movement_y), autocvar_g_vehicle_spiderbot_speed_strafe, autocvar_g_vehicle_spiderbot_movement_inertia);
                                        vehic.velocity_z = oldvelz;
                                        float g = ((autocvar_sv_gameplayfix_gravityunaffectedbyticrate) ? 0.5 : 1);
-                                       if(vehic.velocity_z <= 20) // not while jumping
+                                       if (vehic.velocity_z <= 20) { // not while jumping
                                                vehic.velocity_z -= g * PHYS_INPUT_FRAMETIME * autocvar_sv_gravity;
-                                       if(IS_ONGROUND(vehic))
-                                       if(vehic.sound_nexttime < time || vehic.delay != 2)
-                                       {
-                                               vehic.delay = 2;
-                                               vehic.sound_nexttime = time + 6.486500; //soundlength("vehicles/spiderbot_strafe.wav");
-                                               sound (vehic, CH_TRIGGER_SINGLE, SND_VEH_SPIDERBOT_STRAFE, VOL_VEHICLEENGINE, ATTEN_NORM);
-                                               //dprint("spiderbot_strafe:", ftos(soundlength("vehicles/spiderbot_strafe.wav")), "\n");
+                                       }
+                                       if (IS_ONGROUND(vehic)) {
+                                               if (vehic.sound_nexttime < time || vehic.delay != 2) {
+                                                       vehic.delay = 2;
+                                                       vehic.sound_nexttime = time + 6.486500; // soundlength("vehicles/spiderbot_strafe.wav");
+                                                       sound(vehic, CH_TRIGGER_SINGLE, SND_VEH_SPIDERBOT_STRAFE, VOL_VEHICLEENGINE, ATTEN_NORM);
+                                                       // dprint("spiderbot_strafe:", ftos(soundlength("vehicles/spiderbot_strafe.wav")), "\n");
+                                               }
                                        }
                                }
                        }
@@ -246,64 +235,65 @@ bool spiderbot_frame(entity this, float dt)
        vehic.angles_x = bound(-autocvar_g_vehicle_spiderbot_tiltlimit, vehic.angles_x, autocvar_g_vehicle_spiderbot_tiltlimit);
        vehic.angles_z = bound(-autocvar_g_vehicle_spiderbot_tiltlimit, vehic.angles_z, autocvar_g_vehicle_spiderbot_tiltlimit);
 
-       if(!forbidWeaponUse(this))
-       if(PHYS_INPUT_BUTTON_ATCK(this))
-       {
-               vehic.cnt = time;
-               if(vehic.vehicle_ammo1 >= autocvar_g_vehicle_spiderbot_minigun_ammo_cost && vehic.tur_head.attack_finished_single[0] <= time)
-               {
-                       entity gun;
-                       vector v;
-                       vehic.misc_bulletcounter += 1;
-
-                       gun = (vehic.misc_bulletcounter % 2) ? vehic.gun1 : vehic.gun2;
-
-                       v = gettaginfo(gun, gettagindex(gun, "barrels"));
-                       v_forward = normalize(v_forward);
-                       v += v_forward * 50;
-
-                       .entity weaponentity = weaponentities[0]; // TODO: unhardcode
-                       fireBullet(this, weaponentity, v, v_forward, autocvar_g_vehicle_spiderbot_minigun_spread, autocvar_g_vehicle_spiderbot_minigun_solidpenetration,
-                               autocvar_g_vehicle_spiderbot_minigun_damage, autocvar_g_vehicle_spiderbot_minigun_force, DEATH_VH_SPID_MINIGUN.m_id, 0);
-
-                       sound (gun, CH_WEAPON_A, SND_UZI_FIRE, VOL_BASE, ATTEN_NORM);
-                       //trailparticles(this, _particleeffectnum("spiderbot_minigun_trail"), v, trace_endpos);
-                       Send_Effect(EFFECT_SPIDERBOT_MINIGUN_MUZZLEFLASH, v, v_forward * 2500, 1);
-
-                       vehic.vehicle_ammo1 -= autocvar_g_vehicle_spiderbot_minigun_ammo_cost;
-                       vehic.tur_head.attack_finished_single[0] = time + autocvar_g_vehicle_spiderbot_minigun_refire;
-                       this.vehicle_ammo1 = (vehic.vehicle_ammo1 / autocvar_g_vehicle_spiderbot_minigun_ammo_max) * 100;
-                       vehic.gun1.angles_z += 45;
-                       vehic.gun2.angles_z -= 45;
-                       if(vehic.gun1.angles_z >= 360)
-                       {
-                               vehic.gun1.angles_z = 0;
-                               vehic.gun2.angles_z = 0;
+       if (!forbidWeaponUse(this)) {
+               if (PHYS_INPUT_BUTTON_ATCK(this)) {
+                       vehic.cnt = time;
+                       if (vehic.vehicle_ammo1 >= autocvar_g_vehicle_spiderbot_minigun_ammo_cost && vehic.tur_head.attack_finished_single[0] <= time) {
+                               entity gun;
+                               vector v;
+                               vehic.misc_bulletcounter += 1;
+
+                               gun = (vehic.misc_bulletcounter % 2) ? vehic.gun1 : vehic.gun2;
+
+                               v = gettaginfo(gun, gettagindex(gun, "barrels"));
+                               v_forward = normalize(v_forward);
+                               v += v_forward * 50;
+
+                               .entity weaponentity = weaponentities[0]; // TODO: unhardcode
+                               fireBullet(this, weaponentity, v, v_forward, autocvar_g_vehicle_spiderbot_minigun_spread, autocvar_g_vehicle_spiderbot_minigun_solidpenetration,
+                                       autocvar_g_vehicle_spiderbot_minigun_damage, autocvar_g_vehicle_spiderbot_minigun_force, DEATH_VH_SPID_MINIGUN.m_id, 0);
+
+                               sound(gun, CH_WEAPON_A, SND_UZI_FIRE, VOL_BASE, ATTEN_NORM);
+                               // trailparticles(this, _particleeffectnum("spiderbot_minigun_trail"), v, trace_endpos);
+                               Send_Effect(EFFECT_SPIDERBOT_MINIGUN_MUZZLEFLASH, v, v_forward * 2500, 1);
+
+                               vehic.vehicle_ammo1 -= autocvar_g_vehicle_spiderbot_minigun_ammo_cost;
+                               vehic.tur_head.attack_finished_single[0] = time + autocvar_g_vehicle_spiderbot_minigun_refire;
+                               this.vehicle_ammo1 = (vehic.vehicle_ammo1 / autocvar_g_vehicle_spiderbot_minigun_ammo_max) * 100;
+                               vehic.gun1.angles_z += 45;
+                               vehic.gun2.angles_z -= 45;
+                               if (vehic.gun1.angles_z >= 360) {
+                                       vehic.gun1.angles_z = 0;
+                                       vehic.gun2.angles_z = 0;
+                               }
                        }
+               } else {
+                       vehicles_regen(vehic, vehic.cnt, vehicle_ammo1, autocvar_g_vehicle_spiderbot_minigun_ammo_max,
+                               autocvar_g_vehicle_spiderbot_minigun_ammo_regen_pause,
+                               autocvar_g_vehicle_spiderbot_minigun_ammo_regen, dt, false);
                }
        }
-       else
-               vehicles_regen(vehic, vehic.cnt, vehicle_ammo1, autocvar_g_vehicle_spiderbot_minigun_ammo_max,
-                                                                                  autocvar_g_vehicle_spiderbot_minigun_ammo_regen_pause,
-                                                                                  autocvar_g_vehicle_spiderbot_minigun_ammo_regen, dt, false);
 
 
        spiderbot_rocket_do(vehic);
 
-       if(vehic.vehicle_flags  & VHF_SHIELDREGEN)
+       if (vehic.vehicle_flags  & VHF_SHIELDREGEN) {
                vehicles_regen(vehic, vehic.dmg_time, vehicle_shield, autocvar_g_vehicle_spiderbot_shield, autocvar_g_vehicle_spiderbot_shield_regen_pause, autocvar_g_vehicle_spiderbot_shield_regen, dt, true);
+       }
 
-       if(vehic.vehicle_flags  & VHF_HEALTHREGEN)
+       if (vehic.vehicle_flags  & VHF_HEALTHREGEN) {
                vehicles_regen(vehic, vehic.dmg_time, vehicle_health, autocvar_g_vehicle_spiderbot_health, autocvar_g_vehicle_spiderbot_health_regen_pause, autocvar_g_vehicle_spiderbot_health_regen, dt, false);
+       }
 
        PHYS_INPUT_BUTTON_ATCK(this) = PHYS_INPUT_BUTTON_ATCK2(this) = false;
-       //this.vehicle_ammo2 = vehic.tur_head.frame;
+       // this.vehicle_ammo2 = vehic.tur_head.frame;
        this.vehicle_ammo2 = (9 - vehic.tur_head.frame) / 8 * 100; // Percentage, like ammo1
 
-       if(vehic.gun2.cnt <= time)
+       if (vehic.gun2.cnt <= time) {
                this.vehicle_reload2 = 100;
-       else
+       } else {
                this.vehicle_reload2 = 100 - ((vehic.gun2.cnt - time) / vehic.attack_finished_single[0]) * 100;
+       }
 
        setorigin(this, vehic.origin + '0 0 1' * vehic.maxs_z);
        this.oldorigin = this.origin; // negate fall damage
@@ -311,8 +301,9 @@ bool spiderbot_frame(entity this, float dt)
 
        VEHICLE_UPDATE_PLAYER(this, vehic, health, spiderbot);
 
-       if(vehic.vehicle_flags & VHF_HASSHIELD)
+       if (vehic.vehicle_flags & VHF_HASSHIELD) {
                VEHICLE_UPDATE_PLAYER(this, vehic, shield, spiderbot);
+       }
 }
 
 void spiderbot_exit(entity this, int eject)
@@ -330,33 +321,26 @@ void spiderbot_exit(entity this, int eject)
        this.frame = 5;
        set_movetype(this, MOVETYPE_WALK);
 
-       if(!player)
-       {
+       if (!player) {
                this.owner = NULL; // reset owner anyway?
                return;
        }
 
        makevectors(this.angles);
        vector spot;
-       if(eject)
-       {
+       if (eject) {
                spot = this.origin + v_forward * 100 + '0 0 64';
                spot = vehicles_findgoodexit(this, player, spot);
                setorigin(player, spot);
                player.velocity = (v_up + v_forward * 0.25) * 750;
                player.oldvelocity = player.velocity;
-       }
-       else
-       {
-               if(vdist(this.velocity, >, autocvar_g_vehicle_spiderbot_speed_strafe))
-               {
+       } else {
+               if (vdist(this.velocity, >, autocvar_g_vehicle_spiderbot_speed_strafe)) {
                        player.velocity = normalize(this.velocity) * vlen(this.velocity);
                        player.velocity_z += 200;
                        spot = this.origin + v_forward * 128 + '0 0 64';
                        spot = vehicles_findgoodexit(this, player, spot);
-               }
-               else
-               {
+               } else {
                        player.velocity = this.velocity * 0.5;
                        player.velocity_z += 10;
                        spot = this.origin + v_forward * 256 + '0 0 64';
@@ -376,11 +360,9 @@ void spiderbot_headfade(entity this)
        this.nextthink = this.fade_time;
        this.alpha = 1 - (time - this.fade_time) * this.fade_rate;
 
-       if(this.cnt < time || this.alpha < 0.1)
-       {
-               if(this.alpha > 0.1)
-               {
-                       sound (this, CH_SHOTS, SND_ROCKET_IMPACT, VOL_BASE, ATTEN_NORM);
+       if (this.cnt < time || this.alpha < 0.1) {
+               if (this.alpha > 0.1) {
+                       sound(this, CH_SHOTS, SND_ROCKET_IMPACT, VOL_BASE, ATTEN_NORM);
                        Send_Effect(EFFECT_EXPLOSION_BIG, this.origin + '0 0 100', '0 0 0', 1);
                }
                delete(this);
@@ -389,11 +371,9 @@ void spiderbot_headfade(entity this)
 
 void spiderbot_blowup(entity this)
 {
-       if(this.cnt > time)
-       {
-               if(random() < 0.1)
-               {
-                       sound (this, CH_SHOTS, SND_ROCKET_IMPACT, VOL_BASE, ATTEN_NORM);
+       if (this.cnt > time) {
+               if (random() < 0.1) {
+                       sound(this, CH_SHOTS, SND_ROCKET_IMPACT, VOL_BASE, ATTEN_NORM);
                        Send_Effect(EFFECT_EXPLOSION_SMALL, randomvec() * 80 + (this.origin + '0 0 100'), '0 0 0', 1);
                }
                this.nextthink = time + 0.1;
@@ -445,11 +425,11 @@ void spiderbot_blowup(entity this)
        h.colormod = b.colormod = g1.colormod = g2.colormod = '-2 -2 -2';
 
        SUB_SetFade(b,  time + 5, min(this.respawntime, 1));
-       //SUB_SetFade(h,  time, min(this.respawntime, 10));
+       // SUB_SetFade(h,  time, min(this.respawntime, 10));
        SUB_SetFade(g1, time, min(this.respawntime, 10));
        SUB_SetFade(g2, time, min(this.respawntime, 10));
 
-       RadiusDamage (this, this.enemy, 250, 15, 250, NULL, NULL, 250, DEATH_VH_SPID_DEATH.m_id, NULL);
+       RadiusDamage(this, this.enemy, 250, 15, 250, NULL, NULL, 250, DEATH_VH_SPID_DEATH.m_id, NULL);
 
        this.alpha = this.tur_head.alpha = this.gun1.alpha = this.gun2.alpha = -1;
        set_movetype(this, MOVETYPE_NONE);
@@ -461,8 +441,7 @@ void spiderbot_blowup(entity this)
 
 bool spiderbot_impulse(entity this, int _imp)
 {
-       switch(_imp)
-       {
+       switch (_imp) {
                case IMP_weapon_group_1.impulse:
                        this.vehicle.vehicle_weapon2mode = SBRM_VOLLY;
                        CSQCVehicleSetup(this, 0);
@@ -480,10 +459,11 @@ bool spiderbot_impulse(entity this, int _imp)
                case IMP_weapon_next_bypriority.impulse:
                case IMP_weapon_next_bygroup.impulse:
                        this.vehicle.vehicle_weapon2mode += 1;
-                       if(this.vehicle.vehicle_weapon2mode > SBRM_LAST)
+                       if (this.vehicle.vehicle_weapon2mode > SBRM_LAST) {
                                this.vehicle.vehicle_weapon2mode = SBRM_FIRST;
+                       }
 
-                       //centerprint(this, strcat("Rocket mode is ", ftos(this.vehicle.vehicle_weapon2mode)));
+                       // centerprint(this, strcat("Rocket mode is ", ftos(this.vehicle.vehicle_weapon2mode)));
                        CSQCVehicleSetup(this, 0);
                        return true;
                case IMP_weapon_last.impulse:
@@ -491,149 +471,155 @@ bool spiderbot_impulse(entity this, int _imp)
                case IMP_weapon_prev_bypriority.impulse:
                case IMP_weapon_prev_bygroup.impulse:
                        this.vehicle.vehicle_weapon2mode -= 1;
-                       if(this.vehicle.vehicle_weapon2mode < SBRM_FIRST)
+                       if (this.vehicle.vehicle_weapon2mode < SBRM_FIRST) {
                                this.vehicle.vehicle_weapon2mode = SBRM_LAST;
+                       }
 
-                       //centerprint(this, strcat("Rocket mode is ", ftos(this.vehicle.vehicle_weapon2mode)));
+                       // centerprint(this, strcat("Rocket mode is ", ftos(this.vehicle.vehicle_weapon2mode)));
                        CSQCVehicleSetup(this, 0);
                        return true;
 
-               /*
-               case IMP_weapon_drop.impulse: // toss gun, could be used to exit?
-                       break;
-               case IMP_weapon_reload.impulse: // Manual minigun reload?
-                       break;
-               */
+                       /*
+                       case IMP_weapon_drop.impulse: // toss gun, could be used to exit?
+                           break;
+                       case IMP_weapon_reload.impulse: // Manual minigun reload?
+                           break;
+                       */
        }
        return false;
 }
 
 spawnfunc(vehicle_spiderbot)
 {
-       if(!autocvar_g_vehicle_spiderbot) { delete(this); return; }
-       if(!vehicle_initialize(this, VEH_SPIDERBOT, false)) { delete(this); return; }
+       if (!autocvar_g_vehicle_spiderbot) { delete(this); return; }
+       if (!vehicle_initialize(this, VEH_SPIDERBOT, false)) { delete(this); return; }
 }
 
 METHOD(Spiderbot, vr_impact, void(Spiderbot thisveh, entity instance))
 {
-    if(autocvar_g_vehicle_spiderbot_bouncepain)
-        vehicles_impact(instance, autocvar_g_vehicle_spiderbot_bouncepain_x, autocvar_g_vehicle_spiderbot_bouncepain_y, autocvar_g_vehicle_spiderbot_bouncepain_z);
+       if (autocvar_g_vehicle_spiderbot_bouncepain) {
+               vehicles_impact(instance, autocvar_g_vehicle_spiderbot_bouncepain_x, autocvar_g_vehicle_spiderbot_bouncepain_y, autocvar_g_vehicle_spiderbot_bouncepain_z);
+       }
 }
 METHOD(Spiderbot, vr_enter, void(Spiderbot thisveh, entity instance))
 {
-    instance.vehicle_weapon2mode = SBRM_GUIDE;
-    set_movetype(instance, MOVETYPE_WALK);
-    CSQCVehicleSetup(instance.owner, 0);
-    instance.owner.vehicle_health = (instance.vehicle_health / autocvar_g_vehicle_spiderbot_health) * 100;
-    instance.owner.vehicle_shield = (instance.vehicle_shield / autocvar_g_vehicle_spiderbot_shield) * 100;
-
-    if(instance.owner.flagcarried)
-    {
-        setattachment(instance.owner.flagcarried, instance.tur_head, "");
-        setorigin(instance.owner.flagcarried, '-20 0 120');
-    }
+       instance.vehicle_weapon2mode = SBRM_GUIDE;
+       set_movetype(instance, MOVETYPE_WALK);
+       CSQCVehicleSetup(instance.owner, 0);
+       instance.owner.vehicle_health = (instance.vehicle_health / autocvar_g_vehicle_spiderbot_health) * 100;
+       instance.owner.vehicle_shield = (instance.vehicle_shield / autocvar_g_vehicle_spiderbot_shield) * 100;
+
+       if (instance.owner.flagcarried) {
+               setattachment(instance.owner.flagcarried, instance.tur_head, "");
+               setorigin(instance.owner.flagcarried, '-20 0 120');
+       }
 }
 METHOD(Spiderbot, vr_think, void(Spiderbot thisveh, entity instance))
 {
-    if(IS_ONGROUND(instance))
-        movelib_brake_simple(instance, autocvar_g_vehicle_spiderbot_speed_stop);
+       if (IS_ONGROUND(instance)) {
+               movelib_brake_simple(instance, autocvar_g_vehicle_spiderbot_speed_stop);
+       }
 }
 METHOD(Spiderbot, vr_death, void(Spiderbot thisveh, entity instance))
 {
-    instance.health                            = 0;
-    instance.event_damage              = func_null;
-    instance.takedamage                        = DAMAGE_NO;
-    settouch(instance, func_null);
-    instance.cnt                               = 3.4 + time + random() * 2;
-    setthink(instance, spiderbot_blowup);
-    instance.nextthink                 = time;
-    instance.deadflag                  = DEAD_DYING;
-    instance.frame                             = 5;
-    instance.tur_head.effects  |= EF_FLAME;
-    instance.colormod                  = instance.tur_head.colormod = '-1 -1 -1';
-    instance.frame                             = 10;
-    set_movetype(instance, MOVETYPE_TOSS);
-
-    CSQCModel_UnlinkEntity(instance); // networking the death scene would be a nightmare
+       instance.health             = 0;
+       instance.event_damage       = func_null;
+       instance.takedamage         = DAMAGE_NO;
+       settouch(instance, func_null);
+       instance.cnt                = 3.4 + time + random() * 2;
+       setthink(instance, spiderbot_blowup);
+       instance.nextthink          = time;
+       instance.deadflag           = DEAD_DYING;
+       instance.frame              = 5;
+       instance.tur_head.effects  |= EF_FLAME;
+       instance.colormod           = instance.tur_head.colormod = '-1 -1 -1';
+       instance.frame              = 10;
+       set_movetype(instance, MOVETYPE_TOSS);
+
+       CSQCModel_UnlinkEntity(instance); // networking the death scene would be a nightmare
 }
 METHOD(Spiderbot, vr_spawn, void(Spiderbot thisveh, entity instance))
 {
-    if(!instance.gun1)
-    {
-        instance.vehicles_impulse = spiderbot_impulse;
-        instance.gun1 = spawn();
-        instance.gun2 = spawn();
-        setmodel(instance.gun1, MDL_VEH_SPIDERBOT_GUN);
-        setmodel(instance.gun2, MDL_VEH_SPIDERBOT_GUN);
-        setattachment(instance.gun1, instance.tur_head, "tag_hardpoint01");
-        setattachment(instance.gun2, instance.tur_head, "tag_hardpoint02");
-        instance.gravity = 2;
-        instance.mass = 5000;
-    }
-
-    instance.frame = 5;
-    instance.tur_head.frame = 1;
-    set_movetype(instance, MOVETYPE_WALK);
-    instance.solid = SOLID_SLIDEBOX;
-    instance.alpha = instance.tur_head.alpha = instance.gun1.alpha = instance.gun2.alpha = 1;
-    instance.tur_head.angles = '0 0 0';
-    instance.vehicle_exit = spiderbot_exit;
-
-    setorigin(instance, instance.pos1 + '0 0 128');
-    instance.angles = instance.pos2;
-    instance.damageforcescale = 0.03;
-    instance.vehicle_health = autocvar_g_vehicle_spiderbot_health;
-    instance.vehicle_shield = autocvar_g_vehicle_spiderbot_shield;
-
-    instance.PlayerPhysplug = spiderbot_frame;
+       if (!instance.gun1) {
+               instance.vehicles_impulse = spiderbot_impulse;
+               instance.gun1 = spawn();
+               instance.gun2 = spawn();
+               setmodel(instance.gun1, MDL_VEH_SPIDERBOT_GUN);
+               setmodel(instance.gun2, MDL_VEH_SPIDERBOT_GUN);
+               setattachment(instance.gun1, instance.tur_head, "tag_hardpoint01");
+               setattachment(instance.gun2, instance.tur_head, "tag_hardpoint02");
+               instance.gravity = 2;
+               instance.mass = 5000;
+       }
+
+       instance.frame = 5;
+       instance.tur_head.frame = 1;
+       set_movetype(instance, MOVETYPE_WALK);
+       instance.solid = SOLID_SLIDEBOX;
+       instance.alpha = instance.tur_head.alpha = instance.gun1.alpha = instance.gun2.alpha = 1;
+       instance.tur_head.angles = '0 0 0';
+       instance.vehicle_exit = spiderbot_exit;
+
+       setorigin(instance, instance.pos1 + '0 0 128');
+       instance.angles = instance.pos2;
+       instance.damageforcescale = 0.03;
+       instance.vehicle_health = autocvar_g_vehicle_spiderbot_health;
+       instance.vehicle_shield = autocvar_g_vehicle_spiderbot_shield;
+
+       instance.PlayerPhysplug = spiderbot_frame;
 }
 METHOD(Spiderbot, vr_setup, void(Spiderbot thisveh, entity instance))
 {
-    if(autocvar_g_vehicle_spiderbot_shield)
-        instance.vehicle_flags |= VHF_HASSHIELD;
+       if (autocvar_g_vehicle_spiderbot_shield) {
+               instance.vehicle_flags |= VHF_HASSHIELD;
+       }
 
-    if(autocvar_g_vehicle_spiderbot_shield_regen)
-        instance.vehicle_flags |= VHF_SHIELDREGEN;
+       if (autocvar_g_vehicle_spiderbot_shield_regen) {
+               instance.vehicle_flags |= VHF_SHIELDREGEN;
+       }
 
-    if(autocvar_g_vehicle_spiderbot_health_regen)
-        instance.vehicle_flags |= VHF_HEALTHREGEN;
+       if (autocvar_g_vehicle_spiderbot_health_regen) {
+               instance.vehicle_flags |= VHF_HEALTHREGEN;
+       }
 
-    instance.respawntime = autocvar_g_vehicle_spiderbot_respawntime;
-    instance.vehicle_health = autocvar_g_vehicle_spiderbot_health;
-    instance.vehicle_shield = autocvar_g_vehicle_spiderbot_shield;
-    instance.max_health = instance.vehicle_health;
-    instance.pushable = true; // spiderbot can use jumppads
+       instance.respawntime = autocvar_g_vehicle_spiderbot_respawntime;
+       instance.vehicle_health = autocvar_g_vehicle_spiderbot_health;
+       instance.vehicle_shield = autocvar_g_vehicle_spiderbot_shield;
+       instance.max_health = instance.vehicle_health;
+       instance.pushable = true; // spiderbot can use jumppads
 }
 
 #endif // SVQC
 #ifdef CSQC
-//float autocvar_cl_vehicle_spiderbot_cross_alpha = 0.6;
-//float autocvar_cl_vehicle_spiderbot_cross_size = 1;
+// float autocvar_cl_vehicle_spiderbot_cross_alpha = 0.6;
+// float autocvar_cl_vehicle_spiderbot_cross_size = 1;
 
 METHOD(Spiderbot, vr_hud, void(Spiderbot thisveh))
 {
-    Vehicles_drawHUD(VEH_SPIDERBOT.m_icon, "vehicle_spider_weapon1", "vehicle_spider_weapon2",
-                     "vehicle_icon_ammo1", autocvar_hud_progressbar_vehicles_ammo1_color,
-                     "vehicle_icon_ammo2", autocvar_hud_progressbar_vehicles_ammo2_color);
+       Vehicles_drawHUD(VEH_SPIDERBOT.m_icon, "vehicle_spider_weapon1", "vehicle_spider_weapon2",
+               "vehicle_icon_ammo1", autocvar_hud_progressbar_vehicles_ammo1_color,
+               "vehicle_icon_ammo2", autocvar_hud_progressbar_vehicles_ammo2_color);
 }
 METHOD(Spiderbot, vr_crosshair, void(Spiderbot thisveh, entity player))
 {
-    string crosshair;
+       string crosshair;
 
-    switch(weapon2mode)
-    {
-        case SBRM_VOLLY:     crosshair = vCROSS_BURST; break;
-        case SBRM_GUIDE:     crosshair = vCROSS_GUIDE; break;
-        case SBRM_ARTILLERY: crosshair = vCROSS_RAIN;  break;
-        default:             crosshair = vCROSS_BURST;
-    }
+       switch (weapon2mode) {
+               case SBRM_VOLLY:     crosshair = vCROSS_BURST;
+                       break;
+               case SBRM_GUIDE:     crosshair = vCROSS_GUIDE;
+                       break;
+               case SBRM_ARTILLERY: crosshair = vCROSS_RAIN;
+                       break;
+               default:             crosshair = vCROSS_BURST;
+       }
 
-    Vehicles_drawCrosshair(crosshair);
+       Vehicles_drawCrosshair(crosshair);
 }
 METHOD(Spiderbot, vr_setup, void(Spiderbot thisveh, entity instance))
 {
-    AuxiliaryXhair[0].axh_image = vCROSS_HINT; // Minigun1
-    AuxiliaryXhair[1].axh_image = vCROSS_HINT; // Minigun2
+       AuxiliaryXhair[0].axh_image = vCROSS_HINT; // Minigun1
+       AuxiliaryXhair[1].axh_image = vCROSS_HINT; // Minigun2
 }
 
 #endif
index 414e0f805fad1dfa23c92116c797cc37e26ca711..070ee9b38e7045d7e7b5fe5b6691ad829cae6b8b 100644 (file)
@@ -8,8 +8,8 @@ CLASS(Spiderbot, Vehicle)
 /* maxs       */ ATTRIB(Spiderbot, m_maxs, vector, '75 75 125');
 /* view offset*/ ATTRIB(Spiderbot, view_ofs, vector, '0 0 70');
 /* view dist  */ ATTRIB(Spiderbot, height, float, 170);
-/* model         */ ATTRIB(Spiderbot, mdl, string, "models/vehicles/spiderbot.dpm");
-/* model         */ ATTRIB(Spiderbot, model, string, "models/vehicles/spiderbot.dpm");
+/* model         */ATTRIB(Spiderbot, mdl, string, "models/vehicles/spiderbot.dpm");
+/* model         */ATTRIB(Spiderbot, model, string, "models/vehicles/spiderbot.dpm");
 /* head_model */ ATTRIB(Spiderbot, head_model, string, "models/vehicles/spiderbot_top.dpm");
 /* hud_model  */ ATTRIB(Spiderbot, hud_model, string, "models/vehicles/spiderbot_cockpit.dpm");
 /* tags       */ ATTRIB(Spiderbot, tag_head, string, "tag_head");
index 7887781ed7a74f3b5c3850dfad0cfdd64a48e398..eddc29b9a70124ae74385c0fb4d17148ae60042f 100644 (file)
 
 void spiderbot_rocket_artillery(entity this)
 {
-    this.nextthink = time;
-    UpdateCSQCProjectile(this);
+       this.nextthink = time;
+       UpdateCSQCProjectile(this);
 }
 
 void spiderbot_rocket_unguided(entity this)
 {
-    vector newdir, olddir;
+       vector newdir, olddir;
 
-    this.nextthink  = time;
+       this.nextthink  = time;
 
-    olddir = normalize(this.velocity);
-    newdir = normalize(this.pos1 - this.origin) + randomvec() * autocvar_g_vehicle_spiderbot_rocket_noise;
-    this.velocity = normalize(olddir + newdir * autocvar_g_vehicle_spiderbot_rocket_turnrate) * autocvar_g_vehicle_spiderbot_rocket_speed;
+       olddir = normalize(this.velocity);
+       newdir = normalize(this.pos1 - this.origin) + randomvec() * autocvar_g_vehicle_spiderbot_rocket_noise;
+       this.velocity = normalize(olddir + newdir * autocvar_g_vehicle_spiderbot_rocket_turnrate) * autocvar_g_vehicle_spiderbot_rocket_speed;
 
-    UpdateCSQCProjectile(this);
+       UpdateCSQCProjectile(this);
 
-    if (IS_DEAD(this.owner) || this.cnt < time || vdist(this.pos1 - this.origin, <, 16))
-        this.use(this, NULL, NULL);
+       if (IS_DEAD(this.owner) || this.cnt < time || vdist(this.pos1 - this.origin, <, 16)) {
+               this.use(this, NULL, NULL);
+       }
 }
 
 void spiderbot_rocket_guided(entity this)
 {
-    vector newdir, olddir;
+       vector newdir, olddir;
 
-    this.nextthink  = time;
+       this.nextthink  = time;
 
-    if(!this.realowner.vehicle)
-        setthink(this, spiderbot_rocket_unguided);
+       if (!this.realowner.vehicle) {
+               setthink(this, spiderbot_rocket_unguided);
+       }
 
-    crosshair_trace(this.realowner);
-    olddir = normalize(this.velocity);
-    newdir = normalize(trace_endpos - this.origin) + randomvec() * autocvar_g_vehicle_spiderbot_rocket_noise;
-    this.velocity = normalize(olddir + newdir * autocvar_g_vehicle_spiderbot_rocket_turnrate) * autocvar_g_vehicle_spiderbot_rocket_speed;
+       crosshair_trace(this.realowner);
+       olddir = normalize(this.velocity);
+       newdir = normalize(trace_endpos - this.origin) + randomvec() * autocvar_g_vehicle_spiderbot_rocket_noise;
+       this.velocity = normalize(olddir + newdir * autocvar_g_vehicle_spiderbot_rocket_turnrate) * autocvar_g_vehicle_spiderbot_rocket_speed;
 
-    UpdateCSQCProjectile(this);
+       UpdateCSQCProjectile(this);
 
-    if (IS_DEAD(this.owner) || this.cnt < time)
-        this.use(this, NULL, NULL);
+       if (IS_DEAD(this.owner) || this.cnt < time) {
+               this.use(this, NULL, NULL);
+       }
 }
 
 void spiderbot_guide_release(entity this)
 {
-    bool donetrace = false;
-    IL_EACH(g_projectiles, it.realowner == this.owner && getthink(it) == spiderbot_rocket_guided,
-    {
-        if(!donetrace) // something exists, let's trace!
-        {
-            donetrace = true;
-            crosshair_trace(this.owner);
-        }
-
-        it.pos1 = trace_endpos;
-        setthink(it, spiderbot_rocket_unguided);
-    });
+       bool donetrace = false;
+       IL_EACH(g_projectiles, it.realowner == this.owner && getthink(it) == spiderbot_rocket_guided,
+       {
+               if (!donetrace) { // something exists, let's trace!
+                       donetrace = true;
+                       crosshair_trace(this.owner);
+               }
+
+               it.pos1 = trace_endpos;
+               setthink(it, spiderbot_rocket_unguided);
+       });
 }
 
 float spiberbot_calcartillery_flighttime;
 vector spiberbot_calcartillery(vector org, vector tgt, float ht)
 {
-    float grav, sdist, zdist, vs, vz, jumpheight;
-    vector sdir;
-
-    grav  = autocvar_sv_gravity;
-    zdist = tgt_z - org_z;
-    sdist = vlen(tgt - org - zdist * '0 0 1');
-    sdir  = normalize(tgt - org - zdist * '0 0 1');
-
-    // how high do we need to go?
-    jumpheight = fabs(ht);
-    if(zdist > 0)
-        jumpheight = jumpheight + zdist;
-
-    // push so high...
-    vz = sqrt(2 * grav * jumpheight); // NOTE: sqrt(positive)!
-
-    // we start with downwards velocity only if it's a downjump and the jump apex should be outside the jump!
-    if(ht < 0)
-        if(zdist < 0)
-            vz = -vz;
-
-    vector solution;
-    solution = solve_quadratic(0.5 * grav, -vz, zdist); // equation "z(ti) = zdist"
-    // ALWAYS solvable because jumpheight >= zdist
-    if(!solution_z)
-        solution_y = solution_x; // just in case it is not solvable due to roundoff errors, assume two equal solutions at their center (this is mainly for the usual case with ht == 0)
-    if(zdist == 0)
-        solution_x = solution_y; // solution_x is 0 in this case, so don't use it, but rather use solution_y (which will be sqrt(0.5 * jumpheight / grav), actually)
-
-    if(zdist < 0)
-    {
-        // down-jump
-        if(ht < 0)
-        {
-            // almost straight line type
-            // jump apex is before the jump
-            // we must take the larger one
-            spiberbot_calcartillery_flighttime = solution_y;
-        }
-        else
-        {
-            // regular jump
-            // jump apex is during the jump
-            // we must take the larger one too
-            spiberbot_calcartillery_flighttime = solution_y;
-        }
-    }
-    else
-    {
-        // up-jump
-        if(ht < 0)
-        {
-            // almost straight line type
-            // jump apex is after the jump
-            // we must take the smaller one
-            spiberbot_calcartillery_flighttime = solution_x;
-        }
-        else
-        {
-            // regular jump
-            // jump apex is during the jump
-            // we must take the larger one
-            spiberbot_calcartillery_flighttime = solution_y;
-        }
-    }
-    vs = sdist / spiberbot_calcartillery_flighttime;
-
-    // finally calculate the velocity
-    return sdir * vs + '0 0 1' * vz;
+       float grav, sdist, zdist, vs, vz, jumpheight;
+       vector sdir;
+
+       grav  = autocvar_sv_gravity;
+       zdist = tgt_z - org_z;
+       sdist = vlen(tgt - org - zdist * '0 0 1');
+       sdir  = normalize(tgt - org - zdist * '0 0 1');
+
+       // how high do we need to go?
+       jumpheight = fabs(ht);
+       if (zdist > 0) {
+               jumpheight = jumpheight + zdist;
+       }
+
+       // push so high...
+       vz = sqrt(2 * grav * jumpheight); // NOTE: sqrt(positive)!
+
+       // we start with downwards velocity only if it's a downjump and the jump apex should be outside the jump!
+       if (ht < 0) {
+               if (zdist < 0) {
+                       vz = -vz;
+               }
+       }
+
+       vector solution;
+       solution = solve_quadratic(0.5 * grav, -vz, zdist); // equation "z(ti) = zdist"
+       // ALWAYS solvable because jumpheight >= zdist
+       if (!solution_z) {
+               solution_y = solution_x;                        // just in case it is not solvable due to roundoff errors, assume two equal solutions at their center (this is mainly for the usual case with ht == 0)
+       }
+       if (zdist == 0) {
+               solution_x = solution_y;                        // solution_x is 0 in this case, so don't use it, but rather use solution_y (which will be sqrt(0.5 * jumpheight / grav), actually)
+       }
+       if (zdist < 0) {
+               // down-jump
+               if (ht < 0) {
+                       // almost straight line type
+                       // jump apex is before the jump
+                       // we must take the larger one
+                       spiberbot_calcartillery_flighttime = solution_y;
+               } else {
+                       // regular jump
+                       // jump apex is during the jump
+                       // we must take the larger one too
+                       spiberbot_calcartillery_flighttime = solution_y;
+               }
+       } else {
+               // up-jump
+               if (ht < 0) {
+                       // almost straight line type
+                       // jump apex is after the jump
+                       // we must take the smaller one
+                       spiberbot_calcartillery_flighttime = solution_x;
+               } else {
+                       // regular jump
+                       // jump apex is during the jump
+                       // we must take the larger one
+                       spiberbot_calcartillery_flighttime = solution_y;
+               }
+       }
+       vs = sdist / spiberbot_calcartillery_flighttime;
+
+       // finally calculate the velocity
+       return sdir * vs + '0 0 1' * vz;
 }
 
 void spiderbot_rocket_do(entity this)
 {
-    vector v;
-    entity rocket = NULL;
-
-    if (this.wait != -10)
-    {
-        if (PHYS_INPUT_BUTTON_ATCK2(this.owner) && this.vehicle_weapon2mode == SBRM_GUIDE)
-        {
-            if (this.wait == 1)
-            if (this.tur_head.frame == 9 || this.tur_head.frame == 1)
-            {
-                if(this.gun2.cnt < time && this.tur_head.frame == 9)
-                    this.tur_head.frame = 1;
-
-                return;
-            }
-            this.wait = 1;
-        }
-        else
-        {
-            if(this.wait)
-                spiderbot_guide_release(this);
-
-            this.wait = 0;
-        }
-    }
-
-    if(this.gun2.cnt > time)
-        return;
-
-    if (this.tur_head.frame >= 9)
-    {
-        this.tur_head.frame = 1;
-        this.wait = 0;
-    }
-
-    if(this.wait != -10)
-    if(!PHYS_INPUT_BUTTON_ATCK2(this.owner))
-        return;
-
-    if(forbidWeaponUse(this.owner))
-        return;
-
-    v = gettaginfo(this.tur_head,gettagindex(this.tur_head,"tag_fire"));
-
-    switch(this.vehicle_weapon2mode)
-    {
-        case SBRM_VOLLY:
-            rocket = vehicles_projectile(this, EFFECT_SPIDERBOT_ROCKETLAUNCH.eent_eff_name, SND_ROCKET_FIRE,
-                                   v, normalize(randomvec() * autocvar_g_vehicle_spiderbot_rocket_spread + v_forward) * autocvar_g_vehicle_spiderbot_rocket_speed,
-                                   autocvar_g_vehicle_spiderbot_rocket_damage, autocvar_g_vehicle_spiderbot_rocket_radius, autocvar_g_vehicle_spiderbot_rocket_force, 1,
-                                   DEATH_VH_SPID_ROCKET.m_id, PROJECTILE_SPIDERROCKET, autocvar_g_vehicle_spiderbot_rocket_health, false, true, this.owner);
-            crosshair_trace(this.owner);
-            float _dist = (random() * autocvar_g_vehicle_spiderbot_rocket_radius) + vlen(v - trace_endpos);
-            _dist -= (random() * autocvar_g_vehicle_spiderbot_rocket_radius) ;
-            rocket.nextthink  = time + (_dist / autocvar_g_vehicle_spiderbot_rocket_speed);
-            setthink(rocket, vehicles_projectile_explode_think);
-
-            if(PHYS_INPUT_BUTTON_ATCK2(this.owner) && this.tur_head.frame == 1)
-                this.wait = -10;
-            break;
-        case SBRM_GUIDE:
-            rocket = vehicles_projectile(this, EFFECT_SPIDERBOT_ROCKETLAUNCH.eent_eff_name, SND_ROCKET_FIRE,
-                                   v, normalize(v_forward) * autocvar_g_vehicle_spiderbot_rocket_speed,
-                                   autocvar_g_vehicle_spiderbot_rocket_damage, autocvar_g_vehicle_spiderbot_rocket_radius, autocvar_g_vehicle_spiderbot_rocket_force, 1,
-                                   DEATH_VH_SPID_ROCKET.m_id, PROJECTILE_SPIDERROCKET, autocvar_g_vehicle_spiderbot_rocket_health, false, false, this.owner);
-            crosshair_trace(this.owner);
-            rocket.pos1           = trace_endpos;
-            rocket.nextthink  = time;
-            setthink(rocket, spiderbot_rocket_guided);
-
-
-        break;
-        case SBRM_ARTILLERY:
-            rocket = vehicles_projectile(this, EFFECT_SPIDERBOT_ROCKETLAUNCH.eent_eff_name, SND_ROCKET_FIRE,
-                                   v, normalize(v_forward) * autocvar_g_vehicle_spiderbot_rocket_speed,
-                                   autocvar_g_vehicle_spiderbot_rocket_damage, autocvar_g_vehicle_spiderbot_rocket_radius, autocvar_g_vehicle_spiderbot_rocket_force, 1,
-                                   DEATH_VH_SPID_ROCKET.m_id, PROJECTILE_SPIDERROCKET, autocvar_g_vehicle_spiderbot_rocket_health, false, true, this.owner);
-
-            crosshair_trace(this.owner);
-
-            rocket.pos1           = trace_endpos + randomvec() * (0.75 * autocvar_g_vehicle_spiderbot_rocket_radius);
-            rocket.pos1_z         = trace_endpos_z;
-
-            traceline(v, v + '0 0 1' * max_shot_distance, MOVE_WORLDONLY, this);
-            float h1 = 0.75 * vlen(v - trace_endpos);
-
-            //v = trace_endpos;
-            traceline(v , rocket.pos1 + '0 0 1' * max_shot_distance, MOVE_WORLDONLY, this);
-            float h2 = 0.75 * vlen(rocket.pos1 - v);
-
-            rocket.velocity  = spiberbot_calcartillery(v, rocket.pos1, ((h1 < h2) ? h1 : h2));
-            set_movetype(rocket, MOVETYPE_TOSS);
-            rocket.gravity   = 1;
-            //setthink(rocket, spiderbot_rocket_artillery);
-        break;
-    }
-    rocket.classname  = "spiderbot_rocket";
-
-    rocket.cnt = time + autocvar_g_vehicle_spiderbot_rocket_lifetime;
-
-    this.tur_head.frame += 1;
-    if (this.tur_head.frame == 9)
-        this.attack_finished_single[0] = autocvar_g_vehicle_spiderbot_rocket_reload;
-    else
-        this.attack_finished_single[0] = ((this.vehicle_weapon2mode ==  SBRM_VOLLY) ? autocvar_g_vehicle_spiderbot_rocket_refire2 : autocvar_g_vehicle_spiderbot_rocket_refire);
-
-    this.gun2.cnt = time + this.attack_finished_single[0];
+       vector v;
+       entity rocket = NULL;
+
+       if (this.wait != -10) {
+               if (PHYS_INPUT_BUTTON_ATCK2(this.owner) && this.vehicle_weapon2mode == SBRM_GUIDE) {
+                       if (this.wait == 1) {
+                               if (this.tur_head.frame == 9 || this.tur_head.frame == 1) {
+                                       if (this.gun2.cnt < time && this.tur_head.frame == 9) {
+                                               this.tur_head.frame = 1;
+                                       }
+
+                                       return;
+                               }
+                       }
+                       this.wait = 1;
+               } else {
+                       if (this.wait) {
+                               spiderbot_guide_release(this);
+                       }
+
+                       this.wait = 0;
+               }
+       }
+
+       if (this.gun2.cnt > time) {
+               return;
+       }
+
+       if (this.tur_head.frame >= 9) {
+               this.tur_head.frame = 1;
+               this.wait = 0;
+       }
+
+       if (this.wait != -10) {
+               if (!PHYS_INPUT_BUTTON_ATCK2(this.owner)) {
+                       return;
+               }
+       }
+
+       if (forbidWeaponUse(this.owner)) {
+               return;
+       }
+
+       v = gettaginfo(this.tur_head, gettagindex(this.tur_head, "tag_fire"));
+
+       switch (this.vehicle_weapon2mode) {
+               case SBRM_VOLLY:
+                       rocket = vehicles_projectile(this, EFFECT_SPIDERBOT_ROCKETLAUNCH.eent_eff_name, SND_ROCKET_FIRE,
+                       v, normalize(randomvec() * autocvar_g_vehicle_spiderbot_rocket_spread + v_forward) * autocvar_g_vehicle_spiderbot_rocket_speed,
+                       autocvar_g_vehicle_spiderbot_rocket_damage, autocvar_g_vehicle_spiderbot_rocket_radius, autocvar_g_vehicle_spiderbot_rocket_force, 1,
+                       DEATH_VH_SPID_ROCKET.m_id, PROJECTILE_SPIDERROCKET, autocvar_g_vehicle_spiderbot_rocket_health, false, true, this.owner);
+                       crosshair_trace(this.owner);
+                       float _dist = (random() * autocvar_g_vehicle_spiderbot_rocket_radius) + vlen(v - trace_endpos);
+                       _dist -= (random() * autocvar_g_vehicle_spiderbot_rocket_radius);
+                       rocket.nextthink  = time + (_dist / autocvar_g_vehicle_spiderbot_rocket_speed);
+                       setthink(rocket, vehicles_projectile_explode_think);
+
+                       if (PHYS_INPUT_BUTTON_ATCK2(this.owner) && this.tur_head.frame == 1) {
+                               this.wait = -10;
+                       }
+                       break;
+               case SBRM_GUIDE:
+                       rocket = vehicles_projectile(this, EFFECT_SPIDERBOT_ROCKETLAUNCH.eent_eff_name, SND_ROCKET_FIRE,
+                       v, normalize(v_forward) * autocvar_g_vehicle_spiderbot_rocket_speed,
+                       autocvar_g_vehicle_spiderbot_rocket_damage, autocvar_g_vehicle_spiderbot_rocket_radius, autocvar_g_vehicle_spiderbot_rocket_force, 1,
+                       DEATH_VH_SPID_ROCKET.m_id, PROJECTILE_SPIDERROCKET, autocvar_g_vehicle_spiderbot_rocket_health, false, false, this.owner);
+                       crosshair_trace(this.owner);
+                       rocket.pos1    = trace_endpos;
+                       rocket.nextthink  = time;
+                       setthink(rocket, spiderbot_rocket_guided);
+
+
+                       break;
+               case SBRM_ARTILLERY:
+                       rocket = vehicles_projectile(this, EFFECT_SPIDERBOT_ROCKETLAUNCH.eent_eff_name, SND_ROCKET_FIRE,
+                       v, normalize(v_forward) * autocvar_g_vehicle_spiderbot_rocket_speed,
+                       autocvar_g_vehicle_spiderbot_rocket_damage, autocvar_g_vehicle_spiderbot_rocket_radius, autocvar_g_vehicle_spiderbot_rocket_force, 1,
+                       DEATH_VH_SPID_ROCKET.m_id, PROJECTILE_SPIDERROCKET, autocvar_g_vehicle_spiderbot_rocket_health, false, true, this.owner);
+
+                       crosshair_trace(this.owner);
+
+                       rocket.pos1    = trace_endpos + randomvec() * (0.75 * autocvar_g_vehicle_spiderbot_rocket_radius);
+                       rocket.pos1_z      = trace_endpos_z;
+
+                       traceline(v, v + '0 0 1' * max_shot_distance, MOVE_WORLDONLY, this);
+                       float h1 = 0.75 * vlen(v - trace_endpos);
+
+                       // v = trace_endpos;
+                       traceline(v, rocket.pos1 + '0 0 1' * max_shot_distance, MOVE_WORLDONLY, this);
+                       float h2 = 0.75 * vlen(rocket.pos1 - v);
+
+                       rocket.velocity  = spiberbot_calcartillery(v, rocket.pos1, ((h1 < h2) ? h1 : h2));
+                       set_movetype(rocket, MOVETYPE_TOSS);
+                       rocket.gravity   = 1;
+                       // setthink(rocket, spiderbot_rocket_artillery);
+                       break;
+       }
+       rocket.classname  = "spiderbot_rocket";
+
+       rocket.cnt = time + autocvar_g_vehicle_spiderbot_rocket_lifetime;
+
+       this.tur_head.frame += 1;
+       if (this.tur_head.frame == 9) {
+               this.attack_finished_single[0] = autocvar_g_vehicle_spiderbot_rocket_reload;
+       } else {
+               this.attack_finished_single[0] = ((this.vehicle_weapon2mode ==  SBRM_VOLLY) ? autocvar_g_vehicle_spiderbot_rocket_refire2 : autocvar_g_vehicle_spiderbot_rocket_refire);
+       }
+
+       this.gun2.cnt = time + this.attack_finished_single[0];
 }
 
 #endif
index e20b660e57dd773a3cf3b2d98a6c276fbfbfd8ad..b4e102982499734abb4bd9c40c68679ce088454e 100644 (file)
@@ -2,27 +2,27 @@
 #include "util.qh"
 
 #if defined(CSQC)
-    #include "../client/defs.qh"
-    #include "constants.qh"
+#include "../client/defs.qh"
+#include "constants.qh"
 #elif defined(MENUQC)
 #elif defined(SVQC)
-       #include "../server/defs.qh"
+#include "../server/defs.qh"
 #endif
 
 // client movement
 void viewloc_PlayerPhysics(entity this)
 {
-       if(this.viewloc)
-       {
-               if(this.viewloc.goalentity == this.viewloc.enemy)
+       if (this.viewloc) {
+               if (this.viewloc.goalentity == this.viewloc.enemy) {
                        return; // we can't side-scroll in this case
-
+               }
                vector old_movement = PHYS_CS(this).movement;
                PHYS_CS(this).movement_x = old_movement_y;
                PHYS_CS(this).movement_y = 0;
 
-               if(PHYS_CS(this).movement_x < 0)
+               if (PHYS_CS(this).movement_x < 0) {
                        PHYS_CS(this).movement_x = -PHYS_CS(this).movement_x;
+               }
 
                vector level_start, level_end;
                level_start = this.viewloc.enemy.origin;
@@ -31,35 +31,37 @@ void viewloc_PlayerPhysics(entity this)
                forward = vectoangles(normalize(level_end - level_start));
                backward = vectoangles(normalize(level_start - level_end));
 
-               if(PHYS_CS(this).movement_x < 0) // left
+               if (PHYS_CS(this).movement_x < 0) { // left
                        this.angles_y = backward_y;
-               if(PHYS_CS(this).movement_x > 0) // right
+               }
+               if (PHYS_CS(this).movement_x > 0) { // right
                        this.angles_y = forward_y;
+               }
 
-               if(old_movement_x > 0) {
+               if (old_movement_x > 0) {
 #ifdef CSQC
                        input_angles_x =
 #endif
                        this.v_angle_x = this.angles_x = -50;
-               } else if(old_movement_x < 0) {
+               } else if (old_movement_x < 0) {
 #ifdef CSQC
                        input_angles_x =
 #endif
                        this.v_angle_x = this.angles_x = 50;
                }
 
-               //if(!PHYS_INPUT_BUTTON_CROUCH(this) && !IS_DUCKED(this))
+               // if(!PHYS_INPUT_BUTTON_CROUCH(this) && !IS_DUCKED(this))
 #ifdef SVQC
-                       //PHYS_INPUT_BUTTON_CROUCH(this) = (old_movement_x < 0);
-                       if (old_movement.x < 0) {
-                               PHYS_INPUT_BUTTON_CROUCH(this) = true;
-                       }
+               // PHYS_INPUT_BUTTON_CROUCH(this) = (old_movement_x < 0);
+               if (old_movement.x < 0) {
+                       PHYS_INPUT_BUTTON_CROUCH(this) = true;
+               }
 #elif defined(CSQC)
-                       if (old_movement.x < 0) {
-                               input_buttons |= BIT(4);
-                               this.flags |= FL_DUCKED;
-                       }
-                       //else { input_buttons &= ~16; this.flags &= ~FL_DUCKED; }
+               if (old_movement.x < 0) {
+                       input_buttons |= BIT(4);
+                       this.flags |= FL_DUCKED;
+               }
+               // else { input_buttons &= ~16; this.flags &= ~FL_DUCKED; }
 #endif
        }
 }
@@ -68,14 +70,17 @@ void viewloc_PlayerPhysics(entity this)
 
 void viewloc_SetTags(entity this)
 {
-       if(this.viewloc && wasfreed(this.viewloc))
+       if (this.viewloc && wasfreed(this.viewloc)) {
                this.viewloc = NULL;
+       }
 
-       if(this.viewloc.entnum != this.tag_networkviewloc)
-       if(this.tag_networkviewloc == 0)
-               this.viewloc = NULL;
-       else
-               this.viewloc = findfloat(NULL, entnum, this.tag_networkviewloc);
+       if (this.viewloc.entnum != this.tag_networkviewloc) {
+               if (this.tag_networkviewloc == 0) {
+                       this.viewloc = NULL;
+               } else {
+                       this.viewloc = findfloat(NULL, entnum, this.tag_networkviewloc);
+               }
+       }
 }
 
 vector old_camera_angle = '0 0 0';
@@ -86,13 +91,12 @@ bool autocvar_cam_snap_unlock;
 void viewloc_SetViewLocation()
 {
        entity view = CSQCModel_server2csqc(player_localentnum - 1);
-       if (!view) return;
-       //NOTE: the "cam_" cvars sould probably be changed out with a spawnflag or an entity key. I have it like this for my testing -- Player_2
-       if(view.viewloc && !wasfreed(view.viewloc) && view.viewloc.enemy && view.viewloc.goalentity)
-       {
+       if (!view) { return; }
+       // NOTE: the "cam_" cvars sould probably be changed out with a spawnflag or an entity key. I have it like this for my testing -- Player_2
+       if (view.viewloc && !wasfreed(view.viewloc) && view.viewloc.enemy && view.viewloc.goalentity) {
                bool have_sidescroll = (view.viewloc.enemy != view.viewloc.goalentity);
                vector position_a, position_b, camera_position, camera_angle = '0 0 0', forward, backward;
-               //vector scratch;
+               // vector scratch;
 
                position_a = view.viewloc.enemy.origin;
                position_b = view.viewloc.goalentity.origin;
@@ -103,25 +107,23 @@ void viewloc_SetViewLocation()
                */
                if (cvar("cam_box")) {
                        camera_position = vec_bounds_in(view.origin, position_a, position_b);
-               }
-               else
+               } else
 #endif
-                       camera_position = vec_bounds_in(view.origin, position_a, position_b);
+               camera_position = vec_bounds_in(view.origin, position_a, position_b);
 
 
                // a tracking camera follows the player when it leaves the world box
                if (autocvar_cam_track || !have_sidescroll) {
-                       camera_angle = aim_vec (camera_position, view.origin);
+                       camera_angle = aim_vec(camera_position, view.origin);
                }
 
                // hard snap changes the angle as soon as it crosses over the nearest 90 degree mark
-               if (autocvar_cam_snap_hard){
+               if (autocvar_cam_snap_hard) {
                        camera_angle = angle_snap_vec(aim_vec(camera_position, view.origin), 90);
                }
 
                // tries to avoid snapping unless it *really* needs to
-               if (autocvar_cam_snap_close){
-
+               if (autocvar_cam_snap_close) {
                        // like hard snap, but don't snap angles yet.
                        camera_angle = aim_vec(camera_position, view.origin);
 
@@ -131,13 +133,14 @@ void viewloc_SetViewLocation()
                         */
                        float camera_angle_diff = max(camera_angle_y, old_camera_angle_y) - min(camera_angle_y, old_camera_angle_y);
 
-                       if ( camera_angle_diff >= 60)
+                       if (camera_angle_diff >= 60) {
                                old_camera_angle_y = angle_snap_f(camera_angle_y, 90);
-                       else
+                       } else {
                                camera_angle_y = old_camera_angle_y;
+                       }
                }
 
-               //unlocking this allows the camera to look up and down. this also allows a top-down view.
+               // unlocking this allows the camera to look up and down. this also allows a top-down view.
                if (!autocvar_cam_snap_unlock) {
                        camera_angle_x = 0;
                        camera_angle_z = 0;
@@ -154,15 +157,16 @@ void viewloc_SetViewLocation()
                setproperty(VF_ORIGIN, camera_position);
                setproperty(VF_ANGLES, camera_angle);
 
-               if(have_sidescroll)
-               {
+               if (have_sidescroll) {
                        forward = vectoangles(normalize(vec_to_min(position_b, position_a) - vec_to_max(position_b, position_a)));
                        backward = vectoangles(normalize(vec_to_max(position_b, position_a) - vec_to_min(position_b, position_a)));
 
-                       if(input_movevalues_y < 0) // left
+                       if (input_movevalues_y < 0) { // left
                                view.angles_y = backward.y;
-                       if(input_movevalues_y > 0) // favour right
+                       }
+                       if (input_movevalues_y > 0) { // favour right
                                view.angles_y = forward.y;
+                       }
 
                        setproperty(VF_CL_VIEWANGLES, view.angles);
                }
index 3323d8e36a5372eb6041e2348010a735b5f6e251..7ef6fbbf68e6e64759860ef2722720251cf110cd 100644 (file)
@@ -9,12 +9,13 @@ float explosion_calcpush_getmultiplier(vector explosion_v, vector target_v)
        float a;
        a  = explosion_v * (explosion_v - target_v);
 
-       if(a <= 0)
+       if (a <= 0) {
                // target is too fast to be hittable by this
                return 0;
+       }
 
        a /= (explosion_v * explosion_v);
-               // we know we can divide by this, or above a would be == 0
+       // we know we can divide by this, or above a would be == 0
 
        return a;
 }
@@ -45,8 +46,9 @@ vector explosion_calcpush(vector explosion_v, float explosion_m, vector target_v
 vector damage_explosion_calcpush(vector explosion_f, vector target_v, float speedfactor)
 {
        // if below 1, the formulas make no sense (and would cause superjumps)
-       if(speedfactor < 1)
+       if (speedfactor < 1) {
                return explosion_f;
+       }
 
 #if 0
        float m;
@@ -80,37 +82,33 @@ vector cliptoplane(vector v, vector p)
 vector solve_cubic_pq(float p, float q)
 {
        float D, u, v, a;
-       D = q*q/4.0 + p*p*p/27.0;
-       if(D < 0)
-       {
+       D = q * q / 4.0 + p * p * p / 27.0;
+       if (D < 0) {
                // irreducibilis
-               a = 1.0/3.0 * acos(-q/2.0 * sqrt(-27.0/(p*p*p)));
-               u = sqrt(-4.0/3.0 * p);
+               a = 1.0 / 3.0 * acos(-q / 2.0 * sqrt(-27.0 / (p * p * p)));
+               u = sqrt(-4.0 / 3.0 * p);
                // a in range 0..pi/3
                // cos(a)
                // cos(a + 2pi/3)
                // cos(a + 4pi/3)
                return u * vec3(
-                       cos(a + 2.0/3.0*M_PI),
-                       cos(a + 4.0/3.0*M_PI),
+                       cos(a + 2.0 / 3.0 * M_PI),
+                       cos(a + 4.0 / 3.0 * M_PI),
                        cos(a)
                );
-       }
-       else if(D == 0)
-       {
+       } else if (D == 0) {
                // simple
-               if(p == 0)
+               if (p == 0) {
                        return '0 0 0';
-               u = 3*q/p;
-               v = -u/2;
+               }
+               u = 3 * q / p;
+               v = -u / 2;
                return (u >= v) ? vec3(v, v, u) : vec3(u, v, v);
-       }
-       else
-       {
+       } else {
                // cardano
-               //u = cbrt(-q/2.0 + sqrt(D));
-               //v = cbrt(-q/2.0 - sqrt(D));
-               a = cbrt(-q/2.0 + sqrt(D)) + cbrt(-q/2.0 - sqrt(D));
+               // u = cbrt(-q/2.0 + sqrt(D));
+               // v = cbrt(-q/2.0 - sqrt(D));
+               a = cbrt(-q / 2.0 + sqrt(D)) + cbrt(-q / 2.0 - sqrt(D));
                return vec3(a, a, a);
        }
 }
@@ -120,12 +118,13 @@ vector solve_cubic_abcd(float a, float b, float c, float d)
        // x = (y - b) / 3a
        float p, q;
        vector v;
-       p = (9*a*c - 3*b*b);
-       q = (27*a*a*d - 9*a*b*c + 2*b*b*b);
+       p = (9 * a * c - 3 * b * b);
+       q = (27 * a * a * d - 9 * a * b * c + 2 * b * b * b);
        v = solve_cubic_pq(p, q);
        v = (v -  b * '1 1 1') * (1.0 / (3.0 * a));
-       if(a < 0)
+       if (a < 0) {
                v += '1 0 -1' * (v.z - v.x); // swap x, z
+       }
        return v;
 }
 
@@ -135,49 +134,52 @@ vector findperpendicular(vector v)
 }
 
 #ifdef SVQC
-       int W_GunAlign(entity this, int preferred_align)
-       {
-               if(this.m_gunalign)
-                       return this.m_gunalign; // no adjustment needed
-
-               entity own = this.owner;
-
-               if(preferred_align < 1 || preferred_align > 4)
-                       preferred_align = 3; // default
+int W_GunAlign(entity this, int preferred_align)
+{
+       if (this.m_gunalign) {
+               return this.m_gunalign; // no adjustment needed
+       }
+       entity own = this.owner;
 
-               for(int j = 4; j > 1; --j) // > 1 as 1 is just center again
-               {
-                       int taken = 0;
-                       for(int slot = 0; slot < MAX_WEAPONSLOTS; ++slot)
-                       {
-                               .entity weaponentity = weaponentities[slot];
-                               if(own.(weaponentity).m_gunalign == j) // we know it can't be ours thanks to the above check
-                                       taken |= BIT(j);
-                               if(own.(weaponentity).m_gunalign == preferred_align)
-                                       taken |= BIT(preferred_align);
+       if (preferred_align < 1 || preferred_align > 4) {
+               preferred_align = 3; // default
+       }
+       for (int j = 4; j > 1; --j) { // > 1 as 1 is just center again
+               int taken = 0;
+               for (int slot = 0; slot < MAX_WEAPONSLOTS; ++slot) {
+                       .entity weaponentity = weaponentities[slot];
+                       if (own.(weaponentity).m_gunalign == j) { // we know it can't be ours thanks to the above check
+                               taken |= BIT(j);
+                       }
+                       if (own.(weaponentity).m_gunalign == preferred_align) {
+                               taken |= BIT(preferred_align);
                        }
-
-                       if(!(taken & BIT(preferred_align)))
-                               return preferred_align; // prefer the recommended
-                       if(!(taken & BIT(j)))
-                               return j; // or fall back if it's not available
                }
 
-               return preferred_align; // return it anyway
+               if (!(taken & BIT(preferred_align))) {
+                       return preferred_align; // prefer the recommended
+               }
+               if (!(taken & BIT(j))) {
+                       return j;               // or fall back if it's not available
+               }
        }
+
+       return preferred_align; // return it anyway
+}
 #else
-       int W_GunAlign(entity this, int preferred_align)
-       {
-               return this.m_gunalign > 0 ? this.m_gunalign : preferred_align;
-       }
+int W_GunAlign(entity this, int preferred_align)
+{
+       return this.m_gunalign > 0 ? this.m_gunalign : preferred_align;
+}
 #endif
 
 #if 0
 int W_GetGunAlignment(entity player)
 {
        int gunalign = STAT(GUNALIGN, player);
-       if(gunalign < 1 || gunalign > 4)
+       if (gunalign < 1 || gunalign > 4) {
                gunalign = 3; // default value
+       }
        --gunalign;
 
        return gunalign;
@@ -189,12 +191,12 @@ vector W_CalculateSpread(vector forward, float spread, float spreadfactor, float
        float sigma;
        vector v1 = '0 0 0', v2;
        float dx, dy, r;
-       spread *= spreadfactor; //g_weaponspreadfactor;
-       if(spread <= 0)
+       spread *= spreadfactor; // g_weaponspreadfactor;
+       if (spread <= 0) {
                return forward;
+       }
 
-       switch(spreadstyle)
-       {
+       switch (spreadstyle) {
                case 0:
                {
                        // this is the baseline for the spread value!
@@ -222,7 +224,7 @@ vector W_CalculateSpread(vector forward, float spread, float spreadfactor, float
                        r = sqrt(r);
                        return normalize(forward + (v1 * dx + v2 * dy) * r * sigma);
                }
-               case 3: // gauss 3d
+               case 3:                                // gauss 3d
                {
                        sigma = spread * 0.44721359549996; // match baseline stddev
                        // note: 2D gaussian has sqrt(2) times the stddev of 1D, so this factor is right
@@ -232,7 +234,7 @@ vector W_CalculateSpread(vector forward, float spread, float spreadfactor, float
                        v1_z += gsl_ran_gaussian(sigma);
                        return v1;
                }
-               case 4: // gauss 2d
+               case 4:                                // gauss 2d
                {
                        sigma = spread * 0.44721359549996; // match baseline stddev
                        // note: 2D gaussian has sqrt(2) times the stddev of 1D, so this factor is right
@@ -241,7 +243,7 @@ vector W_CalculateSpread(vector forward, float spread, float spreadfactor, float
                        v1_z = gsl_ran_gaussian(sigma);
                        return normalize(forward + cliptoplane(v1, forward));
                }
-               case 5: // 1-r
+               case 5:                                 // 1-r
                {
                        sigma = spread * 1.154700538379252; // match baseline stddev
                        v1 = findperpendicular(forward);
@@ -255,7 +257,7 @@ vector W_CalculateSpread(vector forward, float spread, float spreadfactor, float
                        r = solve_cubic_abcd(-2, 3, 0, -r) * '0 1 0';
                        return normalize(forward + (v1 * dx + v2 * dy) * r * sigma);
                }
-               case 6: // 1-r^2
+               case 6:                                 // 1-r^2
                {
                        sigma = spread * 1.095445115010332; // match baseline stddev
                        v1 = findperpendicular(forward);
@@ -270,7 +272,7 @@ vector W_CalculateSpread(vector forward, float spread, float spreadfactor, float
                        r = sqrt(1 - r);
                        return normalize(forward + (v1 * dx + v2 * dy) * r * sigma);
                }
-               case 7: // (1-r) (2-r)
+               case 7:                                 // (1-r) (2-r)
                {
                        sigma = spread * 1.224744871391589; // match baseline stddev
                        v1 = findperpendicular(forward);
index d749cc15eea53f9d89595941ce82c58e1de0538e..468dc083f04ba1a7285ae634dc814cd09a36b66e 100644 (file)
@@ -3,5 +3,5 @@
 vector damage_explosion_calcpush(vector explosion_f, vector target_v, float speedfactor);
 vector W_CalculateSpread(vector forward, float spread, float spreadfactor, float spreadstyle);
 int W_GunAlign(entity this, int preferred_align);
-//int W_GetGunAlignment(entity player);
+// int W_GetGunAlignment(entity player);
 float explosion_calcpush_getmultiplier(vector explosion_v, vector target_v);
index d2443f1670d360767cbc6721f6a2722d2764997c..029cb5d5a83aa949da417fd04893414b4d480b20 100644 (file)
@@ -2,8 +2,8 @@
 #if defined(CSQC)
 #elif defined(MENUQC)
 #elif defined(SVQC)
-    #include <common/util.qh>
-    #include "all.qh"
+#include <common/util.qh>
+#include "all.qh"
 #endif
 
 // ==========================
@@ -28,8 +28,9 @@ void Dump_Weapon_Settings()
        FOREACH(Weapons, it != WEP_Null, {
                // step 1: clear the queue
                WEP_CONFIG_COUNT = 0;
-               for (int x = 0; x <= MAX_CONFIG_SETTINGS; ++x)
+               for (int x = 0; x <= MAX_CONFIG_SETTINGS; ++x) {
                        config_queue[x] = string_null;
+               }
 
                // step 2: build new queue
                it.wr_config(it);
@@ -39,12 +40,14 @@ void Dump_Weapon_Settings()
 
                // step 4: write queue
                WEP_CONFIG_WRITETOFILE(sprintf(
-                       "// {{{ #%d: %s%s\n",
-                       i,
-                       it.m_name,
-                       ((it.spawnflags & WEP_FLAG_MUTATORBLOCKED) ? " (MUTATOR WEAPON)" : "")
+               "// {{{ #%d: %s%s\n",
+               i,
+               it.m_name,
+               ((it.spawnflags & WEP_FLAG_MUTATORBLOCKED) ? " (MUTATOR WEAPON)" : "")
                ));
-               for (int x = 0; x <= WEP_CONFIG_COUNT; ++x) { WEP_CONFIG_WRITETOFILE(config_queue[x]); }
+               for (int x = 0; x <= WEP_CONFIG_COUNT; ++x) {
+                       WEP_CONFIG_WRITETOFILE(config_queue[x]);
+               }
                WEP_CONFIG_WRITETOFILE("// }}}\n");
 
                // step 5: debug info
@@ -55,8 +58,9 @@ void Dump_Weapon_Settings()
 
        // clear queue now that we're finished
        WEP_CONFIG_COUNT = 0;
-       for(int x = 0; x <= MAX_CONFIG_SETTINGS; ++x)
+       for (int x = 0; x <= MAX_CONFIG_SETTINGS; ++x) {
                config_queue[x] = string_null;
+       }
 
        // extra information
        LOG_INFOF("Totals: %d weapons, %d settings", totalweapons, totalsettings);
index 883082c97d02ed22df2c6910c1123542f2d09818..4cbafab743e150ff2bf5a64a2b982a60fbf44941 100644 (file)
@@ -10,26 +10,29 @@ int wep_config_file;
 bool wep_config_alsoprint;
 
 int WEP_CONFIG_COUNT;
-#define WEP_CONFIG_QUEUE(a) { \
-       config_queue[WEP_CONFIG_COUNT] = a; \
-       ++WEP_CONFIG_COUNT; }
+#define WEP_CONFIG_QUEUE(a) \
+       { \
+               config_queue[WEP_CONFIG_COUNT] = a; \
+               ++WEP_CONFIG_COUNT; \
+       }
 
-#define WEP_CONFIG_WRITETOFILE(a) MACRO_BEGIN \
-       fputs(wep_config_file, a); \
-       if(wep_config_alsoprint) { LOG_INFO(a); } \
-MACRO_END
+#define WEP_CONFIG_WRITETOFILE(a) \
+       MACRO_BEGIN \
+               fputs(wep_config_file, a); \
+               if (wep_config_alsoprint) { LOG_INFO(a); } \
+       MACRO_END
 
 
 #define WEP_CONFIG_WRITE_CVARS(wepname, name, T) WEP_CONFIG_WRITE_PROPS_##T(wepname, name)
 
 #define WEP_CONFIG_WRITE_PROPS_string(wepname, name) \
        { WEP_CONFIG_QUEUE( \
-               sprintf("set g_balance_%s_%s \"%s\"\n", #wepname, #name, \
-               cvar_string(sprintf("g_balance_%s_%s", #wepname, #name)))) }
+                 sprintf("set g_balance_%s_%s \"%s\"\n", #wepname, #name, \
+                 cvar_string(sprintf("g_balance_%s_%s", #wepname, #name)))) }
 
 #define WEP_CONFIG_WRITE_PROPS_float(wepname, name) \
        { WEP_CONFIG_QUEUE( \
-               sprintf("set g_balance_%s_%s %g\n", #wepname, #name, \
-               cvar(sprintf("g_balance_%s_%s", #wepname, #name)))) }
+                 sprintf("set g_balance_%s_%s %g\n", #wepname, #name, \
+                 cvar(sprintf("g_balance_%s_%s", #wepname, #name)))) }
 
 #endif
index 3f9cd4c4e18f6d731d2d7db54764b983ceb8ec0e..5049f885bd9637721bfd50e5087ad2b17fbe793f 100644 (file)
@@ -1,7 +1,10 @@
 #include "fireball.qh"
 
 #ifdef SVQC
-spawnfunc(weapon_fireball) { weapon_defaultspawnfunc(this, WEP_FIREBALL); }
+spawnfunc(weapon_fireball)
+{
+       weapon_defaultspawnfunc(this, WEP_FIREBALL);
+}
 
 void W_Fireball_Explode(entity this, entity directhitentity)
 {
@@ -17,36 +20,45 @@ void W_Fireball_Explode(entity this, entity directhitentity)
        // 1. dist damage
        d = (this.realowner.health + this.realowner.armorvalue);
        RadiusDamage(this, this.realowner, WEP_CVAR_PRI(fireball, damage), WEP_CVAR_PRI(fireball, edgedamage), WEP_CVAR_PRI(fireball, radius), NULL, NULL, WEP_CVAR_PRI(fireball, force), this.projectiledeathtype, directhitentity);
-       if(this.realowner.health + this.realowner.armorvalue >= d)
-       if(!this.cnt)
-       {
-               modeleffect_spawn("models/sphere/sphere.md3", 0, 0, this.origin, '0 0 0', '0 0 0', '0 0 0', 0, WEP_CVAR_PRI(fireball, bfgradius), 0.2, 0.05, 0.25);
-
-               // 2. bfg effect
-               // NOTE: this cannot be made warpzone aware by design. So, better intentionally ignore warpzones here.
-               for(e = findradius(this.origin, WEP_CVAR_PRI(fireball, bfgradius)); e; e = e.chain)
-               if(e != this.realowner) if(e.takedamage == DAMAGE_AIM) if(!IS_PLAYER(e) || !this.realowner || DIFF_TEAM(e, this))
-               {
-                       // can we see fireball?
-                       traceline(e.origin + e.view_ofs, this.origin, MOVE_NORMAL, e);
-                       if(/* trace_startsolid || */ trace_fraction != 1) // startsolid should be never happening anyway
-                               continue;
-                       // can we see player who shot fireball?
-                       traceline(e.origin + e.view_ofs, this.realowner.origin + this.realowner.view_ofs, MOVE_NORMAL, e);
-                       if(trace_ent != this.realowner)
-                       if(/* trace_startsolid || */ trace_fraction != 1)
-                               continue;
-                       dist = vlen(this.origin - e.origin - e.view_ofs);
-                       points = (1 - sqrt(dist / WEP_CVAR_PRI(fireball, bfgradius)));
-                       if(points <= 0)
-                               continue;
-                       dir = normalize(e.origin + e.view_ofs - this.origin);
-
-                       if(accuracy_isgooddamage(this.realowner, e))
-                               accuracy_add(this.realowner, WEP_FIREBALL.m_id, 0, WEP_CVAR_PRI(fireball, bfgdamage) * points);
-
-                       Damage(e, this, this.realowner, WEP_CVAR_PRI(fireball, bfgdamage) * points, this.projectiledeathtype | HITTYPE_BOUNCE | HITTYPE_SPLASH, e.origin + e.view_ofs, WEP_CVAR_PRI(fireball, bfgforce) * dir);
-                       Send_Effect(EFFECT_FIREBALL_BFGDAMAGE, e.origin, -1 * dir, 1);
+       if (this.realowner.health + this.realowner.armorvalue >= d) {
+               if (!this.cnt) {
+                       modeleffect_spawn("models/sphere/sphere.md3", 0, 0, this.origin, '0 0 0', '0 0 0', '0 0 0', 0, WEP_CVAR_PRI(fireball, bfgradius), 0.2, 0.05, 0.25);
+
+                       // 2. bfg effect
+                       // NOTE: this cannot be made warpzone aware by design. So, better intentionally ignore warpzones here.
+                       for (e = findradius(this.origin, WEP_CVAR_PRI(fireball, bfgradius)); e; e = e.chain) {
+                               if (e != this.realowner) {
+                                       if (e.takedamage == DAMAGE_AIM) {
+                                               if (!IS_PLAYER(e) || !this.realowner || DIFF_TEAM(e, this)) {
+                                                       // can we see fireball?
+                                                       traceline(e.origin + e.view_ofs, this.origin, MOVE_NORMAL, e);
+                                                       if ( /* trace_startsolid || */ trace_fraction != 1) { // startsolid should be never happening anyway
+                                                               continue;
+                                                       }
+                                                       // can we see player who shot fireball?
+                                                       traceline(e.origin + e.view_ofs, this.realowner.origin + this.realowner.view_ofs, MOVE_NORMAL, e);
+                                                       if (trace_ent != this.realowner) {
+                                                               if ( /* trace_startsolid || */ trace_fraction != 1) {
+                                                                       continue;
+                                                               }
+                                                       }
+                                                       dist = vlen(this.origin - e.origin - e.view_ofs);
+                                                       points = (1 - sqrt(dist / WEP_CVAR_PRI(fireball, bfgradius)));
+                                                       if (points <= 0) {
+                                                               continue;
+                                                       }
+                                                       dir = normalize(e.origin + e.view_ofs - this.origin);
+
+                                                       if (accuracy_isgooddamage(this.realowner, e)) {
+                                                               accuracy_add(this.realowner, WEP_FIREBALL.m_id, 0, WEP_CVAR_PRI(fireball, bfgdamage) * points);
+                                                       }
+
+                                                       Damage(e, this, this.realowner, WEP_CVAR_PRI(fireball, bfgdamage) * points, this.projectiledeathtype | HITTYPE_BOUNCE | HITTYPE_SPLASH, e.origin + e.view_ofs, WEP_CVAR_PRI(fireball, bfgforce) * dir);
+                                                       Send_Effect(EFFECT_FIREBALL_BFGDAMAGE, e.origin, -1 * dir, 1);
+                                               }
+                                       }
+                               }
+                       }
                }
        }
 
@@ -75,38 +87,40 @@ void W_Fireball_LaserPlay(entity this, float dt, float dist, float damage, float
        float d;
        vector p;
 
-       if(damage <= 0)
+       if (damage <= 0) {
                return;
+       }
 
        RandomSelection_Init();
-       for(e = WarpZone_FindRadius(this.origin, dist, true); e; e = e.chain)
-       if(e != this.realowner) if(e.takedamage == DAMAGE_AIM) if(!IS_PLAYER(e) || !this.realowner || DIFF_TEAM(e, this))
-       {
-               p = e.origin;
-               p.x += e.mins.x + random() * (e.maxs.x - e.mins.x);
-               p.y += e.mins.y + random() * (e.maxs.y - e.mins.y);
-               p.z += e.mins.z + random() * (e.maxs.z - e.mins.z);
-               d = vlen(WarpZone_UnTransformOrigin(e, this.origin) - p);
-               if(d < dist)
-               {
-                       e.fireball_impactvec = p;
-                       RandomSelection_AddEnt(e, 1 / (1 + d), !Fire_IsBurning(e));
+       for (e = WarpZone_FindRadius(this.origin, dist, true); e; e = e.chain) {
+               if (e != this.realowner) {
+                       if (e.takedamage == DAMAGE_AIM) {
+                               if (!IS_PLAYER(e) || !this.realowner || DIFF_TEAM(e, this)) {
+                                       p = e.origin;
+                                       p.x += e.mins.x + random() * (e.maxs.x - e.mins.x);
+                                       p.y += e.mins.y + random() * (e.maxs.y - e.mins.y);
+                                       p.z += e.mins.z + random() * (e.maxs.z - e.mins.z);
+                                       d = vlen(WarpZone_UnTransformOrigin(e, this.origin) - p);
+                                       if (d < dist) {
+                                               e.fireball_impactvec = p;
+                                               RandomSelection_AddEnt(e, 1 / (1 + d), !Fire_IsBurning(e));
+                                       }
+                               }
+                       }
                }
        }
-       if(RandomSelection_chosen_ent)
-       {
+       if (RandomSelection_chosen_ent) {
                d = vlen(WarpZone_UnTransformOrigin(RandomSelection_chosen_ent, this.origin) - RandomSelection_chosen_ent.fireball_impactvec);
                d = damage + (edgedamage - damage) * (d / dist);
                Fire_AddDamage(RandomSelection_chosen_ent, this.realowner, d * burntime, burntime, this.projectiledeathtype | HITTYPE_BOUNCE);
-               //trailparticles(this, particleeffectnum(EFFECT_FIREBALL_LASER), this.origin, RandomSelection_chosen_ent.fireball_impactvec);
+               // trailparticles(this, particleeffectnum(EFFECT_FIREBALL_LASER), this.origin, RandomSelection_chosen_ent.fireball_impactvec);
                Send_Effect(EFFECT_FIREBALL_LASER, this.origin, RandomSelection_chosen_ent.fireball_impactvec - this.origin, 1);
        }
 }
 
 void W_Fireball_Think(entity this)
 {
-       if(time > this.pushltime)
-       {
+       if (time > this.pushltime) {
                this.cnt = 1;
                this.projectiledeathtype |= HITTYPE_SPLASH;
                W_Fireball_Explode(this, NULL);
@@ -120,15 +134,15 @@ void W_Fireball_Think(entity this)
 
 void W_Fireball_Damage(entity this, entity inflictor, entity attacker, float damage, int deathtype, vector hitloc, vector force)
 {
-       if(this.health <= 0)
+       if (this.health <= 0) {
                return;
+       }
 
-       if(!W_CheckProjectileDamage(inflictor.realowner, this.realowner, deathtype, -1)) // no exceptions
+       if (!W_CheckProjectileDamage(inflictor.realowner, this.realowner, deathtype, -1)) { // no exceptions
                return; // g_projectiles_damage says to halt
-
+       }
        this.health = this.health - damage;
-       if(this.health <= 0)
-       {
+       if (this.health <= 0) {
                this.cnt = 1;
                W_PrepareExplosionByDamage(this, attacker, W_Fireball_Explode_think);
        }
@@ -165,7 +179,7 @@ void W_Fireball_Attack1(entity actor, .entity weaponentity)
        proj.flags = FL_PROJECTILE;
        IL_PUSH(g_projectiles, proj);
        IL_PUSH(g_bot_dodge, proj);
-    proj.missile_flags = MIF_SPLASH | MIF_PROXY;
+       proj.missile_flags = MIF_SPLASH | MIF_PROXY;
 
        CSQCProjectile(proj, true, PROJECTILE_FIREBALL, true);
 
@@ -212,23 +226,21 @@ void W_Fireball_Attack1_Frame0(Weapon thiswep, entity actor, .entity weaponentit
 
 void W_Fireball_Firemine_Think(entity this)
 {
-       if(time > this.pushltime)
-       {
+       if (time > this.pushltime) {
                delete(this);
                return;
        }
 
        // make it "hot" once it leaves its owner
-       if(this.owner)
-       {
-               if(vdist(this.origin - this.owner.origin - this.owner.view_ofs, >, WEP_CVAR_SEC(fireball, laserradius)))
-               {
+       if (this.owner) {
+               if (vdist(this.origin - this.owner.origin - this.owner.view_ofs, >, WEP_CVAR_SEC(fireball, laserradius))) {
                        this.cnt += 1;
-                       if(this.cnt == 3)
+                       if (this.cnt == 3) {
                                this.owner = NULL;
-               }
-               else
+                       }
+               } else {
                        this.cnt = 0;
+               }
        }
 
        W_Fireball_LaserPlay(this, 0.1, WEP_CVAR_SEC(fireball, laserradius), WEP_CVAR_SEC(fireball, laserdamage), WEP_CVAR_SEC(fireball, laseredgedamage), WEP_CVAR_SEC(fireball, laserburntime));
@@ -239,11 +251,11 @@ void W_Fireball_Firemine_Think(entity this)
 void W_Fireball_Firemine_Touch(entity this, entity toucher)
 {
        PROJECTILE_TOUCH(this, toucher);
-       if(toucher.takedamage == DAMAGE_AIM)
-       if(Fire_AddDamage(toucher, this.realowner, WEP_CVAR_SEC(fireball, damage), WEP_CVAR_SEC(fireball, damagetime), this.projectiledeathtype) >= 0)
-       {
-               delete(this);
-               return;
+       if (toucher.takedamage == DAMAGE_AIM) {
+               if (Fire_AddDamage(toucher, this.realowner, WEP_CVAR_SEC(fireball, damage), WEP_CVAR_SEC(fireball, damagetime), this.projectiledeathtype) >= 0) {
+                       delete(this);
+                       return;
+               }
        }
        this.projectiledeathtype |= HITTYPE_BOUNCE;
 }
@@ -255,8 +267,7 @@ void W_Fireball_Attack2(entity actor, .entity weaponentity)
        float c;
 
        c = actor.(weaponentity).bulletcounter % 4;
-       switch(c)
-       {
+       switch (c) {
                case 0:
                        f_diff = '-1.25 -3.75 0';
                        break;
@@ -297,7 +308,7 @@ void W_Fireball_Attack2(entity actor, .entity weaponentity)
        proj.flags = FL_PROJECTILE;
        IL_PUSH(g_projectiles, proj);
        IL_PUSH(g_bot_dodge, proj);
-    proj.missile_flags = MIF_SPLASH | MIF_PROXY | MIF_ARC;
+       proj.missile_flags = MIF_SPLASH | MIF_PROXY | MIF_ARC;
 
        CSQCProjectile(proj, true, PROJECTILE_FIREMINE, true);
 
@@ -306,74 +317,66 @@ void W_Fireball_Attack2(entity actor, .entity weaponentity)
 
 METHOD(Fireball, wr_aim, void(entity thiswep, entity actor, .entity weaponentity))
 {
-    PHYS_INPUT_BUTTON_ATCK(actor) = false;
-    PHYS_INPUT_BUTTON_ATCK2(actor) = false;
-    if(actor.bot_primary_fireballmooth == 0)
-    {
-        if(bot_aim(actor, weaponentity, WEP_CVAR_PRI(fireball, speed), 0, WEP_CVAR_PRI(fireball, lifetime), false))
-        {
-            PHYS_INPUT_BUTTON_ATCK(actor) = true;
-            if(random() < 0.02) actor.bot_primary_fireballmooth = 0;
-        }
-    }
-    else
-    {
-        if(bot_aim(actor, weaponentity, WEP_CVAR_SEC(fireball, speed), WEP_CVAR_SEC(fireball, speed_up), WEP_CVAR_SEC(fireball, lifetime), true))
-        {
-            PHYS_INPUT_BUTTON_ATCK2(actor) = true;
-            if(random() < 0.01) actor.bot_primary_fireballmooth = 1;
-        }
-    }
+       PHYS_INPUT_BUTTON_ATCK(actor) = false;
+       PHYS_INPUT_BUTTON_ATCK2(actor) = false;
+       if (actor.bot_primary_fireballmooth == 0) {
+               if (bot_aim(actor, weaponentity, WEP_CVAR_PRI(fireball, speed), 0, WEP_CVAR_PRI(fireball, lifetime), false)) {
+                       PHYS_INPUT_BUTTON_ATCK(actor) = true;
+                       if (random() < 0.02) { actor.bot_primary_fireballmooth = 0; }
+               }
+       } else {
+               if (bot_aim(actor, weaponentity, WEP_CVAR_SEC(fireball, speed), WEP_CVAR_SEC(fireball, speed_up), WEP_CVAR_SEC(fireball, lifetime), true)) {
+                       PHYS_INPUT_BUTTON_ATCK2(actor) = true;
+                       if (random() < 0.01) { actor.bot_primary_fireballmooth = 1; }
+               }
+       }
 }
 METHOD(Fireball, wr_think, void(entity thiswep, entity actor, .entity weaponentity, int fire))
 {
-    if(fire & 1)
-    {
-        if(time >= actor.(weaponentity).fireball_primarytime)
-        if(weapon_prepareattack(thiswep, actor, weaponentity, false, WEP_CVAR_PRI(fireball, refire)))
-        {
-            W_Fireball_Attack1_Frame0(thiswep, actor, weaponentity, fire);
-            actor.(weaponentity).fireball_primarytime = time + WEP_CVAR_PRI(fireball, refire2) * W_WeaponRateFactor(actor);
-        }
-    }
-    else if(fire & 2)
-    {
-        if(weapon_prepareattack(thiswep, actor, weaponentity, true, WEP_CVAR_SEC(fireball, refire)))
-        {
-            W_Fireball_Attack2(actor, weaponentity);
-            weapon_thinkf(actor, weaponentity, WFRAME_FIRE2, WEP_CVAR_SEC(fireball, animtime), w_ready);
-        }
-    }
+       if (fire & 1) {
+               if (time >= actor.(weaponentity).fireball_primarytime) {
+                       if (weapon_prepareattack(thiswep, actor, weaponentity, false, WEP_CVAR_PRI(fireball, refire))) {
+                               W_Fireball_Attack1_Frame0(thiswep, actor, weaponentity, fire);
+                               actor.(weaponentity).fireball_primarytime = time + WEP_CVAR_PRI(fireball, refire2) * W_WeaponRateFactor(actor);
+                       }
+               }
+       } else if (fire & 2) {
+               if (weapon_prepareattack(thiswep, actor, weaponentity, true, WEP_CVAR_SEC(fireball, refire))) {
+                       W_Fireball_Attack2(actor, weaponentity);
+                       weapon_thinkf(actor, weaponentity, WFRAME_FIRE2, WEP_CVAR_SEC(fireball, animtime), w_ready);
+               }
+       }
 }
 METHOD(Fireball, wr_checkammo1, bool(entity thiswep, entity actor, .entity weaponentity))
 {
-    return true; // infinite ammo
+       return true; // infinite ammo
 }
 METHOD(Fireball, wr_checkammo2, bool(entity thiswep, entity actor, .entity weaponentity))
 {
-    return true; // fireball has infinite ammo
+       return true; // fireball has infinite ammo
 }
 METHOD(Fireball, wr_resetplayer, void(entity thiswep, entity actor))
 {
-       for(int slot = 0; slot < MAX_WEAPONSLOTS; ++slot)
-       {
+       for (int slot = 0; slot < MAX_WEAPONSLOTS; ++slot) {
                .entity weaponentity = weaponentities[slot];
-       actor.(weaponentity).fireball_primarytime = time;
+               actor.(weaponentity).fireball_primarytime = time;
        }
 }
 METHOD(Fireball, wr_suicidemessage, Notification(entity thiswep))
 {
-    if(w_deathtype & HITTYPE_SECONDARY)
-        return WEAPON_FIREBALL_SUICIDE_FIREMINE;
-    else
-        return WEAPON_FIREBALL_SUICIDE_BLAST;
+       if (w_deathtype & HITTYPE_SECONDARY) {
+               return WEAPON_FIREBALL_SUICIDE_FIREMINE;
+       } else {
+               return WEAPON_FIREBALL_SUICIDE_BLAST;
+       }
 }
 METHOD(Fireball, wr_killmessage, Notification(entity thiswep))
 {
-    if(w_deathtype & HITTYPE_SECONDARY)
-        return WEAPON_FIREBALL_MURDER_FIREMINE;
-    else
-        return WEAPON_FIREBALL_MURDER_BLAST;
+       if (w_deathtype & HITTYPE_SECONDARY) {
+               return WEAPON_FIREBALL_MURDER_FIREMINE;
+       } else {
+               return WEAPON_FIREBALL_MURDER_BLAST;
+       }
 }
 
 #endif
@@ -381,18 +384,16 @@ METHOD(Fireball, wr_killmessage, Notification(entity thiswep))
 
 METHOD(Fireball, wr_impacteffect, void(entity thiswep, entity actor))
 {
-    vector org2;
-    if(w_deathtype & HITTYPE_SECONDARY)
-    {
-        // firemine goes out silently
-    }
-    else
-    {
-        org2 = w_org + w_backoff * 16;
-        pointparticles(EFFECT_FIREBALL_EXPLODE, org2, '0 0 0', 1);
-        if(!w_issilent)
-            sound(actor, CH_SHOTS, SND_FIREBALL_IMPACT2, VOL_BASE, ATTEN_NORM * 0.25); // long range boom
-    }
+       vector org2;
+       if (w_deathtype & HITTYPE_SECONDARY) {
+               // firemine goes out silently
+       } else {
+               org2 = w_org + w_backoff * 16;
+               pointparticles(EFFECT_FIREBALL_EXPLODE, org2, '0 0 0', 1);
+               if (!w_issilent) {
+                       sound(actor, CH_SHOTS, SND_FIREBALL_IMPACT2, VOL_BASE, ATTEN_NORM * 0.25); // long range boom
+               }
+       }
 }
 
 #endif
index 04383716addb57fa1a9de811db2557aee8a40722..ea26d8bfc9fa483a81e273495a12ce65084e8d3c 100644 (file)
@@ -2,7 +2,10 @@
 
 #ifdef SVQC
 
-spawnfunc(weapon_hook) { weapon_defaultspawnfunc(this, WEP_HOOK); }
+spawnfunc(weapon_hook)
+{
+       weapon_defaultspawnfunc(this, WEP_HOOK);
+}
 
 void W_Hook_ExplodeThink(entity this)
 {
@@ -16,12 +19,13 @@ void W_Hook_ExplodeThink(entity this)
 
        RadiusDamage(this, this.realowner, this.dmg * f, this.dmg_edge * f, this.dmg_radius, this.realowner, NULL, this.dmg_force * f, this.projectiledeathtype, NULL);
        this.projectiledeathtype |= HITTYPE_BOUNCE;
-       //RadiusDamage(this, NULL, this.dmg * f, this.dmg_edge * f, this.dmg_radius, NULL, NULL, this.dmg_force * f, this.projectiledeathtype, NULL);
+       // RadiusDamage(this, NULL, this.dmg * f, this.dmg_edge * f, this.dmg_radius, NULL, NULL, this.dmg_force * f, this.projectiledeathtype, NULL);
 
-       if(dt < this.dmg_duration)
+       if (dt < this.dmg_duration) {
                this.nextthink = time + 0.05; // soon
-       else
+       } else {
                delete(this);
+       }
 }
 
 void W_Hook_Explode2(entity this)
@@ -50,16 +54,18 @@ void W_Hook_Explode2_use(entity this, entity actor, entity trigger)
 
 void W_Hook_Damage(entity this, entity inflictor, entity attacker, float damage, int deathtype, vector hitloc, vector force)
 {
-       if(this.health <= 0)
+       if (this.health <= 0) {
                return;
+       }
 
-       if(!W_CheckProjectileDamage(inflictor.realowner, this.realowner, deathtype, -1)) // no exceptions
+       if (!W_CheckProjectileDamage(inflictor.realowner, this.realowner, deathtype, -1)) { // no exceptions
                return; // g_projectiles_damage says to halt
-
+       }
        this.health = this.health - damage;
 
-       if(this.health <= 0)
+       if (this.health <= 0) {
                W_PrepareExplosionByDamage(this, this.realowner, W_Hook_Explode2);
+       }
 }
 
 void W_Hook_Touch2(entity this, entity toucher)
@@ -70,7 +76,7 @@ void W_Hook_Touch2(entity this, entity toucher)
 
 void W_Hook_Attack2(Weapon thiswep, entity actor, .entity weaponentity)
 {
-       //W_DecreaseAmmo(thiswep, actor, WEP_CVAR_SEC(hook, ammo)); // WEAPONTODO: Figure out how to handle ammo with hook secondary (gravitybomb)
+       // W_DecreaseAmmo(thiswep, actor, WEP_CVAR_SEC(hook, ammo)); // WEAPONTODO: Figure out how to handle ammo with hook secondary (gravitybomb)
        W_SetupShot(actor, weaponentity, false, 4, SND_HOOKBOMB_FIRE, CH_WEAPON_A, WEP_CVAR_SEC(hook, damage));
 
        entity gren = new(hookbomb);
@@ -97,11 +103,12 @@ void W_Hook_Attack2(Weapon thiswep, entity actor, .entity weaponentity)
        gren.missile_flags = MIF_SPLASH | MIF_ARC;
 
        gren.velocity = '0 0 1' * WEP_CVAR_SEC(hook, speed);
-       if (autocvar_g_projectiles_newton_style)
+       if (autocvar_g_projectiles_newton_style) {
                gren.velocity = gren.velocity + actor.velocity;
+       }
 
        gren.gravity = WEP_CVAR_SEC(hook, gravity);
-       //W_SetupProjVelocity_Basic(gren); // just falling down!
+       // W_SetupProjVelocity_Basic(gren); // just falling down!
 
        gren.angles = '0 0 0';
        gren.flags = FL_PROJECTILE;
@@ -115,96 +122,87 @@ void W_Hook_Attack2(Weapon thiswep, entity actor, .entity weaponentity)
 
 METHOD(Hook, wr_think, void(entity thiswep, entity actor, .entity weaponentity, int fire))
 {
-    if (fire & 1) {
-        if(!actor.(weaponentity).hook)
-        if(!(actor.(weaponentity).hook_state & HOOK_WAITING_FOR_RELEASE))
-        if(time > actor.(weaponentity).hook_refire)
-        if(weapon_prepareattack(thiswep, actor, weaponentity, false, -1))
-        {
-            W_DecreaseAmmo(thiswep, actor, thiswep.ammo_factor * WEP_CVAR_PRI(hook, ammo), weaponentity);
-            actor.(weaponentity).hook_state |= HOOK_FIRING;
-            actor.(weaponentity).hook_state |= HOOK_WAITING_FOR_RELEASE;
-            weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, WEP_CVAR_PRI(hook, animtime), w_ready);
-        }
-    } else {
-        actor.(weaponentity).hook_state |= HOOK_REMOVING;
-        actor.(weaponentity).hook_state &= ~HOOK_WAITING_FOR_RELEASE;
-    }
-
-    if(fire & 2)
-    {
-        if(weapon_prepareattack(thiswep, actor, weaponentity, true, WEP_CVAR_SEC(hook, refire)))
-        {
-            W_Hook_Attack2(thiswep, actor, weaponentity);
-            weapon_thinkf(actor, weaponentity, WFRAME_FIRE2, WEP_CVAR_SEC(hook, animtime), w_ready);
-        }
-    }
-
-    if(actor.(weaponentity).hook)
-    {
-        // if hooked, no bombs, and increase the timer
-        actor.(weaponentity).hook_refire = max(actor.(weaponentity).hook_refire, time + WEP_CVAR_PRI(hook, refire) * W_WeaponRateFactor(actor));
-
-        // hook also inhibits health regeneration, but only for 1 second
-        if(!(actor.items & IT_UNLIMITED_WEAPON_AMMO))
-            actor.pauseregen_finished = max(actor.pauseregen_finished, time + autocvar_g_balance_pause_fuel_regen);
-    }
-
-    if(actor.(weaponentity).hook && actor.(weaponentity).hook.state == 1)
-    {
-        float hooked_time_max = WEP_CVAR_PRI(hook, hooked_time_max);
-        if(hooked_time_max > 0)
-        {
-            if( time > actor.(weaponentity).hook_time_hooked + hooked_time_max )
-                actor.(weaponentity).hook_state |= HOOK_REMOVING;
-        }
-
-        float hooked_fuel = thiswep.ammo_factor * WEP_CVAR_PRI(hook, hooked_ammo);
-        if(hooked_fuel > 0)
-        {
-            if( time > actor.(weaponentity).hook_time_fueldecrease )
-            {
-                if(!(actor.items & IT_UNLIMITED_WEAPON_AMMO))
-                {
-                    if( actor.ammo_fuel >= (time - actor.(weaponentity).hook_time_fueldecrease) * hooked_fuel )
-                    {
-                        W_DecreaseAmmo(thiswep, actor, (time - actor.(weaponentity).hook_time_fueldecrease) * hooked_fuel, weaponentity);
-                        actor.(weaponentity).hook_time_fueldecrease = time;
-                        // decrease next frame again
-                    }
-                    else
-                    {
-                        actor.ammo_fuel = 0;
-                        actor.(weaponentity).hook_state |= HOOK_REMOVING;
-                        if(actor.(weaponentity).m_weapon != WEP_Null) // offhand
-                               W_SwitchWeapon_Force(actor, w_getbestweapon(actor, weaponentity), weaponentity);
-                    }
-                }
-            }
-        }
-    }
-    else
-    {
-        actor.(weaponentity).hook_time_hooked = time;
-        actor.(weaponentity).hook_time_fueldecrease = time + WEP_CVAR_PRI(hook, hooked_time_free);
-    }
-
-    actor.(weaponentity).hook_state = BITSET(actor.(weaponentity).hook_state, HOOK_PULLING, (!PHYS_INPUT_BUTTON_CROUCH(actor) || !autocvar_g_balance_grapplehook_crouchslide));
-
-    if (actor.(weaponentity).hook_state & HOOK_FIRING)
-    {
-        if (actor.(weaponentity).hook)
-            RemoveHook(actor.(weaponentity).hook);
-        FireGrapplingHook(actor, weaponentity);
-        actor.(weaponentity).hook_state &= ~HOOK_FIRING;
-        actor.(weaponentity).hook_refire = max(actor.(weaponentity).hook_refire, time + autocvar_g_balance_grapplehook_refire * W_WeaponRateFactor(actor));
-    }
-    else if (actor.(weaponentity).hook_state & HOOK_REMOVING)
-    {
-        if (actor.(weaponentity).hook)
-            RemoveHook(actor.(weaponentity).hook);
-        actor.(weaponentity).hook_state &= ~HOOK_REMOVING;
-    }
+       if (fire & 1) {
+               if (!actor.(weaponentity).hook) {
+                       if (!(actor.(weaponentity).hook_state & HOOK_WAITING_FOR_RELEASE)) {
+                               if (time > actor.(weaponentity).hook_refire) {
+                                       if (weapon_prepareattack(thiswep, actor, weaponentity, false, -1)) {
+                                               W_DecreaseAmmo(thiswep, actor, thiswep.ammo_factor * WEP_CVAR_PRI(hook, ammo), weaponentity);
+                                               actor.(weaponentity).hook_state |= HOOK_FIRING;
+                                               actor.(weaponentity).hook_state |= HOOK_WAITING_FOR_RELEASE;
+                                               weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, WEP_CVAR_PRI(hook, animtime), w_ready);
+                                       }
+                               }
+                       }
+               }
+       } else {
+               actor.(weaponentity).hook_state |= HOOK_REMOVING;
+               actor.(weaponentity).hook_state &= ~HOOK_WAITING_FOR_RELEASE;
+       }
+
+       if (fire & 2) {
+               if (weapon_prepareattack(thiswep, actor, weaponentity, true, WEP_CVAR_SEC(hook, refire))) {
+                       W_Hook_Attack2(thiswep, actor, weaponentity);
+                       weapon_thinkf(actor, weaponentity, WFRAME_FIRE2, WEP_CVAR_SEC(hook, animtime), w_ready);
+               }
+       }
+
+       if (actor.(weaponentity).hook) {
+               // if hooked, no bombs, and increase the timer
+               actor.(weaponentity).hook_refire = max(actor.(weaponentity).hook_refire, time + WEP_CVAR_PRI(hook, refire) * W_WeaponRateFactor(actor));
+
+               // hook also inhibits health regeneration, but only for 1 second
+               if (!(actor.items & IT_UNLIMITED_WEAPON_AMMO)) {
+                       actor.pauseregen_finished = max(actor.pauseregen_finished, time + autocvar_g_balance_pause_fuel_regen);
+               }
+       }
+
+       if (actor.(weaponentity).hook && actor.(weaponentity).hook.state == 1) {
+               float hooked_time_max = WEP_CVAR_PRI(hook, hooked_time_max);
+               if (hooked_time_max > 0) {
+                       if (time > actor.(weaponentity).hook_time_hooked + hooked_time_max) {
+                               actor.(weaponentity).hook_state |= HOOK_REMOVING;
+                       }
+               }
+
+               float hooked_fuel = thiswep.ammo_factor * WEP_CVAR_PRI(hook, hooked_ammo);
+               if (hooked_fuel > 0) {
+                       if (time > actor.(weaponentity).hook_time_fueldecrease) {
+                               if (!(actor.items & IT_UNLIMITED_WEAPON_AMMO)) {
+                                       if (actor.ammo_fuel >= (time - actor.(weaponentity).hook_time_fueldecrease) * hooked_fuel) {
+                                               W_DecreaseAmmo(thiswep, actor, (time - actor.(weaponentity).hook_time_fueldecrease) * hooked_fuel, weaponentity);
+                                               actor.(weaponentity).hook_time_fueldecrease = time;
+                                               // decrease next frame again
+                                       } else {
+                                               actor.ammo_fuel = 0;
+                                               actor.(weaponentity).hook_state |= HOOK_REMOVING;
+                                               if (actor.(weaponentity).m_weapon != WEP_Null) { // offhand
+                                                       W_SwitchWeapon_Force(actor, w_getbestweapon(actor, weaponentity), weaponentity);
+                                               }
+                                       }
+                               }
+                       }
+               }
+       } else {
+               actor.(weaponentity).hook_time_hooked = time;
+               actor.(weaponentity).hook_time_fueldecrease = time + WEP_CVAR_PRI(hook, hooked_time_free);
+       }
+
+       actor.(weaponentity).hook_state = BITSET(actor.(weaponentity).hook_state, HOOK_PULLING, (!PHYS_INPUT_BUTTON_CROUCH(actor) || !autocvar_g_balance_grapplehook_crouchslide));
+
+       if (actor.(weaponentity).hook_state & HOOK_FIRING) {
+               if (actor.(weaponentity).hook) {
+                       RemoveHook(actor.(weaponentity).hook);
+               }
+               FireGrapplingHook(actor, weaponentity);
+               actor.(weaponentity).hook_state &= ~HOOK_FIRING;
+               actor.(weaponentity).hook_refire = max(actor.(weaponentity).hook_refire, time + autocvar_g_balance_grapplehook_refire * W_WeaponRateFactor(actor));
+       } else if (actor.(weaponentity).hook_state & HOOK_REMOVING) {
+               if (actor.(weaponentity).hook) {
+                       RemoveHook(actor.(weaponentity).hook);
+               }
+               actor.(weaponentity).hook_state &= ~HOOK_REMOVING;
+       }
 }
 METHOD(Hook, wr_setup, void(entity thiswep, entity actor, .entity weaponentity))
 {
@@ -212,31 +210,31 @@ METHOD(Hook, wr_setup, void(entity thiswep, entity actor, .entity weaponentity))
 }
 METHOD(Hook, wr_checkammo1, bool(Hook thiswep, entity actor, .entity weaponentity))
 {
-    if (!thiswep.ammo_factor) return true;
+       if (!thiswep.ammo_factor) { return true; }
 
-    if(actor.(weaponentity).hook)
-       return actor.ammo_fuel > 0;
+       if (actor.(weaponentity).hook) {
+               return actor.ammo_fuel > 0;
+       }
 
-    return actor.ammo_fuel >= WEP_CVAR_PRI(hook, ammo);
+       return actor.ammo_fuel >= WEP_CVAR_PRI(hook, ammo);
 }
 METHOD(Hook, wr_checkammo2, bool(Hook thiswep, entity actor, .entity weaponentity))
 {
-    // infinite ammo for now
-    return true; // actor.ammo_cells >= WEP_CVAR_SEC(hook, ammo); // WEAPONTODO: see above
+       // infinite ammo for now
+       return true; // actor.ammo_cells >= WEP_CVAR_SEC(hook, ammo); // WEAPONTODO: see above
 }
 METHOD(Hook, wr_resetplayer, void(entity thiswep, entity actor))
 {
-    RemoveGrapplingHooks(actor);
-    for(int slot = 0; slot < MAX_WEAPONSLOTS; ++slot)
-    {
-       .entity weaponentity = weaponentities[slot];
-       actor.(weaponentity).hook_time = 0;
-       actor.(weaponentity).hook_refire = time;
-    }
+       RemoveGrapplingHooks(actor);
+       for (int slot = 0; slot < MAX_WEAPONSLOTS; ++slot) {
+               .entity weaponentity = weaponentities[slot];
+               actor.(weaponentity).hook_time = 0;
+               actor.(weaponentity).hook_refire = time;
+       }
 }
 METHOD(Hook, wr_killmessage, Notification(entity thiswep))
 {
-    return WEAPON_HOOK_MURDER;
+       return WEAPON_HOOK_MURDER;
 }
 
 #endif
@@ -244,11 +242,12 @@ METHOD(Hook, wr_killmessage, Notification(entity thiswep))
 
 METHOD(Hook, wr_impacteffect, void(entity thiswep, entity actor))
 {
-    vector org2;
-    org2 = w_org + w_backoff * 2;
-    pointparticles(EFFECT_HOOK_EXPLODE, org2, '0 0 0', 1);
-    if(!w_issilent)
-        sound(actor, CH_SHOTS, SND_HOOKBOMB_IMPACT, VOL_BASE, ATTN_NORM);
+       vector org2;
+       org2 = w_org + w_backoff * 2;
+       pointparticles(EFFECT_HOOK_EXPLODE, org2, '0 0 0', 1);
+       if (!w_issilent) {
+               sound(actor, CH_SHOTS, SND_HOOKBOMB_IMPACT, VOL_BASE, ATTN_NORM);
+       }
 }
 
 #endif
@@ -262,11 +261,11 @@ float autocvar_cl_grapplehook_alpha = 1;
 void Draw_CylindricLine(vector from, vector to, float thickness, string texture, float aspect, float shift, vector rgb, float theAlpha, float drawflag, vector vieworg);
 
 entityclass(Hook);
-class(Hook) .entity HookType; // ENT_CLIENT_*
-class(Hook) .vector origin;
-class(Hook) .vector velocity;
-class(Hook) .float HookSilent;
-class(Hook) .float HookRange;
+class(Hook).entity HookType; // ENT_CLIENT_*
+class(Hook).vector origin;
+class(Hook).vector velocity;
+class(Hook).float HookSilent;
+class(Hook).float HookRange;
 
 string Draw_GrapplingHook_trace_callback_tex;
 float Draw_GrapplingHook_trace_callback_rnd;
@@ -277,12 +276,13 @@ void Draw_GrapplingHook_trace_callback(vector start, vector hit, vector end)
        float i;
        vector vorg;
        vorg = WarpZone_TransformOrigin(WarpZone_trace_transform, view_origin);
-       for(i = 0; i < Draw_GrapplingHook_trace_callback_a; ++i)
+       for (i = 0; i < Draw_GrapplingHook_trace_callback_a; ++i) {
                Draw_CylindricLine(hit, start, 8, Draw_GrapplingHook_trace_callback_tex, 0.25, Draw_GrapplingHook_trace_callback_rnd, Draw_GrapplingHook_trace_callback_rgb, min(1, Draw_GrapplingHook_trace_callback_a - i), DRAWFLAG_NORMAL, vorg);
+       }
        Draw_GrapplingHook_trace_callback_rnd += 0.25 * vlen(hit - start) / 8;
 }
 
-class(Hook) .float teleport_time;
+class(Hook).float teleport_time;
 void Draw_GrapplingHook(entity this)
 {
        vector a, b, atrans;
@@ -292,19 +292,18 @@ void Draw_GrapplingHook(entity this)
        vector vs;
        float intensity, offset;
 
-       if(this.teleport_time)
-       if(time > this.teleport_time)
-       {
-               sound (this, CH_SHOTS_SINGLE, SND_Null, VOL_BASE, ATTEN_NORM); // safeguard
-               this.teleport_time = 0;
+       if (this.teleport_time) {
+               if (time > this.teleport_time) {
+                       sound(this, CH_SHOTS_SINGLE, SND_Null, VOL_BASE, ATTEN_NORM); // safeguard
+                       this.teleport_time = 0;
+               }
        }
 
        InterpolateOrigin_Do(this);
 
        int s = W_GunAlign(viewmodels[this.cnt], STAT(GUNALIGN)) - 1;
 
-       switch(this.HookType)
-       {
+       switch (this.HookType) {
                default:
                case NET_ENT_CLIENT_HOOK:
                        vs = hook_shotorigin[s];
@@ -314,33 +313,30 @@ void Draw_GrapplingHook(entity this)
                        break;
        }
 
-       if((this.owner.sv_entnum == player_localentnum - 1))
-       {
-               switch(this.HookType)
-               {
+       if ((this.owner.sv_entnum == player_localentnum - 1)) {
+               switch (this.HookType) {
                        default:
                        case NET_ENT_CLIENT_HOOK:
-                               if(autocvar_chase_active > 0)
+                               if (autocvar_chase_active > 0) {
                                        a = csqcplayer.origin;
-                               else
+                               } else {
                                        a = view_origin + view_forward * vs.x + view_right * -vs.y + view_up * vs.z;
+                               }
                                b = this.origin;
                                break;
                        case NET_ENT_CLIENT_ARC_BEAM:
-                               if(this.HookRange)
+                               if (this.HookRange) {
                                        b = view_origin + view_forward * this.HookRange;
-                               else
+                               } else {
                                        b = view_origin + view_forward * vlen(this.velocity - this.origin); // honor original length of beam!
+                               }
                                WarpZone_TraceLine(view_origin, b, MOVE_NORMAL, NULL);
                                b = WarpZone_UnTransformOrigin(WarpZone_trace_transform, trace_endpos);
                                a = view_origin + view_forward * vs.x + view_right * -vs.y + view_up * vs.z;
                                break;
                }
-       }
-       else
-       {
-               switch(this.HookType)
-               {
+       } else {
+               switch (this.HookType) {
                        default:
                        case NET_ENT_CLIENT_HOOK:
                                a = this.velocity;
@@ -355,19 +351,27 @@ void Draw_GrapplingHook(entity this)
 
        t = entcs_GetTeamColor(this.owner.sv_entnum);
 
-       switch(this.HookType)
-       {
+       switch (this.HookType) {
                default:
                case NET_ENT_CLIENT_HOOK:
                        intensity = autocvar_cl_grapplehook_alpha;
                        offset = 0;
-                       switch(t)
-                       {
-                               case NUM_TEAM_1: tex = "particles/hook_red"; rgb = '1 0.3 0.3'; break;
-                               case NUM_TEAM_2: tex = "particles/hook_blue"; rgb = '0.3 0.3 1'; break;
-                               case NUM_TEAM_3: tex = "particles/hook_yellow"; rgb = '1 1 0.3'; break;
-                               case NUM_TEAM_4: tex = "particles/hook_pink"; rgb = '1 0.3 1'; break;
-                               default: tex = "particles/hook_white"; rgb = entcs_GetColor(this.sv_entnum - 1); break;
+                       switch (t) {
+                               case NUM_TEAM_1: tex = "particles/hook_red";
+                                       rgb = '1 0.3 0.3';
+                                       break;
+                               case NUM_TEAM_2: tex = "particles/hook_blue";
+                                       rgb = '0.3 0.3 1';
+                                       break;
+                               case NUM_TEAM_3: tex = "particles/hook_yellow";
+                                       rgb = '1 1 0.3';
+                                       break;
+                               case NUM_TEAM_4: tex = "particles/hook_pink";
+                                       rgb = '1 0.3 1';
+                                       break;
+                               default: tex = "particles/hook_white";
+                                       rgb = entcs_GetColor(this.sv_entnum - 1);
+                                       break;
                        }
                        break;
                case NET_ENT_CLIENT_ARC_BEAM: // todo
@@ -391,18 +395,14 @@ void Draw_GrapplingHook(entity this)
 
        atrans = WarpZone_TransformOrigin(WarpZone_trace_transform, a);
 
-       switch(this.HookType)
-       {
+       switch (this.HookType) {
                default:
                case NET_ENT_CLIENT_HOOK:
-                       if(vdist(trace_endpos - atrans, >, 0.5))
-                       {
+                       if (vdist(trace_endpos - atrans, >, 0.5)) {
                                setorigin(this, trace_endpos); // hook endpoint!
                                this.angles = vectoangles(trace_endpos - atrans);
                                this.drawmask = MASK_NORMAL;
-                       }
-                       else
-                       {
+                       } else {
                                this.drawmask = 0;
                        }
                        break;
@@ -411,8 +411,7 @@ void Draw_GrapplingHook(entity this)
                        break;
        }
 
-       switch(this.HookType)
-       {
+       switch (this.HookType) {
                default:
                case NET_ENT_CLIENT_HOOK:
                        break;
@@ -424,13 +423,13 @@ void Draw_GrapplingHook(entity this)
 
 void Remove_GrapplingHook(entity this)
 {
-       sound (this, CH_SHOTS_SINGLE, SND_Null, VOL_BASE, ATTEN_NORM);
+       sound(this, CH_SHOTS_SINGLE, SND_Null, VOL_BASE, ATTEN_NORM);
 
-       for(int slot = 0; slot < MAX_WEAPONSLOTS; ++slot)
-       {
+       for (int slot = 0; slot < MAX_WEAPONSLOTS; ++slot) {
                entity wep = viewmodels[slot];
-               if(wep.hook == this)
+               if (wep.hook == this) {
                        wep.hook = NULL;
+               }
        }
 }
 
@@ -445,17 +444,16 @@ NET_HANDLE(ENT_CLIENT_HOOK, bool bIsNew)
 
        InterpolateOrigin_Undo(this);
 
-       if(sf & 1)
-       {
+       if (sf & 1) {
                int myowner = ReadByte();
                int slot = ReadByte();
                this.owner = playerslots[myowner - 1];
                this.sv_entnum = myowner;
-               if(myowner == player_localentnum)
+               if (myowner == player_localentnum) {
                        viewmodels[slot].hook = this;
+               }
                this.cnt = slot;
-               switch(this.HookType)
-               {
+               switch (this.HookType) {
                        default:
                        case NET_ENT_CLIENT_HOOK:
                                this.HookRange = 0;
@@ -465,15 +463,13 @@ NET_HANDLE(ENT_CLIENT_HOOK, bool bIsNew)
                                break;
                }
        }
-       if(sf & 2)
-       {
+       if (sf & 2) {
                this.origin_x = ReadCoord();
                this.origin_y = ReadCoord();
                this.origin_z = ReadCoord();
                setorigin(this, this.origin);
        }
-       if(sf & 4)
-       {
+       if (sf & 4) {
                this.velocity_x = ReadCoord();
                this.velocity_y = ReadCoord();
                this.velocity_z = ReadCoord();
@@ -481,14 +477,12 @@ NET_HANDLE(ENT_CLIENT_HOOK, bool bIsNew)
 
        InterpolateOrigin_Note(this);
 
-       if(bIsNew || !this.teleport_time)
-       {
+       if (bIsNew || !this.teleport_time) {
                this.draw = Draw_GrapplingHook;
                IL_PUSH(g_drawables, this);
                this.entremove = Remove_GrapplingHook;
 
-               switch(this.HookType)
-               {
+               switch (this.HookType) {
                        default:
                        case NET_ENT_CLIENT_HOOK:
                                // for the model
@@ -496,7 +490,7 @@ NET_HANDLE(ENT_CLIENT_HOOK, bool bIsNew)
                                this.drawmask = MASK_NORMAL;
                                break;
                        case NET_ENT_CLIENT_ARC_BEAM:
-                               sound (this, CH_SHOTS_SINGLE, SND_LGBEAM_FLY, VOL_BASE, ATTEN_NORM);
+                               sound(this, CH_SHOTS_SINGLE, SND_LGBEAM_FLY, VOL_BASE, ATTEN_NORM);
                                break;
                }
        }
index bc9e94767a45177e35b3dd788f283f3beeeb7c00..59d0a6761fa60cb7828e1b24b1670ff0f2c079e4 100644 (file)
@@ -5,18 +5,18 @@ REGISTER_NET_TEMP(TE_CSQC_SHOCKWAVEPARTICLE)
 #ifdef SVQC
 spawnfunc(weapon_shockwave)
 {
-       //if(autocvar_sv_q3acompat_machineshockwaveswap) // WEAPONTODO
-       if(autocvar_sv_q3acompat_machineshotgunswap)
-       if(this.classname != "droppedweapon")
-       {
-               weapon_defaultspawnfunc(this, WEP_MACHINEGUN);
-               return;
+       // if(autocvar_sv_q3acompat_machineshockwaveswap) // WEAPONTODO
+       if (autocvar_sv_q3acompat_machineshotgunswap) {
+               if (this.classname != "droppedweapon") {
+                       weapon_defaultspawnfunc(this, WEP_MACHINEGUN);
+                       return;
+               }
        }
        weapon_defaultspawnfunc(this, WEP_SHOCKWAVE);
 }
 
 const float MAX_SHOCKWAVE_HITS = 10;
-//#define DEBUG_SHOCKWAVE
+// #define DEBUG_SHOCKWAVE
 
 .float swing_prev;
 .entity swing_alreadyhit;
@@ -34,15 +34,13 @@ void W_Shockwave_Melee_Think(entity this)
        vector targpos;
 
        // check to see if we can still continue, otherwise give up now
-       if(IS_DEAD(this.realowner) && WEP_CVAR(shockwave, melee_no_doubleslap))
-       {
+       if (IS_DEAD(this.realowner) && WEP_CVAR(shockwave, melee_no_doubleslap)) {
                delete(this);
                return;
        }
 
        // set start time of melee
-       if(!this.cnt)
-       {
+       if (!this.cnt) {
                this.cnt = time;
                W_PlayStrengthSound(this.realowner);
        }
@@ -56,8 +54,7 @@ void W_Shockwave_Melee_Think(entity this)
        f = ((1 - swing) * WEP_CVAR(shockwave, melee_traces));
 
        // perform the traces needed for this frame
-       for(i=this.swing_prev; i < f; ++i)
-       {
+       for (i = this.swing_prev; i < f; ++i) {
                swing_factor = ((1 - (i / WEP_CVAR(shockwave, melee_traces))) * 2 - 1);
 
                targpos = (this.realowner.origin + this.realowner.view_ofs
@@ -82,17 +79,17 @@ void W_Shockwave_Melee_Think(entity this)
 
                is_player = (IS_PLAYER(trace_ent) || trace_ent.classname == "body" || IS_MONSTER(trace_ent));
 
-               if((trace_fraction < 1) // if trace is good, apply the damage and remove this if necessary
+               if ((trace_fraction < 1) // if trace is good, apply the damage and remove this if necessary
                        && (trace_ent.takedamage == DAMAGE_AIM)
                        && (trace_ent != this.swing_alreadyhit)
-                       && (is_player || WEP_CVAR(shockwave, melee_nonplayerdamage)))
-               {
+                       && (is_player || WEP_CVAR(shockwave, melee_nonplayerdamage))) {
                        target_victim = trace_ent; // so it persists through other calls
 
-                       if(is_player) // this allows us to be able to nerf the non-player damage done in e.g. assault or onslaught
+                       if (is_player) { // this allows us to be able to nerf the non-player damage done in e.g. assault or onslaught
                                swing_damage = (WEP_CVAR(shockwave, melee_damage) * min(1, swing_factor + 1));
-                       else
+                       } else {
                                swing_damage = (WEP_CVAR(shockwave, melee_nonplayerdamage) * min(1, swing_factor + 1));
+                       }
 
                        // trigger damage with this calculated info
                        Damage(
@@ -106,10 +103,10 @@ void W_Shockwave_Melee_Think(entity this)
                        );
 
                        // handle accuracy
-                       if(accuracy_isgooddamage(this.realowner, target_victim))
-                               { accuracy_add(this.realowner, WEP_SHOCKWAVE.m_id, 0, swing_damage); }
+                       if (accuracy_isgooddamage(this.realowner, target_victim))
+                       { accuracy_add(this.realowner, WEP_SHOCKWAVE.m_id, 0, swing_damage); }
 
-                       #ifdef DEBUG_SHOCKWAVE
+#ifdef DEBUG_SHOCKWAVE
                        LOG_INFOF(
                                "MELEE: %s hitting %s with %f damage (factor: %f) at %f time.",
                                this.realowner.netname,
@@ -118,30 +115,24 @@ void W_Shockwave_Melee_Think(entity this)
                                swing_factor,
                                time
                        );
-                       #endif
+#endif
 
                        // allow multiple hits with one swing, but not against the same player twice
-                       if(WEP_CVAR(shockwave, melee_multihit))
-                       {
+                       if (WEP_CVAR(shockwave, melee_multihit)) {
                                this.swing_alreadyhit = target_victim;
                                continue; // move along to next trace
-                       }
-                       else
-                       {
+                       } else {
                                delete(this);
                                return;
                        }
                }
        }
 
-       if(time >= this.cnt + meleetime)
-       {
+       if (time >= this.cnt + meleetime) {
                // melee is finished
                delete(this);
                return;
-       }
-       else
-       {
+       } else {
                // set up next frame
                this.swing_prev = i;
                this.nextthink = time;
@@ -161,11 +152,7 @@ void W_Shockwave_Melee(Weapon thiswep, entity actor, .entity weaponentity, int f
 }
 
 // SHOCKWAVE ATTACK MODE
-float W_Shockwave_Attack_CheckSpread(
-       vector targetorg,
-       vector nearest_on_line,
-       vector sw_shotorg,
-       vector attack_endpos)
+float W_Shockwave_Attack_CheckSpread(vector targetorg, vector nearest_on_line, vector sw_shotorg, vector attack_endpos)
 {
        float spreadlimit;
        float distance_of_attack = vlen(sw_shotorg - attack_endpos);
@@ -174,27 +161,21 @@ float W_Shockwave_Attack_CheckSpread(
        spreadlimit = (distance_of_attack ? min(1, (vlen(sw_shotorg - nearest_on_line) / distance_of_attack)) : 1);
        spreadlimit =
                (
-                       (WEP_CVAR(shockwave, blast_spread_min) * (1 - spreadlimit))
-                       +
-                       (WEP_CVAR(shockwave, blast_spread_max) * spreadlimit)
+               (WEP_CVAR(shockwave, blast_spread_min) * (1 - spreadlimit))
+               +
+               (WEP_CVAR(shockwave, blast_spread_max) * spreadlimit)
                );
 
-       if(
+       if (
                (spreadlimit && (distance_from_line <= spreadlimit))
                &&
                ((vlen(normalize(targetorg - sw_shotorg) - normalize(attack_endpos - sw_shotorg)) * RAD2DEG) <= 90)
        )
-               { return bound(0, (distance_from_line / spreadlimit), 1); }
-       else
-               { return false; }
+       { return bound(0, (distance_from_line / spreadlimit), 1); } else
+       { return false; }
 }
 
-float W_Shockwave_Attack_IsVisible(
-       entity actor,
-       entity head,
-       vector nearest_on_line,
-       vector sw_shotorg,
-       vector attack_endpos)
+float W_Shockwave_Attack_IsVisible(entity actor, entity head, vector nearest_on_line, vector sw_shotorg, vector attack_endpos)
 {
        vector nearest_to_attacker = head.WarpZone_findradius_nearest;
        vector center = (head.origin + (head.mins + head.maxs) * 0.5);
@@ -202,48 +183,38 @@ float W_Shockwave_Attack_IsVisible(
        float i;
 
        // STEP ONE: Check if the nearest point is clear
-       if(W_Shockwave_Attack_CheckSpread(nearest_to_attacker, nearest_on_line, sw_shotorg, attack_endpos))
-       {
+       if (W_Shockwave_Attack_CheckSpread(nearest_to_attacker, nearest_on_line, sw_shotorg, attack_endpos)) {
                WarpZone_TraceLine(sw_shotorg, nearest_to_attacker, MOVE_NOMONSTERS, actor);
-               if(trace_fraction == 1) { return true; } // yes, the nearest point is clear and we can allow the damage
+               if (trace_fraction == 1) { return true; } // yes, the nearest point is clear and we can allow the damage
        }
 
        // STEP TWO: Check if shotorg to center point is clear
-       if(W_Shockwave_Attack_CheckSpread(center, nearest_on_line, sw_shotorg, attack_endpos))
-       {
+       if (W_Shockwave_Attack_CheckSpread(center, nearest_on_line, sw_shotorg, attack_endpos)) {
                WarpZone_TraceLine(sw_shotorg, center, MOVE_NOMONSTERS, actor);
-               if(trace_fraction == 1) { return true; } // yes, the center point is clear and we can allow the damage
+               if (trace_fraction == 1) { return true; } // yes, the center point is clear and we can allow the damage
        }
 
        // STEP THREE: Check each corner to see if they are clear
-       for(i=1; i<=8; ++i)
-       {
+       for (i = 1; i <= 8; ++i) {
                corner = get_corner_position(head, i);
-               if(W_Shockwave_Attack_CheckSpread(corner, nearest_on_line, sw_shotorg, attack_endpos))
-               {
+               if (W_Shockwave_Attack_CheckSpread(corner, nearest_on_line, sw_shotorg, attack_endpos)) {
                        WarpZone_TraceLine(sw_shotorg, corner, MOVE_NOMONSTERS, actor);
-                       if(trace_fraction == 1) { return true; } // yes, this corner is clear and we can allow the damage
+                       if (trace_fraction == 1) { return true; } // yes, this corner is clear and we can allow the damage
                }
        }
 
        return false;
 }
 
-float W_Shockwave_Attack_CheckHit(
-       float queue,
-       entity head,
-       vector final_force,
-       float final_damage)
+float W_Shockwave_Attack_CheckHit(float queue, entity head, vector final_force, float final_damage)
 {
-       if(!head) { return false; }
+       if (!head) { return false; }
        float i;
 
-       for(i = 0; i <= queue; ++i)
-       {
-               if(shockwave_hit[i] == head)
-               {
-                       if(vlen2(final_force) > vlen2(shockwave_hit_force[i])) { shockwave_hit_force[i] = final_force; }
-                       if(final_damage > shockwave_hit_damage[i]) { shockwave_hit_damage[i] = final_damage; }
+       for (i = 0; i <= queue; ++i) {
+               if (shockwave_hit[i] == head) {
+                       if (vlen2(final_force) > vlen2(shockwave_hit_force[i])) { shockwave_hit_force[i] = final_force; }
+                       if (final_damage > shockwave_hit_damage[i]) { shockwave_hit_damage[i] = final_damage; }
                        return false;
                }
        }
@@ -286,7 +257,7 @@ void W_Shockwave_Attack(entity actor, .entity weaponentity)
        vector attack_hitpos = trace_endpos;
        float distance_to_end = vlen(w_shotorg - attack_endpos);
        float distance_to_hit = vlen(w_shotorg - attack_hitpos);
-       //entity transform = WarpZone_trace_transform;
+       // entity transform = WarpZone_trace_transform;
 
        // do the firing effect now
        W_Shockwave_Send(actor);
@@ -305,20 +276,21 @@ void W_Shockwave_Attack(entity actor, .entity weaponentity)
        head = WarpZone_FindRadius(
                attack_hitpos,
                max(
-                       WEP_CVAR(shockwave, blast_splash_radius),
-                       WEP_CVAR(shockwave, blast_jump_radius)
+               WEP_CVAR(shockwave, blast_splash_radius),
+               WEP_CVAR(shockwave, blast_jump_radius)
                ),
                false
-       );
+               );
 
        float lag = ((IS_REAL_CLIENT(actor)) ? ANTILAG_LATENCY(actor) : 0);
        bool noantilag = ((IS_CLIENT(actor)) ? CS(actor).cvar_cl_noantilag : false);
-       if(lag < 0.001)
+       if (lag < 0.001) {
                lag = 0;
-       if(autocvar_g_antilag == 0 || noantilag)
+       }
+       if (autocvar_g_antilag == 0 || noantilag) {
                lag = 0; // only do hitscan, but no antilag
-       if(lag)
-       {
+       }
+       if (lag) {
                FOREACH_CLIENT(IS_PLAYER(it) && it != actor, antilag_takeback(it, CS(it), time - lag));
                IL_EACH(g_monsters, it != actor,
                {
@@ -326,58 +298,55 @@ void W_Shockwave_Attack(entity actor, .entity weaponentity)
                });
        }
 
-       while(head)
-       {
-               if(head.takedamage)
-               {
+       while (head) {
+               if (head.takedamage) {
                        float distance_to_head = vlen(attack_hitpos - head.WarpZone_findradius_nearest);
 
-                       if((head == actor) && (distance_to_head <= WEP_CVAR(shockwave, blast_jump_radius)))
-                       {
+                       if ((head == actor) && (distance_to_head <= WEP_CVAR(shockwave, blast_jump_radius))) {
                                // ========================
                                //  BLAST JUMP CALCULATION
                                // ========================
 
                                // calculate importance of distance and accuracy for this attack
-                               multiplier_from_accuracy = (1 -
-                                       (distance_to_head ?
-                                               min(1, (distance_to_head / WEP_CVAR(shockwave, blast_jump_radius)))
-                                               :
-                                               0
+                               multiplier_from_accuracy = (1
+                                       - (distance_to_head
+                                       ? min(1, (distance_to_head / WEP_CVAR(shockwave, blast_jump_radius)))
+                                       :
+                                       0
                                        )
-                               );
-                               multiplier_from_distance = (1 -
-                                       (distance_to_hit ?
-                                               min(1, (distance_to_hit / distance_to_end))
-                                               :
-                                               0
+                                       );
+                               multiplier_from_distance = (1
+                                       - (distance_to_hit
+                                       ? min(1, (distance_to_hit / distance_to_end))
+                                       :
+                                       0
                                        )
-                               );
+                                       );
                                multiplier =
                                        max(
-                                               WEP_CVAR(shockwave, blast_jump_multiplier_min),
-                                               (
-                                                       (multiplier_from_accuracy * WEP_CVAR(shockwave, blast_jump_multiplier_accuracy))
-                                                       +
-                                                       (multiplier_from_distance * WEP_CVAR(shockwave, blast_jump_multiplier_distance))
-                                               )
+                                       WEP_CVAR(shockwave, blast_jump_multiplier_min),
+                                       (
+                                               (multiplier_from_accuracy * WEP_CVAR(shockwave, blast_jump_multiplier_accuracy))
+                                               +
+                                               (multiplier_from_distance * WEP_CVAR(shockwave, blast_jump_multiplier_distance))
+                                       )
                                        );
 
                                // calculate damage from multiplier: 1 = "highest" damage, 0 = "lowest" edgedamage
                                final_damage =
                                        (
-                                               (WEP_CVAR(shockwave, blast_jump_damage) * multiplier)
-                                               +
-                                               (WEP_CVAR(shockwave, blast_jump_edgedamage) * (1 - multiplier))
+                                       (WEP_CVAR(shockwave, blast_jump_damage) * multiplier)
+                                       +
+                                       (WEP_CVAR(shockwave, blast_jump_edgedamage) * (1 - multiplier))
                                        );
 
                                // figure out the direction of force
                                vel = normalize(vec2(head.velocity));
                                vel *=
                                        (
-                                               bound(0, (vlen(vel) / autocvar_sv_maxspeed), 1)
-                                               *
-                                               WEP_CVAR(shockwave, blast_jump_force_velocitybias)
+                                       bound(0, (vlen(vel) / autocvar_sv_maxspeed), 1)
+                                       *
+                                       WEP_CVAR(shockwave, blast_jump_force_velocitybias)
                                        );
                                final_force = normalize((CENTER_OR_VIEWOFS(head) - attack_hitpos) + vel);
 
@@ -396,7 +365,7 @@ void W_Shockwave_Attack(entity actor, .entity weaponentity)
                                        final_force
                                );
 
-                               #ifdef DEBUG_SHOCKWAVE
+#ifdef DEBUG_SHOCKWAVE
                                LOG_INFOF(
                                        "SELF HIT: multiplier = %f, damage = %f, force = %f... "
                                        "multiplier_from_accuracy = %f, multiplier_from_distance = %f.",
@@ -406,60 +375,58 @@ void W_Shockwave_Attack(entity actor, .entity weaponentity)
                                        multiplier_from_accuracy,
                                        multiplier_from_distance
                                );
-                               #endif
-                       }
-                       else if(distance_to_head <= WEP_CVAR(shockwave, blast_splash_radius))
-                       {
+#endif
+                       } else if (distance_to_head <= WEP_CVAR(shockwave, blast_splash_radius)) {
                                // ==========================
                                //  BLAST SPLASH CALCULATION
                                // ==========================
 
                                // calculate importance of distance and accuracy for this attack
-                               multiplier_from_accuracy = (1 -
-                                       (distance_to_head ?
-                                               min(1, (distance_to_head / WEP_CVAR(shockwave, blast_splash_radius)))
-                                               :
-                                               0
+                               multiplier_from_accuracy = (1
+                                       - (distance_to_head
+                                       ? min(1, (distance_to_head / WEP_CVAR(shockwave, blast_splash_radius)))
+                                       :
+                                       0
                                        )
-                               );
-                               multiplier_from_distance = (1 -
-                                       (distance_to_hit ?
-                                               min(1, (distance_to_hit / distance_to_end))
-                                               :
-                                               0
+                                       );
+                               multiplier_from_distance = (1
+                                       - (distance_to_hit
+                                       ? min(1, (distance_to_hit / distance_to_end))
+                                       :
+                                       0
                                        )
-                               );
+                                       );
                                multiplier =
                                        max(
-                                               WEP_CVAR(shockwave, blast_splash_multiplier_min),
-                                               (
-                                                       (multiplier_from_accuracy * WEP_CVAR(shockwave, blast_splash_multiplier_accuracy))
-                                                       +
-                                                       (multiplier_from_distance * WEP_CVAR(shockwave, blast_splash_multiplier_distance))
-                                               )
+                                       WEP_CVAR(shockwave, blast_splash_multiplier_min),
+                                       (
+                                               (multiplier_from_accuracy * WEP_CVAR(shockwave, blast_splash_multiplier_accuracy))
+                                               +
+                                               (multiplier_from_distance * WEP_CVAR(shockwave, blast_splash_multiplier_distance))
+                                       )
                                        );
 
                                // calculate damage from multiplier: 1 = "highest" damage, 0 = "lowest" edgedamage
                                final_damage =
                                        (
-                                               (WEP_CVAR(shockwave, blast_splash_damage) * multiplier)
-                                               +
-                                               (WEP_CVAR(shockwave, blast_splash_edgedamage) * (1 - multiplier))
+                                       (WEP_CVAR(shockwave, blast_splash_damage) * multiplier)
+                                       +
+                                       (WEP_CVAR(shockwave, blast_splash_edgedamage) * (1 - multiplier))
                                        );
 
                                // figure out the direction of force
                                final_force = (w_shotdir * WEP_CVAR(shockwave, blast_splash_force_forwardbias));
                                final_force = normalize(CENTER_OR_VIEWOFS(head) - (attack_hitpos - final_force));
-                               //te_lightning2(NULL, attack_hitpos, (attack_hitpos + (final_force * 200)));
+                               // te_lightning2(NULL, attack_hitpos, (attack_hitpos + (final_force * 200)));
 
                                // now multiply the direction by force units
                                final_force *= (WEP_CVAR(shockwave, blast_splash_force) * multiplier);
                                final_force.z *= WEP_CVAR(shockwave, blast_force_zscale);
 
                                // queue damage with this calculated info
-                               if(W_Shockwave_Attack_CheckHit(queue, head, final_force, final_damage)) { queue = min(queue + 1, MAX_SHOCKWAVE_HITS); }
+                               if (W_Shockwave_Attack_CheckHit(queue, head, final_force, final_damage)) { queue = min(queue + 1, MAX_SHOCKWAVE_HITS); }
 
-                               #ifdef DEBUG_SHOCKWAVE
+#ifdef DEBUG_SHOCKWAVE
                                LOG_INFOF(
                                        "SPLASH HIT: multiplier = %f, damage = %f, force = %f... "
                                        "multiplier_from_accuracy = %f, multiplier_from_distance = %f.",
@@ -469,7 +436,7 @@ void W_Shockwave_Attack(entity actor, .entity weaponentity)
                                        multiplier_from_accuracy,
                                        multiplier_from_distance
                                );
-                               #endif
+#endif
                        }
                }
                head = head.chain;
@@ -477,10 +444,8 @@ void W_Shockwave_Attack(entity actor, .entity weaponentity)
 
        // cone damage trace
        head = WarpZone_FindRadius(w_shotorg, WEP_CVAR(shockwave, blast_distance), false);
-       while(head)
-       {
-               if((head != actor) && head.takedamage)
-               {
+       while (head) {
+               if ((head != actor) && head.takedamage) {
                        // ========================
                        //  BLAST CONE CALCULATION
                        // ========================
@@ -499,56 +464,55 @@ void W_Shockwave_Attack(entity actor, .entity weaponentity)
                        vector nearest_on_line = (w_shotorg + a * w_shotdir);
                        vector nearest_to_attacker = WarpZoneLib_NearestPointOnBox(center + head.mins, center + head.maxs, nearest_on_line);
 
-                       if((vdist(head.WarpZone_findradius_dist, <=, WEP_CVAR(shockwave, blast_distance)))
-                               && (W_Shockwave_Attack_IsVisible(actor, head, nearest_on_line, w_shotorg, attack_endpos)))
-                       {
+                       if ((vdist(head.WarpZone_findradius_dist, <=, WEP_CVAR(shockwave, blast_distance)))
+                               && (W_Shockwave_Attack_IsVisible(actor, head, nearest_on_line, w_shotorg, attack_endpos))) {
                                // calculate importance of distance and accuracy for this attack
-                               multiplier_from_accuracy = (1 -
-                                       W_Shockwave_Attack_CheckSpread(
-                                               nearest_to_attacker,
-                                               nearest_on_line,
-                                               w_shotorg,
-                                               attack_endpos
+                               multiplier_from_accuracy = (1
+                                       W_Shockwave_Attack_CheckSpread(
+                                       nearest_to_attacker,
+                                       nearest_on_line,
+                                       w_shotorg,
+                                       attack_endpos
                                        )
-                               );
-                               multiplier_from_distance = (1 -
-                                       (distance_to_hit ?
-                                               min(1, (vlen(head.WarpZone_findradius_dist) / distance_to_end))
-                                               :
-                                               0
+                                       );
+                               multiplier_from_distance = (1
+                                       - (distance_to_hit
+                                       ? min(1, (vlen(head.WarpZone_findradius_dist) / distance_to_end))
+                                       :
+                                       0
                                        )
-                               );
+                                       );
                                multiplier =
                                        max(
-                                               WEP_CVAR(shockwave, blast_multiplier_min),
-                                               (
-                                                       (multiplier_from_accuracy * WEP_CVAR(shockwave, blast_multiplier_accuracy))
-                                                       +
-                                                       (multiplier_from_distance * WEP_CVAR(shockwave, blast_multiplier_distance))
-                                               )
+                                       WEP_CVAR(shockwave, blast_multiplier_min),
+                                       (
+                                               (multiplier_from_accuracy * WEP_CVAR(shockwave, blast_multiplier_accuracy))
+                                               +
+                                               (multiplier_from_distance * WEP_CVAR(shockwave, blast_multiplier_distance))
+                                       )
                                        );
 
                                // calculate damage from multiplier: 1 = "highest" damage, 0 = "lowest" edgedamage
                                final_damage =
                                        (
-                                               (WEP_CVAR(shockwave, blast_damage) * multiplier)
-                                               +
-                                               (WEP_CVAR(shockwave, blast_edgedamage) * (1 - multiplier))
+                                       (WEP_CVAR(shockwave, blast_damage) * multiplier)
+                                       +
+                                       (WEP_CVAR(shockwave, blast_edgedamage) * (1 - multiplier))
                                        );
 
                                // figure out the direction of force
                                final_force = (w_shotdir * WEP_CVAR(shockwave, blast_force_forwardbias));
                                final_force = normalize(center - (nearest_on_line - final_force));
-                               //te_lightning2(NULL, nearest_on_line, (attack_hitpos + (final_force * 200)));
+                               // te_lightning2(NULL, nearest_on_line, (attack_hitpos + (final_force * 200)));
 
                                // now multiply the direction by force units
                                final_force *= (WEP_CVAR(shockwave, blast_force) * multiplier);
                                final_force.z *= WEP_CVAR(shockwave, blast_force_zscale);
 
                                // queue damage with this calculated info
-                               if(W_Shockwave_Attack_CheckHit(queue, head, final_force, final_damage)) { queue = min(queue + 1, MAX_SHOCKWAVE_HITS); }
+                               if (W_Shockwave_Attack_CheckHit(queue, head, final_force, final_damage)) { queue = min(queue + 1, MAX_SHOCKWAVE_HITS); }
 
-                               #ifdef DEBUG_SHOCKWAVE
+#ifdef DEBUG_SHOCKWAVE
                                LOG_INFOF(
                                        "BLAST HIT: multiplier = %f, damage = %f, force = %f... "
                                        "multiplier_from_accuracy = %f, multiplier_from_distance = %f.",
@@ -558,17 +522,16 @@ void W_Shockwave_Attack(entity actor, .entity weaponentity)
                                        multiplier_from_accuracy,
                                        multiplier_from_distance
                                );
-                               #endif
+#endif
                        }
                }
                head = head.chain;
        }
 
-       for(i = 1; i <= queue; ++i)
-       {
-               head = shockwave_hit[i-1];
-               final_force = shockwave_hit_force[i-1];
-               final_damage = shockwave_hit_damage[i-1];
+       for (i = 1; i <= queue; ++i) {
+               head = shockwave_hit[i - 1];
+               final_force = shockwave_hit_force[i - 1];
+               final_damage = shockwave_hit_damage[i - 1];
 
                Damage(
                        head,
@@ -580,25 +543,25 @@ void W_Shockwave_Attack(entity actor, .entity weaponentity)
                        final_force
                );
 
-               if(accuracy_isgooddamage(actor, head))
+               if (accuracy_isgooddamage(actor, head)) {
                        accuracy_add(actor, WEP_SHOCKWAVE.m_id, 0, final_damage);
+               }
 
-               #ifdef DEBUG_SHOCKWAVE
+#ifdef DEBUG_SHOCKWAVE
                LOG_INFOF(
                        "SHOCKWAVE by %s: damage = %f, force = %f.",
                        actor.netname,
                        final_damage,
                        vlen(final_force)
                );
-               #endif
+#endif
 
-               shockwave_hit[i-1] = NULL;
-               shockwave_hit_force[i-1] = '0 0 0';
-               shockwave_hit_damage[i-1] = 0;
+               shockwave_hit[i - 1] = NULL;
+               shockwave_hit_force[i - 1] = '0 0 0';
+               shockwave_hit_damage[i - 1] = 0;
        }
 
-       if(lag)
-       {
+       if (lag) {
                FOREACH_CLIENT(IS_PLAYER(it) && it != actor, antilag_restore(it, CS(it)));
                IL_EACH(g_monsters, it != actor,
                {
@@ -609,54 +572,48 @@ void W_Shockwave_Attack(entity actor, .entity weaponentity)
 
 METHOD(Shockwave, wr_aim, void(entity thiswep, entity actor, .entity weaponentity))
 {
-    if(vdist(actor.origin - actor.enemy.origin, <=, WEP_CVAR(shockwave, melee_range)))
-        { PHYS_INPUT_BUTTON_ATCK2(actor) = bot_aim(actor, weaponentity, 1000000, 0, 0.001, false); }
-    else
-        { PHYS_INPUT_BUTTON_ATCK(actor) = bot_aim(actor, weaponentity, 1000000, 0, 0.001, false); }
+       if (vdist(actor.origin - actor.enemy.origin, <=, WEP_CVAR(shockwave, melee_range)))
+       { PHYS_INPUT_BUTTON_ATCK2(actor) = bot_aim(actor, weaponentity, 1000000, 0, 0.001, false); } else
+       { PHYS_INPUT_BUTTON_ATCK(actor) = bot_aim(actor, weaponentity, 1000000, 0, 0.001, false); }
 }
 METHOD(Shockwave, wr_think, void(entity thiswep, entity actor, .entity weaponentity, int fire))
 {
-    if(fire & 1)
-    {
-        if(time >= actor.(weaponentity).shockwave_blasttime) // handle refire separately so the secondary can be fired straight after a primary
-        {
-            if(weapon_prepareattack(thiswep, actor, weaponentity, false, WEP_CVAR(shockwave, blast_animtime)))
-            {
-                W_Shockwave_Attack(actor, weaponentity);
-                actor.(weaponentity).shockwave_blasttime = time + WEP_CVAR(shockwave, blast_refire) * W_WeaponRateFactor(actor);
-                weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, WEP_CVAR(shockwave, blast_animtime), w_ready);
-            }
-        }
-    }
-    else if(fire & 2)
-    {
-        //if(actor.clip_load >= 0) // we are not currently reloading
-        if(weapon_prepareattack(thiswep, actor, weaponentity, true, WEP_CVAR(shockwave, melee_refire)))
-        {
-            // attempt forcing playback of the anim by switching to another anim (that we never play) here...
-            weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, 0, W_Shockwave_Melee);
-        }
-    }
+       if (fire & 1) {
+               if (time >= actor.(weaponentity).shockwave_blasttime) { // handle refire separately so the secondary can be fired straight after a primary
+                       if (weapon_prepareattack(thiswep, actor, weaponentity, false, WEP_CVAR(shockwave, blast_animtime))) {
+                               W_Shockwave_Attack(actor, weaponentity);
+                               actor.(weaponentity).shockwave_blasttime = time + WEP_CVAR(shockwave, blast_refire) * W_WeaponRateFactor(actor);
+                               weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, WEP_CVAR(shockwave, blast_animtime), w_ready);
+                       }
+               }
+       } else if (fire & 2) {
+               // if(actor.clip_load >= 0) // we are not currently reloading
+               if (weapon_prepareattack(thiswep, actor, weaponentity, true, WEP_CVAR(shockwave, melee_refire))) {
+                       // attempt forcing playback of the anim by switching to another anim (that we never play) here...
+                       weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, 0, W_Shockwave_Melee);
+               }
+       }
 }
 METHOD(Shockwave, wr_checkammo1, bool(entity thiswep, entity actor, .entity weaponentity))
 {
-    return true; // infinite ammo
+       return true; // infinite ammo
 }
 METHOD(Shockwave, wr_checkammo2, bool(entity thiswep, entity actor, .entity weaponentity))
 {
-    // shockwave has infinite ammo
-    return true;
+       // shockwave has infinite ammo
+       return true;
 }
 METHOD(Shockwave, wr_suicidemessage, Notification(entity thiswep))
 {
-    return WEAPON_THINKING_WITH_PORTALS;
+       return WEAPON_THINKING_WITH_PORTALS;
 }
 METHOD(Shockwave, wr_killmessage, Notification(entity thiswep))
 {
-    if(w_deathtype & HITTYPE_SECONDARY)
-        return WEAPON_SHOCKWAVE_MURDER_SLAP;
-    else
-        return WEAPON_SHOCKWAVE_MURDER;
+       if (w_deathtype & HITTYPE_SECONDARY) {
+               return WEAPON_SHOCKWAVE_MURDER_SLAP;
+       } else {
+               return WEAPON_SHOCKWAVE_MURDER;
+       }
 }
 
 #endif
@@ -669,7 +626,7 @@ void Draw_Shockwave(entity this)
 {
        // fading/removal control
        float a = bound(0, (SW_MAXALPHA - ((time - this.sw_time) / SW_FADETIME)), SW_MAXALPHA);
-       if(a < ALPHA_MIN_VISIBLE) { delete(this); }
+       if (a < ALPHA_MIN_VISIBLE) { delete(this); }
 
        // WEAPONTODO: save this only once when creating the entity
        vector sw_color = entcs_GetColor(this.sv_entnum - 1); // GetTeamRGB(entcs_GetTeam(this.sv_entnum));
@@ -679,7 +636,7 @@ void Draw_Shockwave(entity this)
 
        vectorvectors(this.sw_shotdir);
        vector right = v_right; // save this for when we do makevectors later
-       vector up = v_up; // save this for when we do makevectors later
+       vector up = v_up;       // save this for when we do makevectors later
 
        // WEAPONTODO: combine and simplify these calculations
        vector min_end = ((this.sw_shotorg + (this.sw_shotdir * SW_DISTTOMIN)) + (up * this.sw_spread_min));
@@ -693,8 +650,7 @@ void Draw_Shockwave(entity this)
 
        vector deviation, angle = '0 0 0';
        float counter, divisions = 20;
-       for(counter = 0; counter < divisions; ++counter)
-       {
+       for (counter = 0; counter < divisions; ++counter) {
                // perfect circle effect lines
                makevectors('0 360 0' * (0.75 + (counter - 0.5) / divisions));
                angle.y = v_forward.x;
@@ -705,24 +661,22 @@ void Draw_Shockwave(entity this)
                deviation = ((this.sw_shotdir + (right * deviation.y) + (up * deviation.z)));
                new_min_dist = SW_DISTTOMIN;
                new_min_end = (this.sw_shotorg + (deviation * new_min_dist));
-               //te_lightning2(NULL, new_min_end, this.sw_shotorg);
+               // te_lightning2(NULL, new_min_end, this.sw_shotorg);
 
                // then calculate spread_to_max effect
                deviation = angle * spread_to_max;
                deviation = ((this.sw_shotdir + (right * deviation.y) + (up * deviation.z)));
                new_max_dist = vlen(new_min_end - endpos);
                new_max_end = (new_min_end + (deviation * new_max_dist));
-               //te_lightning2(NULL, new_end, prev_min_end);
+               // te_lightning2(NULL, new_end, prev_min_end);
 
 
-               if(counter == 0)
-               {
+               if (counter == 0) {
                        first_min_end = new_min_end;
                        first_max_end = new_max_end;
                }
 
-               if(counter >= 1)
-               {
+               if (counter >= 1) {
                        // draw from shot origin to min spread radius
                        R_BeginPolygon("", DRAWFLAG_NORMAL);
                        R_PolygonVertex(prev_min_end, '0 0 0', sw_color, a);
@@ -743,8 +697,7 @@ void Draw_Shockwave(entity this)
                prev_max_end = new_max_end;
 
                // last division only
-               if((counter + 1) == divisions)
-               {
+               if ((counter + 1) == divisions) {
                        // draw from shot origin to min spread radius
                        R_BeginPolygon("", DRAWFLAG_NORMAL);
                        R_PolygonVertex(prev_min_end, '0 0 0', sw_color, a);
@@ -776,8 +729,12 @@ void Net_ReadShockwaveParticle()
        shockwave.draw = Draw_Shockwave;
        IL_PUSH(g_drawables, shockwave);
 
-       shockwave.sw_shotorg_x = ReadCoord(); shockwave.sw_shotorg_y = ReadCoord(); shockwave.sw_shotorg_z = ReadCoord();
-       shockwave.sw_shotdir_x = ReadCoord(); shockwave.sw_shotdir_y = ReadCoord(); shockwave.sw_shotdir_z = ReadCoord();
+       shockwave.sw_shotorg_x = ReadCoord();
+       shockwave.sw_shotorg_y = ReadCoord();
+       shockwave.sw_shotorg_z = ReadCoord();
+       shockwave.sw_shotdir_x = ReadCoord();
+       shockwave.sw_shotdir_y = ReadCoord();
+       shockwave.sw_shotdir_z = ReadCoord();
 
        shockwave.sw_distance = ReadShort();
        shockwave.sw_spread_max = ReadByte();
@@ -790,10 +747,10 @@ void Net_ReadShockwaveParticle()
 
 METHOD(Shockwave, wr_impacteffect, void(entity thiswep, entity actor))
 {
-    // handled by Net_ReadShockwaveParticle
-    //vector org2;
-    //org2 = w_org + w_backoff * 2;
-    //pointparticles(EFFECT_BLASTER_IMPACT, org2, w_backoff * 1000, 1);
+       // handled by Net_ReadShockwaveParticle
+       // vector org2;
+       // org2 = w_org + w_backoff * 2;
+       // pointparticles(EFFECT_BLASTER_IMPACT, org2, w_backoff * 1000, 1);
 }
 
 #endif
index 714a2b8b5853566a8175049433744f69dcdfc4c8..e4188bb009b8058cbcad1c0a6e2ddee2c80a3054 100644 (file)
@@ -10,7 +10,7 @@ CLASS(Tuba, Weapon)
 /* model     */ ATTRIB(Tuba, m_model, Model, MDL_TUBA_ITEM);
 #endif
 /* crosshair */ ATTRIB(Tuba, w_crosshair, string, "gfx/crosshairtuba");
-/* crosshair */ //ATTRIB(Tuba, w_crosshair_size, float, 0.65);
+/* crosshair */ // ATTRIB(Tuba, w_crosshair_size, float, 0.65);
 /* wepimg    */ ATTRIB(Tuba, model2, string, "weapontuba");
 /* refname   */ ATTRIB(Tuba, netname, string, "tuba");
 /* xgettext:no-c-format */
@@ -18,33 +18,33 @@ CLASS(Tuba, Weapon)
 
 #define X(BEGIN, P, END, class, prefix) \
        BEGIN(class) \
-               P(class, prefix, animtime, float, NONE) \
-               P(class, prefix, attenuation, float, NONE) \
-               P(class, prefix, damage, float, NONE) \
-               P(class, prefix, edgedamage, float, NONE) \
-               P(class, prefix, fadetime, float, NONE) \
-               P(class, prefix, force, float, NONE) \
-               P(class, prefix, pitchstep, float, NONE) \
-               P(class, prefix, radius, float, NONE) \
-               P(class, prefix, refire, float, NONE) \
-               P(class, prefix, switchdelay_drop, float, NONE) \
-               P(class, prefix, switchdelay_raise, float, NONE) \
-               P(class, prefix, volume, float, NONE) \
-               P(class, prefix, weaponreplace, string, NONE) \
-               P(class, prefix, weaponstartoverride, float, NONE) \
-               P(class, prefix, weaponstart, float, NONE) \
-               P(class, prefix, weaponthrowable, float, NONE) \
+       P(class, prefix, animtime, float, NONE) \
+       P(class, prefix, attenuation, float, NONE) \
+       P(class, prefix, damage, float, NONE) \
+       P(class, prefix, edgedamage, float, NONE) \
+       P(class, prefix, fadetime, float, NONE) \
+       P(class, prefix, force, float, NONE) \
+       P(class, prefix, pitchstep, float, NONE) \
+       P(class, prefix, radius, float, NONE) \
+       P(class, prefix, refire, float, NONE) \
+       P(class, prefix, switchdelay_drop, float, NONE) \
+       P(class, prefix, switchdelay_raise, float, NONE) \
+       P(class, prefix, volume, float, NONE) \
+       P(class, prefix, weaponreplace, string, NONE) \
+       P(class, prefix, weaponstartoverride, float, NONE) \
+       P(class, prefix, weaponstart, float, NONE) \
+       P(class, prefix, weaponthrowable, float, NONE) \
        END()
-    W_PROPS(X, Tuba, tuba)
+       W_PROPS(X, Tuba, tuba)
 #undef X
 ENDCLASS(Tuba)
 REGISTER_WEAPON(TUBA, tuba, NEW(Tuba));
 
 #ifdef CSQC
 entityclass(Tuba);
-class(Tuba) .int note;
-class(Tuba) .bool tuba_attenuate;
-class(Tuba) .float tuba_volume;
-class(Tuba) .float tuba_volume_initial;
-class(Tuba) .int tuba_instrument;
+class(Tuba).int note;
+class(Tuba).bool tuba_attenuate;
+class(Tuba).float tuba_volume;
+class(Tuba).float tuba_volume_initial;
+class(Tuba).int tuba_instrument;
 #endif
index 2d48e577b8da2bf72b5ae3fa8cf19da46d8b89aa..04df3d3fde1f1fb8d5ee152ce9187e65ef8c7087 100644 (file)
 
 #define emit(T, ...) \
        MACRO_BEGIN \
-       FOREACH_ENTITY_FLOAT_ORDERED(evt_##T##_listener, true, it.evt_##T(__VA_ARGS__)); \
+               FOREACH_ENTITY_FLOAT_ORDERED(evt_##T##_listener, true, it.evt_##T(__VA_ARGS__)); \
        MACRO_END
 
 #define subscribe(listener, T, fn) \
        MACRO_BEGIN \
-       listener.evt_##T = (fn); \
-       listener.evt_##T##_listener = true; \
+               listener.evt_##T = (fn); \
+               listener.evt_##T##_listener = true; \
        MACRO_END
 
 
 
 #define SYSTEM_UPDATE(sys) \
        MACRO_BEGIN \
-       static float t = 0; \
-       float dt = autocvar_xon_sys_##sys##_dt; \
-       float minfps = autocvar_xon_sys_##sys##_minfps; \
-       static float accumulator = 0; \
-       float a = 0; \
-       if (dt) { \
-               accumulator += min(frametime, 1 / (minfps)); \
-       } else { \
-               accumulator += frametime; \
-               dt = accumulator; \
-               a = 1; \
-       } \
-       while (accumulator >= dt) \
-       { \
-               time = t; \
-               FOREACH_COMPONENT(sys, sys_##sys##_update(it, dt)); \
-               t += dt; \
-               accumulator -= dt; \
-       } \
-       if (!a) a = accumulator / dt; \
-       FOREACH_COMPONENT(sys, com_##sys##_interpolate(it, a)); \
+               static float t = 0; \
+               float dt = autocvar_xon_sys_##sys##_dt; \
+               float minfps = autocvar_xon_sys_##sys##_minfps; \
+               static float accumulator = 0; \
+               float a = 0; \
+               if (dt) { \
+                       accumulator += min(frametime, 1 / (minfps)); \
+               } else { \
+                       accumulator += frametime; \
+                       dt = accumulator; \
+                       a = 1; \
+               } \
+               while (accumulator >= dt) { \
+                       time = t; \
+                       FOREACH_COMPONENT(sys, sys_##sys##_update(it, dt)); \
+                       t += dt; \
+                       accumulator -= dt; \
+               } \
+               if (!a) { a = accumulator / dt; } \
+               FOREACH_COMPONENT(sys, com_##sys##_interpolate(it, a)); \
        MACRO_END
index f74e9c2d5526c895fd8b28c1bdd9bb7a884faef0..d74b15c9c9d6e2ff47e0ae99b7eec86970a219b6 100644 (file)
@@ -7,8 +7,9 @@ void sys_phys_fix(entity this, float dt)
        this.movement = PHYS_INPUT_MOVEVALUES(this);
        this.items = STAT(ITEMS, this);
        this.spectatorspeed = STAT(SPECTATORSPEED, this);
-       if (!(PHYS_INPUT_BUTTON_JUMP(this))) // !jump
-               UNSET_JUMP_HELD(this);           // canjump = true
+       if (!(PHYS_INPUT_BUTTON_JUMP(this))) { // !jump
+               UNSET_JUMP_HELD(this); // canjump = true
+       }
        PM_ClientMovement_UpdateStatus(this);
 }
 
index c20ae8bda2065a58ffd01176ae3ebbe5aa4412f1..ea9c69d86e63b6bafa86858b370c595f31bb8d36 100644 (file)
@@ -23,8 +23,8 @@ void sys_phys_monitor(entity this, float dt)
        anticheat_physics(this);
        if (sv_maxidle > 0) {
                if (buttons != CS(this).buttons_old
-                   || CS(this).movement != CS(this).movement_old
-                   || this.v_angle != CS(this).v_angle_old) { CS(this).parm_idlesince = time; }
+                       || CS(this).movement != CS(this).movement_old
+                       || this.v_angle != CS(this).v_angle_old) { CS(this).parm_idlesince = time; }
        }
        PM_check_nickspam(this);
        PM_check_punch(this, dt);
@@ -56,26 +56,26 @@ void sys_phys_spectator_control(entity this)
        float maxspeed_mod = autocvar_sv_spectator_speed_multiplier;
        if (!this.spectatorspeed) { this.spectatorspeed = maxspeed_mod; }
        if ((CS(this).impulse >= 1 && CS(this).impulse <= 19)
-           || (CS(this).impulse >= 200 && CS(this).impulse <= 209)
-           || (CS(this).impulse >= 220 && CS(this).impulse <= 229)
-          ) {
+               || (CS(this).impulse >= 200 && CS(this).impulse <= 209)
+               || (CS(this).impulse >= 220 && CS(this).impulse <= 229)
+       ) {
                if (this.lastclassname != STR_PLAYER) {
                        if (CS(this).impulse == 10
-                           || CS(this).impulse == 15
-                           || CS(this).impulse == 18
-                           || (CS(this).impulse >= 200 && CS(this).impulse <= 209)
-                          ) { this.spectatorspeed = bound(1, this.spectatorspeed + 0.5, 5); } else if (CS(this).impulse == 11) {
+                               || CS(this).impulse == 15
+                               || CS(this).impulse == 18
+                               || (CS(this).impulse >= 200 && CS(this).impulse <= 209)
+                       ) { this.spectatorspeed = bound(1, this.spectatorspeed + 0.5, 5); } else if (CS(this).impulse == 11) {
                                this.spectatorspeed = maxspeed_mod;
                        } else if (CS(this).impulse == 12
-                           || CS(this).impulse == 16
-                           || CS(this).impulse == 19
-                           || (CS(this).impulse >= 220 && CS(this).impulse <= 229)
-                                 ) {
+                               || CS(this).impulse == 16
+                               || CS(this).impulse == 19
+                               || (CS(this).impulse >= 220 && CS(this).impulse <= 229)
+                       ) {
                                this.spectatorspeed = bound(1, this.spectatorspeed - 0.5, 5);
                        } else if (CS(this).impulse >= 1 && CS(this).impulse <= 9) {
                                this.spectatorspeed = 1 + 0.5 * (CS(this).impulse - 1);
                        }
-               }  // otherwise just clear
+               } // otherwise just clear
                CS(this).impulse = 0;
        }
 }
index c265325f8f6c75d20de492fcf1c81211195e5849..89ff64722abdb7e739a66d3980d07a702bcb4a1e 100644 (file)
@@ -1,50 +1,49 @@
 #pragma once
 
 #ifdef QCC_SUPPORT_ACCUMULATE
-       #define ACCUMULATE_FUNCTION(func, otherfunc) \
-               [[accumulate]] void func() \
-               { \
-                       otherfunc(); \
-               }
-       #define CALL_ACCUMULATED_FUNCTION(func) \
-               func()
+#define ACCUMULATE_FUNCTION(func, otherfunc) \
+       [[accumulate]] void func() \
+       { \
+               otherfunc(); \
+       }
+#define CALL_ACCUMULATED_FUNCTION(func) \
+       func()
 #else
-       #ifdef HAVE_YO_DAWG_CPP
+#ifdef HAVE_YO_DAWG_CPP
 // YO DAWG!
 // I HERD YO LIEK MACROS
 // SO I PUT A MACRO DEFINITION IN YO MACRO DEFINITION
 // SO YO CAN EXPAND MACROS WHILE YO EXPAND MACROS
-               #define ACCUMULATE_FUNCTION(func, otherfunc) \
-                       #ifdef func \
-                       void __merge__##otherfunc() \
-                       { \
-                               func(); otherfunc(); \
-                       } \
-                       #undef func \
-                       #define func __merge__##otherfunc \
-                       #else \
-                               #define func otherfunc \
-                               #endif
-               #define CALL_ACCUMULATED_FUNCTION(func) \
-                       func()
-       #else
-               #define ACCUMULATE_FUNCTION(func, otherfunc) \
-                       .float _ACCUMULATE_##func##__##otherfunc;
-               void ACCUMULATE_call(string func)
-               {
-                       float i;
-                       float n = numentityfields();
-                       string funcprefix = strcat("_ACCUMULATE_", func, "__");
-                       float funcprefixlen = strlen(funcprefix);
-                       for (i = 0; i < n; ++i)
-                       {
-                               string name = entityfieldname(i);
-                               if (substring(name, 0, funcprefixlen) == funcprefix) callfunction(substring(name, funcprefixlen, -1));
-                       }
-               }
-               #define CALL_ACCUMULATED_FUNCTION(func) \
-                       ACCUMULATE_call( #func)
-       #endif
+#define ACCUMULATE_FUNCTION(func, otherfunc) \
+       #ifdef func \
+       void __merge__##otherfunc() \
+       { \
+               func(); otherfunc(); \
+       } \
+       #undef func \
+       #define func __merge__##otherfunc \
+       #else \
+               #define func otherfunc \
+               #endif
+#define CALL_ACCUMULATED_FUNCTION(func) \
+       func()
+#else
+#define ACCUMULATE_FUNCTION(func, otherfunc) \
+       .float _ACCUMULATE_##func##__##otherfunc;
+void ACCUMULATE_call(string func)
+{
+       float i;
+       float n = numentityfields();
+       string funcprefix = strcat("_ACCUMULATE_", func, "__");
+       float funcprefixlen = strlen(funcprefix);
+       for (i = 0; i < n; ++i) {
+               string name = entityfieldname(i);
+               if (substring(name, 0, funcprefixlen) == funcprefix) { callfunction(substring(name, funcprefixlen, -1)); }
+       }
+}
+#define CALL_ACCUMULATED_FUNCTION(func) \
+       ACCUMULATE_call( #func)
+#endif
 #endif
 
 // used for simplifying ACCUMULATE_FUNCTIONs
index 1757c55b812a184c7f00f0e26c82eeb8704c303a..56e3cfc07a8bc7c83748927cde2d4a73620c23f0 100644 (file)
@@ -14,12 +14,13 @@ float anglemods(float v)
 {
        v = v - 360 * floor(v / 360);
 
-       if(v >= 180)
+       if (v >= 180) {
                return v - 360;
-       else if(v <= -180)
+       } else if (v <= -180) {
                return v + 360;
-       else
+       } else {
                return v;
+       }
 }
 
 /*
@@ -28,15 +29,14 @@ float anglemods(float v)
 ERASEABLE
 float shortangle_f(float ang1, float ang2)
 {
-       if(ang1 > ang2)
-       {
-               if(ang1 > 180)
+       if (ang1 > ang2) {
+               if (ang1 > 180) {
                        return ang1 - 360;
-       }
-       else
-       {
-               if(ang1 < -180)
+               }
+       } else {
+               if (ang1 < -180) {
                        return ang1 + 360;
+               }
        }
 
        return ang1;
@@ -47,9 +47,9 @@ vector shortangle_v(vector ang1, vector ang2)
 {
        vector vtmp;
 
-       vtmp_x = shortangle_f(ang1_x,ang2_x);
-       vtmp_y = shortangle_f(ang1_y,ang2_y);
-       vtmp_z = shortangle_f(ang1_z,ang2_z);
+       vtmp_x = shortangle_f(ang1_x, ang2_x);
+       vtmp_y = shortangle_f(ang1_y, ang2_y);
+       vtmp_z = shortangle_f(ang1_z, ang2_z);
 
        return vtmp;
 }
@@ -59,8 +59,8 @@ vector shortangle_vxy(vector ang1, vector ang2)
 {
        vector vtmp = '0 0 0';
 
-       vtmp_x = shortangle_f(ang1_x,ang2_x);
-       vtmp_y = shortangle_f(ang1_y,ang2_y);
+       vtmp_x = shortangle_f(ang1_x, ang2_x);
+       vtmp_y = shortangle_f(ang1_y, ang2_y);
 
        return vtmp;
 }
@@ -78,11 +78,11 @@ vector angleofs3(vector from, vector ang, vector to)
        v_res = vectoangles(v_res);
        v_res = v_res - ang;
 
-       if (v_res_x < 0)        v_res_x += 360;
-       if (v_res_x > 180)      v_res_x -= 360;
+       if (v_res_x < 0) { v_res_x += 360; }
+       if (v_res_x > 180) { v_res_x -= 360; }
 
-       if (v_res_y < 0)        v_res_y += 360;
-       if (v_res_y > 180)      v_res_y -= 360;
+       if (v_res_y < 0) { v_res_y += 360; }
+       if (v_res_y > 180) { v_res_y -= 360; }
 
        return v_res;
 }
index c158ea032d497cb29a8709c2e02ad4fa8e2bd610..d05a8e0e2406c8b53239f79ecf636a04bbdb61b9 100644 (file)
@@ -5,9 +5,9 @@
 #define BIT(n) (1 << (n))
 #define BITS(n) (BIT(n) - 1)
 #ifndef BRANCHLESS_BITSET
-       #define BITSET(var, mask, flag) (flag ? (var) | (mask) : (var) & ~(mask))
+#define BITSET(var, mask, flag) (flag ? (var) | (mask) : (var) & ~(mask))
 #else
-       #define BITSET(var, mask, flag) ((var) ^ (-(flag) ^ (var)) & (mask))
+#define BITSET(var, mask, flag) ((var) ^ (-(flag) ^ (var)) & (mask))
 #endif
 
 ERASEABLE
@@ -24,21 +24,19 @@ int lowestbit(int f)
 ERASEABLE
 int randombit(int bits)
 {
-       if (!(bits & (bits - 1)))  // this ONLY holds for powers of two!
+       if (!(bits & (bits - 1))) { // this ONLY holds for powers of two!
                return bits;
+       }
 
        int r = random();
        int b = 0;
        int n = 0;
 
-       for (int f = 1; f <= bits; f *= 2)
-       {
-               if (bits & f)
-               {
+       for (int f = 1; f <= bits; f *= 2) {
+               if (bits & f) {
                        ++n;
                        r *= n;
-                       if (r <= 1) b = f;
-                       else r = (r - 1) / (n - 1);
+                       if (r <= 1) { b = f; } else { r = (r - 1) / (n - 1); }
                }
        }
        return b;
@@ -48,13 +46,12 @@ ERASEABLE
 int randombits(int bits, int k, bool error_return)
 {
        int r = 0;
-       while (k > 0 && bits != r)
-       {
+       while (k > 0 && bits != r) {
                r += randombit(bits - r);
                --k;
        }
-       if (error_return)
-               if (k > 0) return -1;
+       if (error_return) {
+               if (k > 0) { return -1; } }
        // all
        return r;
 }
@@ -62,11 +59,11 @@ int randombits(int bits, int k, bool error_return)
 /*
 void randombit_test(int bits, int iter)
 {
-       while (iter > 0)
-       {
-               LOG_INFO(ftos(randombit(bits)), "\n");
-               --iter;
-       }
+    while (iter > 0)
+    {
+        LOG_INFO(ftos(randombit(bits)), "\n");
+        --iter;
+    }
 }
 */
 
@@ -82,21 +79,19 @@ ERASEABLE
 bool GiveBit(entity e, .int fld, int bit, int op, int val)
 {
        int v0 = (e.(fld) & bit);
-       switch (op)
-       {
+       switch (op) {
                case OP_SET:
-                       if (val > 0) e.(fld) |= bit;
-                       else e.(fld) &= ~bit;
+                       if (val > 0) { e.(fld) |= bit; } else { e.(fld) &= ~bit; }
                        break;
                case OP_MIN:
                case OP_PLUS:
-                       if (val > 0) e.(fld) |= bit;
+                       if (val > 0) { e.(fld) |= bit; }
                        break;
                case OP_MAX:
-                       if (val <= 0) e.(fld) &= ~bit;
+                       if (val <= 0) { e.(fld) &= ~bit; }
                        break;
                case OP_MINUS:
-                       if (val > 0) e.(fld) &= ~bit;
+                       if (val > 0) { e.(fld) &= ~bit; }
                        break;
        }
        int v1 = (e.(fld) & bit);
@@ -107,13 +102,12 @@ ERASEABLE
 bool GiveValue(entity e, .int fld, int op, int val)
 {
        int v0 = e.(fld);
-       switch (op)
-       {
+       switch (op) {
                case OP_SET:
                        e.(fld) = val;
                        break;
                case OP_MIN:
-                       e.(fld) = max(e.(fld), val);  // min 100 cells = at least 100 cells
+                       e.(fld) = max(e.(fld), val); // min 100 cells = at least 100 cells
                        break;
                case OP_MAX:
                        e.(fld) = min(e.(fld), val);
index c78f717d9e983be74923a5dd8fb5252b73f9b627..d81bf45f2b770203444f329b08a12c4bbcfd7130 100644 (file)
@@ -1,9 +1,9 @@
 #pragma once
 
 #ifndef QCC_SUPPORT_BOOL
-       // Boolean Constants
-       const int true  = 1;
-       const int false = 0;
+// Boolean Constants
+const int true  = 1;
+const int false = 0;
 #endif
 
 #define boolean(value) ((value) != 0)
@@ -12,8 +12,7 @@
 ERASEABLE
 float InterpretBoolean(string input)
 {
-       switch (strtolower(input))
-       {
+       switch (strtolower(input)) {
                case "yes":
                case "true":
                case "on":
index 5f9297f2dab1f5be24887ff2fead30390ee59fd6..38a75326b5c72bf64e00d50a5878e9f125e84f0f 100644 (file)
@@ -6,8 +6,7 @@
 ERASEABLE
 vector colormapPaletteColor_(int c, bool isPants, float t)
 {
-       switch (c)
-       {
+       switch (c) {
                case  0: return '1.000000 1.000000 1.000000';
                case  1: return '1.000000 0.333333 0.000000';
                case  2: return '0.000000 1.000000 0.501961';
@@ -24,14 +23,15 @@ vector colormapPaletteColor_(int c, bool isPants, float t)
                case 13: return '0.000000 0.333333 1.000000';
                case 14: return '1.000000 0.666667 0.000000';
                case 15:
-                       if (isPants)
+                       if (isPants) {
                                return '1 0 0' * (0.502 + 0.498 * sin(t / 2.7182818285 + 0.0000000000))
-                                      + '0 1 0' * (0.502 + 0.498 * sin(t / 2.7182818285 + 2.0943951024))
-                                      + '0 0 1' * (0.502 + 0.498 * sin(t / 2.7182818285 + 4.1887902048));
-                       else
+                                          + '0 1 0' * (0.502 + 0.498 * sin(t / 2.7182818285 + 2.0943951024))
+                                          + '0 0 1' * (0.502 + 0.498 * sin(t / 2.7182818285 + 4.1887902048));
+                       } else {
                                return '1 0 0' * (0.502 + 0.498 * sin(t / 3.1415926536 + 5.2359877560))
-                                      + '0 1 0' * (0.502 + 0.498 * sin(t / 3.1415926536 + 3.1415926536))
-                                      + '0 0 1' * (0.502 + 0.498 * sin(t / 3.1415926536 + 1.0471975512));
+                                          + '0 1 0' * (0.502 + 0.498 * sin(t / 3.1415926536 + 3.1415926536))
+                                          + '0 0 1' * (0.502 + 0.498 * sin(t / 3.1415926536 + 1.0471975512));
+                       }
                default: return '0.000 0.000 0.000';
        }
 }
@@ -39,21 +39,13 @@ vector colormapPaletteColor_(int c, bool isPants, float t)
 ERASEABLE
 float rgb_mi_ma_to_hue(vector rgb, float mi, float ma)
 {
-       if (mi == ma)
-       {
+       if (mi == ma) {
                return 0;
-       }
-       else if (ma == rgb.x)
-       {
-               if (rgb.y >= rgb.z) return (rgb.y - rgb.z) / (ma - mi);
-               else return (rgb.y - rgb.z) / (ma - mi) + 6;
-       }
-       else if (ma == rgb.y)
-       {
+       } else if (ma == rgb.x) {
+               if (rgb.y >= rgb.z) { return (rgb.y - rgb.z) / (ma - mi); } else { return (rgb.y - rgb.z) / (ma - mi) + 6; }
+       } else if (ma == rgb.y) {
                return (rgb.z - rgb.x) / (ma - mi) + 2;
-       }
-       else  // if(ma == rgb_z)
-       {
+       } else { // if(ma == rgb_z)
                return (rgb.x - rgb.y) / (ma - mi) + 4;
        }
 }
@@ -67,44 +59,36 @@ vector hue_mi_ma_to_rgb(float hue, float mi, float ma)
 
        // else if(ma == rgb_x)
        //      hue = 60 * (rgb_y - rgb_z) / (ma - mi);
-       if (hue <= 1)
-       {
+       if (hue <= 1) {
                rgb.x = ma;
                rgb.y = hue * (ma - mi) + mi;
                rgb.z = mi;
        }
        // else if(ma == rgb_y)
        //      hue = 60 * (rgb_z - rgb_x) / (ma - mi) + 120;
-       else if (hue <= 2)
-       {
+       else if (hue <= 2) {
                rgb.x = (2 - hue) * (ma - mi) + mi;
                rgb.y = ma;
                rgb.z = mi;
-       }
-       else if (hue <= 3)
-       {
+       } else if (hue <= 3) {
                rgb.x = mi;
                rgb.y = ma;
                rgb.z = (hue - 2) * (ma - mi) + mi;
        }
        // else // if(ma == rgb_z)
        //      hue = 60 * (rgb_x - rgb_y) / (ma - mi) + 240;
-       else if (hue <= 4)
-       {
+       else if (hue <= 4) {
                rgb.x = mi;
                rgb.y = (4 - hue) * (ma - mi) + mi;
                rgb.z = ma;
-       }
-       else if (hue <= 5)
-       {
+       } else if (hue <= 5) {
                rgb.x = (hue - 4) * (ma - mi) + mi;
                rgb.y = mi;
                rgb.z = ma;
        }
        // else if(ma == rgb_x)
        //      hue = 60 * (rgb_y - rgb_z) / (ma - mi);
-       else  // if(hue <= 6)
-       {
+       else { // if(hue <= 6)
                rgb.x = ma;
                rgb.y = mi;
                rgb.z = (6 - hue) * (ma - mi) + mi;
@@ -125,8 +109,7 @@ vector rgb_to_hsv(vector rgb)
        hsv.x = rgb_mi_ma_to_hue(rgb, mi, ma);
        hsv.z = ma;
 
-       if (ma == 0) hsv.y = 0;
-       else hsv.y = 1 - mi / ma;
+       if (ma == 0) { hsv.y = 0; } else { hsv.y = 1 - mi / ma; }
 
        return hsv;
 }
@@ -149,10 +132,11 @@ vector rgb_to_hsl(vector rgb)
        hsl.x = rgb_mi_ma_to_hue(rgb, mi, ma);
 
        hsl.z = 0.5 * (mi + ma);
-       if (mi == ma) hsl.y = 0;
-       else if (hsl.z <= 0.5) hsl.y = (ma - mi) / (2 * hsl.z);
-       else  // if(hsl_z > 0.5)
+       if (mi == ma) { hsl.y = 0; } else if (hsl.z <= 0.5) {
+               hsl.y = (ma - mi) / (2 * hsl.z);
+       } else { // if(hsl_z > 0.5)
                hsl.y = (ma - mi) / (2 - 2 * hsl.z);
+       }
 
        return hsl;
 }
@@ -162,8 +146,7 @@ vector hsl_to_rgb(vector hsl)
 {
        float mi, ma, maminusmi;
 
-       if (hsl.z <= 0.5) maminusmi = hsl.y * 2 * hsl.z;
-       else maminusmi = hsl.y * (2 - 2 * hsl.z);
+       if (hsl.z <= 0.5) { maminusmi = hsl.y * 2 * hsl.z; } else { maminusmi = hsl.y * (2 - 2 * hsl.z); }
 
        // hsl_z     = 0.5 * mi + 0.5 * ma
        // maminusmi =     - mi +       ma
@@ -181,5 +164,5 @@ string rgb_to_hexcolor(vector rgb)
                DEC_TO_HEXDIGIT(floor(rgb.x * 15 + 0.5)),
                DEC_TO_HEXDIGIT(floor(rgb.y * 15 + 0.5)),
                DEC_TO_HEXDIGIT(floor(rgb.z * 15 + 0.5))
-                    );
+       );
 }
index fc5fa0fe65993c837ebd833457cc287634ac8d64..e51653917307713ea7df86a94c1c200d8c507fbd 100644 (file)
@@ -1,21 +1,21 @@
 #pragma once
 
 #ifndef QCC_SUPPORT_ACCUMULATE
-       #ifdef GMQCC
-               #define QCC_SUPPORT_ACCUMULATE
-       #endif
+#ifdef GMQCC
+#define QCC_SUPPORT_ACCUMULATE
+#endif
 #endif
 
 #ifndef QCC_SUPPORT_NIL
-       #ifdef GMQCC
-               #define QCC_SUPPORT_NIL
-       #endif
+#ifdef GMQCC
+#define QCC_SUPPORT_NIL
+#endif
 #endif
 
 #ifndef QCC_SUPPORT_ERASEABLE
-       #ifdef GMQCC
-               #define QCC_SUPPORT_ERASEABLE
-       #endif
+#ifdef GMQCC
+#define QCC_SUPPORT_ERASEABLE
+#endif
 #endif
 
 // uncrustify segfaults on this
index b38ba9d05a9313f670f8fa8bdeede09c565ebf2c..9c92aeb2210bce07913803a514d3c5961b1bbf95 100644 (file)
@@ -71,18 +71,15 @@ string count_ordinal(int interval)
        // Basically, it just allows you to represent a number or count in different ways
        // depending on the number... like, with count_ordinal you can provide integers
        // and retrieve 1st, 2nd, 3rd, nth ordinal numbers in a clean and simple way.
-       if (floor((interval % 100) / 10) * 10 != 10)  // examples: 12th, 111th, 213th will not execute this block
-       {
+       if (floor((interval % 100) / 10) * 10 != 10) { // examples: 12th, 111th, 213th will not execute this block
                // otherwise, check normally for 1st,2nd,3rd insertions
-               switch (interval % 10)
-               {
+               switch (interval % 10) {
                        case 1: return sprintf(_("%dst"), interval);
                        case 2: return sprintf(_("%dnd"), interval);
                        case 3: return sprintf(_("%drd"), interval);
                        default: return sprintf(_("%dth"), interval);
                }
-       }
-       else { return sprintf(_("%dth"), interval); }
+       } else { return sprintf(_("%dth"), interval); }
 
        return "";
 }
@@ -102,14 +99,13 @@ string count_fill(float interval, string zeroth, string first, string second, st
        //   3 seconds
        //   etc... minutes, hours, days, etc.
 
-       switch (floor(interval))
-       {
+       switch (floor(interval)) {
                case 0: return sprintf(CTX(zeroth), interval);
                case 1:
                {
-                       if (interval == 1)  // EXACTLY value of 1
+                       if (interval == 1) { // EXACTLY value of 1
                                return sprintf(CTX(first), interval);
-                       else return sprintf(CTX(multi), interval);
+                       } else { return sprintf(CTX(multi), interval); }
                }
                case 2: return sprintf(CTX(second), interval);
                case 3: return sprintf(CTX(third), interval);
@@ -126,27 +122,22 @@ string process_time(float outputtype, float seconds)
 
        tmp_seconds = floor(seconds);
 
-       if (tmp_seconds)
-       {
+       if (tmp_seconds) {
                tmp_minutes = floor(tmp_seconds / 60);
 
-               if (tmp_minutes)
-               {
+               if (tmp_minutes) {
                        tmp_seconds -= (tmp_minutes * 60);
                        tmp_hours = floor(tmp_minutes / 60);
 
-                       if (tmp_hours)
-                       {
+                       if (tmp_hours) {
                                tmp_minutes -= (tmp_hours * 60);
                                tmp_days = floor(tmp_hours / 24);
 
-                               if (tmp_days)
-                               {
+                               if (tmp_days) {
                                        tmp_hours -= (tmp_days * 24);
                                        tmp_weeks = floor(tmp_days / 7);
 
-                                       if (tmp_weeks)
-                                       {
+                                       if (tmp_weeks) {
                                                tmp_days -= (tmp_weeks * 7);
                                                tmp_years = floor(tmp_weeks / 52);
                                        }
@@ -155,8 +146,7 @@ string process_time(float outputtype, float seconds)
                }
        }
 
-       switch (outputtype)
-       {
+       switch (outputtype) {
                case 1: return sprintf("%02d:%02d:%02d", tmp_hours, tmp_minutes, tmp_seconds);
                case 2:
                {
@@ -164,36 +154,31 @@ string process_time(float outputtype, float seconds)
 
                        output = count_seconds(tmp_seconds);
 
-                       if (tmp_minutes)
-                       {
+                       if (tmp_minutes) {
                                output = strcat(
                                        count_minutes(tmp_minutes),
                                        ((output != "") ? strcat(", ", output) : ""));
                        }
 
-                       if (tmp_hours)
-                       {
+                       if (tmp_hours) {
                                output = strcat(
                                        count_hours(tmp_hours),
                                        ((output != "") ? strcat(", ", output) : ""));
                        }
 
-                       if (tmp_days)
-                       {
+                       if (tmp_days) {
                                output = strcat(
                                        count_days(tmp_days),
                                        ((output != "") ? strcat(", ", output) : ""));
                        }
 
-                       if (tmp_weeks)
-                       {
+                       if (tmp_weeks) {
                                output = strcat(
                                        count_weeks(tmp_weeks),
                                        ((output != "") ? strcat(", ", output) : ""));
                        }
 
-                       if (tmp_years)
-                       {
+                       if (tmp_years) {
                                output = strcat(
                                        count_years(tmp_years),
                                        ((output != "") ? strcat(", ", output) : ""));
@@ -207,10 +192,9 @@ string process_time(float outputtype, float seconds)
 
                        output = count_hours(tmp_hours);
 
-                       if (tmp_weeks) tmp_days += (tmp_weeks * 7);
-                       if (tmp_years) tmp_days += (tmp_years * 365);
-                       if (tmp_days)
-                       {
+                       if (tmp_weeks) { tmp_days += (tmp_weeks * 7); }
+                       if (tmp_years) { tmp_days += (tmp_years * 365); }
+                       if (tmp_days) {
                                output = sprintf(
                                        count_days(tmp_days),
                                        ((output != "") ? strcat(", ", output) : ""));
index 05aba388c4b7c27a49d13cdb160a75afc559a43b..a3e1de5bc773d5d779ca6f1c866b722d172560bd 100644 (file)
@@ -36,18 +36,15 @@ float autocvar_cl_nolerp = 0;
 
 void CSQCModel_InterpolateAnimation_2To4_PreNote(entity this, int sf)
 {
-       if(sf & CSQCMODEL_PROPERTY_FRAME)
-       {
+       if (sf & CSQCMODEL_PROPERTY_FRAME) {
                this.frame3 = this.frame;
                this.frame3time = this.frame1time;
        }
-       if(sf & CSQCMODEL_PROPERTY_FRAME2)
-       {
+       if (sf & CSQCMODEL_PROPERTY_FRAME2) {
                this.frame4 = this.frame2;
                this.frame4time = this.frame2time;
        }
-       if(sf & CSQCMODEL_PROPERTY_LERPFRAC)
-       {
+       if (sf & CSQCMODEL_PROPERTY_LERPFRAC) {
                this.csqcmodel_lerpfrac2 = this.csqcmodel_lerpfrac;
                this.csqcmodel_lerpfrac2time = this.csqcmodel_lerpfractime;
                this.lerpfrac = this.csqcmodel_lerpfrac;
@@ -55,8 +52,7 @@ void CSQCModel_InterpolateAnimation_2To4_PreNote(entity this, int sf)
 }
 void CSQCModel_InterpolateAnimation_1To2_PreNote(entity this, int sf)
 {
-       if(sf & CSQCMODEL_PROPERTY_FRAME)
-       {
+       if (sf & CSQCMODEL_PROPERTY_FRAME) {
                this.frame2 = this.frame;
                this.frame2time = this.frame1time;
        }
@@ -72,29 +68,29 @@ void CSQCModel_InterpolateAnimation_PreNote(entity this, int sf)
 
 void CSQCModel_InterpolateAnimation_2To4_Note(entity this, int sf, bool set_times)
 {
-       if(sf & CSQCMODEL_PROPERTY_FRAME)
-       {
-               if(set_times)
+       if (sf & CSQCMODEL_PROPERTY_FRAME) {
+               if (set_times) {
                        this.frame1time = time;
+               }
        }
-       if(sf & CSQCMODEL_PROPERTY_FRAME2)
-       {
-               if(set_times)
+       if (sf & CSQCMODEL_PROPERTY_FRAME2) {
+               if (set_times) {
                        this.frame2time = time;
+               }
        }
-       if(sf & CSQCMODEL_PROPERTY_LERPFRAC)
-       {
+       if (sf & CSQCMODEL_PROPERTY_LERPFRAC) {
                this.csqcmodel_lerpfrac = this.lerpfrac;
-               if(set_times)
+               if (set_times) {
                        this.csqcmodel_lerpfractime = time;
+               }
        }
 }
 void CSQCModel_InterpolateAnimation_1To2_Note(entity this, int sf, bool set_times)
 {
-       if(sf & CSQCMODEL_PROPERTY_FRAME)
-       {
-               if(set_times)
+       if (sf & CSQCMODEL_PROPERTY_FRAME) {
+               if (set_times) {
                        this.frame1time = time;
+               }
        }
 }
 void CSQCModel_InterpolateAnimation_Note(entity this, int sf)
@@ -108,31 +104,31 @@ void CSQCModel_InterpolateAnimation_Note(entity this, int sf)
 
 void CSQCModel_InterpolateAnimation_2To4_Do(entity this)
 {
-       if(autocvar_cl_nolerp || (autocvar_cl_lerpanim_maxdelta_framegroups == 0))
-       {
+       if (autocvar_cl_nolerp || (autocvar_cl_lerpanim_maxdelta_framegroups == 0)) {
                this.lerpfrac = this.csqcmodel_lerpfrac;
                this.lerpfrac3 = 0;
                this.lerpfrac4 = 0;
-       }
-       else
-       {
+       } else {
                float l13, l24, llf;
                float l24_13;
 
-               if(this.frame3time == 0) // if frame1/3 were not previously displayed, only frame1 can make sense
+               if (this.frame3time == 0) { // if frame1/3 were not previously displayed, only frame1 can make sense
                        l13 = 1;
-               else
+               } else {
                        l13 = bound(0, (time - this.frame1time) / autocvar_cl_lerpanim_maxdelta_framegroups, 1);
+               }
 
-               if(this.frame4time == 0) // if frame2/4 were not previously displayed, only frame2 can make sense
+               if (this.frame4time == 0) { // if frame2/4 were not previously displayed, only frame2 can make sense
                        l24 = 1;
-               else
+               } else {
                        l24 = bound(0, (time - this.frame2time) / autocvar_cl_lerpanim_maxdelta_framegroups, 1);
+               }
 
-               if(this.csqcmodel_lerpfrac2time == 0) // if there is no old lerpfrac (newly displayed model), only lerpfrac makes sense
+               if (this.csqcmodel_lerpfrac2time == 0) { // if there is no old lerpfrac (newly displayed model), only lerpfrac makes sense
                        llf = 1;
-               else
+               } else {
                        llf = bound(0, (time - this.csqcmodel_lerpfractime) / autocvar_cl_lerpanim_maxdelta_framegroups, 1);
+               }
 
                l24_13 = this.csqcmodel_lerpfrac * llf + this.csqcmodel_lerpfrac2 * (1 - llf);
 
@@ -140,14 +136,12 @@ void CSQCModel_InterpolateAnimation_2To4_Do(entity this)
                this.lerpfrac4 = (1 - l24) * l24_13;
                this.lerpfrac3 = (1 - l13) * (1 - l24_13);
 
-               if(l24_13 == 0) // if frames 2/4 are not displayed, clear their frametime
-               {
+               if (l24_13 == 0) { // if frames 2/4 are not displayed, clear their frametime
                        this.frame2time = 0;
                        this.frame4time = 0;
                }
 
-               if(l24_13 == 1) // if frames 1/3 are not displayed, clear their frametime
-               {
+               if (l24_13 == 1) { // if frames 1/3 are not displayed, clear their frametime
                        this.frame1time = 0;
                        this.frame3time = 0;
                }
@@ -155,16 +149,14 @@ void CSQCModel_InterpolateAnimation_2To4_Do(entity this)
 }
 void CSQCModel_InterpolateAnimation_1To2_Do(entity this)
 {
-       if(autocvar_cl_nolerp || (autocvar_cl_lerpanim_maxdelta_framegroups == 0))
-       {
+       if (autocvar_cl_nolerp || (autocvar_cl_lerpanim_maxdelta_framegroups == 0)) {
                this.lerpfrac = 0;
-       }
-       else
-       {
-               if(this.frame2time == 0) // if frame2 was not previously displayed, only frame1 can make sense
+       } else {
+               if (this.frame2time == 0) { // if frame2 was not previously displayed, only frame1 can make sense
                        this.lerpfrac = 0;
-               else
+               } else {
                        this.lerpfrac = 1 - bound(0, (time - this.frame1time) / autocvar_cl_lerpanim_maxdelta_framegroups, 1);
+               }
        }
 }
 void CSQCModel_InterpolateAnimation_Do(entity this)
@@ -185,26 +177,26 @@ void CSQCModel_Draw(entity this)
 
        // we don't do this for the local player as that one is already handled
        // by CSQCPlayer_SetCamera()
-       if (!CSQCPlayer_IsLocalPlayer(this)) InterpolateOrigin_Do(this);
+       if (!CSQCPlayer_IsLocalPlayer(this)) { InterpolateOrigin_Do(this); }
 
        CSQCModel_InterpolateAnimation_Do(this);
 
        CSQCModel_Hook_PreDraw(this, isplayer);
 
-       if(isplayer)
-       {
-               if(this.entnum == player_localentnum)
+       if (isplayer) {
+               if (this.entnum == player_localentnum) {
                        this.renderflags |= RF_EXTERNALMODEL;
-               else
+               } else {
                        this.renderflags &= ~RF_EXTERNALMODEL;
+               }
        }
 
        // inherit draw flags easily
        entity root = this;
-       while(root.tag_entity)
+       while (root.tag_entity) {
                root = root.tag_entity;
-       if(this != root)
-       {
+       }
+       if (this != root) {
                this.renderflags &= ~(RF_EXTERNALMODEL | RF_VIEWMODEL);
                this.renderflags |= (root.renderflags & (RF_EXTERNALMODEL | RF_VIEWMODEL));
        }
@@ -226,8 +218,7 @@ NET_HANDLE(ENT_CLIENT_MODEL, bool isnew)
 
        // some nice flags for CSQCMODEL_IF and the hooks
        bool isplayer = ReadByte() || (this.entnum >= 1 && this.entnum <= maxclients);
-       if (isnew && isplayer)
-       {
+       if (isnew && isplayer) {
                CSQCModel_players[this.entnum - 1] = this;
                this.entremove = CSQCModel_remove;
        }
@@ -235,8 +226,8 @@ NET_HANDLE(ENT_CLIENT_MODEL, bool isnew)
        noref bool isnolocalplayer = (isplayer && !islocalplayer);
 
        this.classname = "csqcmodel";
-       this.iflags |= IFLAG_ORIGIN; // interpolate origin too
-       this.iflags |= IFLAG_ANGLES; // interpolate angles too
+       this.iflags |= IFLAG_ORIGIN;                        // interpolate origin too
+       this.iflags |= IFLAG_ANGLES;                        // interpolate angles too
        this.iflags |= IFLAG_VELOCITY | IFLAG_AUTOVELOCITY; // let's calculate velocity automatically
 
        CSQCModel_Hook_PreUpdate(this, isnew, isplayer, islocalplayer);
@@ -245,35 +236,37 @@ NET_HANDLE(ENT_CLIENT_MODEL, bool isnew)
        InterpolateOrigin_Undo(this);
        CSQCModel_InterpolateAnimation_PreNote(this, sf);
 
-#define CSQCMODEL_IF(cond) if(cond) {
-#define CSQCMODEL_ENDIF }
-#define CSQCMODEL_PROPERTY(flag,t,r,w,f) \
-       if(sf & flag) \
-               this.f = r();
-#define CSQCMODEL_PROPERTY_SCALED(flag,t,r,w,f,s,mi,ma) \
-       if(sf & flag) \
-               this.f = (r() + mi) / s;
+#define CSQCMODEL_IF(cond) if (cond) {
+#define CSQCMODEL_ENDIF \
+       }
+#define CSQCMODEL_PROPERTY(flag, t, r, w, f) \
+       if (sf & flag) { \
+               this.f = r(); \
+       }
+#define CSQCMODEL_PROPERTY_SCALED(flag, t, r, w, f, s, mi, ma) \
+       if (sf & flag) { \
+               this.f = (r() + mi) / s; \
+       }
        ALLPROPERTIES
 #undef CSQCMODEL_PROPERTY_SCALED
 #undef CSQCMODEL_PROPERTY
 #undef CSQCMODEL_ENDIF
 #undef CSQCMODEL_IF
 
-       if(sf & CSQCMODEL_PROPERTY_MODELINDEX)
-       {
+       if (sf & CSQCMODEL_PROPERTY_MODELINDEX) {
                vector pmin = this.mins, pmax = this.maxs;
                setmodelindex(this, this.modelindex); // this retrieves the .model key and sets mins/maxs/absmin/absmax
                setsize(this, pmin, pmax);
        }
 
-       if(sf & CSQCMODEL_PROPERTY_TELEPORTED)
-       {
+       if (sf & CSQCMODEL_PROPERTY_TELEPORTED) {
                this.iflags |= IFLAG_TELEPORTED;
                this.csqcmodel_teleported = 1;
        }
 
-       if(sf & BIT(14))
+       if (sf & BIT(14)) {
                viewloc_SetTags(this);
+       }
 
        CSQCModel_InterpolateAnimation_Note(this, sf);
        InterpolateOrigin_Note(this);
@@ -290,10 +283,11 @@ NET_HANDLE(ENT_CLIENT_MODEL, bool isnew)
        setorigin(this, this.origin);
 
        // set obvious render flags
-       if(this.entnum == player_localentnum)
+       if (this.entnum == player_localentnum) {
                this.renderflags |= RF_EXTERNALMODEL;
-       else
+       } else {
                this.renderflags &= ~RF_EXTERNALMODEL;
+       }
 
        // draw it
        this.drawmask = MASK_NORMAL;
@@ -306,7 +300,7 @@ NET_HANDLE(ENT_CLIENT_MODEL, bool isnew)
  */
 entity CSQCModel_server2csqc(int i)
 {
-       if (i < maxclients) return CSQCModel_players[i];
+       if (i < maxclients) { return CSQCModel_players[i]; }
        ++i;
        LOG_DEBUGF("player out of bounds: %d", i);
        return findfloat(NULL, entnum, i);
index b5d9f8bd361fff927dc54f70a5632300a64d4360..ffd64dc712a41275719af591b76eaf603a7a0c6f 100644 (file)
 
 #define CSQCMODEL_IF(cond)
 #define CSQCMODEL_ENDIF
-#define CSQCMODEL_PROPERTY(flag,t,r,w,f) \
+#define CSQCMODEL_PROPERTY(flag, t, r, w, f) \
        .t f;
-#define CSQCMODEL_PROPERTY_SCALED(flag,t,r,w,f,s,mi,ma) CSQCMODEL_PROPERTY(flag,t,r,w,f)
-       ALLPROPERTIES
+#define CSQCMODEL_PROPERTY_SCALED(flag, t, r, w, f, s, mi, ma) CSQCMODEL_PROPERTY(flag, t, r, w, f)
+ALLPROPERTIES
 #undef CSQCMODEL_PROPERTY_SCALED
 #undef CSQCMODEL_PROPERTY
 #undef CSQCMODEL_ENDIF
index 225c7307ded6c60a192056eafde3078912c4ae52..159c74c14e83dd31013b767fdcd4dceb63b80e7a 100644 (file)
@@ -43,13 +43,13 @@ float csqcplayer_predictionerrorfactor;
 
 vector CSQCPlayer_GetPredictionErrorO()
 {
-       if (time >= csqcplayer_predictionerrortime) return '0 0 0';
+       if (time >= csqcplayer_predictionerrortime) { return '0 0 0'; }
        return csqcplayer_predictionerroro * (csqcplayer_predictionerrortime - time) * csqcplayer_predictionerrorfactor;
 }
 
 vector CSQCPlayer_GetPredictionErrorV()
 {
-       if (time >= csqcplayer_predictionerrortime) return '0 0 0';
+       if (time >= csqcplayer_predictionerrortime) { return '0 0 0'; }
        return csqcplayer_predictionerrorv * (csqcplayer_predictionerrortime - time) * csqcplayer_predictionerrorfactor;
 }
 
@@ -64,18 +64,16 @@ void CSQCPlayer_SetPredictionError(vector o, vector v, float onground_diff)
        // commented out as this one did not help
        if(onground_diff)
        {
-               printf("ONGROUND MISMATCH: %d x=%v v=%v\n", onground_diff, o, v);
-               return;
+           printf("ONGROUND MISMATCH: %d x=%v v=%v\n", onground_diff, o, v);
+           return;
        }
        */
-       if(vdist(o, >, 32) || vdist(v, >, 192))
-       {
-               //printf("TOO BIG: x=%v v=%v\n", o, v);
+       if (vdist(o, >, 32) || vdist(v, >, 192)) {
+               // printf("TOO BIG: x=%v v=%v\n", o, v);
                return;
        }
 
-       if(!autocvar_cl_movement_errorcompensation)
-       {
+       if (!autocvar_cl_movement_errorcompensation) {
                csqcplayer_predictionerrorfactor = 0;
                return;
        }
@@ -88,8 +86,8 @@ void CSQCPlayer_SetPredictionError(vector o, vector v, float onground_diff)
 
 void CSQCPlayer_Unpredict(entity this)
 {
-       if (csqcplayer_status == CSQCPLAYERSTATUS_UNPREDICTED) return;
-       if (csqcplayer_status != CSQCPLAYERSTATUS_PREDICTED) LOG_FATALF("Cannot unpredict in current status (%d)", csqcplayer_status);
+       if (csqcplayer_status == CSQCPLAYERSTATUS_UNPREDICTED) { return; }
+       if (csqcplayer_status != CSQCPLAYERSTATUS_PREDICTED) { LOG_FATALF("Cannot unpredict in current status (%d)", csqcplayer_status); }
        this.origin = csqcplayer_origin;
        this.velocity = csqcplayer_velocity;
        csqcplayer_moveframe = csqcplayer_sequence + 1; // + 1 because the recieved frame has the move already done (server side)
@@ -98,14 +96,11 @@ void CSQCPlayer_Unpredict(entity this)
 
 void CSQCPlayer_SetMinsMaxs(entity this)
 {
-       if (IS_DUCKED(this) || !this.isplayermodel)
-       {
+       if (IS_DUCKED(this) || !this.isplayermodel) {
                this.mins = PHYS_PL_CROUCH_MIN(this);
                this.maxs = PHYS_PL_CROUCH_MAX(this);
                this.view_ofs = PHYS_PL_CROUCH_VIEWOFS(this);
-       }
-       else
-       {
+       } else {
                this.mins = PHYS_PL_MIN(this);
                this.maxs = PHYS_PL_MAX(this);
                this.view_ofs = PHYS_PL_VIEWOFS(this);
@@ -125,9 +120,9 @@ void CSQC_ClientMovement_PlayerMove_Frame(entity this);
 
 void CSQCPlayer_Physics(entity this)
 {
-       if(!autocvar_cl_movement) { return; }
+       if (!autocvar_cl_movement) { return; }
 
-       _Movetype_CheckWater(this); // we apparently need to check water *before* physics so it can use this for water jump
+       _Movetype_CheckWater(this);     // we apparently need to check water *before* physics so it can use this for water jump
 
        vector oldv_angle = this.v_angle;
        vector oldangles = this.angles; // we need to save these, as they're abused by other code
@@ -144,16 +139,15 @@ void CSQCPlayer_Physics(entity this)
        this.angles = oldangles;
 
        this.pmove_flags =
-                       ((IS_DUCKED(this)) ? PMF_DUCKED : 0) |
-                       ((IS_JUMP_HELD(this)) ? PMF_JUMP_HELD : 0) |
-                       ((IS_ONGROUND(this)) ? PMF_ONGROUND : 0);
+               ((IS_DUCKED(this)) ? PMF_DUCKED : 0)
+               | ((IS_JUMP_HELD(this)) ? PMF_JUMP_HELD : 0)
+               | ((IS_ONGROUND(this)) ? PMF_ONGROUND : 0);
 }
 
 void CSQCPlayer_PredictTo(entity this, float endframe, bool apply_error)
 {
        CSQCPlayer_Unpredict(this);
-       if (apply_error)
-       {
+       if (apply_error) {
                this.origin += CSQCPlayer_GetPredictionErrorO();
                this.velocity += CSQCPlayer_GetPredictionErrorV();
        }
@@ -164,38 +158,32 @@ void CSQCPlayer_PredictTo(entity this, float endframe, bool apply_error)
 #if 0
        // we don't need this
        // darkplaces makes servercommandframe == 0 in these cases anyway
-       if (STAT(HEALTH) <= 0)
-       {
+       if (STAT(HEALTH) <= 0) {
                csqcplayer_moveframe = clientcommandframe;
-               getinputstate(csqcplayer_moveframe-1);
+               getinputstate(csqcplayer_moveframe - 1);
                LOG_INFO("the Weird code path got hit");
                return;
        }
 #endif
 
-       if (csqcplayer_moveframe >= endframe)
-       {
+       if (csqcplayer_moveframe >= endframe) {
                getinputstate(csqcplayer_moveframe - 1);
-       }
-       else
-       {
-               do
-               {
-                       if (!getinputstate(csqcplayer_moveframe)) break;
+       } else {
+               do {
+                       if (!getinputstate(csqcplayer_moveframe)) { break; }
                        /*if (input_timelength > 0.0005)
                        {
-                               if (input_timelength > 0.05)
-                               {
-                                       input_timelength /= 2;
-                                       CSQCPlayer_Physics(this);
-                               }
-                               CSQCPlayer_Physics(this);
+                           if (input_timelength > 0.05)
+                           {
+                               input_timelength /= 2;
+                               CSQCPlayer_Physics(this);
+                           }
+                           CSQCPlayer_Physics(this);
                        }*/
                        CSQCPlayer_Physics(this);
                        CSQCPlayer_SetMinsMaxs(this);
                        ++csqcplayer_moveframe;
-               }
-               while (csqcplayer_moveframe < endframe);
+               } while (csqcplayer_moveframe < endframe);
        }
 
        // add in anything that was applied after (for low packet rate protocols)
@@ -204,7 +192,7 @@ void CSQCPlayer_PredictTo(entity this, float endframe, bool apply_error)
 
 bool CSQCPlayer_IsLocalPlayer(entity this)
 {
-       return (this == csqcplayer);
+       return this == csqcplayer;
 }
 
 /** Called once per CSQC_UpdateView() */
@@ -215,16 +203,15 @@ void CSQCPlayer_SetCamera()
        const vector pl_viewofs = PHYS_PL_VIEWOFS(NULL);
        const vector pl_viewofs_crouch = PHYS_PL_CROUCH_VIEWOFS(NULL);
        const entity e = csqcplayer;
-       if (e)
-       {
-               if (servercommandframe == 0 || clientcommandframe == 0)
-               {
+       if (e) {
+               if (servercommandframe == 0 || clientcommandframe == 0) {
                        InterpolateOrigin_Do(e);
                        e.view_ofs = '0 0 1' * vh;
 
                        // get crouch state from the server
-                       if (vh == pl_viewofs.z) e.flags &= ~FL_DUCKED;
-                       else if (vh == pl_viewofs_crouch.z) e.flags |= FL_DUCKED;
+                       if (vh == pl_viewofs.z) { e.flags &= ~FL_DUCKED; } else if (vh == pl_viewofs_crouch.z) {
+                               e.flags |= FL_DUCKED;
+                       }
 
                        // get onground state from the server
                        e.flags = BITSET(e.flags, FL_ONGROUND, pmove_onground);
@@ -236,15 +223,13 @@ void CSQCPlayer_SetCamera()
 
                        // set velocity
                        e.velocity = v0;
-               }
-               else
-               {
-                       const int flg = e.iflags; e.iflags &= ~(IFLAG_ORIGIN | IFLAG_ANGLES);
+               } else {
+                       const int flg = e.iflags;
+                       e.iflags &= ~(IFLAG_ORIGIN | IFLAG_ANGLES);
                        InterpolateOrigin_Do(e);
                        e.iflags = flg;
 
-                       if (csqcplayer_status == CSQCPLAYERSTATUS_FROMSERVER)
-                       {
+                       if (csqcplayer_status == CSQCPLAYERSTATUS_FROMSERVER) {
                                const vector o = e.origin;
                                csqcplayer_status = CSQCPLAYERSTATUS_PREDICTED;
                                CSQCPlayer_PredictTo(e, servercommandframe + 1, false);
@@ -253,8 +238,9 @@ void CSQCPlayer_SetCamera()
                                e.velocity = v0;
 
                                // get crouch state from the server
-                               if (vh == pl_viewofs.z) e.flags &= ~FL_DUCKED;
-                               else if(vh == pl_viewofs_crouch.z) e.flags |= FL_DUCKED;
+                               if (vh == pl_viewofs.z) { e.flags &= ~FL_DUCKED; } else if (vh == pl_viewofs_crouch.z) {
+                                       e.flags |= FL_DUCKED;
+                               }
 
                                // get onground state from the server
                                e.flags = BITSET(e.flags, FL_ONGROUND, pmove_onground);
@@ -265,8 +251,9 @@ void CSQCPlayer_SetCamera()
 
 #ifdef CSQCMODEL_SERVERSIDE_CROUCH
                        // get crouch state from the server (LAG)
-                       if (vh == pl_viewofs.z) e.flags &= ~FL_DUCKED;
-                       else if (vh == pl_viewofs_crouch.z) e.flags |= FL_DUCKED;
+                       if (vh == pl_viewofs.z) { e.flags &= ~FL_DUCKED; } else if (vh == pl_viewofs_crouch.z) {
+                               e.flags |= FL_DUCKED;
+                       }
 #endif
                        CSQCPlayer_SetMinsMaxs(e);
 
@@ -278,23 +265,19 @@ void CSQCPlayer_SetCamera()
        }
 
        const entity view = CSQCModel_server2csqc(player_localentnum - 1);
-       if (view)
-       {
-               if (view != csqcplayer)
-               {
+       if (view) {
+               if (view != csqcplayer) {
                        InterpolateOrigin_Do(view);
                        view.view_ofs = '0 0 1' * vh;
                }
                int refdefflags = 0;
-               if (view.csqcmodel_teleported) refdefflags |= REFDEFFLAG_TELEPORTED;
-               if (input_buttons & BIT(1)) refdefflags |= REFDEFFLAG_JUMPING;
+               if (view.csqcmodel_teleported) { refdefflags |= REFDEFFLAG_TELEPORTED; }
+               if (input_buttons & BIT(1)) { refdefflags |= REFDEFFLAG_JUMPING; }
                // note: these two only work in WIP2, but are harmless in WIP1
-               if (PHYS_HEALTH(NULL) <= 0 && PHYS_HEALTH(NULL) != -666 && PHYS_HEALTH(NULL) != -2342) refdefflags |= REFDEFFLAG_DEAD;
-               if (intermission) refdefflags |= REFDEFFLAG_INTERMISSION;
+               if (PHYS_HEALTH(NULL) <= 0 && PHYS_HEALTH(NULL) != -666 && PHYS_HEALTH(NULL) != -2342) { refdefflags |= REFDEFFLAG_DEAD; }
+               if (intermission) { refdefflags |= REFDEFFLAG_INTERMISSION; }
                V_CalcRefdef(view, refdefflags);
-       }
-       else
-       {
+       } else {
                // FIXME by CSQC spec we have to do this:
                // but it breaks chase cam
                /*
@@ -313,14 +296,14 @@ void CSQCPlayer_Remove(entity this)
 
 bool CSQCPlayer_PreUpdate(entity this)
 {
-       if (this != csqcplayer) return false;
-       if (csqcplayer_status != CSQCPLAYERSTATUS_FROMSERVER) CSQCPlayer_Unpredict(this);
+       if (this != csqcplayer) { return false; }
+       if (csqcplayer_status != CSQCPLAYERSTATUS_FROMSERVER) { CSQCPlayer_Unpredict(this); }
        return true;
 }
 
 bool CSQCPlayer_PostUpdate(entity this)
 {
-       if (this.entnum != player_localnum + 1) return false;
+       if (this.entnum != player_localnum + 1) { return false; }
        csqcplayer = this;
        csqcplayer_status = CSQCPLAYERSTATUS_FROMSERVER;
        cvar_settemp("cl_movement_replay", "0");
index 297e2e69d648c1826289fa21c95e389f5a61b5f2..0c6bac43caf0a4897d94ad2e5a9ce084d655f677 100644 (file)
@@ -32,8 +32,8 @@ const int CSQCPLAYERSTATUS_PREDICTED = 2;
 // only ever READ these!
 .int pmove_flags;
 const int PMF_JUMP_HELD = 1;
-//const int PMF_DUCKED = 4;
-//const int PMF_ONGROUND = 8;
+// const int PMF_DUCKED = 4;
+// const int PMF_ONGROUND = 8;
 
 const int FL_DUCKED = 524288;
 
index 37b88997ef84bf7d456e34575fc0859d79f01442..2be662cc11f7994217770196b8a60efe2ebf49fe 100644 (file)
@@ -87,7 +87,8 @@ const int CSQCMODEL_PROPERTY_SIZE = BIT(15);
 .float frame4;
 .float frame4time;
 .float lerpfrac4;
-#define ALLPROPERTIES ALLPROPERTIES_COMMON \
+#define ALLPROPERTIES \
+       ALLPROPERTIES_COMMON \
        CSQCMODEL_PROPERTY(CSQCMODEL_PROPERTY_FRAME2, int, ReadByte, WriteByte, frame2) \
        CSQCMODEL_PROPERTY_SCALED(CSQCMODEL_PROPERTY_LERPFRAC, float, ReadByte, WriteByte, lerpfrac, 255, 0, 255)
 #else
index 359cf1738f01666e5f9902a7cad17980bf14d194..ab43283b81abc8db90adfcdfd941317462646592 100644 (file)
@@ -1,9 +1,9 @@
 #pragma once
 // define this if svqc code wants to use .frame2 and .lerpfrac
-//#define CSQCMODEL_HAVE_TWO_FRAMES
+// #define CSQCMODEL_HAVE_TWO_FRAMES
 
 // don't define this ever
-//#define CSQCMODEL_SUPPORT_GETTAGINFO_BEFORE_DRAW
+// #define CSQCMODEL_SUPPORT_GETTAGINFO_BEFORE_DRAW
 
 // add properties you want networked to CSQC here
 #define CSQCMODEL_EXTRAPROPERTIES \
@@ -17,9 +17,9 @@
 #define CSQCPLAYER_FORCE_UPDATES 4
 
 // mod must define:
-//vector PL_MIN  = ...;
-//vector PL_MAX  = ...;
-//vector PL_VIEW_OFS  = ...;
-//vector PL_CROUCH_MIN  = ...;
-//vector PL_CROUCH_MAX  = ...;
-//vector PL_CROUCH_VIEW_OFS  = ...;
+// vector PL_MIN  = ...;
+// vector PL_MAX  = ...;
+// vector PL_VIEW_OFS  = ...;
+// vector PL_CROUCH_MIN  = ...;
+// vector PL_CROUCH_MAX  = ...;
+// vector PL_CROUCH_VIEW_OFS  = ...;
index 0ff4389944c03dcda8f0756cb0dba5d21d43fef5..c90d2796b6a2abd5f8943520a078eaf37275c5fb 100644 (file)
@@ -36,14 +36,14 @@ bool CSQCModel_Send(entity this, entity to, int sf)
        WriteInt24_t(MSG_ENTITY, sf);
        WriteByte(MSG_ENTITY, isplayer);
 
-#define CSQCMODEL_IF(cond) if(cond) {
-#define CSQCMODEL_ENDIF }
-#define CSQCMODEL_PROPERTY(flag,t,r,w,f) \
-       if(sf & flag) \
-       { \
+#define CSQCMODEL_IF(cond) if (cond) {
+#define CSQCMODEL_ENDIF \
+       }
+#define CSQCMODEL_PROPERTY(flag, t, r, w, f) \
+       if (sf & flag) { \
                w(MSG_ENTITY, this.csqcmodel_##f); \
        }
-#define CSQCMODEL_PROPERTY_SCALED(flag,t,r,w,f,s,mi,ma) CSQCMODEL_PROPERTY(flag,t,r,w,f)
+#define CSQCMODEL_PROPERTY_SCALED(flag, t, r, w, f, s, mi, ma) CSQCMODEL_PROPERTY(flag, t, r, w, f)
        ALLPROPERTIES
 #undef CSQCMODEL_PROPERTY_SCALED
 #undef CSQCMODEL_PROPERTY
@@ -60,45 +60,41 @@ void CSQCModel_CheckUpdate(entity e)
 {
        // some nice flags for CSQCMODEL_IF
        noref float isplayer = IS_CLIENT(e);
-       noref float islocalplayer = isplayer; // we set BOTH to 1 here as we need the sendflags
+       noref float islocalplayer = isplayer;   // we set BOTH to 1 here as we need the sendflags
        noref float isnolocalplayer = isplayer; // we set BOTH to 1 here as we need the sendflags
 
 #if CSQCPLAYER_FORCE_UPDATES
-       if(isplayer && time > e.csqcmodel_nextforcedupdate)
-       {
+       if (isplayer && time > e.csqcmodel_nextforcedupdate) {
                e.SendFlags |= CSQCMODEL_PROPERTY_ORIGIN;
                e.csqcmodel_nextforcedupdate = time + (1 / (CSQCPLAYER_FORCE_UPDATES)) * (0.5 + random()); // ensure about 4 origin sends per sec
        }
 #endif
 
-       if(e.effects & EF_RESTARTANIM_BIT)
-       {
+       if (e.effects & EF_RESTARTANIM_BIT) {
                e.SendFlags |= CSQCMODEL_PROPERTY_FRAME | CSQCMODEL_PROPERTY_FRAME2; // full anim resend please
                e.effects &= ~EF_RESTARTANIM_BIT;
        }
 
-       if(e.effects & EF_TELEPORT_BIT)
-       {
+       if (e.effects & EF_TELEPORT_BIT) {
                e.SendFlags |= CSQCMODEL_PROPERTY_TELEPORTED; // no interpolation please
                e.effects &= ~EF_TELEPORT_BIT;
        }
 
-#define CSQCMODEL_IF(cond) if(cond) {
-#define CSQCMODEL_ENDIF }
-#define CSQCMODEL_PROPERTY(flag,t,r,w,f) \
+#define CSQCMODEL_IF(cond) if (cond) {
+#define CSQCMODEL_ENDIF \
+       }
+#define CSQCMODEL_PROPERTY(flag, t, r, w, f) \
        { \
                t tmp = e.f; \
-               if(tmp != e.csqcmodel_##f) \
-               { \
+               if (tmp != e.csqcmodel_##f) { \
                        e.csqcmodel_##f = tmp; \
                        e.SendFlags |= flag; \
                } \
        }
-#define CSQCMODEL_PROPERTY_SCALED(flag,t,r,w,f,s,mi,ma) \
+#define CSQCMODEL_PROPERTY_SCALED(flag, t, r, w, f, s, mi, ma) \
        { \
                t tmp = rint(bound(mi, s * e.f, ma) - mi); \
-               if(tmp != e.csqcmodel_##f) \
-               { \
+               if (tmp != e.csqcmodel_##f) { \
                        e.csqcmodel_##f = tmp; \
                        e.SendFlags |= flag; \
                } \
index e963f12a1bf6ac79d9d3e45bf941e10e92927fef..66dd8544538054d7e4176964726e6218d7d02d1a 100644 (file)
@@ -31,11 +31,11 @@ void CSQCModel_UnlinkEntity(entity e);
 
 #define CSQCMODEL_IF(cond)
 #define CSQCMODEL_ENDIF
-#define CSQCMODEL_PROPERTY(flag,t,r,w,f) \
+#define CSQCMODEL_PROPERTY(flag, t, r, w, f) \
        .t f; \
        .t csqcmodel_##f;
-#define CSQCMODEL_PROPERTY_SCALED(flag,t,r,w,f,s,mi,ma) CSQCMODEL_PROPERTY(flag,t,r,w,f)
-       ALLPROPERTIES
+#define CSQCMODEL_PROPERTY_SCALED(flag, t, r, w, f, s, mi, ma) CSQCMODEL_PROPERTY(flag, t, r, w, f)
+ALLPROPERTIES
 #undef CSQCMODEL_PROPERTY_SCALED
 #undef CSQCMODEL_PROPERTY
 #undef CSQCMODEL_ENDIF
index a17f2bad72397d55a470fc32bb64851cfcbe5152..87e11a4af9eb7b9f497d7cd6340e8a6745f212b3 100644 (file)
@@ -10,12 +10,12 @@ void RegisterCvars(void(string name, string def, string desc, bool archive, stri
 ERASEABLE
 bool cvar_value_issafe(string s)
 {
-       if (strstrofs(s, "\"", 0) >= 0) return false;
-       if (strstrofs(s, "\\", 0) >= 0) return false;
-       if (strstrofs(s, ";", 0) >= 0) return false;
-       if (strstrofs(s, "$", 0) >= 0) return false;
-       if (strstrofs(s, "\r", 0) >= 0) return false;
-       if (strstrofs(s, "\n", 0) >= 0) return false;
+       if (strstrofs(s, "\"", 0) >= 0) { return false; }
+       if (strstrofs(s, "\\", 0) >= 0) { return false; }
+       if (strstrofs(s, ";", 0) >= 0) { return false; }
+       if (strstrofs(s, "$", 0) >= 0) { return false; }
+       if (strstrofs(s, "\r", 0) >= 0) { return false; }
+       if (strstrofs(s, "\n", 0) >= 0) { return false; }
        return true;
 }
 
@@ -46,14 +46,14 @@ ERASEABLE
 void RegisterCvars_Set(string name, string def, string desc, bool archive, string file)
 {
        cvar_describe(name, desc);
-       if (archive) cvar_archive(name);
+       if (archive) { cvar_archive(name); }
 }
 
 int RegisterCvars_Save_fd;
 ERASEABLE
 void RegisterCvars_Save(string name, string def, string desc, bool archive, string file)
 {
-       if (!archive) return;
+       if (!archive) { return; }
        fputs(RegisterCvars_Save_fd, sprintf("seta %s \"%s\"\n", name, def));
 }
 
@@ -61,8 +61,7 @@ STATIC_INIT_LATE(Cvars)
 {
        RegisterCvars(RegisterCvars_Set);
        RegisterCvars_Save_fd = fopen(sprintf("default%s.cfg", PROGNAME), FILE_WRITE);
-       if (RegisterCvars_Save_fd >= 0)
-       {
+       if (RegisterCvars_Save_fd >= 0) {
                RegisterCvars(RegisterCvars_Save);
                fclose(RegisterCvars_Save_fd);
        }
@@ -80,7 +79,7 @@ const noref vector default_vector = '0 0 0';
 #define repr_cvar_string(x) (x)
 #define repr_cvar_vector(x) (sprintf("%v", x))
 
-//pseudo prototypes:
+// pseudo prototypes:
 // void AUTOCVAR(<cvar_name>, <qc_var_type>, default_cvar_value, string desc)
 // void AUTOCVAR_SAVE(<cvar_name>, <qc_var_type>, default_cvar_value, string desc)
 //  where default_cvar_value has type <qc_var_type>
index 4f34bb4853ade7f0149274ebdb3c325d4468147a..0c5843bc7622798d17d6e4aa616c79791c8746aa 100644 (file)
@@ -2,37 +2,37 @@
 
 #ifdef GAMEQC
 
-       #include "oo.qh"
-       #include "self.qh"
+#include "oo.qh"
+#include "self.qh"
 
-       entityclass(Defer);
-       class(Defer).entity owner;
-       class(Defer).void(entity) defer_func;
+entityclass(Defer);
+class(Defer).entity owner;
+class(Defer).void(entity) defer_func;
 
-       /** Remove entity */
-       void SUB_Remove(entity this)
-       {
-               delete(this);
-       }
+/** Remove entity */
+void SUB_Remove(entity this)
+{
+       delete(this);
+}
 
-       void defer_think(entity this)
-       {
-               setthink(this, SUB_Remove);
-               this.nextthink = time;
-               this.defer_func(this.owner);
-       }
+void defer_think(entity this)
+{
+       setthink(this, SUB_Remove);
+       this.nextthink = time;
+       this.defer_func(this.owner);
+}
 
-    /**
    * Execute func() after time + fdelay.
    * self when func is executed = self when defer is called
    */
-       void defer(entity this, float fdelay, void(entity) func)
-       {
-               entity e    = new_pure(deferred);
-               e.owner     = this;
-               e.defer_func = func;
-               setthink(e, defer_think);
-               e.nextthink = time + fdelay;
-       }
+/**
+ * Execute func() after time + fdelay.
+ * self when func is executed = self when defer is called
+ */
+void defer(entity this, float fdelay, void(entity) func)
+{
+       entity e    = new_pure(deferred);
+       e.owner     = this;
+       e.defer_func = func;
+       setthink(e, defer_think);
+       e.nextthink = time + fdelay;
+}
 
 #endif
index 86948075b1c0078f6b874edb7b2813c6f4723836..663ee41058772e102872bf6a7606eb58bda8d03d 100644 (file)
 
 .int enum_ordinal;
 #define ENUMCLASS(id) CLASS(id, Object) int id##_count; const noref entity id##_Null = nil; CASE(id, Null__)
-#define CASE(class, id) class class##_##id; STATIC_INIT(class##_##id) { entity e = class##_##id = NEW(class); e.enum_ordinal = class##_count++; }
+#define CASE(class, id) \
+       class class##_##id; STATIC_INIT(class##_##id) \
+       { \
+               entity e = class##_##id = NEW(class); e.enum_ordinal = class##_count++; \
+       }
 #define ENUMCLASS_END(id) ENDCLASS(id)
 #define ORDINAL(it) ((it).enum_ordinal)
 #define ENUMCAST(T, it) ftoe(etof(T##_Null__) + (it))
index 5bc24f627185f5fd5c4bf87aaaf32a40f0908ff8..a231158848a81ece880a0f39f3eedc79692f7624 100644 (file)
@@ -4,7 +4,7 @@ ERASEABLE
 bool fexists(string f)
 {
        int fh = fopen(f, FILE_READ);
-       if (fh < 0) return false;
+       if (fh < 0) { return false; }
        fclose(fh);
        return true;
 }
index 82d577b169083eb18d9499d8540cd7e3f7e96e99..cf0fdf0264ab4eef6eb37cbb0af929973e18bc01 100644 (file)
 #define APPLY(f, ...) f(__VA_ARGS__)
 
 #ifdef SVQC
-       #define SV(f, ...) f(__VA_ARGS__)
+#define SV(f, ...) f(__VA_ARGS__)
 #else
-       #define SV(f, ...)
+#define SV(f, ...)
 #endif
 
 #ifdef CSQC
-       #define CL(f, ...) f(__VA_ARGS__)
+#define CL(f, ...) f(__VA_ARGS__)
 #else
-       #define CL(f, ...)
+#define CL(f, ...)
 #endif
 
 #define IF(cond, f, ...) cond(f, __VA_ARGS__)
index 3dfac622464a1144ed74096703108d0e9afa8251..f167f6c9663136700c6ad89124632ff4f87791d9 100644 (file)
@@ -14,11 +14,10 @@ ERASEABLE
 string language_filename(string s)
 {
        string fn = prvm_language;
-       if (fn == "" || fn == "dump") return s;
+       if (fn == "" || fn == "dump") { return s; }
        fn = strcat(s, ".", fn);
        int fh = fopen(fn, FILE_READ);
-       if (fh >= 0)
-       {
+       if (fh >= 0) {
                fclose(fh);
                return fn;
        }
@@ -26,33 +25,33 @@ string language_filename(string s)
 }
 
 #ifndef CTX_CACHE
-       #define CTX_CACHE 1
+#define CTX_CACHE 1
 #endif
 
 #if CTX_CACHE
-       HashMap CTX_cache;
-       STATIC_INIT(CTX_cache)
-       {
-               HM_NEW(CTX_cache);
-       }
-       SHUTDOWN(CTX_cache)
-       {
-               HM_DELETE(CTX_cache);
-       }
+HashMap CTX_cache;
+STATIC_INIT(CTX_cache)
+{
+       HM_NEW(CTX_cache);
+}
+SHUTDOWN(CTX_cache)
+{
+       HM_DELETE(CTX_cache);
+}
 #endif
 
 ERASEABLE
 string CTX(string s)
 {
 #if CTX_CACHE
-               string c = HM_gets(CTX_cache, s);
-               if (c != "") return c;
+       string c = HM_gets(CTX_cache, s);
+       if (c != "") { return c; }
 #endif
        int p = strstrofs(s, "^", 0);
        string ret = (p < 0) ? s : substring(s, p + 1, -1);
 #if CTX_CACHE
-        LOG_DEBUGF("CTX(\"%s\")", s);
-               HM_sets(CTX_cache, s, ret);
+       LOG_DEBUGF("CTX(\"%s\")", s);
+       HM_sets(CTX_cache, s, ret);
 #endif
        return ret;
 }
index c1edf07c4b30b9949fe1ac99350baf5e7159bf94..89ec826e7dc3cbf94bb66f99445b6a286edce146 100644 (file)
@@ -1,11 +1,11 @@
 #pragma once
 
 #ifndef QCC_SUPPORT_INT
-       #define stoi(s) stof(s)
-       #define stob(s) stof(s)
-       #define itos(i) ftos(i)
+#define stoi(s) stof(s)
+#define stob(s) stof(s)
+#define itos(i) ftos(i)
 #else
-       #define stoi(s) ((int) stof(s))
-       #define stob(s) ((bool) stof(s))
-       #define itos(i) ftos(i)
+#define stoi(s) ((int) stof(s))
+#define stob(s) ((bool) stof(s))
+#define itos(i) ftos(i)
 #endif
index 7a284e2de1ae3e69b67aa65aa836ea930124d7cf..9cda6d90919bc9c17aa67f050fc9e77d4011d84a 100644 (file)
@@ -8,8 +8,7 @@
 
 #define FOREACH_ARRAY(arr, start, end, cond, body) \
        MACRO_BEGIN \
-               for (int _i = start; _i < end; ++_i) \
-               { \
+               for (int _i = start; _i < end; ++_i) { \
                        const noref int i = _i; \
                        ITER_CONST noref entity it = arr[i]; \
                        if (cond) { LAMBDA(body); } \
@@ -21,8 +20,7 @@
 #define FOREACH_LIST(list, next, cond, body) \
        MACRO_BEGIN \
                int _i = 0; \
-               for (entity _it = list##_first, _next = NULL; _it; (_it = _next, ++_i)) \
-               { \
+               for (entity _it = list##_first, _next = NULL; _it; (_it = _next, ++_i)) { \
                        const noref int i = _i; \
                        ITER_CONST noref entity it = _it; \
                        _next = _it.next; \
@@ -34,8 +32,7 @@
        MACRO_BEGIN \
                string _words = words; \
                int _i = 0; \
-               for (string _it; (_it = car(_words)); (_words = cdr(_words), ++_i)) \
-               { \
+               for (string _it; (_it = car(_words)); (_words = cdr(_words), ++_i)) { \
                        const noref int i = _i; \
                        const noref string it = _it; \
                        if (cond) { LAMBDA(body); } \
        MACRO_BEGIN \
                STRING_ITERATOR(iter, s, 0); \
                int _it; \
-               while ((_it = STRING_ITERATOR_GET(iter)) > 0) \
-               { \
+               while ((_it = STRING_ITERATOR_GET(iter)) > 0) { \
                        const noref int it = _it; \
                        if (cond) { LAMBDA(body); } \
                } \
        MACRO_END
 
 #if defined(CSQC)
-    entity(entity start, .string fld, string match) _findstring = #18;
-       entity(.string fld, string match, .entity tofield) _findchainstring_tofield = #402;
+entity(entity start, .string fld, string match) _findstring = #18;
+entity(.string fld, string match, .entity tofield) _findchainstring_tofield = #402;
 
-    entity(entity start, .entity fld, entity match) _findentity = #98;
-       entity(.entity fld, entity match, .entity tofield) _findchainentity_tofield = #403;
+entity(entity start, .entity fld, entity match) _findentity = #98;
+entity(.entity fld, entity match, .entity tofield) _findchainentity_tofield = #403;
 
-    entity(entity start, .float fld, float match) _findfloat = #98;
-       entity(.float fld, float match, .entity tofield) _findchainfloat_tofield = #403;
+entity(entity start, .float fld, float match) _findfloat = #98;
+entity(.float fld, float match, .entity tofield) _findchainfloat_tofield = #403;
 
-       entity(entity start, .float fld, float match) _findflags = #449;
-       entity(.float fld, float match, .entity tofield) _findchainflags_tofield = #450;
+entity(entity start, .float fld, float match) _findflags = #449;
+entity(.float fld, float match, .entity tofield) _findchainflags_tofield = #450;
 #elif defined(SVQC)
-    entity(entity start, .string fld, string match) _findstring = #18;
-       entity(.string fld, string match, .entity tofield) _findchainstring_tofield = #402;
+entity(entity start, .string fld, string match) _findstring = #18;
+entity(.string fld, string match, .entity tofield) _findchainstring_tofield = #402;
 
-    entity(entity start, .entity fld, entity match) _findentity = #98;
-       entity(.entity fld, entity match, .entity tofield) _findchainentity_tofield = #403;
+entity(entity start, .entity fld, entity match) _findentity = #98;
+entity(.entity fld, entity match, .entity tofield) _findchainentity_tofield = #403;
 
-    entity(entity start, .float fld, float match) _findfloat = #98;
-       entity(.float fld, float match, .entity tofield) _findchainfloat_tofield = #403;
+entity(entity start, .float fld, float match) _findfloat = #98;
+entity(.float fld, float match, .entity tofield) _findchainfloat_tofield = #403;
 
-       entity(entity start, .float fld, float match) _findflags = #449;
-       entity(.float fld, float match, .entity tofield) _findchainflags_tofield = #450;
+entity(entity start, .float fld, float match) _findflags = #449;
+entity(.float fld, float match, .entity tofield) _findchainflags_tofield = #450;
 #elif defined(MENUQC)
-    entity(entity start, .string fld, string match) _findstring = #24;
-       entity(.string fld, string match, .entity tofield) _findchainstring_tofield = #26;
+entity(entity start, .string fld, string match) _findstring = #24;
+entity(.string fld, string match, .entity tofield) _findchainstring_tofield = #26;
 
-    entity(entity start, .entity fld, entity match) _findentity = #25;
-       entity(.entity fld, entity match, .entity tofield) _findchainentity_tofield = #27;
+entity(entity start, .entity fld, entity match) _findentity = #25;
+entity(.entity fld, entity match, .entity tofield) _findchainentity_tofield = #27;
 
-    entity(entity start, .float fld, float match) _findfloat = #25;
-       entity(.float fld, float match, .entity tofield) _findchainfloat_tofield = #27;
+entity(entity start, .float fld, float match) _findfloat = #25;
+entity(.float fld, float match, .entity tofield) _findchainfloat_tofield = #27;
 
-       entity(entity start, .float fld, float match) _findflags = #87;
-       entity(.float fld, float match, .entity tofield) _findchainflags_tofield = #88;
+entity(entity start, .float fld, float match) _findflags = #87;
+entity(.float fld, float match, .entity tofield) _findchainflags_tofield = #88;
 #endif
 
 #define ORDERED(F) F##_UNORDERED
 #define _FOREACH_ENTITY_FIND_ORDERED(T, fld, match, cond, body) \
-    MACRO_BEGIN \
-        int _i = 0; \
-        for (entity _it = NULL; (_it = _find##T(_it, fld, match)); ++_i) \
-        { \
-            const noref int i = _i; \
-            ITER_CONST noref entity it = _it; \
-            if (cond) LAMBDA(body); \
-        } \
-    MACRO_END
-#define MUTEX_LOCK(this) MACRO_BEGIN \
-       if (this) LOG_SEVEREF("Loop mutex held by %s", this); \
-       this = __FUNC__; \
-MACRO_END
-#define MUTEX_UNLOCK(this) MACRO_BEGIN \
-       this = string_null; \
-MACRO_END
+       MACRO_BEGIN \
+               int _i = 0; \
+               for (entity _it = NULL; (_it = _find##T(_it, fld, match)); ++_i) { \
+                       const noref int i = _i; \
+                       ITER_CONST noref entity it = _it; \
+                       if (cond) { LAMBDA(body); } \
+               } \
+       MACRO_END
+#define MUTEX_LOCK(this) \
+       MACRO_BEGIN \
+               if (this) { LOG_SEVEREF("Loop mutex held by %s", this); } \
+               this = __FUNC__; \
+       MACRO_END
+#define MUTEX_UNLOCK(this) \
+       MACRO_BEGIN \
+               this = string_null; \
+       MACRO_END
 #define _FOREACH_ENTITY_FIND_UNORDERED(id, T, fld, match, cond, body) \
        MACRO_BEGIN \
                MUTEX_LOCK(_FOREACH_ENTITY_FIND_##T##_##id##mutex); \
@@ -138,55 +135,62 @@ MACRO_END
 #define FOREACH_ENTITY_ORDERED(cond, body) \
        MACRO_BEGIN \
                int _i = 0; \
-               for (entity _it = NULL; (_it = nextent(_it)); ++_i) \
-               { \
+               for (entity _it = NULL; (_it = nextent(_it)); ++_i) { \
                        const noref int i = _i; \
                        ITER_CONST noref entity it = _it; \
-                       if (cond) LAMBDA(body); \
+                       if (cond) { LAMBDA(body); } \
                } \
        MACRO_END
 /** marker field, always NULL */
 .entity _FOREACH_ENTITY_fld;
-.entity _FOREACH_ENTITY_FIND_entity_nextall; noref string _FOREACH_ENTITY_FIND_entity_allmutex;
+.entity _FOREACH_ENTITY_FIND_entity_nextall;
+noref string _FOREACH_ENTITY_FIND_entity_allmutex;
 #define FOREACH_ENTITY_UNORDERED(cond, body) _FOREACH_ENTITY_FIND_UNORDERED(all, entity, _FOREACH_ENTITY_fld, NULL, cond, body)
 
 #define FOREACH_ENTITY_FLAGS(fld, match, body) ORDERED(FOREACH_ENTITY_FLAGS)(fld, match, body)
 #define FOREACH_ENTITY_FLAGS_ORDERED(fld, match, body) _FOREACH_ENTITY_FIND_ORDERED(flags, fld, match, true, body)
-.entity _FOREACH_ENTITY_FIND_flags_next; noref string _FOREACH_ENTITY_FIND_flags_mutex;
+.entity _FOREACH_ENTITY_FIND_flags_next;
+noref string _FOREACH_ENTITY_FIND_flags_mutex;
 #define FOREACH_ENTITY_FLAGS_UNORDERED(fld, match, body) _FOREACH_ENTITY_FIND_UNORDERED(, flags, fld, match, true, body)
 
 #ifdef GAMEQC
 entity(vector org, float rad, .entity tofield) _findchainradius_tofield = #22;
 #define FOREACH_ENTITY_RADIUS(org, dist, cond, body) ORDERED(FOREACH_ENTITY_RADIUS)(org, dist, cond, body)
-.entity _FOREACH_ENTITY_FIND_radius_next; noref string _FOREACH_ENTITY_FIND_radius_mutex;
+.entity _FOREACH_ENTITY_FIND_radius_next;
+noref string _FOREACH_ENTITY_FIND_radius_mutex;
 #define FOREACH_ENTITY_RADIUS_UNORDERED(org, dist, cond, body) _FOREACH_ENTITY_FIND_UNORDERED(, radius, org, dist, cond, body)
-.entity _FOREACH_ENTITY_FIND_radius_nexttmp; noref string _FOREACH_ENTITY_FIND_radius_tmpmutex;
+.entity _FOREACH_ENTITY_FIND_radius_nexttmp;
+noref string _FOREACH_ENTITY_FIND_radius_tmpmutex;
 #define FOREACH_ENTITY_RADIUS_ORDERED(org, dist, cond, body) \
-MACRO_BEGIN \
-       entity _rev_first = NULL; \
-       _FOREACH_ENTITY_FIND_UNORDERED(tmp, radius, org, dist, cond, (it._FOREACH_ENTITY_FIND_radius_nexttmp = _rev_first, _rev_first = it)); \
-       MUTEX_LOCK(_FOREACH_ENTITY_FIND_radius_tmpmutex); \
-       FOREACH_LIST(_rev, _FOREACH_ENTITY_FIND_radius_nexttmp, true, body); \
-       MUTEX_UNLOCK(_FOREACH_ENTITY_FIND_radius_tmpmutex); \
-MACRO_END
+       MACRO_BEGIN \
+               entity _rev_first = NULL; \
+               _FOREACH_ENTITY_FIND_UNORDERED(tmp, radius, org, dist, cond, (it._FOREACH_ENTITY_FIND_radius_nexttmp = _rev_first, _rev_first = it)); \
+               MUTEX_LOCK(_FOREACH_ENTITY_FIND_radius_tmpmutex); \
+               FOREACH_LIST(_rev, _FOREACH_ENTITY_FIND_radius_nexttmp, true, body); \
+               MUTEX_UNLOCK(_FOREACH_ENTITY_FIND_radius_tmpmutex); \
+       MACRO_END
 #endif
 
 #define FOREACH_ENTITY_FLOAT(fld, match, body) ORDERED(FOREACH_ENTITY_FLOAT)(fld, match, body)
 #define FOREACH_ENTITY_FLOAT_ORDERED(fld, match, body) _FOREACH_ENTITY_FIND_ORDERED(float, fld, match, true, body)
-.entity _FOREACH_ENTITY_FIND_float_next; noref string _FOREACH_ENTITY_FIND_float_mutex;
+.entity _FOREACH_ENTITY_FIND_float_next;
+noref string _FOREACH_ENTITY_FIND_float_mutex;
 #define FOREACH_ENTITY_FLOAT_UNORDERED(fld, match, body) _FOREACH_ENTITY_FIND_UNORDERED(, float, fld, match, true, body)
 
 #define FOREACH_ENTITY_ENT(fld, match, body) ORDERED(FOREACH_ENTITY_ENT)(fld, match, body)
 #define FOREACH_ENTITY_ENT_ORDERED(fld, match, body) _FOREACH_ENTITY_FIND_ORDERED(entity, fld, match, true, body)
-.entity _FOREACH_ENTITY_FIND_entity_next; noref string _FOREACH_ENTITY_FIND_entity_mutex;
+.entity _FOREACH_ENTITY_FIND_entity_next;
+noref string _FOREACH_ENTITY_FIND_entity_mutex;
 #define FOREACH_ENTITY_ENT_UNORDERED(fld, match, body) _FOREACH_ENTITY_FIND_UNORDERED(, entity, fld, match, true, body)
 
 #define FOREACH_ENTITY_STRING(fld, match, body) ORDERED(FOREACH_ENTITY_STRING)(fld, match, body)
 #define FOREACH_ENTITY_STRING_ORDERED(fld, match, body) _FOREACH_ENTITY_FIND_ORDERED(string, fld, match, true, body)
-.entity _FOREACH_ENTITY_FIND_string_next; noref string _FOREACH_ENTITY_FIND_string_mutex;
+.entity _FOREACH_ENTITY_FIND_string_next;
+noref string _FOREACH_ENTITY_FIND_string_mutex;
 #define FOREACH_ENTITY_STRING_UNORDERED(fld, match, body) _FOREACH_ENTITY_FIND_UNORDERED(, string, fld, match, true, body)
 
 #define FOREACH_ENTITY_CLASS(class, cond, body) ORDERED(FOREACH_ENTITY_CLASS)(class, cond, body)
 #define FOREACH_ENTITY_CLASS_ORDERED(class, cond, body) _FOREACH_ENTITY_FIND_ORDERED(string, classname, class, cond, body)
-.entity _FOREACH_ENTITY_FIND_string_nextclazz; noref string _FOREACH_ENTITY_FIND_string_clazzmutex;
+.entity _FOREACH_ENTITY_FIND_string_nextclazz;
+noref string _FOREACH_ENTITY_FIND_string_clazzmutex;
 #define FOREACH_ENTITY_CLASS_UNORDERED(class, cond, body) _FOREACH_ENTITY_FIND_UNORDERED(clazz, string, classname, class, cond, body)
index 241b537aaa329a70d544e0a8d7a367462ba9e0cc..a1a9c4ec70928a202556102cbad7a51a50362aec 100644 (file)
@@ -8,291 +8,320 @@ string _json_temp;
 
 /** parse a json object */
 bool _json_parse_object();
-    bool _json_parse_members();
-        bool _json_parse_pair();
+bool _json_parse_members();
+bool _json_parse_pair();
 bool _json_parse_array();
 bool _json_parse_value();
-    bool _json_parse_true();
-    bool _json_parse_false();
-    bool _json_parse_null();
+bool _json_parse_true();
+bool _json_parse_false();
+bool _json_parse_null();
 bool _json_parse_string(bool add);
 bool _json_parse_number();
-    bool _json_parse_float();
-    bool _json_parse_int();
+bool _json_parse_float();
+bool _json_parse_int();
 
 #define JSON_BEGIN() int __i = STRING_ITERATOR_SAVE(_json)
 #define JSON_FAIL(reason) goto fail
 #define JSON_END() \
-   return true; \
-LABEL(fail) \
-   STRING_ITERATOR_LOAD(_json, __i); \
-   return false;
+       return true; \
+       LABEL(fail) \
+       STRING_ITERATOR_LOAD(_json, __i); \
+       return false;
 // Current namespace
 string _json_ns;
 // Current keys
 int _json_keys;
 
 ERASEABLE
-bool _json_parse_object() {
-    JSON_BEGIN();
-    if (STRING_ITERATOR_GET(_json) != '{') JSON_FAIL("expected '{'");
-    WITH(int, _json_keys, bufstr_add(_json_buffer, "", 0), _json_parse_members());
-    if (STRING_ITERATOR_GET(_json) != '}') JSON_FAIL("expected '}'");
-    JSON_END();
+bool _json_parse_object()
+{
+       JSON_BEGIN();
+       if (STRING_ITERATOR_GET(_json) != '{') { JSON_FAIL("expected '{'"); }
+       WITH(int, _json_keys, bufstr_add(_json_buffer, "", 0), _json_parse_members());
+       if (STRING_ITERATOR_GET(_json) != '}') { JSON_FAIL("expected '}'"); }
+       JSON_END();
 }
 
-    ERASEABLE
-    bool _json_parse_members() {
-        JSON_BEGIN();
-        for (;;) {
-            if (!_json_parse_pair()) JSON_FAIL("expected pair");
-            if (STRING_ITERATOR_PEEK(_json) == ',') {
-                STRING_ITERATOR_NEXT(_json);
-                continue;
-            }
-            break;
-        }
-        JSON_END();
-    }
+ERASEABLE
+bool _json_parse_members()
+{
+       JSON_BEGIN();
+       for ( ; ; ) {
+               if (!_json_parse_pair()) { JSON_FAIL("expected pair"); }
+               if (STRING_ITERATOR_PEEK(_json) == ',') {
+                       STRING_ITERATOR_NEXT(_json);
+                       continue;
+               }
+               break;
+       }
+       JSON_END();
+}
 
-        ERASEABLE
-        bool _json_parse_pair() {
-            JSON_BEGIN();
-            if (!_json_parse_string(false)) JSON_FAIL("expected string");
-            string key = _json_temp;
-            bufstr_set(_json_buffer, _json_keys, cons(bufstr_get(_json_buffer, _json_keys), key));
-            key = _json_ns ? strcat(_json_ns, ".", key) : key;
-            bufstr_add(_json_buffer, key, 0);
-            if (STRING_ITERATOR_GET(_json) != ':') JSON_FAIL("expected ':'");
-            bool ret = false; WITH(string, _json_ns, key, ret = _json_parse_value());
-            if (!ret) JSON_FAIL("expected value");
-            JSON_END();
-        }
+ERASEABLE
+bool _json_parse_pair()
+{
+       JSON_BEGIN();
+       if (!_json_parse_string(false)) { JSON_FAIL("expected string"); }
+       string key = _json_temp;
+       bufstr_set(_json_buffer, _json_keys, cons(bufstr_get(_json_buffer, _json_keys), key));
+       key = _json_ns ? strcat(_json_ns, ".", key) : key;
+       bufstr_add(_json_buffer, key, 0);
+       if (STRING_ITERATOR_GET(_json) != ':') { JSON_FAIL("expected ':'"); }
+       bool ret = false;
+       WITH(string, _json_ns, key, ret = _json_parse_value());
+       if (!ret) { JSON_FAIL("expected value"); }
+       JSON_END();
+}
 
 ERASEABLE
-bool _json_parse_array() {
-    JSON_BEGIN();
-    if (STRING_ITERATOR_GET(_json) != '[') JSON_FAIL("expected '['");
-    int len = bufstr_add(_json_buffer, "0", 0);
-    if (len) bufstr_set(_json_buffer, len - 1, strcat(bufstr_get(_json_buffer, len - 1), ".length"));
-    bool required = false;
-    for (int n = 0; ; n++) {
-        string key = ftos(n);
-        key = _json_ns ? strcat(_json_ns, ".", key) : key;
-        int it = bufstr_add(_json_buffer, key, 0);
-        bool ret = false; WITH(string, _json_ns, key, ret = _json_parse_value());
-        if (!ret) {
-            bufstr_free(_json_buffer, it);
-            if (required) JSON_FAIL("expected value"); else break;
-        }
-        bufstr_set(_json_buffer, len, ftos(n + 1));
-        if (STRING_ITERATOR_PEEK(_json) == ',') {
-            STRING_ITERATOR_NEXT(_json);
-            required = true;
-            continue;
-        }
-        break;
-    }
-    if (STRING_ITERATOR_GET(_json) != ']') JSON_FAIL("expected ']'");
-    JSON_END();
+bool _json_parse_array()
+{
+       JSON_BEGIN();
+       if (STRING_ITERATOR_GET(_json) != '[') { JSON_FAIL("expected '['"); }
+       int len = bufstr_add(_json_buffer, "0", 0);
+       if (len) { bufstr_set(_json_buffer, len - 1, strcat(bufstr_get(_json_buffer, len - 1), ".length")); }
+       bool required = false;
+       for (int n = 0; ; n++) {
+               string key = ftos(n);
+               key = _json_ns ? strcat(_json_ns, ".", key) : key;
+               int it = bufstr_add(_json_buffer, key, 0);
+               bool ret = false;
+               WITH(string, _json_ns, key, ret = _json_parse_value());
+               if (!ret) {
+                       bufstr_free(_json_buffer, it);
+                       if (required) { JSON_FAIL("expected value"); } else { break; }
+               }
+               bufstr_set(_json_buffer, len, ftos(n + 1));
+               if (STRING_ITERATOR_PEEK(_json) == ',') {
+                       STRING_ITERATOR_NEXT(_json);
+                       required = true;
+                       continue;
+               }
+               break;
+       }
+       if (STRING_ITERATOR_GET(_json) != ']') { JSON_FAIL("expected ']'"); }
+       JSON_END();
 }
 
 ERASEABLE
-bool _json_parse_value() {
-    JSON_BEGIN();
-    if (!(_json_parse_string(true)
-        || _json_parse_number()
-        || _json_parse_object()
-        || _json_parse_array()
-        || _json_parse_true()
-        || _json_parse_false()
-        || _json_parse_null())) JSON_FAIL("expected value");
-    JSON_END();
+bool _json_parse_value()
+{
+       JSON_BEGIN();
+       if (!(_json_parse_string(true)
+               || _json_parse_number()
+               || _json_parse_object()
+               || _json_parse_array()
+               || _json_parse_true()
+               || _json_parse_false()
+               || _json_parse_null())) { JSON_FAIL("expected value"); }
+       JSON_END();
 }
 
-    ERASEABLE
-    bool _json_parse_true() {
-        JSON_BEGIN();
-        if (!(STRING_ITERATOR_GET(_json) == 't'
-            && STRING_ITERATOR_GET(_json) == 'r'
-            && STRING_ITERATOR_GET(_json) == 'u'
-            && STRING_ITERATOR_GET(_json) == 'e'))
-            JSON_FAIL("expected 'true'");
-        bufstr_add(_json_buffer, "1", 0);
-        JSON_END();
-    }
+ERASEABLE
+bool _json_parse_true()
+{
+       JSON_BEGIN();
+       if (!(STRING_ITERATOR_GET(_json) == 't'
+               && STRING_ITERATOR_GET(_json) == 'r'
+               && STRING_ITERATOR_GET(_json) == 'u'
+               && STRING_ITERATOR_GET(_json) == 'e')) {
+               JSON_FAIL("expected 'true'");
+       }
+       bufstr_add(_json_buffer, "1", 0);
+       JSON_END();
+}
 
-    ERASEABLE
-    bool _json_parse_false() {
-        JSON_BEGIN();
-        if (!(STRING_ITERATOR_GET(_json) == 'f'
-            && STRING_ITERATOR_GET(_json) == 'a'
-            && STRING_ITERATOR_GET(_json) == 'l'
-            && STRING_ITERATOR_GET(_json) == 's'
-            && STRING_ITERATOR_GET(_json) == 'e'))
-            JSON_FAIL("expected 'false'");
-        bufstr_add(_json_buffer, "0", 0);
-        JSON_END();
-    }
+ERASEABLE
+bool _json_parse_false()
+{
+       JSON_BEGIN();
+       if (!(STRING_ITERATOR_GET(_json) == 'f'
+               && STRING_ITERATOR_GET(_json) == 'a'
+               && STRING_ITERATOR_GET(_json) == 'l'
+               && STRING_ITERATOR_GET(_json) == 's'
+               && STRING_ITERATOR_GET(_json) == 'e')) {
+               JSON_FAIL("expected 'false'");
+       }
+       bufstr_add(_json_buffer, "0", 0);
+       JSON_END();
+}
 
-    ERASEABLE
-    bool _json_parse_null() {
-        JSON_BEGIN();
-        if (!(STRING_ITERATOR_GET(_json) == 'n'
-            && STRING_ITERATOR_GET(_json) == 'u'
-            && STRING_ITERATOR_GET(_json) == 'l'
-            && STRING_ITERATOR_GET(_json) == 'l'))
-            JSON_FAIL("expected 'null'");
-        bufstr_add(_json_buffer, "", 0);
-        JSON_END();
-    }
+ERASEABLE
+bool _json_parse_null()
+{
+       JSON_BEGIN();
+       if (!(STRING_ITERATOR_GET(_json) == 'n'
+               && STRING_ITERATOR_GET(_json) == 'u'
+               && STRING_ITERATOR_GET(_json) == 'l'
+               && STRING_ITERATOR_GET(_json) == 'l')) {
+               JSON_FAIL("expected 'null'");
+       }
+       bufstr_add(_json_buffer, "", 0);
+       JSON_END();
+}
 
 ERASEABLE
-bool _json_parse_string(bool add) {
-    JSON_BEGIN();
-    if (STRING_ITERATOR_GET(_json) != '"') JSON_FAIL("expected opening '\"'");
-    string s = "";
-    for (int c; (c = STRING_ITERATOR_GET(_json)); ) {
-        if (c == '"') {
-            STRING_ITERATOR_UNGET(_json);
-            break;
-        } else if (c == '\\') {
-            string esc;
-            switch (STRING_ITERATOR_GET(_json)) {
-                default:
-                    JSON_FAIL("expected ( '\"' | '\\' | 'n' | 't' )");
-                case '"': esc = "\""; break;
-                case '\\': esc = "\\"; break;
-                case 'n': esc = "\n"; break;
-                case 't': esc = "\t"; break;
-                case 'u': esc = "\\u"; break; // TODO
-                case '/': esc = "/"; break;
-            }
-            s = strcat(s, esc);
-        } else {
-            s = strcat(s, chr2str(c));
-        }
-    }
-    if (STRING_ITERATOR_GET(_json) != '"') JSON_FAIL("expected closing '\"'");
-    if (add) bufstr_add(_json_buffer, s, 0);
-    _json_temp = s;
-    JSON_END();
+bool _json_parse_string(bool add)
+{
+       JSON_BEGIN();
+       if (STRING_ITERATOR_GET(_json) != '"') { JSON_FAIL("expected opening '\"'"); }
+       string s = "";
+       for (int c; (c = STRING_ITERATOR_GET(_json)); ) {
+               if (c == '"') {
+                       STRING_ITERATOR_UNGET(_json);
+                       break;
+               } else if (c == '\\') {
+                       string esc;
+                       switch (STRING_ITERATOR_GET(_json)) {
+                               default:
+                                       JSON_FAIL("expected ( '\"' | '\\' | 'n' | 't' )");
+                               case '"': esc = "\"";
+                                       break;
+                               case '\\': esc = "\\";
+                                       break;
+                               case 'n': esc = "\n";
+                                       break;
+                               case 't': esc = "\t";
+                                       break;
+                               case 'u': esc = "\\u";
+                                       break; // TODO
+                               case '/': esc = "/";
+                                       break;
+                       }
+                       s = strcat(s, esc);
+               } else {
+                       s = strcat(s, chr2str(c));
+               }
+       }
+       if (STRING_ITERATOR_GET(_json) != '"') { JSON_FAIL("expected closing '\"'"); }
+       if (add) { bufstr_add(_json_buffer, s, 0); }
+       _json_temp = s;
+       JSON_END();
 }
 
 ERASEABLE
-bool _json_parse_number() {
-    JSON_BEGIN();
-    if (!(_json_parse_float() || _json_parse_int())) JSON_FAIL("expected number");
-    JSON_END();
+bool _json_parse_number()
+{
+       JSON_BEGIN();
+       if (!(_json_parse_float() || _json_parse_int())) { JSON_FAIL("expected number"); }
+       JSON_END();
 }
 
-    ERASEABLE
-    bool _json_parse_float() {
-        JSON_BEGIN();
-        string s = "";
-        bool needdot = true;
-        for (int c; (c = STRING_ITERATOR_GET(_json)); ) {
-            if (!(c >= '0' && c <= '9')) {
-                if (c == '.' && needdot) {
-                    // fine
-                    needdot = false;
-                } else {
-                    STRING_ITERATOR_UNGET(_json);
-                    break;
-                }
-            }
-            s = strcat(s, chr2str(c));
-        }
-        if (s == "") JSON_FAIL("expected float");
-        bufstr_add(_json_buffer, s, 0);
-        JSON_END();
-    }
+ERASEABLE
+bool _json_parse_float()
+{
+       JSON_BEGIN();
+       string s = "";
+       bool needdot = true;
+       for (int c; (c = STRING_ITERATOR_GET(_json)); ) {
+               if (!(c >= '0' && c <= '9')) {
+                       if (c == '.' && needdot) {
+                               // fine
+                               needdot = false;
+                       } else {
+                               STRING_ITERATOR_UNGET(_json);
+                               break;
+                       }
+               }
+               s = strcat(s, chr2str(c));
+       }
+       if (s == "") { JSON_FAIL("expected float"); }
+       bufstr_add(_json_buffer, s, 0);
+       JSON_END();
+}
 
-    ERASEABLE
-    bool _json_parse_int() {
-        JSON_BEGIN();
-        string s = "";
-        for (int c; (c = STRING_ITERATOR_GET(_json)); ) {
-            if (!(c >= '0' && c <= '9')) {
-                STRING_ITERATOR_UNGET(_json);
-                break;
-            }
-            if (s == "" && c == '0') JSON_FAIL("expected [1-9]");
-            s = strcat(s, chr2str(c));
-        }
-        if (s == "") JSON_FAIL("expected int");
-        if (ftos(stof(s)) != s) JSON_FAIL("expected int");
-        bufstr_add(_json_buffer, s, 0);
-        JSON_END();
-    }
+ERASEABLE
+bool _json_parse_int()
+{
+       JSON_BEGIN();
+       string s = "";
+       for (int c; (c = STRING_ITERATOR_GET(_json)); ) {
+               if (!(c >= '0' && c <= '9')) {
+                       STRING_ITERATOR_UNGET(_json);
+                       break;
+               }
+               if (s == "" && c == '0') { JSON_FAIL("expected [1-9]"); }
+               s = strcat(s, chr2str(c));
+       }
+       if (s == "") { JSON_FAIL("expected int"); }
+       if (ftos(stof(s)) != s) { JSON_FAIL("expected int"); }
+       bufstr_add(_json_buffer, s, 0);
+       JSON_END();
+}
 
 ERASEABLE
-int json_parse(string in, bool() func) {
-    string trimmed = "";
-    LABEL(trim) {
-        int o = strstrofs(in, "\"", 0);
-        if (o >= 0) {
-            string part = substring(in, 0, o + 1); in = substring(in, o + 1, -1);
-            part = strreplace(" ", "", part);
-            part = strreplace("\n", "", part);
-            trimmed = strcat(trimmed, part);
-            goto trim_str;
-        } else {
-            string part = in;
-            part = strreplace(" ", "", part);
-            part = strreplace("\n", "", part);
-            trimmed = strcat(trimmed, part);
-            goto done;
-        }
-    }
-    LABEL(trim_str) {
-        int o = strstrofs(in, "\"", 0);
-        int esc = strstrofs(in, "\\\"", 0);
-        if (o < esc || esc < 0) {
-            // simple string
-            string part = substring(in, 0, o + 1); in = substring(in, o + 1, -1);
-            trimmed = strcat(trimmed, part);
-            goto trim;
-        } else {
-            // has escape
-            string part = substring(in, 0, esc + 2); in = substring(in, esc + 2, -1);
-            trimmed = strcat(trimmed, part);
-            goto trim_str;
-        }
-    }
-    LABEL(done);
+int json_parse(string in, bool() func)
+{
+       string trimmed = "";
+       LABEL(trim)
+       {
+               int o = strstrofs(in, "\"", 0);
+               if (o >= 0) {
+                       string part = substring(in, 0, o + 1);
+                       in = substring(in, o + 1, -1);
+                       part = strreplace(" ", "", part);
+                       part = strreplace("\n", "", part);
+                       trimmed = strcat(trimmed, part);
+                       goto trim_str;
+               } else {
+                       string part = in;
+                       part = strreplace(" ", "", part);
+                       part = strreplace("\n", "", part);
+                       trimmed = strcat(trimmed, part);
+                       goto done;
+               }
+       }
+       LABEL(trim_str)
+       {
+               int o = strstrofs(in, "\"", 0);
+               int esc = strstrofs(in, "\\\"", 0);
+               if (o < esc || esc < 0) {
+                       // simple string
+                       string part = substring(in, 0, o + 1);
+                       in = substring(in, o + 1, -1);
+                       trimmed = strcat(trimmed, part);
+                       goto trim;
+               } else {
+                       // has escape
+                       string part = substring(in, 0, esc + 2);
+                       in = substring(in, esc + 2, -1);
+                       trimmed = strcat(trimmed, part);
+                       goto trim_str;
+               }
+       }
+       LABEL(done);
 
-    STRING_ITERATOR_SET(_json, trimmed, 0);
-    _json_buffer = buf_create();
-    bool ret = func();
-    if (!ret) {
-        buf_del(_json_buffer);
-        _json_buffer = -1;
-    }
-    return _json_buffer;
+       STRING_ITERATOR_SET(_json, trimmed, 0);
+       _json_buffer = buf_create();
+       bool ret = func();
+       if (!ret) {
+               buf_del(_json_buffer);
+               _json_buffer = -1;
+       }
+       return _json_buffer;
 }
 
 ERASEABLE
 string json_get(int buf, string key)
 {
-    for (int i = 1, n = buf_getsize(buf); i < n; i += 2) {
-        if (bufstr_get(buf, i) == key) return bufstr_get(buf, i + 1);
-    }
-    return string_null;
+       for (int i = 1, n = buf_getsize(buf); i < n; i += 2) {
+               if (bufstr_get(buf, i) == key) { return bufstr_get(buf, i + 1); }
+       }
+       return string_null;
 }
 
 ERASEABLE
 void json_del(int buf)
 {
-    buf_del(buf);
+       buf_del(buf);
 }
 
 ERASEABLE
 void json_dump(int buf)
 {
-    for (int i = 0, n = buf_getsize(buf); i < n; ++i) {
-        print(bufstr_get(buf, i), "\n");
-    }
+       for (int i = 0, n = buf_getsize(buf); i < n; ++i) {
+               print(bufstr_get(buf, i), "\n");
+       }
 }
 
 #undef JSON_BEGIN
@@ -301,16 +330,16 @@ void json_dump(int buf)
 
 TEST(json, Parse)
 {
-    string s = "{\n\
+       string s = "{\n\
     \"m_string\": \"\\\"string\\\"\",\n\
     \"m_int\": 123,\n\
     \"m_bool\": true,\n\
     \"m_null\": null,\n\
     \"m_obj\": { },\n\
     \"m_arr\": [ ]\n}"; // "
-    print(s, "\n");
-    int buf = json_parse(s, _json_parse_object);
-    EXPECT_NE(-1, buf);
-    json_dump(buf);
-    SUCCEED();
+       print(s, "\n");
+       int buf = json_parse(s, _json_parse_object);
+       EXPECT_NE(-1, buf);
+       json_dump(buf);
+       SUCCEED();
 }
index e2194f574c39a4e41235633ceaaa61ef2e49729f..a6c5f5d2884b3ce6291c6da3e5289e123fee2c75 100644 (file)
@@ -34,12 +34,11 @@ entity LL_PUSH(LinkedList this, entity e)
 entity LL_POP(LinkedList this)
 {
        assert(this);
-       if (!this.ll_tail) return NULL;
+       if (!this.ll_tail) { return NULL; }
        LinkedListNode n = this.ll_tail;
        entity e = n.ll_data;
        LinkedListNode prev = n.ll_prev;
-       if (prev) (this.ll_tail = prev).ll_next = NULL;
-       else this.ll_head = this.ll_tail = NULL;
+       if (prev) { (this.ll_tail = prev).ll_next = NULL; } else { this.ll_head = this.ll_tail = NULL; }
        delete(n);
        return e;
 }
@@ -51,10 +50,9 @@ entity LL_POP(LinkedList this)
        MACRO_BEGIN \
                LinkedList _ll = this; \
                assert(_ll); \
-               while (_ll.ll_tail) \
-               { \
+               while (_ll.ll_tail) { \
                        entity it = LL_POP(_ll); \
-                       if (!it) continue; \
+                       if (!it) { continue; } \
                        dtor \
                        delete(it); \
                } \
@@ -73,8 +71,7 @@ entity LL_POP(LinkedList this)
 #define LL_EACH(list, cond, body) \
        MACRO_BEGIN                                                                   \
                noref int i = 0;                                                \
-               for (entity _it = list.ll_head; _it; (_it = _it.ll_next, ++i))  \
-               {                                                               \
+               for (entity _it = list.ll_head; _it; (_it = _it.ll_next, ++i)) { \
                        ITER_CONST noref entity it = _it.ll_data;                   \
                        if (cond) { body }                                          \
                }                                                               \
index b751bfb2a836e8eb298e2201d50fd33f202f9386..b1ed888b3f3030bdf80296db8a74034ca9b709b7 100644 (file)
@@ -3,26 +3,24 @@
 #include "progname.qh"
 
 #define assert(expr, ...) _assert(LOG_SEVERE, expr, __VA_ARGS__)
-#define devassert(...) MACRO_BEGIN if (autocvar_developer) assert(__VA_ARGS__); MACRO_END
+#define devassert(...) MACRO_BEGIN if (autocvar_developer) { assert(__VA_ARGS__); } MACRO_END
 
 #define assert_once(expr, ...) \
        MACRO_BEGIN \
                static bool __once; \
-               if (!__once) \
-               { \
+               if (!__once) { \
                        assert(expr, __VA_ARGS__); \
                        __once = true; \
                } \
        MACRO_END
-#define devassert_once(...) MACRO_BEGIN if (autocvar_developer) assert_once(__VA_ARGS__); MACRO_END
+#define devassert_once(...) MACRO_BEGIN if (autocvar_developer) { assert_once(__VA_ARGS__); } MACRO_END
 
 #define demand(expr, ...) _assert(LOG_FATAL, expr, __VA_ARGS__)
-#define devdemand(...) MACRO_BEGIN if (autocvar_developer) demand(__VA_ARGS__); MACRO_END
+#define devdemand(...) MACRO_BEGIN if (autocvar_developer) { demand(__VA_ARGS__); } MACRO_END
 
 #define _assert(f, expr, then) \
        MACRO_BEGIN \
-               if (!(expr)) \
-               { \
+               if (!(expr)) { \
                        f("assertion failed: `" #expr "`\n"); \
                        then; \
                } \
 
 
 #if defined(MENUQC)
-string(string, string...) strcat1n = #53;
+string(string, string ...) strcat1n = #53;
 #else
-string(string, string...) strcat1n = #115;
+string(string, string ...) strcat1n = #115;
 #endif
 
 // would be nice if __FUNC__ could be concatenated at compile time
 #if 0
-       // less work, bigger binary
-       #define __SOURCELOC__ (sprintf("^7%s^9" "(" "^9"__FILE__"^7"  ":"  "^9"STR(__LINE__)"^7" ")", __FUNC__))
+// less work, bigger binary
+#define __SOURCELOC__ (sprintf("^7%s^9" "(" "^9"__FILE__ "^7"  ":"  "^9"STR (__LINE__)"^7" ")", __FUNC__))
 #else
-       #define __SOURCELOC__ (sprintf("^7%s^9" "(" "^9%s^7"  ":"  "^9%s^7" ")", __FUNC__, __FILE__, STR(__LINE__)))
+#define __SOURCELOC__ (sprintf("^7%s^9" "(" "^9%s^7"  ":"  "^9%s^7" ")", __FUNC__, __FILE__, STR(__LINE__)))
 #endif
 
-#define _LOG_HEADER(level) "^9[::" "^7"PROGNAME"^9" "::" level"^9" "] ", __SOURCELOC__
+#define _LOG_HEADER(level) "^9[::" "^7"PROGNAME "^9" "::" level "^9" "] ", __SOURCELOC__
 #define _LOG(f, level, s) \
        MACRO_BEGIN \
                f(strcat1n(_LOG_HEADER(level), "\n^7", s, "\n")); \
@@ -84,7 +82,7 @@ string(string, string...) strcat1n = #115;
 
 #define dprint2(msg) \
        MACRO_BEGIN \
-               if (autocvar_developer > 1) dprint(msg); \
+               if (autocvar_developer > 1) { dprint(msg); } \
        MACRO_END
 
 // TODO: this sucks, lets find a better way to do backtraces?
index ea7f0e1fe26f62143774a14a217047780abb9e6c..21fe5cf40fd3f666dba06ef317198b4451f10ee4 100644 (file)
@@ -8,14 +8,14 @@ ERASEABLE
 void db_save(int db, string filename)
 {
        int fh = fopen(filename, FILE_WRITE);
-       if (fh < 0)
-       {
+       if (fh < 0) {
                LOG_WARNF("^1Can't write DB to %s", filename);
                return;
        }
        fputs(fh, strcat(ftos(DB_BUCKETS), "\n"));
-       for (int i = 0, n = buf_getsize(db); i < n; ++i)
+       for (int i = 0, n = buf_getsize(db); i < n; ++i) {
                fputs(fh, strcat(bufstr_get(db, i), "\n"));
+       }
        fclose(fh);
 }
 
@@ -35,31 +35,26 @@ ERASEABLE
 int db_load(string filename)
 {
        int db = buf_create();
-       if (db < 0) return -1;
+       if (db < 0) { return -1; }
        int fh = fopen(filename, FILE_READ);
-       if (fh < 0) return db;
+       if (fh < 0) { return db; }
        string l = fgets(fh);
-       if (stoi(l) == DB_BUCKETS)
-       {
-               for (int i = 0; (l = fgets(fh)); ++i)
-               {
-                       if (l != "") bufstr_set(db, i, l);
+       if (stoi(l) == DB_BUCKETS) {
+               for (int i = 0; (l = fgets(fh)); ++i) {
+                       if (l != "") { bufstr_set(db, i, l); }
                }
-       }
-       else
-       {
+       } else {
                // different count of buckets, or a dump?
                // need to reorganize the database then (SLOW)
                //
                // note: we also parse the first line (l) in case the DB file is
                // missing the bucket count
-               do
-               {
+               do {
                        int n = tokenizebyseparator(l, "\\");
-                       for (int j = 2; j < n; j += 2)
+                       for (int j = 2; j < n; j += 2) {
                                db_put(db, argv(j - 1), uri_unescape(argv(j)));
-               }
-               while ((l = fgets(fh)));
+                       }
+               while ((l = fgets(fh)));
        }
        fclose(fh);
        return db;
@@ -69,13 +64,13 @@ ERASEABLE
 void db_dump(int db, string filename)
 {
        int fh = fopen(filename, FILE_WRITE);
-       if (fh < 0) LOG_FATALF("Can't dump DB to %s");
+       if (fh < 0) { LOG_FATALF("Can't dump DB to %s"); }
        fputs(fh, "0\n");
-       for (int i = 0, n = buf_getsize(db); i < n; ++i)
-       {
+       for (int i = 0, n = buf_getsize(db); i < n; ++i) {
                int m = tokenizebyseparator(bufstr_get(db, i), "\\");
-               for (int j = 2; j < m; j += 2)
+               for (int j = 2; j < m; j += 2) {
                        fputs(fh, strcat("\\", argv(j - 1), "\\", argv(j), "\n"));
+               }
        }
        fclose(fh);
 }
@@ -108,15 +103,15 @@ void db_put(int db, string key, string value)
 /*
 void db_test()
 {
-       LOG_INFO("LOAD...\n");
-       int db = db_load("foo.db");
-       LOG_INFO("LOADED. FILL...\n");
-       for (int i = 0; i < DB_BUCKETS; ++i)
-               db_put(db, ftos(random()), "X");
-       LOG_INFO("FILLED. SAVE...\n");
-       db_save(db, "foo.db");
-       LOG_INFO("SAVED. CLOSE...\n");
-       db_close(db);
-       LOG_INFO("CLOSED.\n");
+    LOG_INFO("LOAD...\n");
+    int db = db_load("foo.db");
+    LOG_INFO("LOADED. FILL...\n");
+    for (int i = 0; i < DB_BUCKETS; ++i)
+        db_put(db, ftos(random()), "X");
+    LOG_INFO("FILLED. SAVE...\n");
+    db_save(db, "foo.db");
+    LOG_INFO("SAVED. CLOSE...\n");
+    db_close(db);
+    LOG_INFO("CLOSED.\n");
 }
 */
index a3bffeaaef3b223e96273b4e81959c7306083c85..ef0c680d04276e0b574300f3953be21942be691a 100644 (file)
@@ -14,7 +14,7 @@ string markdown(string s)
        FOREACH_CHAR(s, true, {
                switch (it) {
                        default:
-                               for (; spaces > 0; --spaces) {
+                               for ( ; spaces > 0; --spaces) {
                                        buf = strcat(buf, " ");
                                }
                                buf = strcat(buf, chr2str(it));
@@ -44,7 +44,8 @@ string markdown(string s)
 
 TEST(Markdown, LineWrap)
 {
-       #define X(expect, in) MACRO_BEGIN \
+#define X(expect, in) \
+       MACRO_BEGIN \
                string out = markdown(in); \
                EXPECT_TRUE(expect == out); \
                LOG_INFO(expect); \
@@ -62,5 +63,5 @@ TEST(Markdown, LineWrap)
        // paragraph
        X("lorem\n\nipsum", "lorem\n\nipsum");
        SUCCEED();
-       #undef X
+#undef X
 }
index 449aa373b31885d5aa3a5958d7855c94c4fd3d6c..e72d7cba965acd3aaf39a8d337cced29d0cc3642 100644 (file)
@@ -2,47 +2,48 @@
 
 #include <common/command/_mod.qh>
 
-GENERIC_COMMAND(mx, "Send a matrix command") {
-    switch (argv(1)) {
-        case "user":
-            if (matrix_user) strunzone(matrix_user);
-            matrix_user = strzone(substring(command, argv_start_index(2), -1));
-            break;
-        case "token":
-            if (matrix_access_token) strunzone(matrix_access_token);
-            matrix_access_token = strzone(substring(command, argv_start_index(2), -1));
-            break;
-        case "messages":
-            MX_Messages(string_null);
-            break;
-        case "nick":
-            MX_Nick(substring(command, argv_start_index(2), -1));
-            break;
-        case "join":
-            string s = substring(command, argv_start_index(2), -1);
-            if (s != matrix_room && matrix_room != "") {
-                MX_Leave(matrix_room);
-                strunzone(matrix_room);
-            }
-            matrix_room = strzone(s);
-            MX_Join(matrix_room);
-            break;
-        case "sync":
-            MX_Sync(string_null);
-            break;
-        case "typing":
-            MX_Typing(true);
-            break;
-        case "say":
-            MX_Say(substring(command, argv_start_index(2), -1));
-            break;
-        case "leave":
-            MX_Leave(matrix_room);
-            matrix_room = string_null;
-            break;
-        case "forget":
-            MX_Forget(matrix_room);
-            matrix_room = "";
-            break;
-    }
+GENERIC_COMMAND(mx, "Send a matrix command")
+{
+       switch (argv(1)) {
+               case "user":
+                       if (matrix_user) { strunzone(matrix_user); }
+                       matrix_user = strzone(substring(command, argv_start_index(2), -1));
+                       break;
+               case "token":
+                       if (matrix_access_token) { strunzone(matrix_access_token); }
+                       matrix_access_token = strzone(substring(command, argv_start_index(2), -1));
+                       break;
+               case "messages":
+                       MX_Messages(string_null);
+                       break;
+               case "nick":
+                       MX_Nick(substring(command, argv_start_index(2), -1));
+                       break;
+               case "join":
+                       string s = substring(command, argv_start_index(2), -1);
+                       if (s != matrix_room && matrix_room != "") {
+                               MX_Leave(matrix_room);
+                               strunzone(matrix_room);
+                       }
+                       matrix_room = strzone(s);
+                       MX_Join(matrix_room);
+                       break;
+               case "sync":
+                       MX_Sync(string_null);
+                       break;
+               case "typing":
+                       MX_Typing(true);
+                       break;
+               case "say":
+                       MX_Say(substring(command, argv_start_index(2), -1));
+                       break;
+               case "leave":
+                       MX_Leave(matrix_room);
+                       matrix_room = string_null;
+                       break;
+               case "forget":
+                       MX_Forget(matrix_room);
+                       matrix_room = "";
+                       break;
+       }
 }
index c399c2aa6cf86e2d9a9ba910667c8cd1c926ba43..1ea79f1131f7826b0f8d7db02dc078ceaa642207 100644 (file)
 void MX_Nick_(entity fh, entity pass, int status);
 void MX_Nick(string name)
 {
-    if (!matrix_access_token) return;
-    entity pass = new_pure(mx);
-    pass.message = name;
-    url_single_fopen(
-        sprintf("%s/_matrix/client/r0/profile/%s/displayname?access_token=%s", autocvar_matrix_server, matrix_user, matrix_access_token),
-        FILE_WRITE,
-        MX_Nick_,
-        pass
-    );
+       if (!matrix_access_token) { return; }
+       entity pass = new_pure(mx);
+       pass.message = name;
+       url_single_fopen(
+               sprintf("%s/_matrix/client/r0/profile/%s/displayname?access_token=%s", autocvar_matrix_server, matrix_user, matrix_access_token),
+               FILE_WRITE,
+               MX_Nick_,
+               pass
+       );
 }
 void MX_Nick_(entity fh, entity pass, int status)
 {
-    switch (status) {
-        case URL_READY_CANWRITE: {
-            fh.url_verb = "PUT";
-            fh.url_content_type = "application/json";
-            url_fputs(fh, sprintf("{\"displayname\": \"%s\"}", pass.message));
-            delete(pass);
-            url_fclose(fh);
-            break;
-        }
-    }
+       switch (status) {
+               case URL_READY_CANWRITE:
+               {
+                       fh.url_verb = "PUT";
+                       fh.url_content_type = "application/json";
+                       url_fputs(fh, sprintf("{\"displayname\": \"%s\"}", pass.message));
+                       delete(pass);
+                       url_fclose(fh);
+                       break;
+               }
+       }
 }
 
 
 void MX_Messages_(entity fh, entity pass, int status);
 void MX_Messages(string from)
 {
-    if (!matrix_access_token) return;
-    string s = sprintf("%s/_matrix/client/r0/events?room_id=%s&limit=50&timeout=30000&from=%s&access_token=%s", autocvar_matrix_server, matrix_room, from, matrix_access_token);
-    url_single_fopen(
-        s,
-        FILE_READ,
-        MX_Messages_,
-        NULL
-    );
+       if (!matrix_access_token) { return; }
+       string s = sprintf("%s/_matrix/client/r0/events?room_id=%s&limit=50&timeout=30000&from=%s&access_token=%s", autocvar_matrix_server, matrix_room, from, matrix_access_token);
+       url_single_fopen(
+               s,
+               FILE_READ,
+               MX_Messages_,
+               NULL
+       );
 }
 void MX_Messages_(entity fh, entity pass, int status)
 {
-    switch (status) {
-        default: {
-            LOG_WARNF("status: %d", status);
-            break;
-        }
-        case URL_READY_CLOSED: break;
-        case URL_READY_CANREAD: {
-            string json = "";
-            for (string s; (s = url_fgets(fh)); ) { json = strcat(json, s, "\n"); }
-            url_fclose(fh);
-            int buf = json_parse(json, _json_parse_object);
-            EXPECT_NE(-1, buf);
-            for (int i = 0, n = stof(json_get(buf, "chunk.length")); i < n; ++i) {
-                MX_Handle(buf, sprintf("chunk.%d", i));
-            }
-            MX_Messages(json_get(buf, "end"));
-            break;
-        }
-    }
+       switch (status) {
+               default:
+               {
+                       LOG_WARNF("status: %d", status);
+                       break;
+               }
+               case URL_READY_CLOSED: break;
+               case URL_READY_CANREAD:
+               {
+                       string json = "";
+                       for (string s; (s = url_fgets(fh)); ) {
+                               json = strcat(json, s, "\n");
+                       }
+                       url_fclose(fh);
+                       int buf = json_parse(json, _json_parse_object);
+                       EXPECT_NE(-1, buf);
+                       for (int i = 0, n = stof(json_get(buf, "chunk.length")); i < n; ++i) {
+                               MX_Handle(buf, sprintf("chunk.%d", i));
+                       }
+                       MX_Messages(json_get(buf, "end"));
+                       break;
+               }
+       }
 }
 
 
 void MX_Sync_(entity fh, entity pass, int status);
 void MX_Sync(string since)
 {
-    if (!matrix_access_token) return;
-    string s = strcat(autocvar_matrix_server, "/_matrix/client/r0/sync?");
-    if (since) {
-        s = strcat(s,
-            "since=", since, "&",
-            "timeout=30000&",
-            sprintf("filter={\"account_data\":{\"types\":[]},\"presence\":{\"types\":[]},\"room\":{\"rooms\":[\"%s\"]}}&", matrix_room)
-        );
-    } else {
-        s = strcat(s,
-            "timeout=0&",
-            "filter={\"account_data\":{\"types\":[]},\"presence\":{\"types\":[]},\"room\":{\"rooms\":[]}}&"
-        );
-    }
-    s = strcat(s, "access_token=", matrix_access_token);
-    url_single_fopen(s, FILE_READ, MX_Sync_, NULL);
+       if (!matrix_access_token) { return; }
+       string s = strcat(autocvar_matrix_server, "/_matrix/client/r0/sync?");
+       if (since) {
+               s = strcat(s,
+                       "since=", since, "&",
+                       "timeout=30000&",
+                       sprintf("filter={\"account_data\":{\"types\":[]},\"presence\":{\"types\":[]},\"room\":{\"rooms\":[\"%s\"]}}&", matrix_room)
+                       );
+       } else {
+               s = strcat(s,
+                       "timeout=0&",
+                       "filter={\"account_data\":{\"types\":[]},\"presence\":{\"types\":[]},\"room\":{\"rooms\":[]}}&"
+                       );
+       }
+       s = strcat(s, "access_token=", matrix_access_token);
+       url_single_fopen(s, FILE_READ, MX_Sync_, NULL);
 }
 void MX_Sync_(entity fh, entity pass, int status)
 {
-    switch (status) {
-        default: {
-            LOG_WARNF("status: %d", status);
-            break;
-        }
-        case URL_READY_CLOSED: break;
-        case URL_READY_CANREAD: {
-            string json = "";
-            for (string s; (s = url_fgets(fh)); ) { json = strcat(json, s, "\n"); }
-            url_fclose(fh);
-            int buf = json_parse(json, _json_parse_object);
-            EXPECT_NE(-1, buf);
-            string arr = sprintf("rooms.join.%s.timeline.events", matrix_room);
-            for (int i = 0, n = stof(json_get(buf, sprintf("%s.length", arr))); i < n; ++i) {
-                MX_Handle(buf, sprintf("%s.%d", arr, i));
-            }
-            MX_Sync(json_get(buf, "next_batch"));
-            break;
-        }
-    }
+       switch (status) {
+               default:
+               {
+                       LOG_WARNF("status: %d", status);
+                       break;
+               }
+               case URL_READY_CLOSED: break;
+               case URL_READY_CANREAD:
+               {
+                       string json = "";
+                       for (string s; (s = url_fgets(fh)); ) {
+                               json = strcat(json, s, "\n");
+                       }
+                       url_fclose(fh);
+                       int buf = json_parse(json, _json_parse_object);
+                       EXPECT_NE(-1, buf);
+                       string arr = sprintf("rooms.join.%s.timeline.events", matrix_room);
+                       for (int i = 0, n = stof(json_get(buf, sprintf("%s.length", arr))); i < n; ++i) {
+                               MX_Handle(buf, sprintf("%s.%d", arr, i));
+                       }
+                       MX_Sync(json_get(buf, "next_batch"));
+                       break;
+               }
+       }
 }
 
 
 void MX_JLF_(entity fh, entity pass, int status);
 void MX_Join(string room)
 {
-    if (!matrix_access_token) return;
-    url_single_fopen(
-        sprintf("%s/_matrix/client/r0/rooms/%s/join?access_token=%s", autocvar_matrix_server, matrix_room, matrix_access_token),
-        FILE_WRITE,
-        MX_JLF_,
-        NULL
-    );
+       if (!matrix_access_token) { return; }
+       url_single_fopen(
+               sprintf("%s/_matrix/client/r0/rooms/%s/join?access_token=%s", autocvar_matrix_server, matrix_room, matrix_access_token),
+               FILE_WRITE,
+               MX_JLF_,
+               NULL
+       );
 }
 void MX_Leave(string room)
 {
-    if (!matrix_access_token) return;
-    url_single_fopen(
-        sprintf("%s/_matrix/client/r0/rooms/%s/leave?access_token=%s", autocvar_matrix_server, matrix_room, matrix_access_token),
-        FILE_WRITE,
-        MX_JLF_,
-        NULL
-    );
+       if (!matrix_access_token) { return; }
+       url_single_fopen(
+               sprintf("%s/_matrix/client/r0/rooms/%s/leave?access_token=%s", autocvar_matrix_server, matrix_room, matrix_access_token),
+               FILE_WRITE,
+               MX_JLF_,
+               NULL
+       );
 }
 void MX_Forget(string room)
 {
-    if (!matrix_access_token) return;
-    url_single_fopen(
-        sprintf("%s/_matrix/client/r0/rooms/%s/forget?access_token=%s", autocvar_matrix_server, matrix_room, matrix_access_token),
-        FILE_WRITE,
-        MX_JLF_,
-        NULL
-    );
+       if (!matrix_access_token) { return; }
+       url_single_fopen(
+               sprintf("%s/_matrix/client/r0/rooms/%s/forget?access_token=%s", autocvar_matrix_server, matrix_room, matrix_access_token),
+               FILE_WRITE,
+               MX_JLF_,
+               NULL
+       );
 }
 void MX_JLF_(entity fh, entity pass, int status)
 {
-    switch (status) {
-        case URL_READY_CANWRITE: {
-            fh.url_content_type = "application/json";
-            url_fputs(fh, sprintf("{}", pass.message));
-            url_fclose(fh);
-            break;
-        }
-    }
+       switch (status) {
+               case URL_READY_CANWRITE:
+               {
+                       fh.url_content_type = "application/json";
+                       url_fputs(fh, sprintf("{}", pass.message));
+                       url_fclose(fh);
+                       break;
+               }
+       }
 }
 
 
 void MX_Typing_(entity fh, entity pass, int status);
 void MX_Typing(bool state)
 {
-    if (!matrix_access_token) return;
-    entity pass = new_pure(mx);
-    pass.message = state ? "true" : "false";
-    url_single_fopen(
-        sprintf("%s/_matrix/client/r0/rooms/%s/typing/%s?access_token=%s", autocvar_matrix_server, matrix_room, matrix_user, matrix_access_token),
-        FILE_WRITE,
-        MX_Typing_,
-        pass
-    );
+       if (!matrix_access_token) { return; }
+       entity pass = new_pure(mx);
+       pass.message = state ? "true" : "false";
+       url_single_fopen(
+               sprintf("%s/_matrix/client/r0/rooms/%s/typing/%s?access_token=%s", autocvar_matrix_server, matrix_room, matrix_user, matrix_access_token),
+               FILE_WRITE,
+               MX_Typing_,
+               pass
+       );
 }
 void MX_Typing_(entity fh, entity pass, int status)
 {
-    switch (status) {
-        case URL_READY_CANWRITE: {
-            fh.url_verb = "PUT";
-            fh.url_content_type = "application/json";
-            url_fputs(fh, sprintf("{\"typing\": %s, \"timeout\": 30000}", pass.message));
-            delete(pass);
-            url_fclose(fh);
-            break;
-        }
-    }
+       switch (status) {
+               case URL_READY_CANWRITE:
+               {
+                       fh.url_verb = "PUT";
+                       fh.url_content_type = "application/json";
+                       url_fputs(fh, sprintf("{\"typing\": %s, \"timeout\": 30000}", pass.message));
+                       delete(pass);
+                       url_fclose(fh);
+                       break;
+               }
+       }
 }
 
 
 void MX_Say_(entity fh, entity pass, int status);
 void MX_Say(string body)
 {
-    if (!matrix_access_token) return;
-    static int txnid;
-    entity pass = new_pure(mx);
-    pass.message = strzone(body);
-    url_single_fopen(
-        sprintf("%s/_matrix/client/r0/rooms/%s/send/m.room.message/%d?access_token=%s", autocvar_matrix_server, matrix_room, ++txnid, matrix_access_token),
-        FILE_WRITE,
-        MX_Say_,
-        pass
-    );
+       if (!matrix_access_token) { return; }
+       static int txnid;
+       entity pass = new_pure(mx);
+       pass.message = strzone(body);
+       url_single_fopen(
+               sprintf("%s/_matrix/client/r0/rooms/%s/send/m.room.message/%d?access_token=%s", autocvar_matrix_server, matrix_room, ++txnid, matrix_access_token),
+               FILE_WRITE,
+               MX_Say_,
+               pass
+       );
 }
 void MX_Say_(entity fh, entity pass, int status)
 {
-    switch (status) {
-        case URL_READY_CANWRITE: {
-            fh.url_verb = "PUT";
-            fh.url_content_type = "application/json";
-            url_fputs(fh, sprintf("{\"msgtype\": \"m.text\", \"body\": \"%s\"}", pass.message));
-            strunzone(pass.message); delete(pass);
-            url_fclose(fh);
-            break;
-        }
-    }
+       switch (status) {
+               case URL_READY_CANWRITE:
+               {
+                       fh.url_verb = "PUT";
+                       fh.url_content_type = "application/json";
+                       url_fputs(fh, sprintf("{\"msgtype\": \"m.text\", \"body\": \"%s\"}", pass.message));
+                       strunzone(pass.message);
+                       delete(pass);
+                       url_fclose(fh);
+                       break;
+               }
+       }
 }
index 77a1e770b1863aba48485ab132fc11e1f0f18c1f..a059baa22bbd1ea8b1669ea870620f7d2181fef6 100644 (file)
@@ -1,10 +1,10 @@
 #pragma once
 
 #ifdef QCC_SUPPORT_NIL
-       #define func_null nil
-       #define string_null nil
+#define func_null nil
+#define string_null nil
 #else
 // the NULL function
-       var void func_null();
-       string string_null;
+var void func_null();
+string string_null;
 #endif
index 53026be4d279ca0b7360426a30d3fafb2d2c22af..cf427f0e7cc39ecb4a1183e5a8d807d47d73df55 100644 (file)
@@ -11,7 +11,7 @@ class(Noise).float noise_bstate;
 ERASEABLE
 float Noise_Brown(entity e, float dt)
 {
-       e.noise_baccum += random() * sqrt(dt);  // same stddev for all dt
+       e.noise_baccum += random() * sqrt(dt); // same stddev for all dt
        return e.noise_baccum;
 }
 ERASEABLE
@@ -20,9 +20,9 @@ float Noise_Pink(entity e, float dt)
        float f;
        f = dt * 60;
        // http://home.earthlink.net/~ltrammell/tech/pinkalg.htm
-       if (random() > POW(0.3190, f)) e.noise_paccum = 0.34848 * (2 * random() - 1);
-       if (random() > POW(0.7756, f)) e.noise_paccum2 = 0.28768 * (2 * random() - 1);
-       if (random() > POW(0.9613, f)) e.noise_paccum3 = 0.43488 * (2 * random() - 1);
+       if (random() > POW(0.3190, f)) { e.noise_paccum = 0.34848 * (2 * random() - 1); }
+       if (random() > POW(0.7756, f)) { e.noise_paccum2 = 0.28768 * (2 * random() - 1); }
+       if (random() > POW(0.9613, f)) { e.noise_paccum3 = 0.43488 * (2 * random() - 1); }
        return e.noise_paccum + e.noise_paccum2 + e.noise_paccum3;
 }
 ERASEABLE
@@ -34,6 +34,6 @@ float Noise_White(entity e, float dt)
 ERASEABLE
 float Noise_Burst(entity e, float dt, float p)
 {
-       if (random() > POW(p, dt)) e.noise_bstate = !e.noise_bstate;
+       if (random() > POW(p, dt)) { e.noise_bstate = !e.noise_bstate; }
        return 2 * e.noise_bstate - 1;
 }
index ce6f7ea899c8513995827f5c6bf373fae8baa539..8d527d4d44d53c3ffb59d66e24fdcaa6332461f5 100644 (file)
@@ -72,9 +72,8 @@ vector vec_bounds_out(vector point, vector a, vector b)
 ERASEABLE
 float angle_snap_f(float f, float increment)
 {
-       for (int j = 0; j <= 360; )
-       {
-               if (f <= j - increment) return j - increment;
+       for (int j = 0; j <= 360; ) {
+               if (f <= j - increment) { return j - increment; }
                j = j + increment;
        }
 
index 927410cde115de908e5357781ba789c33378716b..faf7ad9d38dc37c95de01f5ce96da5c6f002846e 100644 (file)
 
 #define P99_MAX_NUMBER 16
 #define P00_ARG(                            \
-    _01, _02, _03, _04, _05, _06, _07, _08, \
-    _09, _10, _11, _12, _13, _14, _15, _16, \
-    _00, ...) _00
-#define P00_NARG(...) P00_ARG(__VA_ARGS__,  \
-    16, 15, 14, 13, 12, 11, 10,  9,         \
-     8,  7,  6,  5,  4,  3,  2,  1,         \
-     0, )
-#define P99_HAS_COMMA(...) P00_ARG(__VA_ARGS__, \
-    1, 1, 1, 1, 1, 1, 1, 1,                     \
-    1, 1, 1, 1, 1, 1, 1, 0,                     \
-    0)
+               _01, _02, _03, _04, _05, _06, _07, _08, \
+               _09, _10, _11, _12, _13, _14, _15, _16, \
+               _00, ...) _00
+#define P00_NARG(...) \
+       P00_ARG(__VA_ARGS__,  \
+       16, 15, 14, 13, 12, 11, 10,  9,         \
+       8,  7,  6,  5,  4,  3,  2,  1,         \
+       0, )
+#define P99_HAS_COMMA(...) \
+       P00_ARG(__VA_ARGS__, \
+       1, 1, 1, 1, 1, 1, 1, 1,                     \
+       1, 1, 1, 1, 1, 1, 1, 0,                     \
+       0)
 
 #define P99_IF_EMPTY(...) P99_IF_EQ(1, P99_IS_EMPTY(__VA_ARGS__))
-    // P99_HAS_COMMA(__VA_ARGS__),                         : test if there is just one argument, that might be empty
-    // P99_HAS_COMMA(P00_IS__EQ__ __VA_ARGS__),            : test if P99_IS__EQ__ together with the argument adds a comma
-    // P99_HAS_COMMA(__VA_ARGS__ (/*empty*/)),             : test if the argument together with a parenthesis adds a comma
-    // P99_HAS_COMMA(P00_IS__EQ__ __VA_ARGS__ (/*empty*/)) : test if placing it between P99_IS__EQ__ and the parenthesis adds a comma
-    #define P99_IS_EMPTY(...)                                                               \
-        P00_ISEMPTY(                                                                        \
-            P99_HAS_COMMA(__VA_ARGS__),                                                     \
-            P99_HAS_COMMA(P00_IS__EQ__ __VA_ARGS__),                                        \
-            P99_HAS_COMMA(__VA_ARGS__ (/*empty*/)),                                         \
-            P99_HAS_COMMA(P00_IS__EQ__ __VA_ARGS__ (/*empty*/))                             \
-        )
-        #define P00_IS__EQ__(...) ,
-        #define P00_ISEMPTY(_1, _2, _3, _4) P99_HAS_COMMA(P99_PASTE5(P00_IS_EMPTY_CASE_, _1, _2, _3, _4))
-            #define P00_IS_EMPTY_CASE_0000 P00_IS_EMPTY_CASE_0000
-            #define P00_IS_EMPTY_CASE_0001 ,
-            #define P00_IS_EMPTY_CASE_0010 P00_IS_EMPTY_CASE_0010
-            #define P00_IS_EMPTY_CASE_0011 P00_IS_EMPTY_CASE_0011
-            #define P00_IS_EMPTY_CASE_0100 P00_IS_EMPTY_CASE_0100
-            #define P00_IS_EMPTY_CASE_0101 P00_IS_EMPTY_CASE_0101
-            #define P00_IS_EMPTY_CASE_0110 P00_IS_EMPTY_CASE_0110
-            #define P00_IS_EMPTY_CASE_0111 P00_IS_EMPTY_CASE_0111
-            #define P00_IS_EMPTY_CASE_1000 P00_IS_EMPTY_CASE_1000
-            #define P00_IS_EMPTY_CASE_1001 P00_IS_EMPTY_CASE_1001
-            #define P00_IS_EMPTY_CASE_1010 P00_IS_EMPTY_CASE_1010
-            #define P00_IS_EMPTY_CASE_1011 P00_IS_EMPTY_CASE_1011
-            #define P00_IS_EMPTY_CASE_1100 P00_IS_EMPTY_CASE_1100
-            #define P00_IS_EMPTY_CASE_1101 P00_IS_EMPTY_CASE_1101
-            #define P00_IS_EMPTY_CASE_1110 P00_IS_EMPTY_CASE_1110
-            #define P00_IS_EMPTY_CASE_1111 P00_IS_EMPTY_CASE_1111
+// P99_HAS_COMMA(__VA_ARGS__),                         : test if there is just one argument, that might be empty
+// P99_HAS_COMMA(P00_IS__EQ__ __VA_ARGS__),            : test if P99_IS__EQ__ together with the argument adds a comma
+// P99_HAS_COMMA(__VA_ARGS__ (/*empty*/)),             : test if the argument together with a parenthesis adds a comma
+// P99_HAS_COMMA(P00_IS__EQ__ __VA_ARGS__ (/*empty*/)) : test if placing it between P99_IS__EQ__ and the parenthesis adds a comma
+#define P99_IS_EMPTY(...)                                                               \
+       P00_ISEMPTY(                                                                        \
+       P99_HAS_COMMA(__VA_ARGS__),                                                     \
+       P99_HAS_COMMA(P00_IS__EQ__ __VA_ARGS__),                                        \
+       P99_HAS_COMMA(__VA_ARGS__( /*empty*/)),                                         \
+       P99_HAS_COMMA(P00_IS__EQ__ __VA_ARGS__( /*empty*/))                             \
+       )
+#define P00_IS__EQ__(...) ,
+#define P00_ISEMPTY(_1, _2, _3, _4) P99_HAS_COMMA(P99_PASTE5(P00_IS_EMPTY_CASE_, _1, _2, _3, _4))
+#define P00_IS_EMPTY_CASE_0000 P00_IS_EMPTY_CASE_0000
+#define P00_IS_EMPTY_CASE_0001 ,
+#define P00_IS_EMPTY_CASE_0010 P00_IS_EMPTY_CASE_0010
+#define P00_IS_EMPTY_CASE_0011 P00_IS_EMPTY_CASE_0011
+#define P00_IS_EMPTY_CASE_0100 P00_IS_EMPTY_CASE_0100
+#define P00_IS_EMPTY_CASE_0101 P00_IS_EMPTY_CASE_0101
+#define P00_IS_EMPTY_CASE_0110 P00_IS_EMPTY_CASE_0110
+#define P00_IS_EMPTY_CASE_0111 P00_IS_EMPTY_CASE_0111
+#define P00_IS_EMPTY_CASE_1000 P00_IS_EMPTY_CASE_1000
+#define P00_IS_EMPTY_CASE_1001 P00_IS_EMPTY_CASE_1001
+#define P00_IS_EMPTY_CASE_1010 P00_IS_EMPTY_CASE_1010
+#define P00_IS_EMPTY_CASE_1011 P00_IS_EMPTY_CASE_1011
+#define P00_IS_EMPTY_CASE_1100 P00_IS_EMPTY_CASE_1100
+#define P00_IS_EMPTY_CASE_1101 P00_IS_EMPTY_CASE_1101
+#define P00_IS_EMPTY_CASE_1110 P00_IS_EMPTY_CASE_1110
+#define P00_IS_EMPTY_CASE_1111 P00_IS_EMPTY_CASE_1111
 
 
 #define P00_IF_CLAUSE(EXP) P00__IF_CLAUSE(EXP, P00_CLAUSE1, P00_CLAUSE2, ~)
-    #define P00__IF_CLAUSE(A, B, C, ...) C
-    #define P00_CLAUSE1(...) __VA_ARGS__ P00_IGNORE
-        #define P00_IGNORE(...)
-    #define P00_CLAUSE2(...) P00_IDENT
-        #define P00_IDENT(...) __VA_ARGS__
+#define P00__IF_CLAUSE(A, B, C, ...) C
+#define P00_CLAUSE1(...) __VA_ARGS__ P00_IGNORE
+#define P00_IGNORE(...)
+#define P00_CLAUSE2(...) P00_IDENT
+#define P00_IDENT(...) __VA_ARGS__
 
 
 #define P99_IF_EQ(A, B) P00_IF_CLAUSE(P99_PASTE4(P00_IS_, A, _EQ_, B)())
-    #define P00_IS_0_EQ_0(...) ,
-    #define P00_IS_1_EQ_1(...) ,
+#define P00_IS_0_EQ_0(...) ,
+#define P00_IS_1_EQ_1(...) ,
 
 
-#define P99_CAT2(_1, _2) _1 ## _2
+#define P99_CAT2(_1, _2) _1##_2
 #define P99_PASTE2(_1, _2) \
-    P99_CAT2(_1, _2)
+       P99_CAT2(_1, _2)
 #define P99_PASTE3(_1, _2, _3) \
-    P99_PASTE2(P99_PASTE2(_1, _2), _3)
+       P99_PASTE2(P99_PASTE2(_1, _2), _3)
 #define P99_PASTE4(_1, _2, _3, _4) \
-    P99_PASTE2(P99_PASTE3(_1, _2, _3), _4)
+       P99_PASTE2(P99_PASTE3(_1, _2, _3), _4)
 #define P99_PASTE5(_1, _2, _3, _4, _5) \
-    P99_PASTE2(P99_PASTE4(_1, _2, _3, _4), _5)
+       P99_PASTE2(P99_PASTE4(_1, _2, _3, _4), _5)
index b411db855b08bc29cd198b425c7a8d1ddd019e05..d740ee55275870a1b47ead4b51b1982d4f40b196 100644 (file)
@@ -1,11 +1,11 @@
 #pragma once
 
 #if defined(MENUQC)
-       #define PROGNAME "MENUQC"
+#define PROGNAME "MENUQC"
 #elif defined(SVQC)
-       #define PROGNAME "SVQC"
+#define PROGNAME "SVQC"
 #elif defined(CSQC)
-       #define PROGNAME "CSQC"
+#define PROGNAME "CSQC"
 #else
-       #error "Unable to detect PROGNAME"
+#error "Unable to detect PROGNAME"
 #endif
index a5ff69356a21f516ba290bac01761eac2a7cce88..7c134fd6c26b0a37c91ed08bf2ca67c626fb094e 100644 (file)
@@ -13,20 +13,16 @@ void RandomSelection_Init()
 ERASEABLE
 void RandomSelection_Add(entity e, float f, string s, vector v, float weight, float priority)
 {
-       if (priority > RandomSelection_best_priority)
-       {
+       if (priority > RandomSelection_best_priority) {
                RandomSelection_best_priority = priority;
                RandomSelection_chosen_ent = e;
                RandomSelection_chosen_float = f;
                RandomSelection_chosen_string = s;
                RandomSelection_chosen_vec = v;
                RandomSelection_totalweight = weight;
-       }
-       else if (priority == RandomSelection_best_priority)
-       {
+       } else if (priority == RandomSelection_best_priority) {
                RandomSelection_totalweight += weight;
-               if (random() * RandomSelection_totalweight <= weight)
-               {
+               if (random() * RandomSelection_totalweight <= weight) {
                        RandomSelection_chosen_ent = e;
                        RandomSelection_chosen_float = f;
                        RandomSelection_chosen_string = s;
@@ -41,12 +37,10 @@ float DistributeEvenly_totalweight;
 ERASEABLE
 void DistributeEvenly_Init(float amount, float totalweight)
 {
-       if (DistributeEvenly_amount)
-       {
+       if (DistributeEvenly_amount) {
                LOG_TRACE("DistributeEvenly_Init: UNFINISHED DISTRIBUTION (", ftos(DistributeEvenly_amount), " for ", ftos(DistributeEvenly_totalweight), " left!)");
        }
-       if (totalweight == 0) DistributeEvenly_amount = 0;
-       else DistributeEvenly_amount = amount;
+       if (totalweight == 0) { DistributeEvenly_amount = 0; } else { DistributeEvenly_amount = amount; }
        DistributeEvenly_totalweight = totalweight;
 }
 
@@ -54,7 +48,7 @@ ERASEABLE
 float DistributeEvenly_Get(float weight)
 {
        float f;
-       if (weight <= 0) return 0;
+       if (weight <= 0) { return 0; }
        f = floor(0.5 + DistributeEvenly_amount * weight / DistributeEvenly_totalweight);
        DistributeEvenly_totalweight -= weight;
        DistributeEvenly_amount -= f;
@@ -65,7 +59,7 @@ ERASEABLE
 float DistributeEvenly_GetRandomized(float weight)
 {
        float f;
-       if (weight <= 0) return 0;
+       if (weight <= 0) { return 0; }
        f = floor(random() + DistributeEvenly_amount * weight / DistributeEvenly_totalweight);
        DistributeEvenly_totalweight -= weight;
        DistributeEvenly_amount -= f;
@@ -78,13 +72,10 @@ float gsl_ran_gaussian_lastvalue_set;
 ERASEABLE
 float gsl_ran_gaussian(float sigma)
 {
-       if (gsl_ran_gaussian_lastvalue_set)
-       {
+       if (gsl_ran_gaussian_lastvalue_set) {
                gsl_ran_gaussian_lastvalue_set = 0;
                return sigma * gsl_ran_gaussian_lastvalue;
-       }
-       else
-       {
+       } else {
                float a = random() * 2 * M_PI;
                float b = sqrt(-2 * log(random()));
                gsl_ran_gaussian_lastvalue = cos(a) * b;
@@ -96,47 +87,45 @@ float gsl_ran_gaussian(float sigma)
 // prandom - PREDICTABLE random number generator (not seeded yet)
 
 #ifdef USE_PRANDOM
-       float prandom_seed;
-       float prandom()
-       {
-               float c;
-               c = crc16(false, strcat(ftos(prandom_seed), ftos(prandom_seed + M_PI)));
-               prandom_seed = c;
-
-       #ifdef USE_PRANDOM_DEBUG
-                       LOG_TRACE("RANDOM -> ", ftos(c));
-       #endif
-
-               return c / 65536;  // in [0..1[
-       }
+float prandom_seed;
+float prandom()
+{
+       float c;
+       c = crc16(false, strcat(ftos(prandom_seed), ftos(prandom_seed + M_PI)));
+       prandom_seed = c;
 
-       vector prandomvec()
-       {
-               vector v;
+#ifdef USE_PRANDOM_DEBUG
+       LOG_TRACE("RANDOM -> ", ftos(c));
+#endif
 
-               do
-               {
-                       v.x = prandom();
-                       v.y = prandom();
-                       v.z = prandom();
-               }
-               while (v * v > 1);
+       return c / 65536; // in [0..1[
+}
 
-               return v;
-       }
+vector prandomvec()
+{
+       vector v;
 
-       void psrandom(float seed)
-       {
-               prandom_seed = seed;
-       #ifdef USE_PRANDOM_DEBUG
-                       LOG_TRACE("SRANDOM ", ftos(seed));
-       #endif
-       }
+       do {
+               v.x = prandom();
+               v.y = prandom();
+               v.z = prandom();
+       } while (v * v > 1);
 
-       #ifdef USE_PRANDOM_DEBUG
-               void prandom_debug()
-               {
-                       LOG_TRACE("Current random seed = ", ftos(prandom_seed));
-               }
-       #endif
+       return v;
+}
+
+void psrandom(float seed)
+{
+       prandom_seed = seed;
+#ifdef USE_PRANDOM_DEBUG
+       LOG_TRACE("SRANDOM ", ftos(seed));
+#endif
+}
+
+#ifdef USE_PRANDOM_DEBUG
+void prandom_debug()
+{
+       LOG_TRACE("Current random seed = ", ftos(prandom_seed));
+}
+#endif
 #endif
index e3900697b7d1a54b29f30a75e592abe9fc426b01..2c19626f261428293fbb59442d6251f4f8096dc9 100644 (file)
@@ -21,18 +21,18 @@ void RandomSelection_Add(entity e, float f, string s, vector v, float weight, fl
 #define USE_PRANDOM
 
 #ifdef USE_PRANDOM
-       float prandom();
-       vector prandomvec();
+float prandom();
+vector prandomvec();
 
-       void psrandom(float seed);
-       #ifdef USE_PRANDOM_DEBUG
-               void prandom_debug();
-       #else
-               #define prandom_debug()
-       #endif
+void psrandom(float seed);
+#ifdef USE_PRANDOM_DEBUG
+void prandom_debug();
 #else
-       #define prandom random
-       #define prandomvec randomvec
-       #define psrandom(x)
-       #define prandom_debug()
+#define prandom_debug()
+#endif
+#else
+#define prandom random
+#define prandomvec randomvec
+#define psrandom(x)
+#define prandom_debug()
 #endif
index 100f82b673c3e45fdec5dfc5df4f8f055c1d9811..1c2af5594ebe006de3ce73f1e5afe3dedf550a6a 100644 (file)
@@ -3,15 +3,19 @@
 #include "oo.qh"
 
 #if 1
-       #define _R_MAP(r, max) ArrayList r; STATIC_INIT(r) { AL_NEW(r, max, NULL, e); }
-       #define _R_GET(r, i) AL_gete(r, i)
-       #define _R_SET(r, i, e) AL_sete(r, i, e)
-       #define _R_DEL(r) AL_DELETE(r)
+#define _R_MAP(r, max) \
+       ArrayList r; STATIC_INIT(r) \
+       { \
+               AL_NEW(r, max, NULL, e); \
+       }
+#define _R_GET(r, i) AL_gete(r, i)
+#define _R_SET(r, i, e) AL_sete(r, i, e)
+#define _R_DEL(r) AL_DELETE(r)
 #else
-       #define _R_MAP(r, max) entity r[max]
-       #define _R_GET(r, i) r[i]
-       #define _R_SET(r, i, e) r[i] = e
-       #define _R_DEL(r)
+#define _R_MAP(r, max) entity r[max]
+#define _R_GET(r, i) r[i]
+#define _R_SET(r, i, e) r[i] = e
+#define _R_DEL(r)
 #endif
 
 /**
        [[accumulate]] REGISTRY_END(id) {} \
        void _Register##id() {} \
        int id##_state = 0; \
-       void Register##id() { if (id##_state) return; id##_state = 1; REGISTRY_DEPENDS_(id); REGISTRY_BEGIN_(id); _Register##id(); id##_state = 2; REGISTRY_END_(id); } \
+       void Register##id() \
+       { \
+               if (id##_state) { \
+                       return; \
+               } \
+               id##_state = 1; REGISTRY_DEPENDS_(id); REGISTRY_BEGIN_(id); _Register##id(); id##_state = 2; REGISTRY_END_(id); \
+       } \
        const int id##_MAX = max; \
        int id##_COUNT; \
        noref entity id##_first, id##_last; \
        _R_MAP(_##id, id##_MAX); \
-       SHUTDOWN(id) { _R_DEL(_##id); } \
-       entity _##id##_from(int i, entity null) { if (i >= 0 && i < id##_COUNT) { entity e = _R_GET(_##id, i); if (e) return e; } return null; }
+       SHUTDOWN(id) \
+       { \
+               _R_DEL(_##id); \
+       } \
+       entity _##id##_from(int i, entity null) \
+       { \
+               if (i >= 0 && i < id##_COUNT) { \
+                       entity e = _R_GET(_##id, i); if (e) { \
+                               return e; \
+                       } \
+               } \
+               return null; \
+       }
 
 /** Add registry dependencies to a registry */
-#define REGISTRY_DEPENDS(id, dep) void Register##dep(); void REGISTRY_DEPENDS_(id) { Register##dep(); }
+#define REGISTRY_DEPENDS(id, dep) \
+       void Register##dep(); void REGISTRY_DEPENDS_(id) \
+       { \
+               Register##dep(); \
+       }
 #define REGISTRY_DEPENDS_(id) Register##id##_Depends()
 
 /** Called before initializing a registry. */
-#define REGISTRY_BEGIN(id) [[accumulate]] void REGISTRY_BEGIN_(id) { noref void() f = Register##id; } void REGISTRY_BEGIN_(id)
+#define REGISTRY_BEGIN(id) \
+       [[accumulate]] void REGISTRY_BEGIN_(id) \
+       { \
+               noref void() f = Register##id; \
+       } void REGISTRY_BEGIN_(id)
 #define REGISTRY_BEGIN_(id) Register##id##_First()
 
 /** Called after initializing a registry. */
-#define REGISTRY_END(id) [[accumulate]] void REGISTRY_END_(id) { noref void() f = Register##id; } void REGISTRY_END_(id)
+#define REGISTRY_END(id) \
+       [[accumulate]] void REGISTRY_END_(id) \
+       { \
+               noref void() f = Register##id; \
+       } void REGISTRY_END_(id)
 #define REGISTRY_END_(id) Register##id##_Done()
 
 REGISTRY(Registries, BITS(8))
@@ -79,7 +112,7 @@ REGISTRY(Registries, BITS(8))
        { \
                entity this = id; \
                if (this == NULL) { \
-                       if (registry##_COUNT >= registry##_MAX) LOG_FATALF("Registry capacity exceeded (%d)", registry##_MAX); \
+                       if (registry##_COUNT >= registry##_MAX) { LOG_FATALF("Registry capacity exceeded (%d)", registry##_MAX); } \
                        this = id = inst; \
                        this.registered_id = #id; \
                        REGISTRY_PUSH(registry, fld, this); \
@@ -89,20 +122,22 @@ REGISTRY(Registries, BITS(8))
        ACCUMULATE_FUNCTION(_Register##registry, Register_##id) \
        REGISTER_INIT(id)
 
-#define REGISTRY_PUSH(registry, fld, it) MACRO_BEGIN \
-       it.fld = registry##_COUNT; \
-       _R_SET(_##registry, registry##_COUNT, it); \
-       ++registry##_COUNT; \
-       if (!registry##_first) registry##_first = it; \
-       if (registry##_last)   registry##_last.REGISTRY_NEXT = it; \
-       registry##_last = it; \
-MACRO_END
-
-#define REGISTRY_RESERVE(registry, fld, id, suffix) MACRO_BEGIN \
-       entity e = new_pure(registry_reserved); \
-       e.registered_id = #id "/" #suffix; \
-       REGISTRY_PUSH(registry, fld, e); \
-MACRO_END
+#define REGISTRY_PUSH(registry, fld, it) \
+       MACRO_BEGIN \
+               it.fld = registry##_COUNT; \
+               _R_SET(_##registry, registry##_COUNT, it); \
+               ++registry##_COUNT; \
+               if (!registry##_first) { registry##_first = it; } \
+               if (registry##_last) { registry##_last.REGISTRY_NEXT = it; } \
+               registry##_last = it; \
+       MACRO_END
+
+#define REGISTRY_RESERVE(registry, fld, id, suffix) \
+       MACRO_BEGIN \
+               entity e = new_pure(registry_reserved); \
+               e.registered_id = #id "/" #suffix; \
+               REGISTRY_PUSH(registry, fld, e); \
+       MACRO_END
 
 #define REGISTER_INIT(id) [[accumulate]] void Register_##id##_init(entity this)
 
@@ -117,7 +152,7 @@ MACRO_END
        void _REGISTRY_SWAP_##id(int i, int j, entity pass) \
        { \
                i += skip; j += skip; \
-               \
+        \
                entity a = _R_GET(_##id, i), b = _R_GET(_##id, j); \
                _R_SET(_##id, i, b); \
                _R_SET(_##id, j, a); \
@@ -126,11 +161,9 @@ MACRO_END
                a.REGISTRY_NEXT = b_next; \
                b.REGISTRY_NEXT = a_next; \
         \
-               if (i == 0) id##_first = b; \
-               else _R_GET(_##id, i - 1).REGISTRY_NEXT = b; \
+               if (i == 0) { id##_first = b; } else { _R_GET(_##id, i - 1).REGISTRY_NEXT = b; } \
         \
-               if (j == 0) id##_first = a; \
-               else _R_GET(_##id, j - 1).REGISTRY_NEXT = a; \
+               if (j == 0) { id##_first = a; } else { _R_GET(_##id, j - 1).REGISTRY_NEXT = a; } \
        } \
        int _REGISTRY_CMP_##id(int i, int j, entity pass) \
        { \
@@ -147,9 +180,9 @@ MACRO_END
 #define REGISTRY_HASH(id) Registry_hash_##id
 
 ERASEABLE
-[[accumulate]] void Registry_check(string r, string server) { }
+[[accumulate]] void Registry_check(string r, string server) {}
 ERASEABLE
-[[accumulate]] void Registry_send_all() { }
+[[accumulate]] void Registry_send_all() {}
 
 #ifdef SVQC
 void Registry_send(string id, string hash);
@@ -168,20 +201,21 @@ void Registry_send(string id, string hash);
                FOREACH(id, true, s = strcat(s, join, it.registered_id)); \
                s = substring(s, strlen(join), -1); \
                string h = REGISTRY_HASH(id) = strzone(digest_hex(algo, s)); \
-               LOG_DEBUGF(#id ": %s\n[%s]", h, s); \
+               LOG_DEBUGF( #id ": %s\n[%s]", h, s); \
        } \
        void Registry_check(string r, string sv) \
        { \
-               if (r == #id) \
-               { \
+               if (r == #id) { \
                        string cl = REGISTRY_HASH(id); \
-                       if (cl != sv) \
-                       { \
+                       if (cl != sv) { \
                                LOG_FATALF("client/server mismatch (%s).\nCL: %s\nSV: %s", r, cl, sv); \
                        } \
                } \
        } \
-       void Registry_send_all() { Registry_send(#id, REGISTRY_HASH(id)); } \
+       void Registry_send_all() \
+       { \
+               Registry_send( #id, REGISTRY_HASH(id)); \
+       } \
 
 #define REGISTER_REGISTRY(...) EVAL_REGISTER_REGISTRY(OVERLOAD(REGISTER_REGISTRY, __VA_ARGS__))
 #define EVAL_REGISTER_REGISTRY(...) __VA_ARGS__
@@ -194,7 +228,8 @@ void Registry_send(string id, string hash);
                METHOD(id##Registry, m_reload, void()); \
        ENDCLASS(id##Registry) \
        REGISTER(Registries, REGISTRY, id, m_id, NEW(id##Registry)); \
-       METHOD(id##Registry, m_reload, void()) { \
-           id##_state = 0; \
+       METHOD(id##Registry, m_reload, void()) \
+       { \
+               id##_state = 0; \
                Register##id(); \
        }
index c7a42042deac253dc3172aeaf929a80ba2958b18..125b1229f9d6d899f68e89dfbe5ec249db3bdf68 100644 (file)
@@ -2,62 +2,56 @@
 
 #ifdef GAMEQC
 
-    /**
    * Replicate a client cvar into a server field
    *
    * @param fld   The field to replicate into
    * @param type  The field type
    * @param cvar  The cvar name
    */
-       #define REPLICATE(...) EVAL_REPLICATE(OVERLOAD(REPLICATE, __VA_ARGS__))
-       #define EVAL_REPLICATE(...) __VA_ARGS__
+/**
+ * Replicate a client cvar into a server field
+ *
+ * @param fld   The field to replicate into
+ * @param type  The field type
+ * @param cvar  The cvar name
+ */
+#define REPLICATE(...) EVAL_REPLICATE(OVERLOAD(REPLICATE, __VA_ARGS__))
+#define EVAL_REPLICATE(...) __VA_ARGS__
 
-       [[accumulate]] void ReplicateVars(entity this, entity store, string thisname, int i) {}
+[[accumulate]] void ReplicateVars(entity this, entity store, string thisname, int i) {}
 
-       #define REPLICATE_3(fld, type, var) REPLICATE_4(fld, type, var, )
-       #define REPLICATE_4(fld, type, var, func) REPLICATE_##type(fld, var, func)
-       #define REPLICATE_string(fld, var, func) \
-               REPLICATE_7(fld, string, var, , \
-       { if (field) strunzone(field); field = strzone(it); }, \
-       { if (field) strunzone(field); field = string_null; }, \
+#define REPLICATE_3(fld, type, var) REPLICATE_4(fld, type, var, )
+#define REPLICATE_4(fld, type, var, func) REPLICATE_##type(fld, var, func)
+#define REPLICATE_string(fld, var, func) \
+       REPLICATE_7(fld, string, var, , \
+       { if (field) { strunzone(field); } field = strzone(it); }, \
+       { if (field) { strunzone(field); } field = string_null; }, \
        { \
                /* also initialize to the default value of func when requesting cvars */ \
                string s = func(field); \
-               if (s != field) \
-               { \
-                   strunzone(field); \
-                   field = strzone(s); \
+               if (s != field) { \
+                       strunzone(field); \
+                       field = strzone(s); \
                } \
        })
-       #define REPLICATE_float(fld, var, func) REPLICATE_7(fld, float, var, func,  { field = stof(it); },          , )
-       #define REPLICATE_bool(fld, var, func) REPLICATE_7(fld, bool, var, func,   { field = boolean(stoi(it)); }, , )
-       #define REPLICATE_int(fld, var, func) REPLICATE_7(fld, int, var, func,    { field = stoi(it); },          , )
+#define REPLICATE_float(fld, var, func) REPLICATE_7(fld, float, var, func,  { field = stof(it); },          , )
+#define REPLICATE_bool(fld, var, func) REPLICATE_7(fld, bool, var, func,   { field = boolean(stoi(it)); }, , )
+#define REPLICATE_int(fld, var, func) REPLICATE_7(fld, int, var, func,    { field = stoi(it); },          , )
 
-       #if defined(SVQC)
-               #define REPLICATE_7(fld, type, var, func, create, destroy, after) \
-                       void ReplicateVars(entity this, entity store, string thisname, int i) \
-                       { \
-                               type field = store.fld; \
-                               if (i < 0) { destroy } \
-                               else \
-                               { \
-                                       string it = func(argv(i + 1)); \
-                                       bool current = thisname == var; \
-                                       if (i > 0) \
-                                       { \
-                                               if (current) { create } \
-                                       } \
-                                       else \
-                                       { \
-                                               stuffcmd(this, "cl_cmd sendcvar " var "\n"); \
-                                       } \
-                                       if (current) { after } \
-                               } \
-                               store.fld = field; \
-                       }
-       #elif defined(CSQC)
-               // TODO
-               #define REPLICATE_7(fld, type, var, func, create, destroy, after)
-       #endif
+#if defined(SVQC)
+#define REPLICATE_7(fld, type, var, func, create, destroy, after) \
+       void ReplicateVars(entity this, entity store, string thisname, int i) \
+       { \
+               type field = store.fld; \
+               if (i < 0) { destroy } else { \
+                       string it = func(argv(i + 1)); \
+                       bool current = thisname == var; \
+                       if (i > 0) { \
+                               if (current) { create } \
+                       } else { \
+                               stuffcmd(this, "cl_cmd sendcvar " var "\n"); \
+                       } \
+                       if (current) { after } \
+               } \
+               store.fld = field; \
+       }
+#elif defined(CSQC)
+// TODO
+#define REPLICATE_7(fld, type, var, func, create, destroy, after)
+#endif
 
 #endif
index cd0000912dfcfb65b715bcfabebf889d29144adc..e118ce96c3f9ca455615b098c42ba257212bc69d 100644 (file)
@@ -1,37 +1,34 @@
 #pragma once
 
 /** is only ever called for i1 < i2 */
-USING(swapfunc_t, void (int i1, int i2, entity pass));
+USING(swapfunc_t, void(int i1, int i2, entity pass));
 /** <0 for <, ==0 for ==, >0 for > (like strcmp) */
-USING(comparefunc_t, int (int i1, int i2, entity pass));
+USING(comparefunc_t, int(int i1, int i2, entity pass));
 
 ERASEABLE
 void heapsort(int n, swapfunc_t swap, comparefunc_t cmp, entity pass)
 {
-       #define heapify(_count) \
-               MACRO_BEGIN \
-                       for (int start = floor(((_count) - 2) / 2); start >= 0; --start) \
-                       { \
-                               siftdown(start, (_count) - 1); \
-                       } \
-               MACRO_END
+#define heapify(_count) \
+       MACRO_BEGIN \
+               for (int start = floor(((_count) - 2) / 2); start >= 0; --start) { \
+                       siftdown(start, (_count) - 1); \
+               } \
+       MACRO_END
 
-       #define siftdown(_start, _end) \
-               MACRO_BEGIN \
-                       for (int root = (_start); root * 2 + 1 <= (_end); ) \
-                       { \
-                               int child = root * 2 + 1; \
-                               if (child < (_end) && cmp(child, child + 1, pass) < 0) child += 1; \
-                               if (cmp(root, child, pass) >= 0) break; \
-                               swap(root, child, pass); \
-                               root = child; \
-                       } \
-               MACRO_END
+#define siftdown(_start, _end) \
+       MACRO_BEGIN \
+               for (int root = (_start); root * 2 + 1 <= (_end); ) { \
+                       int child = root * 2 + 1; \
+                       if (child < (_end) && cmp(child, child + 1, pass) < 0) { child += 1; } \
+                       if (cmp(root, child, pass) >= 0) { break; } \
+                       swap(root, child, pass); \
+                       root = child; \
+               } \
+       MACRO_END
 
        heapify(n);
        int end = n - 1;
-       while (end > 0)
-       {
+       while (end > 0) {
                swap(0, end, pass);
                end -= 1;
                siftdown(0, end);
@@ -41,8 +38,7 @@ void heapsort(int n, swapfunc_t swap, comparefunc_t cmp, entity pass)
 ERASEABLE
 void shuffle(float n, swapfunc_t swap, entity pass)
 {
-       for (int i = 1; i < n; ++i)
-       {
+       for (int i = 1; i < n; ++i) {
                // swap i-th item at a random position from 0 to i
                // proof for even distribution:
                //   n = 1: obvious
@@ -53,6 +49,6 @@ void shuffle(float n, swapfunc_t swap, entity pass)
                //     1/n * n/(n+1) = 1/(n+1)
                //     q.e.d.
                int j = floor(random() * (i + 1));
-               if (j != i) swap(j, i, pass);
+               if (j != i) { swap(j, i, pass); }
        }
 }
index af4b47ab8058ad35a8f8b6405538cc3f4ed32a31..ef0ca33b75098115ca5b250fd03459591e8863a4 100644 (file)
@@ -14,7 +14,7 @@ entity Sort_Spawn();
 #define SORT_SWAP(a, b)                                  \
        b.sort_prev = a.sort_prev;                          \
        a.sort_next = b.sort_next;                          \
-       if (b.sort_next) b.sort_next.sort_prev = a;          \
-       if (a.sort_prev) a.sort_prev.sort_next = b;          \
+       if (b.sort_next) { b.sort_next.sort_prev = a; }          \
+       if (a.sort_prev) { a.sort_prev.sort_next = b; }          \
        a.sort_prev = b;                                    \
        b.sort_next = a
index 6f511fcecfa1c9c1f2ef842ad5fe47ac44fbd7ef..5dcd2682a0a20354f28cecf60aa5effbcfe7737e 100644 (file)
@@ -12,38 +12,41 @@ void profile(string s)
 {
        static float g_starttime;
        float rt = _gettime(GETTIME_REALTIME);
-       if (!g_starttime) g_starttime = rt;
+       if (!g_starttime) { g_starttime = rt; }
        LOG_TRACEF("[%f] %s", rt - g_starttime, s);
 }
 
 #define _STATIC_INIT(func, where) \
-       [[accumulate]] void _static_##func() { profile(#func); } \
+       [[accumulate]] void _static_##func() \
+       { \
+               profile( #func); \
+       } \
        ACCUMULATE_FUNCTION(where, _static_##func) \
        void _static_##func()
 
 /** before worldspawn */
 #define STATIC_INIT_EARLY(func) _STATIC_INIT(func##_0,    __static_init_0)
-#define static_init_early()     CALL_ACCUMULATED_FUNCTION(__static_init_0)
+#define static_init_early() CALL_ACCUMULATED_FUNCTION(__static_init_0)
 void __static_init_0() {}
 
 /** during worldspawn */
-#define STATIC_INIT(func)       _STATIC_INIT(func##_1,    __static_init_1)
-#define static_init()           CALL_ACCUMULATED_FUNCTION(__static_init_1)
+#define STATIC_INIT(func) _STATIC_INIT(func##_1,    __static_init_1)
+#define static_init() CALL_ACCUMULATED_FUNCTION(__static_init_1)
 void __static_init_1() {}
 
 /** directly after STATIC_INIT */
-#define STATIC_INIT_LATE(func)  _STATIC_INIT(func##_2,    __static_init_2)
-#define static_init_late()      CALL_ACCUMULATED_FUNCTION(__static_init_2)
+#define STATIC_INIT_LATE(func) _STATIC_INIT(func##_2,    __static_init_2)
+#define static_init_late() CALL_ACCUMULATED_FUNCTION(__static_init_2)
 void __static_init_2() {}
 
 /** directly after STATIC_INIT_LATE */
-#define PRECACHE(func)          _STATIC_INIT(func##_3,    __static_init_3)
-#define static_init_precache()  CALL_ACCUMULATED_FUNCTION(__static_init_3)
+#define PRECACHE(func) _STATIC_INIT(func##_3,    __static_init_3)
+#define static_init_precache() CALL_ACCUMULATED_FUNCTION(__static_init_3)
 void __static_init_3() {}
 
 /* other map entities spawn now */
 
 /** before shutdown */
-#define SHUTDOWN(func)          _STATIC_INIT(func##_shutdown, __shutdown)
-#define shutdownhooks()         CALL_ACCUMULATED_FUNCTION(    __shutdown)
+#define SHUTDOWN(func) _STATIC_INIT(func##_shutdown, __shutdown)
+#define shutdownhooks() CALL_ACCUMULATED_FUNCTION(__shutdown)
 void __shutdown() {}
index b05a316c94a2a4d6b438420d000ce7242f506f19..128628471ac680067dca6c8bdfc3c83d9e5d9e65 100644 (file)
@@ -5,26 +5,26 @@
 #include "oo.qh"
 
 #ifdef CSQC
-       float stringwidth_colors(string s, vector theSize)
-       {
-               return stringwidth_builtin(s, true, theSize);
-       }
+float stringwidth_colors(string s, vector theSize)
+{
+       return stringwidth_builtin(s, true, theSize);
+}
 
-       float stringwidth_nocolors(string s, vector theSize)
-       {
-               return stringwidth_builtin(s, false, theSize);
-       }
+float stringwidth_nocolors(string s, vector theSize)
+{
+       return stringwidth_builtin(s, false, theSize);
+}
 #endif
 #ifdef MENUQC
-       float stringwidth_colors(string s, vector theSize)
-       {
-               return stringwidth(s, true, theSize);
-       }
+float stringwidth_colors(string s, vector theSize)
+{
+       return stringwidth(s, true, theSize);
+}
 
-       float stringwidth_nocolors(string s, vector theSize)
-       {
-               return stringwidth(s, false, theSize);
-       }
+float stringwidth_nocolors(string s, vector theSize)
+{
+       return stringwidth(s, false, theSize);
+}
 #endif
 
 ERASEABLE
@@ -45,8 +45,7 @@ string format_time(float seconds)
        seconds -= hours * 36000;
        float minutes = floor(seconds / 600);
        seconds -= minutes * 600;
-       if (days > 0) return sprintf(_("%d days, %02d:%02d:%02d"), days, hours, minutes, seconds);
-       else return sprintf(_("%02d:%02d:%02d"), hours, minutes, seconds);
+       if (days > 0) { return sprintf(_("%d days, %02d:%02d:%02d"), days, hours, minutes, seconds); } else { return sprintf(_("%02d:%02d:%02d"), hours, minutes, seconds); }
 }
 
 ERASEABLE
@@ -109,7 +108,7 @@ string CCR(string input)
 
        // background colors
        input = strreplace("^BG", strcat("^", autocvar_hud_colorset_background), input);
-       input = strreplace("^N", "^7", input);  // "none"-- reset to white...
+       input = strreplace("^N", "^7", input); // "none"-- reset to white...
        return input;
 }
 #endif
@@ -129,7 +128,7 @@ noref string _endsWith_suffix;
 ERASEABLE
 string fstrunzone(string s)
 {
-       if (!s) return s;
+       if (!s) { return s; }
        string sc = strcat(s, "");
        strunzone(s);
        return sc;
@@ -140,7 +139,7 @@ ERASEABLE
 string car(string s)
 {
        int o = strstrofs(s, " ", 0);
-       if (o < 0) return s;
+       if (o < 0) { return s; }
        return substring(s, 0, o);
 }
 
@@ -149,15 +148,15 @@ ERASEABLE
 string cdr(string s)
 {
        int o = strstrofs(s, " ", 0);
-       if (o < 0) return string_null;
+       if (o < 0) { return string_null; }
        return substring(s, o + 1, strlen(s) - (o + 1));
 }
 
 ERASEABLE
 string cons(string a, string b)
 {
-       if (a == "") return b;
-       if (b == "") return a;
+       if (a == "") { return b; }
+       if (b == "") { return a; }
        return strcat(a, " ", b);
 }
 
@@ -173,7 +172,7 @@ string swapwords(string str, float i, float j)
        float n;
        string s1, s2, s3, s4, s5;
        float si, ei, sj, ej, s0, en;
-       n = tokenizebyseparator(str, " ");  // must match g_maplist processing in ShuffleMaplist and "shuffle"
+       n = tokenizebyseparator(str, " "); // must match g_maplist processing in ShuffleMaplist and "shuffle"
        si = argv_start_index(i);
        sj = argv_start_index(j);
        ei = argv_end_index(i);
@@ -209,19 +208,17 @@ string shufflewords(string str)
 ERASEABLE
 string unescape(string in)
 {
-       in = strzone(in);  // but it doesn't seem to be necessary in my tests at least
+       in = strzone(in); // but it doesn't seem to be necessary in my tests at least
 
        int len = strlen(in);
        string str = "";
-       for (int i = 0; i < len; ++i)
-       {
+       for (int i = 0; i < len; ++i) {
                string s = substring(in, i, 1);
-               if (s == "\\")
-               {
+               if (s == "\\") {
                        s = substring(in, i + 1, 1);
-                       if (s == "n") str = strcat(str, "\n");
-                       else if (s == "\\") str = strcat(str, "\\");
-                       else str = strcat(str, substring(in, i, 2));
+                       if (s == "n") { str = strcat(str, "\n"); } else if (s == "\\") {
+                               str = strcat(str, "\\");
+                       } else { str = strcat(str, substring(in, i, 2)); }
                        ++i;
                        continue;
                }
@@ -235,9 +232,10 @@ ERASEABLE
 string strwords(string s, int w)
 {
        int endpos = 0;
-       for ( ; w && endpos >= 0; --w)
+       for ( ; w && endpos >= 0; --w) {
                endpos = strstrofs(s, " ", endpos + 1);
-       if (endpos < 0) return s;
+       }
+       if (endpos < 0) { return s; }
        return substring(s, 0, endpos);
 }
 
@@ -247,8 +245,7 @@ ERASEABLE
 int u8_strsize(string s)
 {
        int l = 0;
-       for (int i = 0, c; (c = str2chr(s, i)) > 0; ++i, ++l)
-       {
+       for (int i = 0, c; (c = str2chr(s, i)) > 0; ++i, ++l) {
                l += (c >= 0x80);
                l += (c >= 0x800);
                l += (c >= 0x10000);
@@ -261,20 +258,18 @@ bool isInvisibleString(string s)
 {
        s = strdecolorize(s);
        bool utf8 = cvar("utf8_enable");
-       for (int i = 0, n = strlen(s); i < n; ++i)
-       {
+       for (int i = 0, n = strlen(s); i < n; ++i) {
                int c = str2chr(s, i);
-               switch (c)
-               {
+               switch (c) {
                        case 0:
                        case 32:           // space
                                break;
                        case 192:          // charmap space
-                               if (!utf8) break;
+                               if (!utf8) { break; }
                                return false;
                        case 160:          // space in unicode fonts
                        case 0xE000 + 192: // utf8 charmap space
-                               if (utf8) break;
+                               if (utf8) { break; }
                        default:
                                return false;
                }
@@ -288,16 +283,16 @@ ERASEABLE
 int buf_load(string pFilename)
 {
        int buf = buf_create();
-       if (buf < 0) return -1;
+       if (buf < 0) { return -1; }
        int fh = fopen(pFilename, FILE_READ);
-       if (fh < 0)
-       {
+       if (fh < 0) {
                buf_del(buf);
                return -1;
        }
        string l;
-       for (int i = 0; (l = fgets(fh)); ++i)
+       for (int i = 0; (l = fgets(fh)); ++i) {
                bufstr_set(buf, i, l);
+       }
        fclose(fh);
        return buf;
 }
@@ -306,10 +301,11 @@ ERASEABLE
 void buf_save(float buf, string pFilename)
 {
        int fh = fopen(pFilename, FILE_WRITE);
-       if (fh < 0) error(strcat("Can't write buf to ", pFilename));
+       if (fh < 0) { error(strcat("Can't write buf to ", pFilename)); }
        int n = buf_getsize(buf);
-       for (int i = 0; i < n; ++i)
+       for (int i = 0; i < n; ++i) {
                fputs(fh, strcat(bufstr_get(buf, i), "\n"));
+       }
        fclose(fh);
 }
 
@@ -320,7 +316,7 @@ ERASEABLE
 string ftos_decimals(float number, int decimals)
 {
        // inhibit stupid negative zero
-       if (number == 0) number = 0;
+       if (number == 0) { number = 0; }
        return sprintf("%.*f", decimals, number);
 }
 
@@ -331,7 +327,7 @@ ERASEABLE
 string ftos_mindecimals(float number)
 {
        // inhibit stupid negative zero
-       if (number == 0) number = 0;
+       if (number == 0) { number = 0; }
        return sprintf("%.7g", number);
 }
 
@@ -345,23 +341,23 @@ int vercmp_recursive(string v1, string v2)
 
        float r;
        r = stof(s1) - stof(s2);
-       if (r != 0) return r;
+       if (r != 0) { return r; }
 
        r = strcasecmp(s1, s2);
-       if (r != 0) return r;
+       if (r != 0) { return r; }
 
-       if (dot1 == -1) return (dot2 == -1) ? 0 : -1;
-       else return (dot2 == -1) ? 1 : vercmp_recursive(substring(v1, dot1 + 1, 999), substring(v2, dot2 + 1, 999));
+       if (dot1 == -1) { return (dot2 == -1) ? 0 : -1; } else { return (dot2 == -1) ? 1 : vercmp_recursive(substring(v1, dot1 + 1, 999), substring(v2, dot2 + 1, 999)); }
 }
 
 ERASEABLE
 int vercmp(string v1, string v2)
 {
-       if (strcasecmp(v1, v2) == 0) return 0;  // early out check
-
+       if (strcasecmp(v1, v2) == 0) {
+               return 0; // early out check
+       }
        // "git" beats all
-       if (v1 == "git") return 1;
-       if (v2 == "git") return -1;
+       if (v1 == "git") { return 1; }
+       if (v2 == "git") { return -1; }
 
        return vercmp_recursive(v1, v2);
 }
index 3caf8aaf5717ff3d413e26af362b0aeab7497eba..a8aa71efe17c3984b3c42878fabd119989b46e16 100644 (file)
@@ -1,32 +1,32 @@
 #pragma once
 
 #ifndef QCC_SUPPORT_STRUCT
-       #define _STRUCT_DECLARE(x, id, type, END) noref type x##_##id;
-       #define STRUCT_DECLARE(id, s) s(_STRUCT_DECLARE, id)
+#define _STRUCT_DECLARE(x, id, type, END) noref type x##_##id;
+#define STRUCT_DECLARE(id, s) s(_STRUCT_DECLARE, id)
 
-       #define _STRUCT_PARAM_(x, id, type) type x##_##id,
-       #define _STRUCT_PARAM_END(x, id, type) type x##_##id
-       #define _STRUCT_PARAM(x, id, type, isend) _STRUCT_PARAM_##isend(x, id, type)
-       #define STRUCT_PARAM(id, s) s(_STRUCT_PARAM, id)
+#define _STRUCT_PARAM_(x, id, type) type x##_##id,
+#define _STRUCT_PARAM_END(x, id, type) type x##_##id
+#define _STRUCT_PARAM(x, id, type, isend) _STRUCT_PARAM_##isend(x, id, type)
+#define STRUCT_PARAM(id, s) s(_STRUCT_PARAM, id)
 
-       #define _STRUCT_PASS_(x, id, type) x##_##id,
-       #define _STRUCT_PASS_END(x, id, type) x##_##id
-       #define _STRUCT_PASS(x, id, type, END) _STRUCT_PASS_##END(x, id, type)
-       #define STRUCT_PASS(id, s) s(_STRUCT_PASS, id)
+#define _STRUCT_PASS_(x, id, type) x##_##id,
+#define _STRUCT_PASS_END(x, id, type) x##_##id
+#define _STRUCT_PASS(x, id, type, END) _STRUCT_PASS_##END(x, id, type)
+#define STRUCT_PASS(id, s) s(_STRUCT_PASS, id)
 
-       #define _STRUCT_STORE_DST(_, it) it
-       #define _STRUCT_STORE_SRC(it, _) it
-       #define _CONCAT3_(a, b, c) a##b##c
-       #define _CONCAT3(a, b, c) _CONCAT3_(a, b, c)
-       #define _STRUCT_STORE(x, id, type, END) _CONCAT3(_STRUCT_STORE_DST x, _, id) = _CONCAT3(_STRUCT_STORE_SRC x, _, id);
-       #define STRUCT_STORE(from, to, s) s(_STRUCT_STORE, (from, to))
+#define _STRUCT_STORE_DST(_, it) it
+#define _STRUCT_STORE_SRC(it, _) it
+#define _CONCAT3_(a, b, c) a##b##c
+#define _CONCAT3(a, b, c) _CONCAT3_(a, b, c)
+#define _STRUCT_STORE(x, id, type, END) _CONCAT3(_STRUCT_STORE_DST x, _, id) = _CONCAT3(_STRUCT_STORE_SRC x, _, id);
+#define STRUCT_STORE(from, to, s) s(_STRUCT_STORE, (from, to))
 
-       #define STRUCT(id, ...)
+#define STRUCT(id, ...)
 #else
-       #define STRUCT_DECLARE(id, type) type id;
-       #define STRUCT_PARAM(id, type) type id
-       #define STRUCT_PASS(id, type) id
-       #define STRUCT_STORE(from, to, s) to = from
-       #define _STRUCT_MEMBER(my, id, type, END) type id;
-       #define STRUCT(id, s) struct STRUCT_##id { s(_STRUCT_MEMBER, ) };
+#define STRUCT_DECLARE(id, type) type id;
+#define STRUCT_PARAM(id, type) type id
+#define STRUCT_PASS(id, type) id
+#define STRUCT_STORE(from, to, s) to = from
+#define _STRUCT_MEMBER(my, id, type, END) type id;
+#define STRUCT(id, s) struct STRUCT_##id { s(_STRUCT_MEMBER, ) };
 #endif
index 86b0e6187010fde8175bb4040e70c60c819a0f0c..e2b7b56a746435c0fd0af4f275fbf54cc88e117f 100644 (file)
@@ -4,13 +4,10 @@ int TEST_RunAll_accumulated(int init);
 bool RUN_ALL_TESTS()
 {
        int f = TEST_RunAll_accumulated(0);
-       if (f)
-       {
+       if (f) {
                LOG_INFOF("%d tests failed", f);
                return true;
-       }
-       else
-       {
+       } else {
                LOG_INFO("All tests OK");
                return false;
        }
@@ -23,14 +20,11 @@ bool TEST_Run(string s)
        TEST_fatal = 0;
        TEST_ok = false;
        string fn = strcat("_TEST_", s);
-       if (isfunction(fn)) callfunction(fn);
-       if (TEST_failed > 0)
-       {
+       if (isfunction(fn)) { callfunction(fn); }
+       if (TEST_failed > 0) {
                LOG_INFOF("%s: %d items failed.", s, TEST_failed);
                return false;
-       }
-       else if (!TEST_ok)
-       {
+       } else if (!TEST_ok) {
                LOG_INFOF("%s: did not complete.", s);
                return false;
        }
index f0fef90c84d0070e9337115efdfb2dc677635f62..04937dc16af6f8525803e8680195ec540073a8a4 100644 (file)
@@ -5,8 +5,9 @@
 /** Use UpperCamelCase for suite and test only */
 #define TEST(suite, test) \
        void _TEST_##suite##_##test(); \
-       [[accumulate]] int TEST_RunAll_accumulated(int f) { \
-               if (!TEST_Run(#suite "_" #test)) ++f; \
+       [[accumulate]] int TEST_RunAll_accumulated(int f) \
+       { \
+               if (!TEST_Run( #suite "_" #test)) { ++f; } \
                return = f; \
        } \
        void _TEST_##suite##_##test()
@@ -26,18 +27,19 @@ bool RUN_ALL_TESTS();
 
 // difference between expect/assert: assert returns early
 
-#define EXPECT_EQ(expected_, actual_) MACRO_BEGIN \
-       int expected = expected_; \
-       int actual = actual_; \
-       if ((expected) != (actual)) { \
-               ADD_FAILURE(sprintf( \
-                       "Value of: " #actual_ "\n" \
-                       "  Actual: %d\n" \
-                       "Expected: %d\n", \
-                       actual, expected \
-               )); \
-       } \
-MACRO_END
+#define EXPECT_EQ(expected_, actual_) \
+       MACRO_BEGIN \
+               int expected = expected_; \
+               int actual = actual_; \
+               if ((expected) != (actual)) { \
+                       ADD_FAILURE(sprintf( \
+                               "Value of: " #actual_ "\n" \
+                               "  Actual: %d\n" \
+                               "Expected: %d\n", \
+                               actual, expected \
+                               )); \
+               } \
+       MACRO_END
 #define ASSERT_EQ(expected, actual) _TEST_ASSERT(EXPECT_EQ(expected, actual))
 
 #define EXPECT_TRUE(condition) EXPECT_EQ(true, condition)
@@ -61,7 +63,7 @@ MACRO_END
 #define EXPECT_GE(val1, val2) EXPECT_TRUE((val1) >= (val2))
 #define ASSERT_GE(val1, val2) _TEST_ASSERT(EXPECT_GE(val1, val2))
 
-#define EXPECT_NO_FATAL_FAILURE(statement) EXPECT_NO_FATAL_FAILURE_(statement, { })
+#define EXPECT_NO_FATAL_FAILURE(statement) EXPECT_NO_FATAL_FAILURE_(statement, {})
 #define ASSERT_NO_FATAL_FAILURE(statement) EXPECT_NO_FATAL_FAILURE_(statement, { ++TEST_fatal; return; })
 
 // private:
@@ -81,16 +83,17 @@ int TEST_failed;
        MACRO_BEGIN \
                int TEST_prevfatal = TEST_fatal; \
                LAMBDA(statement); \
-               if (TEST_fatal != TEST_prevfatal) \
+               if (TEST_fatal != TEST_prevfatal) \
                        LAMBDA(then); \
+               } \
        MACRO_END
 
 #define EXPECT_NO_FATAL_FAILURE_(statement, then) \
        EXPECT_NO_FATAL_FAILURE__(statement, { \
                LOG_WARNF( \
-                       "  Actual: %d fatal failures\n" \
-                       "Expected: no fatal failures\n", \
-                       TEST_fatal - TEST_prevfatal \
+               "  Actual: %d fatal failures\n" \
+               "Expected: no fatal failures\n", \
+               TEST_fatal - TEST_prevfatal \
                ); \
                LAMBDA(then); \
        })
index 1572fec07cb2d1962870f63d7a3e3021db220841..4cf1da235d75dd5616c09741b1bb30e315e6c49b 100644 (file)
@@ -27,14 +27,13 @@ int autocvar__urllib_nextslot;
 ERASEABLE
 float url_URI_Get_Callback(int id, float status, string data)
 {
-       if (id < MIN_URL_ID) return 0;
+       if (id < MIN_URL_ID) { return 0; }
        id -= MIN_URL_ID;
-       if (id >= NUM_URL_ID) return 0;
+       if (id >= NUM_URL_ID) { return 0; }
        entity e;
        e = url_fromid[id];
-       if (!e) return 0;
-       if (e.url_rbuf >= 0 || e.url_wbuf >= 0)
-       {
+       if (!e) { return 0; }
+       if (e.url_rbuf >= 0 || e.url_wbuf >= 0) {
                LOG_INFOF("WARNING: handle %d (%s) has already received data?!?", id + NUM_URL_ID, e.url_url);
                return 0;
        }
@@ -43,16 +42,14 @@ float url_URI_Get_Callback(int id, float status, string data)
        url_fromid[id] = NULL;
 
        // if we get here, we MUST have both buffers cleared
-       if (e.url_rbuf != -1 || e.url_wbuf != -1 || e.url_fh != URL_FH_CURL) error("url_URI_Get_Callback: not a request waiting for data");
+       if (e.url_rbuf != -1 || e.url_wbuf != -1 || e.url_fh != URL_FH_CURL) { error("url_URI_Get_Callback: not a request waiting for data"); }
 
-       if (status == 0)
-       {
+       if (status == 0) {
                // WE GOT DATA!
                float n, i;
                n = tokenizebyseparator(data, "\n");
                e.url_rbuf = buf_create();
-               if (e.url_rbuf < 0)
-               {
+               if (e.url_rbuf < 0) {
                        LOG_INFO("url_URI_Get_Callback: out of memory in buf_create");
                        e.url_ready(e, e.url_ready_pass, URL_READY_ERROR);
                        strunzone(e.url_url);
@@ -60,21 +57,19 @@ float url_URI_Get_Callback(int id, float status, string data)
                        return 1;
                }
                e.url_rbufpos = 0;
-               if (e.url_rbuf < 0)
-               {
+               if (e.url_rbuf < 0) {
                        LOG_INFO("url_URI_Get_Callback: out of memory in buf_create");
                        e.url_ready(e, e.url_ready_pass, URL_READY_ERROR);
                        strunzone(e.url_url);
                        delete(e);
                        return 1;
                }
-               for (i = 0; i < n; ++i)
+               for (i = 0; i < n; ++i) {
                        bufstr_set(e.url_rbuf, i, argv(i));
+               }
                e.url_ready(e, e.url_ready_pass, URL_READY_CANREAD);
                return 1;
-       }
-       else
-       {
+       } else {
                // an ERROR
                e.url_ready(e, e.url_ready_pass, -fabs(status));
                strunzone(e.url_url);
@@ -88,10 +83,8 @@ void url_single_fopen(string url, int mode, url_ready_func rdy, entity pass)
 {
        entity e;
        int i;
-       if (strstrofs(url, "://", 0) >= 0)
-       {
-               switch (mode)
-               {
+       if (strstrofs(url, "://", 0) >= 0) {
+               switch (mode) {
                        case FILE_WRITE:
                        case FILE_APPEND:
                                // collect data to a stringbuffer for a POST request
@@ -104,8 +97,7 @@ void url_single_fopen(string url, int mode, url_ready_func rdy, entity pass)
                                e.url_verb = "";
                                e.url_fh = URL_FH_CURL;
                                e.url_wbuf = buf_create();
-                               if (e.url_wbuf < 0)
-                               {
+                               if (e.url_wbuf < 0) {
                                        LOG_INFO("url_single_fopen: out of memory in buf_create");
                                        rdy(e, pass, URL_READY_ERROR);
                                        strunzone(e.url_url);
@@ -123,14 +115,12 @@ void url_single_fopen(string url, int mode, url_ready_func rdy, entity pass)
                                // read data only
 
                                // get slot for HTTP request
-                               for (i = autocvar__urllib_nextslot; i < NUM_URL_ID; ++i)
-                                       if (url_fromid[i] == NULL) break;
-                               if (i >= NUM_URL_ID)
-                               {
-                                       for (i = 0; i < autocvar__urllib_nextslot; ++i)
-                                               if (url_fromid[i] == NULL) break;
-                                       if (i >= autocvar__urllib_nextslot)
-                                       {
+                               for (i = autocvar__urllib_nextslot; i < NUM_URL_ID; ++i) {
+                                       if (url_fromid[i] == NULL) { break; } }
+                               if (i >= NUM_URL_ID) {
+                                       for (i = 0; i < autocvar__urllib_nextslot; ++i) {
+                                               if (url_fromid[i] == NULL) { break; } }
+                                       if (i >= autocvar__urllib_nextslot) {
                                                LOG_INFO("url_single_fopen: too many concurrent requests");
                                                rdy(NULL, pass, URL_READY_ERROR);
                                                return;
@@ -138,8 +128,7 @@ void url_single_fopen(string url, int mode, url_ready_func rdy, entity pass)
                                }
 
                                // GET the data
-                               if (!crypto_uri_postbuf(url, i + MIN_URL_ID, string_null, string_null, -1, 0))
-                               {
+                               if (!crypto_uri_postbuf(url, i + MIN_URL_ID, string_null, string_null, -1, 0)) {
                                        LOG_INFO("url_single_fopen: failure in crypto_uri_postbuf");
                                        rdy(NULL, pass, URL_READY_ERROR);
                                        return;
@@ -162,11 +151,8 @@ void url_single_fopen(string url, int mode, url_ready_func rdy, entity pass)
                                cvar_set("_urllib_nextslot", ftos((i + 1) % NUM_URL_ID));
                                break;
                }
-       }
-       else if (url == "-")
-       {
-               switch (mode)
-               {
+       } else if (url == "-") {
+               switch (mode) {
                        case FILE_WRITE:
                        case FILE_APPEND:
                                e = new_pure(url_single_fopen_stdout);
@@ -180,24 +166,18 @@ void url_single_fopen(string url, int mode, url_ready_func rdy, entity pass)
                                rdy(NULL, pass, URL_READY_ERROR);
                                break;
                }
-       }
-       else
-       {
+       } else {
                float fh;
                fh = fopen(url, mode);
-               if (fh < 0)
-               {
+               if (fh < 0) {
                        rdy(NULL, pass, URL_READY_ERROR);
                        return;
-               }
-               else
-               {
+               } else {
                        e = new_pure(url_single_fopen_file);
                        e.url_fh = fh;
                        e.url_ready = rdy;
                        e.url_ready_pass = pass;
-                       if (mode == FILE_READ) rdy(e, pass, URL_READY_CANREAD);
-                       else rdy(e, pass, URL_READY_CANWRITE);
+                       if (mode == FILE_READ) { rdy(e, pass, URL_READY_CANREAD); } else { rdy(e, pass, URL_READY_CANWRITE); }
                }
        }
 }
@@ -208,26 +188,24 @@ void url_fclose(entity e)
 {
        int i;
 
-       if (e.url_fh == URL_FH_CURL)
-       {
-               if (e.url_rbuf == -1 || e.url_wbuf != -1)     // not(post GET/POST request)
-                       if (e.url_rbuf != -1 || e.url_wbuf == -1) // not(pre POST request)
+       if (e.url_fh == URL_FH_CURL) {
+               if (e.url_rbuf == -1 || e.url_wbuf != -1) { // not(post GET/POST request)
+                       if (e.url_rbuf != -1 || e.url_wbuf == -1) { // not(pre POST request)
                                error("url_fclose: not closable in current state");
+                       }
+               }
 
                // closing an URL!
-               if (e.url_wbuf >= 0)
-               {
+               if (e.url_wbuf >= 0) {
                        // we are closing the write end (HTTP POST request)
 
                        // get slot for HTTP request
-                       for (i = autocvar__urllib_nextslot; i < NUM_URL_ID; ++i)
-                               if (url_fromid[i] == NULL) break;
-                       if (i >= NUM_URL_ID)
-                       {
-                               for (i = 0; i < autocvar__urllib_nextslot; ++i)
-                                       if (url_fromid[i] == NULL) break;
-                               if (i >= autocvar__urllib_nextslot)
-                               {
+                       for (i = autocvar__urllib_nextslot; i < NUM_URL_ID; ++i) {
+                               if (url_fromid[i] == NULL) { break; } }
+                       if (i >= NUM_URL_ID) {
+                               for (i = 0; i < autocvar__urllib_nextslot; ++i) {
+                                       if (url_fromid[i] == NULL) { break; } }
+                               if (i >= autocvar__urllib_nextslot) {
                                        LOG_INFO("url_fclose: too many concurrent requests");
                                        e.url_ready(e, e.url_ready_pass, URL_READY_ERROR);
                                        buf_del(e.url_wbuf);
@@ -238,8 +216,7 @@ void url_fclose(entity e)
                        }
 
                        // POST the data
-                       if (!crypto_uri_postbuf(e.url_url, i + MIN_URL_ID, e.url_content_type, e.url_verb, e.url_wbuf, 0))
-                       {
+                       if (!crypto_uri_postbuf(e.url_url, i + MIN_URL_ID, e.url_content_type, e.url_verb, e.url_wbuf, 0)) {
                                LOG_INFO("url_fclose: failure in crypto_uri_postbuf");
                                e.url_ready(e, e.url_ready_pass, URL_READY_ERROR);
                                buf_del(e.url_wbuf);
@@ -258,26 +235,20 @@ void url_fclose(entity e)
 
                        // make sure this slot won't be reused quickly even on map change
                        cvar_set("_urllib_nextslot", ftos((i + 1) % NUM_URL_ID));
-               }
-               else
-               {
+               } else {
                        // we have READ all data, just close
                        e.url_ready(e, e.url_ready_pass, URL_READY_CLOSED);
                        buf_del(e.url_rbuf);
                        strunzone(e.url_url);
                        delete(e);
                }
-       }
-       else if (e.url_fh == URL_FH_STDOUT)
-       {
-               e.url_ready(e, e.url_ready_pass, URL_READY_CLOSED);  // closing creates no reading handle
+       } else if (e.url_fh == URL_FH_STDOUT) {
+               e.url_ready(e, e.url_ready_pass, URL_READY_CLOSED); // closing creates no reading handle
                delete(e);
-       }
-       else
-       {
+       } else {
                // file
                fclose(e.url_fh);
-               e.url_ready(e, e.url_ready_pass, URL_READY_CLOSED);  // closing creates no reading handle
+               e.url_ready(e, e.url_ready_pass, URL_READY_CLOSED); // closing creates no reading handle
                delete(e);
        }
 }
@@ -286,22 +257,17 @@ void url_fclose(entity e)
 ERASEABLE
 string url_fgets(entity e)
 {
-       if (e.url_fh == URL_FH_CURL)
-       {
-               if (e.url_rbuf == -1) error("url_fgets: not readable in current state");
+       if (e.url_fh == URL_FH_CURL) {
+               if (e.url_rbuf == -1) { error("url_fgets: not readable in current state"); }
                // curl
                string s;
                s = bufstr_get(e.url_rbuf, e.url_rbufpos);
                e.url_rbufpos += 1;
                return s;
-       }
-       else if (e.url_fh == URL_FH_STDOUT)
-       {
+       } else if (e.url_fh == URL_FH_STDOUT) {
                // stdout
                return string_null;
-       }
-       else
-       {
+       } else {
                // file
                return fgets(e.url_fh);
        }
@@ -311,20 +277,15 @@ string url_fgets(entity e)
 ERASEABLE
 void url_fputs(entity e, string s)
 {
-       if (e.url_fh == URL_FH_CURL)
-       {
-               if (e.url_wbuf == -1) error("url_fputs: not writable in current state");
+       if (e.url_fh == URL_FH_CURL) {
+               if (e.url_wbuf == -1) { error("url_fputs: not writable in current state"); }
                // curl
                bufstr_set(e.url_wbuf, e.url_wbufpos, s);
                e.url_wbufpos += 1;
-       }
-       else if (e.url_fh == URL_FH_STDOUT)
-       {
+       } else if (e.url_fh == URL_FH_STDOUT) {
                // stdout
                print(s);
-       }
-       else
-       {
+       } else {
                // file
                fputs(e.url_fh, s);
        }
@@ -335,10 +296,8 @@ ERASEABLE
 void url_multi_ready(entity fh, entity me, float status)
 {
        float n;
-       if (status == URL_READY_ERROR || status < 0)
-       {
-               if (status == -422)  // Unprocessable Entity
-               {
+       if (status == URL_READY_ERROR || status < 0) {
+               if (status == -422) { // Unprocessable Entity
                        LOG_INFO("uri_multi_ready: got HTTP error 422, data is in unusable format - not continuing");
                        me.url_ready(fh, me.url_ready_pass, status);
                        strunzone(me.url_url);
@@ -347,8 +306,7 @@ void url_multi_ready(entity fh, entity me, float status)
                }
                me.url_attempt += 1;
                n = tokenize_console(me.url_url);
-               if (n <= me.url_attempt)
-               {
+               if (n <= me.url_attempt) {
                        me.url_ready(fh, me.url_ready_pass, status);
                        strunzone(me.url_url);
                        delete(me);
@@ -365,8 +323,7 @@ void url_multi_fopen(string url, int mode, url_ready_func rdy, entity pass)
 {
        float n;
        n = tokenize_console(url);
-       if (n <= 0)
-       {
+       if (n <= 0) {
                LOG_INFO("url_multi_fopen: need at least one URL");
                rdy(NULL, pass, URL_READY_ERROR);
                return;
index 8918ca0a2a695df6ade44e96df9837b271adc3a4..3337df84ca3caacf06bc7df6138af05cb14c4554 100644 (file)
@@ -15,7 +15,7 @@ const float URL_READY_CLOSED   =  0;
 const float URL_READY_CANWRITE =  1;
 const float URL_READY_CANREAD  =  2;
 // errors: -1, or negative HTTP status code
-USING(url_ready_func, void (entity handle, entity pass, float status));
+USING(url_ready_func, void(entity handle, entity pass, float status));
 
 ERASEABLE
 void url_single_fopen(string url, float mode, url_ready_func rdy, entity pass);
index 9e98199f34be62fcd74fd742dc329f900c169d32..2fd4f57d979c0f80418458de4fd050de4165e32f 100644 (file)
@@ -6,15 +6,18 @@ vector AnglesTransform_Apply(vector transform, vector v)
 {
        fixedmakevectors(transform);
        return v_forward * v.x
-               + v_right   * (-v.y)
-               + v_up      * v.z;
+                  + v_right   * (-v.y)
+                  + v_up      * v.z;
 }
 
 vector AnglesTransform_Multiply(vector t1, vector t2)
 {
        vector m_forward, m_up;
-       fixedmakevectors(t2); m_forward = v_forward; m_up = v_up;
-       m_forward = AnglesTransform_Apply(t1, m_forward); m_up = AnglesTransform_Apply(t1, m_up);
+       fixedmakevectors(t2);
+       m_forward = v_forward;
+       m_up = v_up;
+       m_forward = AnglesTransform_Apply(t1, m_forward);
+       m_up = AnglesTransform_Apply(t1, m_up);
        return fixedvectoangles2(m_forward, m_up);
 }
 
@@ -39,8 +42,8 @@ vector AnglesTransform_TurnDirectionFR(vector transform)
 {
        // turn 180 degrees around v_up
        // changes in-direction to out-direction
-       //fixedmakevectors(transform);
-       //return fixedvectoangles2(-1 * v_forward, 1 * v_up);
+       // fixedmakevectors(transform);
+       // return fixedvectoangles2(-1 * v_forward, 1 * v_up);
        transform.x = -transform.x;
        transform.y = 180 + transform.y;
        transform.z = -transform.z;
@@ -54,8 +57,8 @@ vector AnglesTransform_TurnDirectionFU(vector transform)
 {
        // turn 180 degrees around v_up
        // changes in-direction to out-direction
-       //fixedmakevectors(transform);
-       //return fixedvectoangles2(-1 * v_forward, 1 * v_up);
+       // fixedmakevectors(transform);
+       // return fixedvectoangles2(-1 * v_forward, 1 * v_up);
        transform.x = -transform.x;
        transform.y = 180 + transform.y;
        transform.z = 180 - transform.z;
@@ -79,15 +82,15 @@ vector AnglesTransform_Normalize(vector t, float minimize_roll)
        t.x = t.x - 360 * rint(t.x / 360);
        t.y = t.y - 360 * rint(t.y / 360);
        t.z = t.z - 360 * rint(t.z / 360);
-       if(minimize_roll)
+       if (minimize_roll) {
                need_flip = (t.z > 90 || t.z <= -90);
-       else
+       } else {
                need_flip = (t.x > 90 || t.x < -90); // for pitch we prefer to allow exactly -90 degrees for looking straight down
-       if(need_flip)
-       {
-               if(t.x >= 0) t.x = 180 - t.x; else t.x = -180 - t.x;
-               if(t.y > 0) t.y -= 180; else t.y += 180;
-               if(t.z > 0) t.z -= 180; else t.z += 180;
+       }
+       if (need_flip) {
+               if (t.x >= 0) { t.x = 180 - t.x; } else { t.x = -180 - t.x; }
+               if (t.y > 0) { t.y -= 180; } else { t.y += 180; }
+               if (t.z > 0) { t.z -= 180; } else { t.z += 180; }
        }
        return t;
 }
@@ -105,18 +108,14 @@ vector AnglesTransform_CancelRoll(vector t)
        // FIXME find a better method
 
        f = fabs(t.x - (-90)) / epsilon;
-       if(f < 1)
-       {
-               //t_x = -90;
+       if (f < 1) {
+               // t_x = -90;
                t.y += t.z;
                t.z = 0;
-       }
-       else
-       {
+       } else {
                f = fabs(t.x - 90) / epsilon;
-               if(f < 1)
-               {
-                       //t_x = 90;
+               if (f < 1) {
+                       // t_x = 90;
                        t.y -= t.z;
                        t.z = 0;
                }
index b287651a10a4fb868acdfeca18d2c0dfaf77b4d0..817d89588668aaafd280d07dc1c770377083a1ad 100644 (file)
@@ -5,20 +5,20 @@
 #endif
 
 #if POSITIVE_PITCH_IS_DOWN
-    #define fixedmakevectors makevectors
-    noref vector _fixedvectoangles;
-    #define fixedvectoangles(a) (_fixedvectoangles = vectoangles(a), _fixedvectoangles.x *= -1, _fixedvectoangles)
-    noref vector _fixedvectoangles2;
-    #define fixedvectoangles2(a, b) (_fixedvectoangles2 = vectoangles2(a, b), _fixedvectoangles2.x *= -1, _fixedvectoangles2)
+#define fixedmakevectors makevectors
+noref vector _fixedvectoangles;
+#define fixedvectoangles(a) (_fixedvectoangles = vectoangles(a), _fixedvectoangles.x *= -1, _fixedvectoangles)
+noref vector _fixedvectoangles2;
+#define fixedvectoangles2(a, b) (_fixedvectoangles2 = vectoangles2(a, b), _fixedvectoangles2.x *= -1, _fixedvectoangles2)
 #else
-    void fixedmakevectors(vector a)
-    {
-        // a makevectors that actually inverts vectoangles
-        a.x = -a.x;
-        makevectors(a);
-    }
-    #define fixedvectoangles2 vectoangles2
-    #define fixedvectoangles vectoangles
+void fixedmakevectors(vector a)
+{
+       // a makevectors that actually inverts vectoangles
+       a.x = -a.x;
+       makevectors(a);
+}
+#define fixedvectoangles2 vectoangles2
+#define fixedvectoangles vectoangles
 #endif
 
 vector AnglesTransform_Apply(vector transform, vector v);
@@ -27,9 +27,9 @@ vector AnglesTransform_Invert(vector transform);
 vector AnglesTransform_TurnDirectionFU(vector transform);
 vector AnglesTransform_TurnDirectionFR(vector transform);
 vector AnglesTransform_RightDivide(vector to_transform, vector from_transform); // A B^-1
-vector AnglesTransform_LeftDivide(vector from_transform, vector to_transform); // A^-1 B
+vector AnglesTransform_LeftDivide(vector from_transform, vector to_transform);  // A^-1 B
 
-vector AnglesTransform_Normalize(vector t, float minimize_roll); // makes sure all angles are in their range: yaw in -180..180, pitch in -90..90, roll in -180..180 (or if minimize_roll is set, pitch in -180..180, roll in -90..90)
+vector AnglesTransform_Normalize(vector t, float minimize_roll);                // makes sure all angles are in their range: yaw in -180..180, pitch in -90..90, roll in -180..180 (or if minimize_roll is set, pitch in -180..180, roll in -90..90)
 
 vector AnglesTransform_ApplyToAngles(vector transform, vector v);
 vector AnglesTransform_ApplyToVAngles(vector transform, vector v);
index 15a3ca4c3ccc6e90870c72ab7bc74251777dd397..1141205b3bb91d660d19d930472a9be945f6d242 100644 (file)
@@ -2,8 +2,8 @@
 #include "common.qh"
 
 #if defined(CSQC)
-       #include <client/autocvars.qh>
-       #include <lib/csqcmodel/cl_model.qh>
+#include <client/autocvars.qh>
+#include <lib/csqcmodel/cl_model.qh>
 #elif defined(MENUQC)
 #elif defined(SVQC)
 #endif
@@ -12,42 +12,43 @@ void WarpZone_Fade_PreDraw(entity this)
 {
        vector org;
        org = getpropertyvec(VF_ORIGIN);
-       if(!checkpvs(org, this)) // this makes sense as long as we don't support recursive warpzones
+       if (!checkpvs(org, this)) { // this makes sense as long as we don't support recursive warpzones
                this.alpha = 0;
-       else if(this.warpzone_fadestart)
+       } else if (this.warpzone_fadestart) {
                this.alpha = bound(0, (this.warpzone_fadeend - vlen(org - this.origin - 0.5 * (this.mins + this.maxs))) / (this.warpzone_fadeend - this.warpzone_fadestart), 1);
-       else
+       } else {
                this.alpha = 1;
-       //printf("%v <-> %v\n", view_origin, this.origin + 0.5 * (this.mins + this.maxs));
-       if(this.alpha <= 0)
+       }
+       // printf("%v <-> %v\n", view_origin, this.origin + 0.5 * (this.mins + this.maxs));
+       if (this.alpha <= 0) {
                this.drawmask = 0;
-       else
+       } else {
                this.drawmask = MASK_NORMAL;
+       }
 }
 
 void WarpZone_Touch(entity this, entity toucher);
 NET_HANDLE(ENT_CLIENT_WARPZONE, bool isnew)
 {
        warpzone_warpzones_exist = 1;
-       if (!this.enemy)
-       {
+       if (!this.enemy) {
                this.enemy = new(warpzone_from);
        }
        this.classname = "trigger_warpzone";
 
-       if(isnew)
+       if (isnew) {
                IL_PUSH(g_warpzones, this);
+       }
 
        int f = ReadByte();
        this.warpzone_isboxy = (f & 1);
-       if(f & 4)
-       {
+       if (f & 4) {
                this.origin_x = ReadCoord();
                this.origin_y = ReadCoord();
                this.origin_z = ReadCoord();
-       }
-       else
+       } else {
                this.origin = '0 0 0';
+       }
        this.modelindex = ReadShort();
        this.mins_x = ReadCoord();
        this.mins_y = ReadCoord();
@@ -69,13 +70,10 @@ NET_HANDLE(ENT_CLIENT_WARPZONE, bool isnew)
        this.avelocity_y = ReadCoord();
        this.avelocity_z = ReadCoord();
 
-       if(f & 2)
-       {
+       if (f & 2) {
                this.warpzone_fadestart = ReadShort();
                this.warpzone_fadeend = max(this.warpzone_fadestart + 1, ReadShort());
-       }
-       else
-       {
+       } else {
                this.warpzone_fadestart = 0;
                this.warpzone_fadeend = 0;
        }
@@ -84,7 +82,7 @@ NET_HANDLE(ENT_CLIENT_WARPZONE, bool isnew)
        WarpZone_SetUp(this, this.enemy.oldorigin, this.enemy.avelocity, this.oldorigin, this.avelocity);
 
        // link me
-       //setmodel(this, this.model);
+       // setmodel(this, this.model);
        setorigin(this, this.origin);
        setsize(this, this.mins, this.maxs);
 
@@ -92,7 +90,7 @@ NET_HANDLE(ENT_CLIENT_WARPZONE, bool isnew)
        // engine currently wants this
        setpredraw(this, WarpZone_Fade_PreDraw);
 
-       //settouch(this, WarpZone_Touch);
+       // settouch(this, WarpZone_Touch);
        return true;
 }
 
@@ -102,14 +100,13 @@ NET_HANDLE(ENT_CLIENT_WARPZONE_CAMERA, bool isnew)
        this.classname = "func_warpzone_camera";
 
        int f = ReadByte();
-       if(f & 4)
-       {
+       if (f & 4) {
                this.origin_x = ReadCoord();
                this.origin_y = ReadCoord();
                this.origin_z = ReadCoord();
-       }
-       else
+       } else {
                this.origin = '0 0 0';
+       }
        this.modelindex = ReadShort();
        this.mins_x = ReadCoord();
        this.mins_y = ReadCoord();
@@ -125,13 +122,10 @@ NET_HANDLE(ENT_CLIENT_WARPZONE_CAMERA, bool isnew)
        this.avelocity_y = ReadCoord();
        this.avelocity_z = ReadCoord();
 
-       if(f & 2)
-       {
+       if (f & 2) {
                this.warpzone_fadestart = ReadShort();
                this.warpzone_fadeend = max(this.warpzone_fadestart + 1, ReadShort());
-       }
-       else
-       {
+       } else {
                this.warpzone_fadestart = 0;
                this.warpzone_fadeend = 0;
        }
@@ -143,7 +137,7 @@ NET_HANDLE(ENT_CLIENT_WARPZONE_CAMERA, bool isnew)
        this.drawmask = MASK_NORMAL;
 
        // link me
-       //setmodel(this, this.model);
+       // setmodel(this, this.model);
        setorigin(this, this.origin);
        setsize(this, this.mins, this.maxs);
 
@@ -162,12 +156,13 @@ NET_HANDLE(ENT_CLIENT_WARPZONE_TELEPORTED, bool isnew)
        v.y = ReadCoord();
        v.z = ReadCoord();
        return = true;
-       if (!isnew) return;
+       if (!isnew) { return; }
        this.warpzone_transform = v;
        setproperty(VF_CL_VIEWANGLES, WarpZone_TransformVAngles(this, getpropertyvec(VF_CL_VIEWANGLES)));
-       if(checkextension("DP_CSQC_ROTATEMOVES"))
+       if (checkextension("DP_CSQC_ROTATEMOVES")) {
                CL_RotateMoves(v);
-               //CL_RotateMoves('0 90 0');
+       }
+       // CL_RotateMoves('0 90 0');
 }
 
 float warpzone_fixingview;
@@ -175,21 +170,22 @@ float warpzone_fixingview_drawexteriormodel;
 
 void WarpZone_View_Outside()
 {
-       if(!warpzone_fixingview)
+       if (!warpzone_fixingview) {
                return;
+       }
        warpzone_fixingview = 0;
        cvar_set("r_drawexteriormodel", ftos(warpzone_fixingview_drawexteriormodel));
 }
 
 void WarpZone_View_Inside()
 {
-       if(autocvar_chase_active)
-       {
+       if (autocvar_chase_active) {
                WarpZone_View_Outside();
                return;
        }
-       if(warpzone_fixingview)
+       if (warpzone_fixingview) {
                return;
+       }
        warpzone_fixingview = 1;
        warpzone_fixingview_drawexteriormodel = cvar("r_drawexteriormodel");
        cvar_set("r_drawexteriormodel", "0");
@@ -209,19 +205,20 @@ vector WarpZone_FixNearClip(vector o, vector c0, vector c1, vector c2, vector c3
        ma.z = max(o.z, c0_z, c1_z, c2_z, c3_z);
 
        e = WarpZone_Find(mi, ma);
-       if(e)
-       {
-               if(WarpZone_PlaneDist(e, o) < 0)
+       if (e) {
+               if (WarpZone_PlaneDist(e, o) < 0) {
                        return '0 0 0';
-                       // can't really be, though, but if it is, this is not my warpzone, but a random different one in the same mins/maxs
+               }
+               // can't really be, though, but if it is, this is not my warpzone, but a random different one in the same mins/maxs
                pd = min(
-                               WarpZone_PlaneDist(e, c0),
-                               WarpZone_PlaneDist(e, c1),
-                               WarpZone_PlaneDist(e, c2),
-                               WarpZone_PlaneDist(e, c3)
+                       WarpZone_PlaneDist(e, c0),
+                       WarpZone_PlaneDist(e, c1),
+                       WarpZone_PlaneDist(e, c2),
+                       WarpZone_PlaneDist(e, c3)
                        );
-               if(pd < 0)
+               if (pd < 0) {
                        return e.warpzone_forward * -pd;
+               }
        }
 
        return '0 0 0';
@@ -230,8 +227,7 @@ vector WarpZone_FixNearClip(vector o, vector c0, vector c1, vector c2, vector c3
 void WarpZone_FixPMove()
 {
        entity e = WarpZone_Find(pmove_org, pmove_org);
-       if(e)
-       {
+       if (e) {
                pmove_org = WarpZone_TransformOrigin(e, pmove_org);
                input_angles = WarpZone_TransformVAngles(e, input_angles);
        }
@@ -249,39 +245,36 @@ void WarpZone_FixView()
        warpzone_save_view_angles = ang = getpropertyvec(VF_ANGLES);
 
        e = WarpZone_Find(org, org);
-       if(e)
-       {
+       if (e) {
                org = WarpZone_TransformOrigin(e, org);
                ang = WarpZone_TransformVAngles(e, ang);
                WarpZone_View_Inside();
-       }
-       else
+       } else {
                WarpZone_View_Outside();
+       }
 
 #ifndef KEEP_ROLL
        float rick;
        float f;
        static float rollkill;
-       if (STAT(HEALTH) > 0 || STAT(HEALTH) == -666 || STAT(HEALTH) == -2342)
-       {
+       if (STAT(HEALTH) > 0 || STAT(HEALTH) == -666 || STAT(HEALTH) == -2342) {
                f = 0;
                // reset roll when passing through a warpzone that change player's roll angle
-               if(autocvar_cl_rollkillspeed)
+               if (autocvar_cl_rollkillspeed) {
                        f = max(0, (1 - frametime * autocvar_cl_rollkillspeed));
-               if(rollkill)
+               }
+               if (rollkill) {
                        rollkill = 0;
-       }
-       else
-       {
+               }
+       } else {
                f = 1;
                // roll the view when killed (v_deathtilt)
-               if(autocvar_cl_rollkillspeed)
-               {
+               if (autocvar_cl_rollkillspeed) {
                        rollkill += frametime * autocvar_cl_rollkillspeed;
                        f = min(1, rollkill);
-               }
-               else if(rollkill)
+               } else if (rollkill) {
                        rollkill = 0;
+               }
        }
 
        rick = getproperty(VF_CL_VIEWANGLES_Z);
@@ -299,8 +292,9 @@ void WarpZone_FixView()
        corner2 = cs_unproject('0 1 0' * cvar("vid_conheight") + nearclip);
        corner3 = cs_unproject('1 0 0' * cvar("vid_conwidth") + '0 1 0' * cvar("vid_conheight") + nearclip);
        o = WarpZone_FixNearClip(org, corner0, corner1, corner2, corner3);
-       if(o != '0 0 0')
+       if (o != '0 0 0') {
                setproperty(VF_ORIGIN, org + o);
+       }
 }
 
 void WarpZone_Shutdown()
index 65b1a7f6416485d2777926c3c86e1aae006a9a02..645ead12d0f5e59fcf2d710fafb375e08b6dcc37 100644 (file)
@@ -1,10 +1,10 @@
 #include "common.qh"
 
 #if defined(CSQC)
-    #include <common/t_items.qh>
+#include <common/t_items.qh>
 #elif defined(MENUQC)
 #elif defined(SVQC)
-    #include <common/weapons/_all.qh>
+#include <common/weapons/_all.qh>
 #endif
 
 void WarpZone_Accumulator_Clear(entity acc)
@@ -41,11 +41,13 @@ float autocvar_cl_warpzone_usetrace = 1;
 vector WarpZone_camera_transform(entity this, vector org, vector ang)
 {
        vector vf, vr, vu;
-       if(this.warpzone_fadestart)
-               if(vdist(org - this.origin - 0.5 * (this.mins + this.maxs), >, this.warpzone_fadeend + 400))
+       if (this.warpzone_fadestart) {
+               if (vdist(org - this.origin - 0.5 * (this.mins + this.maxs), >, this.warpzone_fadeend + 400)) {
                        return org;
-                       // don't transform if zone faded out (plus 400qu safety margin for typical speeds and latencies)
-                       // unneeded on client, on server this helps a lot
+               }
+       }
+       // don't transform if zone faded out (plus 400qu safety margin for typical speeds and latencies)
+       // unneeded on client, on server this helps a lot
        vf = v_forward;
        vr = v_right;
        vu = v_up;
@@ -53,10 +55,11 @@ vector WarpZone_camera_transform(entity this, vector org, vector ang)
        vf = WarpZone_TransformVelocity(this, vf);
        vr = WarpZone_TransformVelocity(this, vr);
        vu = WarpZone_TransformVelocity(this, vu);
-       if(autocvar_cl_warpzone_usetrace)
+       if (autocvar_cl_warpzone_usetrace) {
                traceline(this.warpzone_targetorigin, org, MOVE_NOMONSTERS, NULL);
-       else
+       } else {
                trace_endpos = this.warpzone_targetorigin;
+       }
        v_forward = vf;
        v_right = vr;
        v_up = vu;
@@ -71,19 +74,23 @@ void WarpZone_SetUp(entity e, vector my_org, vector my_ang, vector other_org, ve
        e.warpzone_targetorigin = other_org;
        e.warpzone_angles = my_ang;
        e.warpzone_targetangles = other_ang;
-       fixedmakevectors(my_ang); e.warpzone_forward = v_forward;
-       fixedmakevectors(other_ang); e.warpzone_targetforward = v_forward;
+       fixedmakevectors(my_ang);
+       e.warpzone_forward = v_forward;
+       fixedmakevectors(other_ang);
+       e.warpzone_targetforward = v_forward;
        setcamera_transform(e, WarpZone_camera_transform);
 }
 
 vector WarpZone_Camera_camera_transform(entity this, vector org, vector ang)
 {
        // a fixed camera view
-       if(this.warpzone_fadestart)
-               if(vdist(org - this.origin - 0.5 * (this.mins + this.maxs), >, this.warpzone_fadeend + 400))
+       if (this.warpzone_fadestart) {
+               if (vdist(org - this.origin - 0.5 * (this.mins + this.maxs), >, this.warpzone_fadeend + 400)) {
                        return org;
-                       // don't transform if zone faded out (plus 400qu safety margin for typical speeds and latencies)
-                       // unneeded on client, on server this helps a lot
+               }
+       }
+       // don't transform if zone faded out (plus 400qu safety margin for typical speeds and latencies)
+       // unneeded on client, on server this helps a lot
        trace_endpos = this.warpzone_origin;
        makevectors(this.warpzone_angles);
        return this.warpzone_origin;
@@ -110,18 +117,19 @@ float WarpZoneLib_BoxTouchesBrush_Recurse()
 
        tracebox('0 0 0', WarpZoneLib_BoxTouchesBrush_mins, WarpZoneLib_BoxTouchesBrush_maxs, '0 0 0', MOVE_NOMONSTERS, WarpZoneLib_BoxTouchesBrush_ignore);
 #ifdef CSQC
-       if (trace_networkentity)
-       {
+       if (trace_networkentity) {
                LOG_TRACE("hit a network ent, cannot continue WarpZoneLib_BoxTouchesBrush");
                // we cannot continue, as a player blocks us...
                // so, abort
                return 0;
        }
 #endif
-       if (!trace_ent)
+       if (!trace_ent) {
                return 0;
-       if (trace_ent == WarpZoneLib_BoxTouchesBrush_ent)
+       }
+       if (trace_ent == WarpZoneLib_BoxTouchesBrush_ent) {
                return 1;
+       }
 
        se = trace_ent;
        s = se.solid;
@@ -134,28 +142,30 @@ float WarpZoneLib_BoxTouchesBrush_Recurse()
 
 float WarpZoneLib_BoxTouchesBrush(vector mi, vector ma, entity e, entity ig)
 {
-    float f, s;
+       float f, s;
 
-    if(!e.modelindex || e.warpzone_isboxy)
-        return 1;
+       if (!e.modelindex || e.warpzone_isboxy) {
+               return 1;
+       }
 
-    s = e.solid;
-    e.solid = SOLID_BSP;
-    WarpZoneLib_BoxTouchesBrush_mins = mi;
-    WarpZoneLib_BoxTouchesBrush_maxs = ma;
-    WarpZoneLib_BoxTouchesBrush_ent = e;
-    WarpZoneLib_BoxTouchesBrush_ignore = ig;
-    f = WarpZoneLib_BoxTouchesBrush_Recurse();
-    e.solid = s;
+       s = e.solid;
+       e.solid = SOLID_BSP;
+       WarpZoneLib_BoxTouchesBrush_mins = mi;
+       WarpZoneLib_BoxTouchesBrush_maxs = ma;
+       WarpZoneLib_BoxTouchesBrush_ent = e;
+       WarpZoneLib_BoxTouchesBrush_ignore = ig;
+       f = WarpZoneLib_BoxTouchesBrush_Recurse();
+       e.solid = s;
 
-    return f;
+       return f;
 }
 
 entity WarpZone_Find(vector mi, vector ma)
 {
        // if we are near any warpzone planes - MOVE AWAY (work around nearclip)
-       if(!warpzone_warpzones_exist)
+       if (!warpzone_warpzones_exist) {
                return NULL;
+       }
        IL_EACH(g_warpzones, WarpZoneLib_BoxTouchesBrush(mi, ma, it, NULL),
        {
                return it;
@@ -165,8 +175,9 @@ entity WarpZone_Find(vector mi, vector ma)
 
 void WarpZone_MakeAllSolid()
 {
-       if(!warpzone_warpzones_exist)
+       if (!warpzone_warpzones_exist) {
                return;
+       }
        IL_EACH(g_warpzones, true,
        {
                it.solid = SOLID_BSP;
@@ -175,8 +186,9 @@ void WarpZone_MakeAllSolid()
 
 void WarpZone_MakeAllOther()
 {
-       if(!warpzone_warpzones_exist)
+       if (!warpzone_warpzones_exist) {
                return;
+       }
        IL_EACH(g_warpzones, true,
        {
                it.solid = SOLID_TRIGGER;
@@ -185,8 +197,7 @@ void WarpZone_MakeAllOther()
 
 void WarpZone_Trace_InitTransform()
 {
-       if(!WarpZone_trace_transform)
-       {
+       if (!WarpZone_trace_transform) {
                WarpZone_trace_transform = new_pure(warpzone_trace_transform);
        }
        WarpZone_Accumulator_Clear(WarpZone_trace_transform);
@@ -209,21 +220,19 @@ void WarpZone_TraceBox_ThroughZone(vector org, vector mi, vector ma, vector end,
        WarpZone_trace_firstzone = NULL;
        WarpZone_trace_lastzone = NULL;
        WarpZone_Trace_InitTransform();
-       if(!warpzone_warpzones_exist)
-       {
-               if(nomonsters == MOVE_NOTHING)
-               {
+       if (!warpzone_warpzones_exist) {
+               if (nomonsters == MOVE_NOTHING) {
                        trace_endpos = end;
                        trace_fraction = 1;
-                       if(cb)
+                       if (cb) {
                                cb(org, trace_endpos, end);
+                       }
                        return;
-               }
-               else
-               {
+               } else {
                        tracebox(org, mi, ma, end, nomonsters, WarpZone_trace_forent);
-                       if(cb)
+                       if (cb) {
                                cb(org, trace_endpos, end);
+                       }
                        return;
                }
        }
@@ -234,8 +243,7 @@ void WarpZone_TraceBox_ThroughZone(vector org, vector mi, vector ma, vector end,
        o0 = org;
        e0 = end;
 
-       switch(nomonsters)
-       {
+       switch (nomonsters) {
                case MOVE_WORLDONLY:
                case MOVE_NOTHING:
                        nomonsters_adjusted = MOVE_NOMONSTERS;
@@ -244,17 +252,16 @@ void WarpZone_TraceBox_ThroughZone(vector org, vector mi, vector ma, vector end,
                        nomonsters_adjusted = nomonsters;
                        break;
        }
-       if((contentshack = (WarpZone_trace_forent.dphitcontentsmask && !(WarpZone_trace_forent.dphitcontentsmask & DPCONTENTS_SOLID))))
+       if ((contentshack = (WarpZone_trace_forent.dphitcontentsmask && !(WarpZone_trace_forent.dphitcontentsmask & DPCONTENTS_SOLID)))) {
                BITSET_ASSIGN(WarpZone_trace_forent.dphitcontentsmask, DPCONTENTS_SOLID);
+       }
 
        // if starting in warpzone, first transform
        wz = WarpZone_Find(org + mi, org + ma);
-       if(wz)
-       {
+       if (wz) {
                WarpZone_trace_firstzone = wz;
                WarpZone_trace_lastzone = wz;
-               if(zone && wz != zone)
-               {
+               if (zone && wz != zone) {
                        // we are in ANOTHER warpzone. This is bad. Make a zero length trace and return.
                        sol = 1;
                        trace_fraction = 0;
@@ -269,27 +276,26 @@ void WarpZone_TraceBox_ThroughZone(vector org, vector mi, vector ma, vector end,
        sol = -1;
        frac = 0;
        i = 16;
-       for (;;)
-       {
-               if(--i < 1)
-               {
+       for ( ; ; ) {
+               if (--i < 1) {
                        LOG_TRACE("Too many warpzones in sequence, aborting trace.");
                        trace_ent = NULL;
                        break;
                }
                tracebox(org, mi, ma, end, nomonsters_adjusted, WarpZone_trace_forent);
-               if(cb)
+               if (cb) {
                        cb(org, trace_endpos, end);
-               if(sol < 0)
+               }
+               if (sol < 0) {
                        sol = trace_startsolid;
+               }
 
                frac = trace_fraction = frac + (1 - frac) * trace_fraction;
-               if(trace_fraction >= 1)
+               if (trace_fraction >= 1) {
                        break;
-               if(trace_ent.classname != "trigger_warpzone")
-               {
-                       if((nomonsters == MOVE_NOTHING) || ((nomonsters == MOVE_WORLDONLY) && trace_ent) || (contentshack && (trace_dphitcontents & WarpZone_trace_forent.dphitcontentsmask) == DPCONTENTS_SOLID))
-                       {
+               }
+               if (trace_ent.classname != "trigger_warpzone") {
+                       if ((nomonsters == MOVE_NOTHING) || ((nomonsters == MOVE_WORLDONLY) && trace_ent) || (contentshack && (trace_dphitcontents & WarpZone_trace_forent.dphitcontentsmask) == DPCONTENTS_SOLID)) {
                                // continue the trace, ignoring this hit (we only care for warpzones)
                                org = trace_endpos + normalize(end - org);
                                continue;
@@ -300,17 +306,19 @@ void WarpZone_TraceBox_ThroughZone(vector org, vector mi, vector ma, vector end,
                }
                /*if(trace_ent == wz)
                {
-                       // FIXME can this check be removed? Do we really need it?
-                       LOG_TRACE("I transformed into the same zone again, wtf, aborting the trace");
-                       trace_ent = NULL;
-                       break;
+                   // FIXME can this check be removed? Do we really need it?
+                   LOG_TRACE("I transformed into the same zone again, wtf, aborting the trace");
+                   trace_ent = NULL;
+                   break;
                }*/
                wz = trace_ent;
-               if(!WarpZone_trace_firstzone)
+               if (!WarpZone_trace_firstzone) {
                        WarpZone_trace_firstzone = wz;
+               }
                WarpZone_trace_lastzone = wz;
-               if(zone && wz != zone)
+               if (zone && wz != zone) {
                        break;
+               }
                WarpZone_Trace_AddTransform(wz);
                // we hit a warpzone... so, let's perform the trace after the warp again
                org = WarpZone_TransformOrigin(wz, trace_endpos);
@@ -321,9 +329,10 @@ void WarpZone_TraceBox_ThroughZone(vector org, vector mi, vector ma, vector end,
                org = trace_endpos;
        }
        WarpZone_MakeAllOther();
-LABEL(fail)
-       if(contentshack)
+       LABEL(fail)
+       if (contentshack) {
                BITCLR_ASSIGN(WarpZone_trace_forent.dphitcontentsmask, DPCONTENTS_SOLID);
+       }
        trace_startsolid = sol;
        v_forward = vf;
        v_right = vr;
@@ -355,11 +364,11 @@ void WarpZone_TraceToss_ThroughZone(entity e, entity forent, entity zone, WarpZo
        WarpZone_trace_lastzone = NULL;
        WarpZone_Trace_InitTransform();
        WarpZone_tracetoss_time = 0;
-       if(!warpzone_warpzones_exist)
-       {
+       if (!warpzone_warpzones_exist) {
                tracetoss(e, WarpZone_trace_forent);
-               if(cb)
+               if (cb) {
                        cb(e.origin, trace_endpos, trace_endpos);
+               }
                dt = vlen(e.origin - o0) / vlen(e.velocity);
                WarpZone_tracetoss_time += dt;
                e.velocity_z -= dt * g;
@@ -374,12 +383,10 @@ void WarpZone_TraceToss_ThroughZone(entity e, entity forent, entity zone, WarpZo
 
        // if starting in warpzone, first transform
        wz = WarpZone_Find(e.origin + e.mins, e.origin + e.maxs);
-       if(wz)
-       {
+       if (wz) {
                WarpZone_trace_firstzone = wz;
                WarpZone_trace_lastzone = wz;
-               if(zone && wz != zone)
-               {
+               if (zone && wz != zone) {
                        // we are in ANOTHER warpzone. This is bad. Make a zero length trace and return.
 
                        WarpZone_tracetoss_time = 0;
@@ -393,38 +400,40 @@ void WarpZone_TraceToss_ThroughZone(entity e, entity forent, entity zone, WarpZo
        }
        WarpZone_MakeAllSolid();
        i = 16;
-       for (;;)
-       {
-               if(--i < 1)
-               {
+       for ( ; ; ) {
+               if (--i < 1) {
                        LOG_TRACE("Too many warpzones in sequence, aborting trace.");
                        trace_ent = NULL;
                        break;
                }
                tracetoss(e, WarpZone_trace_forent);
-               if(cb)
+               if (cb) {
                        cb(e.origin, trace_endpos, trace_endpos);
+               }
                dt = vlen(trace_endpos - e.origin) / vlen(e.velocity);
                WarpZone_tracetoss_time += dt;
                e.origin = trace_endpos;
                e.velocity_z -= dt * g;
-               if(trace_fraction >= 1)
+               if (trace_fraction >= 1) {
                        break;
-               if(trace_ent.classname != "trigger_warpzone")
+               }
+               if (trace_ent.classname != "trigger_warpzone") {
                        break;
-               if(trace_ent == wz)
-               {
+               }
+               if (trace_ent == wz) {
                        // FIXME can this check be removed? Do we really need it?
                        LOG_TRACE("I transformed into the same zone again, wtf, aborting the trace");
                        trace_ent = NULL;
                        break;
                }
                wz = trace_ent;
-               if(!WarpZone_trace_firstzone)
+               if (!WarpZone_trace_firstzone) {
                        WarpZone_trace_firstzone = wz;
+               }
                WarpZone_trace_lastzone = wz;
-               if(zone && wz != zone)
+               if (zone && wz != zone) {
                        break;
+               }
                WarpZone_Trace_AddTransform(wz);
                // we hit a warpzone... so, let's perform the trace after the warp again
                e.origin = WarpZone_TransformOrigin(wz, e.origin);
@@ -439,7 +448,7 @@ void WarpZone_TraceToss_ThroughZone(entity e, entity forent, entity zone, WarpZo
                e.velocity = -e.velocity;
        }
        WarpZone_MakeAllOther();
-LABEL(fail)
+       LABEL(fail)
        WarpZone_tracetoss_velocity = e.velocity;
        v_forward = vf;
        v_right = vr;
@@ -573,15 +582,15 @@ vector WarpZoneLib_NearestPointOnBox(vector mi, vector ma, vector org)
 
 bool WarpZoneLib_BadEntity(entity e)
 {
-       if (is_pure(e)) return true;
+       if (is_pure(e)) { return true; }
        string s = e.classname;
 
-       //if (s == "net_linked") return true; // actually some real entities are linked without classname, fail
-       if (s == "") return true;
+       // if (s == "net_linked") return true; // actually some real entities are linked without classname, fail
+       if (s == "") { return true; }
 
-       if (startsWith(s, "target_")) return true;
+       if (startsWith(s, "target_")) { return true; }
 
-       if (startsWith(s, "info_")) return true;
+       if (startsWith(s, "info_")) { return true; }
 
        return false;
 }
@@ -589,54 +598,43 @@ bool WarpZoneLib_BadEntity(entity e)
 .float WarpZone_findradius_hit;
 .entity WarpZone_findradius_next;
 void WarpZone_FindRadius_Recurse(
-    /** blast origin of current search */
-    vector org,
-    float rad,
-    /** original blast origin */
-    vector org0,
-    /** how to untransform (victim to blast system) */
-    vector transform,
-    vector shift,
-    bool needlineofsight)
-{
-       if (rad <= 0) return;
+       /** blast origin of current search */
+       vector org, float rad,
+       /** original blast origin */
+       vector org0,
+       /** how to untransform (victim to blast system) */
+       vector transform, vector shift, bool needlineofsight)
+{
+       if (rad <= 0) { return; }
        entity wz = NULL;
        FOREACH_ENTITY_RADIUS(org, rad, !WarpZoneLib_BadEntity(it), {
                vector p = WarpZoneLib_NearestPointOnBox(it.origin + it.mins, it.origin + it.maxs, org0);
-               if (needlineofsight)
-               {
+               if (needlineofsight) {
                        traceline(org, p, MOVE_NOMONSTERS, it);
-                       if (trace_fraction < 1) continue;
+                       if (trace_fraction < 1) { continue; }
                }
-               if (!it.WarpZone_findradius_hit || vlen2(it.WarpZone_findradius_dist) > vlen2(org0 - p))
-               {
+               if (!it.WarpZone_findradius_hit || vlen2(it.WarpZone_findradius_dist) > vlen2(org0 - p)) {
                        it.WarpZone_findradius_nearest = p;
                        it.WarpZone_findradius_dist = org0 - p;
                        it.WarpZone_findradius_findorigin = org;
                        it.WarpZone_findradius_findradius = rad;
-                       if (it.classname == "warpzone_refsys")
-                       {
-                               // ignore, especially: do not overwrite the refsys parameters
-                       }
-                       else if (it.classname == "trigger_warpzone")
-                       {
+                       if (it.classname == "warpzone_refsys") {
+                       // ignore, especially: do not overwrite the refsys parameters
+                       } else if (it.classname == "trigger_warpzone") {
                                it.WarpZone_findradius_next = wz;
                                wz = it;
                                it.WarpZone_findradius_hit = 1;
                                it.enemy.WarpZone_findradius_dist = '0 0 0'; // we don't want to go through this zone ever again
                                it.enemy.WarpZone_findradius_hit = 1;
-                       }
-                       else
-                       {
+                       } else {
                                it.warpzone_transform = transform;
                                it.warpzone_shift = shift;
                                it.WarpZone_findradius_hit = 1;
                        }
                }
-    });
-       for(entity e = wz; e; e = e.WarpZone_findradius_next)
-       {
-               if (WarpZoneLib_BadEntity(e)) continue;
+       });
+       for (entity e = wz; e; e = e.WarpZone_findradius_next) {
+               if (WarpZoneLib_BadEntity(e)) { continue; }
 
                vector org0_new = WarpZone_TransformOrigin(e, org);
                traceline(e.warpzone_targetorigin, org0_new, MOVE_NOMONSTERS, e);
@@ -656,8 +654,8 @@ void WarpZone_FindRadius_Recurse(
 }
 entity WarpZone_FindRadius(vector org, float rad, bool needlineofsight)
 {
-    // FIXME: why can't we do this? (sometimes finds nothing, breaking explosions)
-    // if (!warpzone_warpzones_exist && !needlineofsight) return findradius(org, rad);
+       // FIXME: why can't we do this? (sometimes finds nothing, breaking explosions)
+       // if (!warpzone_warpzones_exist && !needlineofsight) return findradius(org, rad);
        WarpZone_FindRadius_Recurse(org, rad, org, '0 0 0', '0 0 0', needlineofsight);
        entity list_first = findchainfloat(WarpZone_findradius_hit, 1);
        FOREACH_LIST(list, chain, true, it.WarpZone_findradius_hit = 0);
@@ -669,13 +667,13 @@ void WarpZone_RefSys_GC(entity this)
 {
        // garbage collect unused reference systems
        this.nextthink = time + 1;
-       if(this.owner.WarpZone_refsys != this)
+       if (this.owner.WarpZone_refsys != this) {
                delete(this);
+       }
 }
 void WarpZone_RefSys_CheckCreate(entity me)
 {
-       if(me.WarpZone_refsys.owner != me)
-       {
+       if (me.WarpZone_refsys.owner != me) {
                me.WarpZone_refsys = new(warpzone_refsys);
                me.WarpZone_refsys.owner = me;
                setthink(me.WarpZone_refsys, WarpZone_RefSys_GC);
@@ -685,16 +683,14 @@ void WarpZone_RefSys_CheckCreate(entity me)
 }
 void WarpZone_RefSys_Clear(entity me)
 {
-       if(me.WarpZone_refsys)
-       {
+       if (me.WarpZone_refsys) {
                delete(me.WarpZone_refsys);
                me.WarpZone_refsys = NULL;
        }
 }
 void WarpZone_RefSys_AddTransform(entity me, vector t, vector s)
 {
-       if(t != '0 0 0' || s != '0 0 0')
-       {
+       if (t != '0 0 0' || s != '0 0 0') {
                WarpZone_RefSys_CheckCreate(me);
                WarpZone_Accumulator_AddTransform(me.WarpZone_refsys, t, s);
        }
@@ -705,8 +701,7 @@ void WarpZone_RefSys_Add(entity me, entity wz)
 }
 void WarpZone_RefSys_AddInverseTransform(entity me, vector t, vector s)
 {
-       if(t != '0 0 0' || s != '0 0 0')
-       {
+       if (t != '0 0 0' || s != '0 0 0') {
                WarpZone_RefSys_CheckCreate(me);
                WarpZone_Accumulator_AddInverseTransform(me.WarpZone_refsys, t, s);
        }
@@ -719,10 +714,12 @@ void WarpZone_RefSys_AddInverse(entity me, entity wz)
 .vector WarpZone_refsys_incremental_transform;
 void WarpZone_RefSys_AddIncrementally(entity me, entity ref)
 {
-       //vector t, s;
-       if(me.WarpZone_refsys_incremental_transform == ref.WarpZone_refsys.warpzone_transform)
-       if(me.WarpZone_refsys_incremental_shift == ref.WarpZone_refsys.warpzone_shift)
-               return;
+       // vector t, s;
+       if (me.WarpZone_refsys_incremental_transform == ref.WarpZone_refsys.warpzone_transform) {
+               if (me.WarpZone_refsys_incremental_shift == ref.WarpZone_refsys.warpzone_shift) {
+                       return;
+               }
+       }
        WarpZone_Accumulator_AddInverseTransform(me.WarpZone_refsys, me.WarpZone_refsys_incremental_transform, me.WarpZone_refsys_incremental_shift);
        WarpZone_Accumulator_Add(me.WarpZone_refsys, ref.WarpZone_refsys);
        me.WarpZone_refsys_incremental_shift = ref.WarpZone_refsys.warpzone_shift;
@@ -735,46 +732,53 @@ void WarpZone_RefSys_BeginAddingIncrementally(entity me, entity ref)
 }
 vector WarpZone_RefSys_TransformOrigin(entity from, entity to, vector org)
 {
-       if(from.WarpZone_refsys)
+       if (from.WarpZone_refsys) {
                org = WarpZone_UnTransformOrigin(from.WarpZone_refsys, org);
-       if(to.WarpZone_refsys)
+       }
+       if (to.WarpZone_refsys) {
                org = WarpZone_TransformOrigin(to.WarpZone_refsys, org);
+       }
        return org;
 }
 vector WarpZone_RefSys_TransformVelocity(entity from, entity to, vector vel)
 {
-       if(from.WarpZone_refsys)
+       if (from.WarpZone_refsys) {
                vel = WarpZone_UnTransformVelocity(from.WarpZone_refsys, vel);
-       if(to.WarpZone_refsys)
+       }
+       if (to.WarpZone_refsys) {
                vel = WarpZone_TransformVelocity(to.WarpZone_refsys, vel);
+       }
        return vel;
 }
 vector WarpZone_RefSys_TransformAngles(entity from, entity to, vector ang)
 {
-       if(from.WarpZone_refsys)
+       if (from.WarpZone_refsys) {
                ang = WarpZone_UnTransformAngles(from.WarpZone_refsys, ang);
-       if(to.WarpZone_refsys)
+       }
+       if (to.WarpZone_refsys) {
                ang = WarpZone_TransformAngles(to.WarpZone_refsys, ang);
+       }
        return ang;
 }
 vector WarpZone_RefSys_TransformVAngles(entity from, entity to, vector ang)
 {
-       if(from.WarpZone_refsys)
+       if (from.WarpZone_refsys) {
                ang = WarpZone_UnTransformVAngles(from.WarpZone_refsys, ang);
-       if(to.WarpZone_refsys)
+       }
+       if (to.WarpZone_refsys) {
                ang = WarpZone_TransformVAngles(to.WarpZone_refsys, ang);
+       }
        return ang;
 }
 void WarpZone_RefSys_Copy(entity me, entity from)
 {
-       if(from.WarpZone_refsys)
-       {
+       if (from.WarpZone_refsys) {
                WarpZone_RefSys_CheckCreate(me);
                me.WarpZone_refsys.warpzone_shift = from.WarpZone_refsys.warpzone_shift;
                me.WarpZone_refsys.warpzone_transform = from.WarpZone_refsys.warpzone_transform;
-       }
-       else
+       } else {
                WarpZone_RefSys_Clear(me);
+       }
 }
 entity WarpZone_RefSys_SpawnSameRefSys(entity me)
 {
@@ -794,10 +798,10 @@ void WarpZoneLib_MoveOutOfSolid_Expand(entity e, vector by)
 {
        float eps = 0.0625;
        tracebox(e.origin, e.mins - '1 1 1' * eps, e.maxs + '1 1 1' * eps, e.origin + by, MOVE_WORLDONLY, e);
-       if (trace_startsolid)
+       if (trace_startsolid) {
                return;
-       if (trace_fraction < 1)
-       {
+       }
+       if (trace_fraction < 1) {
                // hit something
                // adjust origin in the other direction...
                setorigin(e, e.origin - by * (1 - trace_fraction));
@@ -808,28 +812,35 @@ bool WarpZoneLib_MoveOutOfSolid(entity e)
 {
        vector o = e.origin;
        traceline(o, o, MOVE_WORLDONLY, e);
-       if (trace_startsolid)
+       if (trace_startsolid) {
                return false;
+       }
 
        tracebox(o, e.mins, e.maxs, o, MOVE_WORLDONLY, e);
-       if (!trace_startsolid)
+       if (!trace_startsolid) {
                return true;
+       }
 
        vector m0 = e.mins;
        vector m1 = e.maxs;
        e.mins = '0 0 0';
        e.maxs = '0 0 0';
-       WarpZoneLib_MoveOutOfSolid_Expand(e, eX * m0.x); e.mins.x = m0.x;
-       WarpZoneLib_MoveOutOfSolid_Expand(e, eX * m1.x); e.maxs.x = m1.x;
-       WarpZoneLib_MoveOutOfSolid_Expand(e, eY * m0.y); e.mins.y = m0.y;
-       WarpZoneLib_MoveOutOfSolid_Expand(e, eY * m1.y); e.maxs.y = m1.y;
-       WarpZoneLib_MoveOutOfSolid_Expand(e, eZ * m0.z); e.mins.z = m0.z;
-       WarpZoneLib_MoveOutOfSolid_Expand(e, eZ * m1.z); e.maxs.z = m1.z;
+       WarpZoneLib_MoveOutOfSolid_Expand(e, eX * m0.x);
+       e.mins.x = m0.x;
+       WarpZoneLib_MoveOutOfSolid_Expand(e, eX * m1.x);
+       e.maxs.x = m1.x;
+       WarpZoneLib_MoveOutOfSolid_Expand(e, eY * m0.y);
+       e.mins.y = m0.y;
+       WarpZoneLib_MoveOutOfSolid_Expand(e, eY * m1.y);
+       e.maxs.y = m1.y;
+       WarpZoneLib_MoveOutOfSolid_Expand(e, eZ * m0.z);
+       e.mins.z = m0.z;
+       WarpZoneLib_MoveOutOfSolid_Expand(e, eZ * m1.z);
+       e.maxs.z = m1.z;
        setorigin(e, e.origin);
 
        tracebox(e.origin, e.mins, e.maxs, e.origin, MOVE_WORLDONLY, e);
-       if (trace_startsolid)
-       {
+       if (trace_startsolid) {
                setorigin(e, o);
                return false;
        }
index 0ddd0d052a1a41da19c5b151b1be04b7831b1281..3c2eb2ea03489cff772b77a84474b9dcf7e7d9c7 100644 (file)
@@ -4,7 +4,10 @@
 // #define KEEP_ROLL
 
 IntrusiveList g_warpzones;
-STATIC_INIT(g_warpzones) { g_warpzones = IL_NEW(); }
+STATIC_INIT(g_warpzones)
+{
+       g_warpzones = IL_NEW();
+}
 
 float warpzone_warpzones_exist;
 float warpzone_cameras_exist;
@@ -31,14 +34,14 @@ void WarpZone_MakeAllSolid();
 void WarpZone_MakeAllOther();
 
 #define MOVE_NOTHING -1
-entity WarpZone_trace_forent; // temp, callback is allowed to change it
+entity WarpZone_trace_forent;                                                 // temp, callback is allowed to change it
 USING(WarpZone_trace_callback_t, void(vector start, vector hit, vector end)); // called on every elementary trace
 var WarpZone_trace_callback_t WarpZone_trace_callback_t_null;
-entity WarpZone_trace_transform; // transform accumulator during a trace
-entity WarpZone_trace_firstzone; // first warpzone hit by a trace (can differ from the requested zone in case of _ThroughZone, the trace is aborted then)
-entity WarpZone_trace_lastzone; // first warpzone hit by a trace (can differ from the requested zone in case of _ThroughZone, the trace is aborted then)
-vector WarpZone_tracetoss_velocity; // ending velocity of a tracetoss (post-transform)
-float WarpZone_tracetoss_time; // duration of toss (approximate)
+entity WarpZone_trace_transform;                                              // transform accumulator during a trace
+entity WarpZone_trace_firstzone;                                              // first warpzone hit by a trace (can differ from the requested zone in case of _ThroughZone, the trace is aborted then)
+entity WarpZone_trace_lastzone;                                               // first warpzone hit by a trace (can differ from the requested zone in case of _ThroughZone, the trace is aborted then)
+vector WarpZone_tracetoss_velocity;                                           // ending velocity of a tracetoss (post-transform)
+float WarpZone_tracetoss_time;                                                // duration of toss (approximate)
 void WarpZone_TraceBox(vector org, vector min, vector max, vector end, float nomonsters, entity forent);
 void WarpZone_TraceBox_ThroughZone(vector org, vector min, vector max, vector end, float nomonsters, entity forent, entity zone, WarpZone_trace_callback_t cb);
 void WarpZone_TraceLine(vector org, vector end, float nomonsters, entity forent);
@@ -68,43 +71,43 @@ vector WarpZone_UnTransformAngles(entity wz, vector v);
 vector WarpZone_UnTransformVAngles(entity wz, vector v);
 
 // reference systems (chained warpzone transforms)
-void WarpZone_RefSys_Clear(entity me); // R := id
-void WarpZone_RefSys_Add(entity me, entity wz); // me.R := wz me.R
-void WarpZone_RefSys_AddInverse(entity me, entity wz); // me.R := wz^-1 me.R
-void WarpZone_RefSys_AddTransform(entity me, vector t, vector s); // me.R := [t s] me.R
+void WarpZone_RefSys_Clear(entity me);                                   // R := id
+void WarpZone_RefSys_Add(entity me, entity wz);                          // me.R := wz me.R
+void WarpZone_RefSys_AddInverse(entity me, entity wz);                   // me.R := wz^-1 me.R
+void WarpZone_RefSys_AddTransform(entity me, vector t, vector s);        // me.R := [t s] me.R
 void WarpZone_RefSys_AddInverseTransform(entity me, vector t, vector s); // me.R := [t s]^-1 me.R
 
 // makes this reference system track ref's changes
 // NOTE: this is ONLY sensible if WarpZone_RefSys_Add is no longer called on "me" while doing this
 // To achieve this, make sure no touch events on warpzone are raised by this entity
 // or set a movetype that causes no warpzoning (e.g. MOVETYPE_NONE, MOVETYPE_FOLLOW)
-void WarpZone_RefSys_AddIncrementally(entity me, entity ref); // me.R := ref.R me.Rref^-1 me.R; me.Rref := ref.R
-void WarpZone_RefSys_BeginAddingIncrementally(entity me, entity ref); // me.Rref := ref.R
+void WarpZone_RefSys_AddIncrementally(entity me, entity ref);                 // me.R := ref.R me.Rref^-1 me.R; me.Rref := ref.R
+void WarpZone_RefSys_BeginAddingIncrementally(entity me, entity ref);         // me.Rref := ref.R
 
-vector WarpZone_RefSys_TransformOrigin(entity from, entity to, vector org); // return to.R from.R^-1 org
+vector WarpZone_RefSys_TransformOrigin(entity from, entity to, vector org);   // return to.R from.R^-1 org
 vector WarpZone_RefSys_TransformVelocity(entity from, entity to, vector vel); // return to.R from.R^-1 vel
-vector WarpZone_RefSys_TransformAngles(entity from, entity to, vector ang); // return to.R from.R^-1 ang
-vector WarpZone_RefSys_TransformVAngles(entity from, entity to, vector ang); // return to.R from.R^-1 ang
-void WarpZone_RefSys_Copy(entity me, entity from); // to.R := from.R
-entity WarpZone_RefSys_SpawnSameRefSys(entity me); // spawn().R = me.R
+vector WarpZone_RefSys_TransformAngles(entity from, entity to, vector ang);   // return to.R from.R^-1 ang
+vector WarpZone_RefSys_TransformVAngles(entity from, entity to, vector ang);  // return to.R from.R^-1 ang
+void WarpZone_RefSys_Copy(entity me, entity from);                            // to.R := from.R
+entity WarpZone_RefSys_SpawnSameRefSys(entity me);                            // spawn().R = me.R
 
 #ifndef BITCLR
-# define BITCLR(a,b) ((a) - ((a) & (b)))
+#define BITCLR(a, b) ((a) - ((a) & (b)))
 #endif
 #ifndef BITSET
-# define BITSET(a,b) ((a) | (b))
+#define BITSET(a, b) ((a) | (b))
 #endif
 #ifndef BITXOR
-# define BITXOR(a,b) (((a) | (b)) - ((a) & (b)))
+#define BITXOR(a, b) (((a) | (b)) - ((a) & (b)))
 #endif
 #ifndef BITCLR_ASSIGN
-# define BITCLR_ASSIGN(a,b) ((a) = (a) - ((a) & (b)))
+#define BITCLR_ASSIGN(a, b) ((a) = (a) - ((a) & (b)))
 #endif
 #ifndef BITSET_ASSIGN
-# define BITSET_ASSIGN(a,b) ((a) |= (b))
+#define BITSET_ASSIGN(a, b) ((a) |= (b))
 #endif
 #ifndef BITXOR_ASSIGN
-# define BITXOR_ASSIGN(a,b) ((a) = ((a) | (b)) - ((a) & (b)))
+#define BITXOR_ASSIGN(a, b) ((a) = ((a) | (b)) - ((a) & (b)))
 #endif
 bool WarpZoneLib_MoveOutOfSolid(entity e);
 #define move_out_of_solid(e) WarpZoneLib_MoveOutOfSolid(e)
@@ -113,5 +116,5 @@ bool WarpZoneLib_ExactTrigger_Touch(entity this, entity toucher);
 void WarpZoneLib_ExactTrigger_Init(entity this);
 
 // WARNING: this kills the trace globals
-#define EXACTTRIGGER_TOUCH(e,t) if(WarpZoneLib_ExactTrigger_Touch((e), (t))) return
-#define EXACTTRIGGER_INIT  WarpZoneLib_ExactTrigger_Init(this)
+#define EXACTTRIGGER_TOUCH(e, t) if (WarpZoneLib_ExactTrigger_Touch((e), (t))) return
+#define EXACTTRIGGER_INIT WarpZoneLib_ExactTrigger_Init(this)
index 71fc258581f20163fcf4f73f2ece934103d3f2c8..91eb1566e3112df47671fab5627259a906e803c2 100644 (file)
@@ -4,12 +4,15 @@
 
 int fpclassify(float e)
 {
-       if(isnan(e))
+       if (isnan(e)) {
                return FP_NAN;
-       if(isinf(e))
+       }
+       if (isinf(e)) {
                return FP_INFINITE;
-       if(e == 0)
+       }
+       if (e == 0) {
                return FP_ZERO;
+       }
        return FP_NORMAL;
 }
 bool isfinite(float e)
@@ -23,7 +26,7 @@ bool isinf(float e)
 bool isnan(float e)
 {
        float f = e;
-       return (e != f);
+       return e != f;
 }
 bool isnormal(float e)
 {
@@ -31,20 +34,20 @@ bool isnormal(float e)
 }
 bool signbit(float e)
 {
-       return (e < 0);
+       return e < 0;
 }
 
 float acosh(float e)
 {
-       return log(e + sqrt(e*e - 1));
+       return log(e + sqrt(e * e - 1));
 }
 float asinh(float e)
 {
-       return log(e + sqrt(e*e + 1));
+       return log(e + sqrt(e * e + 1));
 }
 float atanh(float e)
 {
-       return 0.5 * log((1+e) / (1-e));
+       return 0.5 * log((1 + e) / (1 - e));
 }
 float cosh(float e)
 {
@@ -120,18 +123,18 @@ float scalbn(float e, int n)
 
 float cbrt(float e)
 {
-       return copysign(POW(fabs(e), (1.0/3.0)), e);
+       return copysign(POW(fabs(e), (1.0 / 3.0)), e);
 }
 float hypot(float e, float f)
 {
-       return sqrt(e*e + f*f);
+       return sqrt(e * e + f * f);
 }
 
 float erf(float e)
 {
        // approximation taken from wikipedia
        float f;
-       f = e*e;
+       f = e * e;
        return copysign(sqrt(1 - exp(-f * (1.273239544735163 + 0.14001228868667 * f) / (1 + 0.14001228868667 * f))), e);
 }
 float erfc(float e)
@@ -141,12 +144,13 @@ float erfc(float e)
 vector lgamma(float e)
 {
        // TODO improve accuracy
-       if(!isfinite(e))
+       if (!isfinite(e)) {
                return fabs(e) * '1 0 0' + copysign(1, e) * '0 1 0';
-       if(e < 1 && e == floor(e))
+       }
+       if (e < 1 && e == floor(e)) {
                return nan("gamma") * '1 1 1';
-       if(e < 0.1)
-       {
+       }
+       if (e < 0.1) {
                vector v;
                v = lgamma(1.0 - e);
                // reflection formula:
@@ -155,13 +159,15 @@ vector lgamma(float e)
                // sign of gamma(1-z) = sign of gamma(z) * sign of sin(pi*z)
                v.z = sin(M_PI * e);
                v.x = log(M_PI) - log(fabs(v.z)) - v.x;
-               if(v.z < 0)
+               if (v.z < 0) {
                        v.y = -v.y;
+               }
                v.z = 0;
                return v;
        }
-       if(e < 1.1)
+       if (e < 1.1) {
                return lgamma(e + 1) - log(e) * '1 0 0';
+       }
        e -= 1;
        return (0.5 * log(2 * M_PI * e) + e * (log(e) - 1)) * '1 0 0' + '0 1 0';
 }
@@ -191,7 +197,7 @@ float nearbyint(float e)
 }
 float trunc(float e)
 {
-       return (e>=0) ? floor(e) : ceil(e);
+       return (e >= 0) ? floor(e) : ceil(e);
 }
 
 float fmod(float e, float f)
@@ -213,7 +219,7 @@ vector remquo(float e, float f)
 
 float copysign(float e, float f)
 {
-       return fabs(e) * ((f>0) ? 1 : -1);
+       return fabs(e) * ((f > 0) ? 1 : -1);
 }
 float nan(string tag)
 {
@@ -222,22 +228,22 @@ float nan(string tag)
 float nextafter(float e, float f)
 {
        // TODO very crude
-       if(e == f)
+       if (e == f) {
                return nan("nextafter");
-       if(e > f)
+       }
+       if (e > f) {
                return -nextafter(-e, -f);
+       }
        // now we know that e < f
        // so we need the next number > e
        float d, a, b;
        d = max(fabs(e), 0.00000000000000000000001);
        a = e + d;
-       do
-       {
+       do {
                d *= 0.5;
                b = a;
                a = e + d;
-       }
-       while(a != e);
+       } while (a != e);
        return b;
 }
 float nexttoward(float e, float f)
@@ -247,7 +253,7 @@ float nexttoward(float e, float f)
 
 float fdim(float e, float f)
 {
-       return max(e-f, 0);
+       return max(e - f, 0);
 }
 float fmax(float e, float f)
 {
index f5d8f63e74a1eba84c3a1008675e7fa0e4be3f91..1fc528513ceb02ac75b8921639192adc0935eee3 100644 (file)
@@ -17,13 +17,13 @@ bool isnan(float e);
 bool isnormal(float e);
 bool signbit(float e);
 
-//float acos(float e);
-//float asin(float e);
-//float atan(float e);
-//float atan2(float f, float e);
-//float cos(float e);
-//float sin(float e);
-//float tan(float e);
+// float acos(float e);
+// float asin(float e);
+// float atan(float e);
+// float atan2(float f, float e);
+// float cos(float e);
+// float sin(float e);
+// float tan(float e);
 
 float acosh(float e);
 float asinh(float e);
@@ -39,7 +39,7 @@ float expm1(float e);
 vector frexp(float e); // returns mantissa as _x, exponent as _y
 int ilogb(float e);
 float ldexp(float e, int e);
-//float log(float e);
+// float log(float e);
 float logn(float e, float base);
 float log10(float e);
 float log1p(float e);
@@ -50,10 +50,10 @@ vector modf(float f); // fraction as _x, integer as _y
 float scalbn(float e, int n);
 
 float cbrt(float e);
-//float fabs(float e);
+// float fabs(float e);
 float hypot(float e, float f);
-//float pow(float e, float f);
-//float sqrt(float e, float f);
+// float pow(float e, float f);
+// float sqrt(float e, float f);
 
 float erf(float e);
 float erfc(float e);
@@ -71,11 +71,11 @@ float tgamma(float e);
  */
 float pymod(float e, float f);
 
-//float ceil(float e);
-//float floor(float e);
+// float ceil(float e);
+// float floor(float e);
 float nearbyint(float e);
-//float rint(float e);
-//float round(float e);
+// float rint(float e);
+// float round(float e);
 float trunc(float e);
 
 float fmod(float e, float f);
@@ -99,17 +99,17 @@ int islessequal(float e, float f);
 int islessgreater(float e, float f);
 int isunordered(float e, float f);
 
-const float M_E        = 2.7182818284590452354;   /* e */
-const float M_LOG2E    = 1.4426950408889634074;   /* log_2 e */
-const float M_LOG10E   = 0.43429448190325182765;  /* log_10 e */
-const float M_LN2      = 0.69314718055994530942;  /* log_e 2 */
-const float M_LN10     = 2.30258509299404568402;  /* log_e 10 */
+const float M_E        = 2.7182818284590452354;  /* e */
+const float M_LOG2E    = 1.4426950408889634074;  /* log_2 e */
+const float M_LOG10E   = 0.43429448190325182765; /* log_10 e */
+const float M_LN2      = 0.69314718055994530942; /* log_e 2 */
+const float M_LN10     = 2.30258509299404568402; /* log_e 10 */
 // -Wdouble-declaration
-#define M_PI             3.14159265358979323846   /* pi */
-const float M_PI_2     = 1.57079632679489661923;  /* pi/2 */
-const float M_PI_4     = 0.78539816339744830962;  /* pi/4 */
-const float M_1_PI     = 0.31830988618379067154;  /* 1/pi */
-const float M_2_PI     = 0.63661977236758134308;  /* 2/pi */
-const float M_2_SQRTPI = 1.12837916709551257390;  /* 2/sqrt(pi) */
-const float M_SQRT2    = 1.41421356237309504880;  /* sqrt(2) */
-const float M_SQRT1_2  = 0.70710678118654752440;  /* 1/sqrt(2) */
+#define M_PI 3.14159265358979323846              /* pi */
+const float M_PI_2     = 1.57079632679489661923; /* pi/2 */
+const float M_PI_4     = 0.78539816339744830962; /* pi/4 */
+const float M_1_PI     = 0.31830988618379067154; /* 1/pi */
+const float M_2_PI     = 0.63661977236758134308; /* 2/pi */
+const float M_2_SQRTPI = 1.12837916709551257390; /* 2/sqrt(pi) */
+const float M_SQRT2    = 1.41421356237309504880; /* sqrt(2) */
+const float M_SQRT1_2  = 0.70710678118654752440; /* 1/sqrt(2) */
index e15fd4707e14ff27fd1a48509f99cf15b13d1bab..04a569ca0b5fbd8ba555b8f5e70712ecd9b21142 100644 (file)
@@ -4,12 +4,12 @@
 #if defined(CSQC)
 #elif defined(MENUQC)
 #elif defined(SVQC)
-       #include <common/constants.qh>
-       #include <common/net_linked.qh>
-       #include <common/triggers/subs.qh>
-       #include <common/util.qh>
-       #include <server/constants.qh>
-       #include <server/defs.qh>
+#include <common/constants.qh>
+#include <common/net_linked.qh>
+#include <common/triggers/subs.qh>
+#include <common/util.qh>
+#include <server/constants.qh>
+#include <server/defs.qh>
 #endif
 
 #ifdef WARPZONELIB_KEEPDEBUG
 .float warpzone_teleport_finishtime;
 .entity warpzone_teleport_zone;
 
-#define WarpZone_StoreProjectileData(e_) MACRO_BEGIN \
-       entity e = e_; \
-       e.warpzone_oldorigin = e.origin; \
-       e.warpzone_oldvelocity = e.velocity; \
-       e.warpzone_oldangles = e.angles; \
+#define WarpZone_StoreProjectileData(e_) \
+       MACRO_BEGIN \
+               entity e = e_; \
+               e.warpzone_oldorigin = e.origin; \
+               e.warpzone_oldvelocity = e.velocity; \
+               e.warpzone_oldangles = e.angles; \
        MACRO_END
 
 void WarpZone_TeleportPlayer(entity teleporter, entity player, vector to, vector to_angles, vector to_velocity)
@@ -47,8 +48,9 @@ void WarpZone_TeleportPlayer(entity teleporter, entity player, vector to, vector
 
        BITXOR_ASSIGN(player.effects, EF_TELEPORT_BIT);
 
-       if(IS_PLAYER(player))
+       if (IS_PLAYER(player)) {
                BITCLR_ASSIGN(player.flags, FL_ONGROUND);
+       }
 
        WarpZone_PostTeleportPlayer_Callback(player);
 }
@@ -74,13 +76,13 @@ float WarpZone_Teleport(entity wz, entity player, float f0, float f1)
 
        o10 = o1 = WarpZone_TransformOrigin(wz, o0);
        v1 = WarpZone_TransformVelocity(wz, v0);
-       if (!IS_NOT_A_CLIENT(player))
+       if (!IS_NOT_A_CLIENT(player)) {
                a1 = WarpZone_TransformVAngles(wz, PHYS_INPUT_ANGLES(player));
-       else
+       } else {
                a1 = WarpZone_TransformAngles(wz, a0);
+       }
 
-       if(f0 != 0 || f1 != 0)
-       {
+       if (f0 != 0 || f1 != 0) {
                // retry last move but behind the warpzone!
                // we must first go back as far as we can, then forward again, to not cause double touch events!
 
@@ -98,22 +100,19 @@ float WarpZone_Teleport(entity wz, entity player, float f0, float f1)
                md = max(vlen(player.mins), vlen(player.maxs));
                d = WarpZone_TargetPlaneDist(wz, o1);
                dv = WarpZone_TargetPlaneDist(wz, v1);
-               if(d < 0)
+               if (d < 0) {
                        o1 = o1 - v1 * (d / dv);
+               }
        }
 
        // put him out of solid
        tracebox(o1 - player.view_ofs, player.mins, player.maxs, o1 - player.view_ofs, MOVE_NOMONSTERS, player);
-       if(trace_startsolid)
-       {
+       if (trace_startsolid) {
                setorigin(player, o1 - player.view_ofs);
-               if(WarpZoneLib_MoveOutOfSolid(player))
-               {
+               if (WarpZoneLib_MoveOutOfSolid(player)) {
                        o1 = player.origin + player.view_ofs;
                        setorigin(player, o0 - player.view_ofs);
-               }
-               else
-               {
+               } else {
                        LOG_INFO("would have to put player in solid, won't do that");
                        setorigin(player, o0 - player.view_ofs);
                        return 0;
@@ -131,16 +130,17 @@ float WarpZone_Teleport(entity wz, entity player, float f0, float f1)
 #ifdef SVQC
        // prevent further teleports back
        float dt = (o1 - o10) * v1 * (1 / (v1 * v1));
-       if(dt < PHYS_INPUT_FRAMETIME)
+       if (dt < PHYS_INPUT_FRAMETIME) {
                player.warpzone_teleport_finishtime += PHYS_INPUT_FRAMETIME - dt;
+       }
 #endif
 
 #ifndef WARPZONE_USE_FIXANGLE
-       #ifdef SVQC
-       if(IS_VEHICLE(player) && player.owner)
+#ifdef SVQC
+       if (IS_VEHICLE(player) && player.owner) {
                player = player.owner; // hax
-       if(IS_PLAYER(player))
-       {
+       }
+       if (IS_PLAYER(player)) {
                // instead of fixangle, send the transform to the client for smoother operation
                player.fixangle = false;
 
@@ -156,11 +156,11 @@ float WarpZone_Teleport(entity wz, entity player, float f0, float f1)
                ts.effects = EF_NODEPTHTEST;
                ts.angles = wz.warpzone_transform;
        }
-       #elif defined(CSQC)
+#elif defined(CSQC)
        setproperty(VF_CL_VIEWANGLES, WarpZone_TransformVAngles(wz, getpropertyvec(VF_CL_VIEWANGLES)));
-       //if(checkextension("DP_CSQC_ROTATEMOVES"))
-               //CL_RotateMoves(wz.warpzone_transform);
-       #endif
+       // if(checkextension("DP_CSQC_ROTATEMOVES"))
+       // CL_RotateMoves(wz.warpzone_transform);
+#endif
 #endif
 
        return 1;
@@ -168,25 +168,30 @@ float WarpZone_Teleport(entity wz, entity player, float f0, float f1)
 
 void WarpZone_Touch(entity this, entity toucher)
 {
-       if(toucher.classname == "trigger_warpzone")
+       if (toucher.classname == "trigger_warpzone") {
                return;
+       }
 
-       if(time <= toucher.warpzone_teleport_finishtime) // already teleported this frame
+       if (time <= toucher.warpzone_teleport_finishtime) { // already teleported this frame
                return;
+       }
 
        // FIXME needs a better check to know what is safe to teleport and what not
-       if((toucher.move_movetype == MOVETYPE_NONE && toucher.move_movetype == MOVETYPE_NONE) || toucher.move_movetype == MOVETYPE_FOLLOW || toucher.move_movetype == MOVETYPE_FOLLOW || toucher.tag_entity
+       if ((toucher.move_movetype == MOVETYPE_NONE && toucher.move_movetype == MOVETYPE_NONE) || toucher.move_movetype == MOVETYPE_FOLLOW || toucher.move_movetype == MOVETYPE_FOLLOW || toucher.tag_entity
 #ifdef CSQC
-       || tag_networkentity
+               || tag_networkentity
 #endif
-       )
+       ) {
                return;
+       }
 
-       if(WarpZoneLib_ExactTrigger_Touch(this, toucher))
+       if (WarpZoneLib_ExactTrigger_Touch(this, toucher)) {
                return;
+       }
 
-       if(WarpZone_PlaneDist(this, toucher.origin + toucher.view_ofs) >= 0) // wrong side of the trigger_warpzone (don't teleport yet)
+       if (WarpZone_PlaneDist(this, toucher.origin + toucher.view_ofs) >= 0) { // wrong side of the trigger_warpzone (don't teleport yet)
                return;
+       }
 
        float f;
        // number of frames we need to go back:
@@ -201,30 +206,32 @@ void WarpZone_Touch(entity this, entity toucher)
        //       96*frametime
        float d;
        d = 24 + max(vlen(toucher.mins), vlen(toucher.maxs));
-       if(IS_NOT_A_CLIENT(toucher))
+       if (IS_NOT_A_CLIENT(toucher)) {
                f = -d / bound(frametime * d * 1, frametime * vlen(toucher.velocity), d);
-       else
+       } else {
                f = -1;
-       if(WarpZone_Teleport(this, toucher, f, 0))
-       {
+       }
+       if (WarpZone_Teleport(this, toucher, f, 0)) {
 #ifdef SVQC
                string save1, save2;
 
-               save1 = this.target; this.target = string_null;
-               save2 = this.target3; this.target3 = string_null;
+               save1 = this.target;
+               this.target = string_null;
+               save2 = this.target3;
+               this.target3 = string_null;
                SUB_UseTargets(this, toucher, toucher); // use toucher too?
-               if (!this.target) this.target = save1;
-               if (!this.target3) this.target3 = save2;
+               if (!this.target) { this.target = save1; }
+               if (!this.target3) { this.target3 = save2; }
 
-               save1 = this.target; this.target = string_null;
-               save2 = this.target2; this.target2 = string_null;
+               save1 = this.target;
+               this.target = string_null;
+               save2 = this.target2;
+               this.target2 = string_null;
                SUB_UseTargets(this.enemy, toucher, toucher); // use toucher too?
-               if (!this.target) this.target = save1;
-               if (!this.target2) this.target2 = save2;
+               if (!this.target) { this.target = save1; }
+               if (!this.target2) { this.target2 = save2; }
 #endif
-       }
-       else
-       {
+       } else {
                LOG_TRACE("WARPZONE FAIL AHAHAHAHAH))");
        }
 }
@@ -236,17 +243,19 @@ bool WarpZone_Send(entity this, entity to, int sendflags)
 
        // we must send this flag for clientside to match properly too
        int f = 0;
-       if(this.warpzone_isboxy)
+       if (this.warpzone_isboxy) {
                BITSET_ASSIGN(f, 1);
-       if(this.warpzone_fadestart)
+       }
+       if (this.warpzone_fadestart) {
                BITSET_ASSIGN(f, 2);
-       if(this.origin != '0 0 0')
+       }
+       if (this.origin != '0 0 0') {
                BITSET_ASSIGN(f, 4);
+       }
        WriteByte(MSG_ENTITY, f);
 
        // we need THESE to render the warpzone (and cull properly)...
-       if(f & 4)
-       {
+       if (f & 4) {
                WriteCoord(MSG_ENTITY, this.origin.x);
                WriteCoord(MSG_ENTITY, this.origin.y);
                WriteCoord(MSG_ENTITY, this.origin.z);
@@ -275,8 +284,7 @@ bool WarpZone_Send(entity this, entity to, int sendflags)
        WriteCoord(MSG_ENTITY, this.warpzone_targetangles.y);
        WriteCoord(MSG_ENTITY, this.warpzone_targetangles.z);
 
-       if(f & 2)
-       {
+       if (f & 2) {
                WriteShort(MSG_ENTITY, this.warpzone_fadestart);
                WriteShort(MSG_ENTITY, this.warpzone_fadeend);
        }
@@ -289,15 +297,16 @@ bool WarpZone_Camera_Send(entity this, entity to, int sendflags)
        int f = 0;
        WriteHeader(MSG_ENTITY, ENT_CLIENT_WARPZONE_CAMERA);
 
-       if(this.warpzone_fadestart)
+       if (this.warpzone_fadestart) {
                BITSET_ASSIGN(f, 2);
-       if(this.origin != '0 0 0')
+       }
+       if (this.origin != '0 0 0') {
                BITSET_ASSIGN(f, 4);
+       }
        WriteByte(MSG_ENTITY, f);
 
        // we need THESE to render the warpzone (and cull properly)...
-       if(f & 4)
-       {
+       if (f & 4) {
                WriteCoord(MSG_ENTITY, this.origin.x);
                WriteCoord(MSG_ENTITY, this.origin.y);
                WriteCoord(MSG_ENTITY, this.origin.z);
@@ -320,8 +329,7 @@ bool WarpZone_Camera_Send(entity this, entity to, int sendflags)
        WriteCoord(MSG_ENTITY, this.enemy.angles.y);
        WriteCoord(MSG_ENTITY, this.enemy.angles.z);
 
-       if(f & 2)
-       {
+       if (f & 2) {
                WriteShort(MSG_ENTITY, this.warpzone_fadestart);
                WriteShort(MSG_ENTITY, this.warpzone_fadeend);
        }
@@ -338,14 +346,16 @@ float WarpZone_CheckProjectileImpact(entity player)
        v0 = player.velocity;
 
        // if we teleported shortly before, abort
-       if(time <= player.warpzone_teleport_finishtime + 0.1)
+       if (time <= player.warpzone_teleport_finishtime + 0.1) {
                return 0;
+       }
 
        // if player hit a warpzone, abort
        entity wz;
        wz = WarpZone_Find(o0 + player.mins, o0 + player.maxs);
-       if(!wz)
+       if (!wz) {
                return 0;
+       }
 
 #ifdef WARPZONELIB_REMOVEHACK
        LOG_INFO("impactfilter found something - and it no longer gets handled correctly - please tell divVerent whether anything behaves broken now");
@@ -362,24 +372,25 @@ float WarpZone_CheckProjectileImpact(entity player)
        // retry previous move
        setorigin(player, player.warpzone_oldorigin);
        player.velocity = player.warpzone_oldvelocity;
-       if(WarpZone_Teleport(wz, player, 0, 1))
-       {
+       if (WarpZone_Teleport(wz, player, 0, 1)) {
                string save1, save2;
 
-               save1 = wz.target; wz.target = string_null;
-               save2 = wz.target3; wz.target3 = string_null;
+               save1 = wz.target;
+               wz.target = string_null;
+               save2 = wz.target3;
+               wz.target3 = string_null;
                SUB_UseTargets(wz, player, player);
-               if (!wz.target) wz.target = save1;
-               if (!wz.target3) wz.target3 = save2;
+               if (!wz.target) { wz.target = save1; }
+               if (!wz.target3) { wz.target3 = save2; }
 
-               save1 = wz.enemy.target; wz.enemy.target = string_null;
-               save2 = wz.enemy.target2; wz.enemy.target2 = string_null;
+               save1 = wz.enemy.target;
+               wz.enemy.target = string_null;
+               save2 = wz.enemy.target2;
+               wz.enemy.target2 = string_null;
                SUB_UseTargets(wz.enemy, player, player);
-               if (!wz.enemy.target) wz.enemy.target = save1;
-               if (!wz.enemy.target2) wz.enemy.target2 = save2;
-       }
-       else
-       {
+               if (!wz.enemy.target) { wz.enemy.target = save1; }
+               if (!wz.enemy.target2) { wz.enemy.target2 = save2; }
+       } else {
                setorigin(player, o0 - player.view_ofs);
                player.velocity = v0;
        }
@@ -392,8 +403,9 @@ float WarpZone_CheckProjectileImpact(entity player)
 
 float WarpZone_Projectile_Touch(entity this, entity toucher)
 {
-       if(toucher.classname == "trigger_warpzone")
+       if (toucher.classname == "trigger_warpzone") {
                return true;
+       }
 
        // no further impacts if we teleported this frame!
        // this is because even if we did teleport, the engine still may raise
@@ -401,8 +413,9 @@ float WarpZone_Projectile_Touch(entity this, entity toucher)
        // engine now aborts moves on teleport, so this SHOULD not happen any more
        // but if this is called from TouchAreaGrid of the projectile moving,
        // then this won't do
-       if(time == this.warpzone_teleport_time)
+       if (time == this.warpzone_teleport_time) {
                return true;
+       }
 
 #ifdef SVQC
 #ifdef WARPZONELIB_KEEPDEBUG
@@ -435,7 +448,7 @@ float WarpZone_Projectile_Touch(entity this, entity toucher)
                save_inopen = trace_inopen;
                save_inwater = trace_inwater;
                float f = WarpZone_CheckProjectileImpact(this);
-               if (f) return (f > 0);
+               if (f) { return f > 0; }
                trace_dpstartcontents = save_dpstartcontents;
                trace_dphitcontents = save_dphitcontents;
                trace_dphitq3surfaceflags = save_dphitq3surfaceflags;
@@ -452,8 +465,9 @@ float WarpZone_Projectile_Touch(entity this, entity toucher)
        }
 #endif
 
-       if(WarpZone_Projectile_Touch_ImpactFilter_Callback(this, toucher))
+       if (WarpZone_Projectile_Touch_ImpactFilter_Callback(this, toucher)) {
                return true;
+       }
 #endif
 
        return false;
@@ -463,11 +477,9 @@ float WarpZone_Projectile_Touch(entity this, entity toucher)
 
 void WarpZone_InitStep_FindOriginTarget(entity this)
 {
-       if(this.killtarget != "")
-       {
+       if (this.killtarget != "") {
                this.aiment = find(NULL, targetname, this.killtarget);
-               if(this.aiment == NULL)
-               {
+               if (this.aiment == NULL) {
                        error("Warp zone with nonexisting killtarget");
                        return;
                }
@@ -477,19 +489,16 @@ void WarpZone_InitStep_FindOriginTarget(entity this)
 
 void WarpZonePosition_InitStep_FindTarget(entity this)
 {
-       if(this.target == "")
-       {
+       if (this.target == "") {
                error("Warp zone position with no target");
                return;
        }
        this.enemy = find(NULL, targetname, this.target);
-       if(this.enemy == NULL)
-       {
+       if (this.enemy == NULL) {
                error("Warp zone position with nonexisting target");
                return;
        }
-       if(this.enemy.aiment)
-       {
+       if (this.enemy.aiment) {
                // already is positioned
                error("Warp zone position targeting already oriented warpzone");
                return;
@@ -499,11 +508,10 @@ void WarpZonePosition_InitStep_FindTarget(entity this)
 
 void WarpZoneCamera_Think(entity this)
 {
-       if(this.warpzone_save_origin != this.origin
-       || this.warpzone_save_angles != this.angles
-       || this.warpzone_save_eorigin != this.enemy.origin
-       || this.warpzone_save_eangles != this.enemy.angles)
-       {
+       if (this.warpzone_save_origin != this.origin
+               || this.warpzone_save_angles != this.angles
+               || this.warpzone_save_eorigin != this.enemy.origin
+               || this.warpzone_save_eangles != this.enemy.angles) {
                WarpZone_Camera_SetUp(this, this.enemy.origin, this.enemy.angles);
                this.warpzone_save_origin = this.origin;
                this.warpzone_save_angles = this.angles;
@@ -517,30 +525,29 @@ void WarpZoneCamera_InitStep_FindTarget(entity this)
 {
        entity e;
        float i;
-       if(this.target == "")
-       {
+       if (this.target == "") {
                error("Camera with no target");
                return;
        }
        this.enemy = NULL;
-       for(e = NULL, i = 0; (e = find(e, targetname, this.target)); )
-               if(random() * ++i < 1)
+       for (e = NULL, i = 0; (e = find(e, targetname, this.target)); ) {
+               if (random() * ++i < 1) {
                        this.enemy = e;
-       if(this.enemy == NULL)
-       {
+               }
+       }
+       if (this.enemy == NULL) {
                error("Camera with nonexisting target");
                return;
        }
        warpzone_cameras_exist = 1;
        WarpZone_Camera_SetUp(this, this.enemy.origin, this.enemy.angles);
        this.SendFlags = 0xFFFFFF;
-       if(this.spawnflags & 1)
-       {
+       if (this.spawnflags & 1) {
                setthink(this, WarpZoneCamera_Think);
                this.nextthink = time;
-       }
-       else
+       } else {
                this.nextthink = 0;
+       }
 }
 
 void WarpZone_InitStep_UpdateTransform(entity this)
@@ -552,21 +559,22 @@ void WarpZone_InitStep_UpdateTransform(entity this)
        string tex;
 
        org = this.origin;
-       if(org == '0 0 0')
+       if (org == '0 0 0') {
                org = 0.5 * (this.mins + this.maxs);
+       }
 
        norm = point = '0 0 0';
        area = 0;
-       for(i_s = 0; ; ++i_s)
-       {
+       for (i_s = 0; ; ++i_s) {
                tex = getsurfacetexture(this, i_s);
-               if (!tex)
+               if (!tex) {
                        break; // this is beyond the last one
-               if(tex == "textures/common/trigger" || tex == "trigger")
+               }
+               if (tex == "textures/common/trigger" || tex == "trigger") {
                        continue;
+               }
                n_t = getsurfacenumtriangles(this, i_s);
-               for(i_t = 0; i_t < n_t; ++i_t)
-               {
+               for (i_t = 0; i_t < n_t; ++i_t) {
                        tri = getsurfacetriangle(this, i_s, i_t);
                        a = getsurfacepoint(this, i_s, tri.x);
                        b = getsurfacepoint(this, i_s, tri.y);
@@ -577,12 +585,10 @@ void WarpZone_InitStep_UpdateTransform(entity this)
                        point = point + vlen(n) * (a + b + c);
                }
        }
-       if(area > 0)
-       {
+       if (area > 0) {
                norm = norm * (1 / area);
                point = point * (1 / (3 * area));
-               if(vdist(norm, <, 0.99))
-               {
+               if (vdist(norm, <, 0.99)) {
                        LOG_INFO("trigger_warpzone near ", vtos(this.aiment.origin), " is nonplanar. BEWARE.");
                        area = 0; // no autofixing in this case
                }
@@ -590,35 +596,32 @@ void WarpZone_InitStep_UpdateTransform(entity this)
        }
 
        ang = '0 0 0';
-       if(this.aiment)
-       {
+       if (this.aiment) {
                org = this.aiment.origin;
                ang = this.aiment.angles;
-               if(area > 0)
-               {
+               if (area > 0) {
                        org = org - ((org - point) * norm) * norm; // project to plane
                        makevectors(ang);
-                       if(norm * v_forward < 0)
-                       {
+                       if (norm * v_forward < 0) {
                                LOG_INFO("Position target of trigger_warpzone near ", vtos(this.aiment.origin), " points into trigger_warpzone. BEWARE.");
                                norm = -1 * norm;
                        }
                        ang = vectoangles2(norm, v_up); // keep rotation, but turn exactly against plane
                        ang.x = -ang.x;
-                       if(norm * v_forward < 0.99)
+                       if (norm * v_forward < 0.99) {
                                LOG_INFO("trigger_warpzone near ", vtos(this.aiment.origin), " has been turned to match plane orientation (", vtos(this.aiment.angles), " -> ", vtos(ang));
-                       if(vdist(org - this.aiment.origin, >, 0.5))
+                       }
+                       if (vdist(org - this.aiment.origin, >, 0.5)) {
                                LOG_INFO("trigger_warpzone near ", vtos(this.aiment.origin), " has been moved to match the plane (", vtos(this.aiment.origin), " -> ", vtos(org), ").");
+                       }
                }
-       }
-       else if(area > 0)
-       {
+       } else if (area > 0) {
                org = point;
                ang = vectoangles(norm);
                ang.x = -ang.x;
-       }
-       else
+       } else {
                error("cannot infer origin/angles for this warpzone, please use a killtarget or a trigger_warpzone_position");
+       }
 
        this.warpzone_origin = org;
        this.warpzone_angles = ang;
@@ -626,8 +629,9 @@ void WarpZone_InitStep_UpdateTransform(entity this)
 
 void WarpZone_InitStep_ClearTarget(entity this)
 {
-       if(this.enemy)
+       if (this.enemy) {
                this.enemy.enemy = NULL;
+       }
        this.enemy = NULL;
 }
 
@@ -636,22 +640,25 @@ void WarpZone_InitStep_FindTarget(entity this)
        float i;
        entity e, e2;
 
-       if(this.enemy)
+       if (this.enemy) {
                return;
+       }
 
        // this way only one of the two ents needs to target
-       if(this.target != "")
-       {
+       if (this.target != "") {
                this.enemy = this; // so the if(!e.enemy) check also skips this, saves one IF
 
                e2 = NULL;
-               for(e = NULL, i = 0; (e = find(e, targetname, this.target)); )
-                       if(!e.enemy)
-                               if(e.classname == this.classname) // possibly non-warpzones may use the same targetname!
-                                       if(random() * ++i < 1)
+               for (e = NULL, i = 0; (e = find(e, targetname, this.target)); ) {
+                       if (!e.enemy) {
+                               if (e.classname == this.classname) { // possibly non-warpzones may use the same targetname!
+                                       if (random() * ++i < 1) {
                                                e2 = e;
-               if(!e2)
-               {
+                                       }
+                               }
+                       }
+               }
+               if (!e2) {
                        this.enemy = NULL;
                        error("Warpzone with non-existing target");
                        return;
@@ -664,8 +671,7 @@ void WarpZone_InitStep_FindTarget(entity this)
 void WarpZone_Think(entity this);
 void WarpZone_InitStep_FinalizeTransform(entity this)
 {
-       if(!this.enemy || this.enemy.enemy != this)
-       {
+       if (!this.enemy || this.enemy.enemy != this) {
                error("Invalid warp zone detected. Killed.");
                return;
        }
@@ -674,17 +680,16 @@ void WarpZone_InitStep_FinalizeTransform(entity this)
        WarpZone_SetUp(this, this.warpzone_origin, this.warpzone_angles, this.enemy.warpzone_origin, this.enemy.warpzone_angles);
        settouch(this, WarpZone_Touch);
        this.SendFlags = 0xFFFFFF;
-       if(this.spawnflags & 1)
-       {
+       if (this.spawnflags & 1) {
                setthink(this, WarpZone_Think);
                this.nextthink = time;
-       }
-       else
+       } else {
                this.nextthink = 0;
+       }
 }
 
 float warpzone_initialized;
-//entity warpzone_first;
+// entity warpzone_first;
 entity warpzone_position_first;
 entity warpzone_camera_first;
 .entity warpzone_next;
@@ -708,23 +713,25 @@ spawnfunc(trigger_warpzone)
        //              the map, with another killtarget to designate its
        //              orientation
 
-       if(!this.scale)
+       if (!this.scale) {
                this.scale = this.modelscale;
-       if(!this.scale)
+       }
+       if (!this.scale) {
                this.scale = 1;
+       }
        string m;
        m = this.model;
        WarpZoneLib_ExactTrigger_Init(this);
-       if(m != "")
-       {
-               precache_model(m);
-               _setmodel(this, m); // no precision needed
+       if (m != "") {
+               precache_model(m);
+               _setmodel(this, m); // no precision needed
        }
        setorigin(this, this.origin);
-       if(this.scale)
+       if (this.scale) {
                setsize(this, this.mins * this.scale, this.maxs * this.scale);
-       else
+       } else {
                setsize(this, this.mins, this.maxs);
+       }
        setSendEntity(this, WarpZone_Send);
        this.SendFlags = 0xFFFFFF;
        BITSET_ASSIGN(this.effects, EF_NODEPTHTEST);
@@ -735,24 +742,27 @@ spawnfunc(trigger_warpzone)
 }
 spawnfunc(func_camera)
 {
-       if(!this.scale)
+       if (!this.scale) {
                this.scale = this.modelscale;
-       if(!this.scale)
+       }
+       if (!this.scale) {
                this.scale = 1;
-       if(this.model != "")
-       {
-               precache_model(this.model);
-               _setmodel(this, this.model); // no precision needed
+       }
+       if (this.model != "") {
+               precache_model(this.model);
+               _setmodel(this, this.model); // no precision needed
        }
        setorigin(this, this.origin);
-       if(this.scale)
+       if (this.scale) {
                setsize(this, this.mins * this.scale, this.maxs * this.scale);
-       else
+       } else {
                setsize(this, this.mins, this.maxs);
-       if(!this.solid)
+       }
+       if (!this.solid) {
                this.solid = SOLID_BSP;
-       else if(this.solid < 0)
+       } else if (this.solid < 0) {
                this.solid = SOLID_NOT;
+       }
        setSendEntity(this, WarpZone_Camera_Send);
        this.SendFlags = 0xFFFFFF;
        this.warpzone_next = warpzone_camera_first;
@@ -760,23 +770,26 @@ spawnfunc(func_camera)
 }
 void WarpZones_Reconnect()
 {
-       for(entity e = warpzone_first; e; e = e.warpzone_next)
+       for (entity e = warpzone_first; e; e = e.warpzone_next) {
                WarpZone_InitStep_ClearTarget(e);
-       for(entity e = warpzone_first; e; e = e.warpzone_next)
+       }
+       for (entity e = warpzone_first; e; e = e.warpzone_next) {
                WarpZone_InitStep_FindTarget(e);
-       for(entity e = warpzone_camera_first; e; e = e.warpzone_next)
+       }
+       for (entity e = warpzone_camera_first; e; e = e.warpzone_next) {
                WarpZoneCamera_InitStep_FindTarget(e);
-       for(entity e = warpzone_first; e; e = e.warpzone_next)
+       }
+       for (entity e = warpzone_first; e; e = e.warpzone_next) {
                WarpZone_InitStep_FinalizeTransform(e);
+       }
 }
 
 void WarpZone_Think(entity this)
 {
-       if(this.warpzone_save_origin != this.origin
-       || this.warpzone_save_angles != this.angles
-       || this.warpzone_save_eorigin != this.enemy.origin
-       || this.warpzone_save_eangles != this.enemy.angles)
-       {
+       if (this.warpzone_save_origin != this.origin
+               || this.warpzone_save_angles != this.angles
+               || this.warpzone_save_eorigin != this.enemy.origin
+               || this.warpzone_save_eangles != this.enemy.angles) {
                WarpZone_InitStep_UpdateTransform(this);
                WarpZone_InitStep_UpdateTransform(this.enemy);
                WarpZone_InitStep_FinalizeTransform(this);
@@ -791,21 +804,22 @@ void WarpZone_Think(entity this)
 
 void WarpZone_StartFrame()
 {
-       if (!warpzone_initialized)
-       {
+       if (!warpzone_initialized) {
                warpzone_initialized = true;
-               for(entity e = warpzone_first; e; e = e.warpzone_next)
+               for (entity e = warpzone_first; e; e = e.warpzone_next) {
                        WarpZone_InitStep_FindOriginTarget(e);
-               for(entity e = warpzone_position_first; e; e = e.warpzone_next)
+               }
+               for (entity e = warpzone_position_first; e; e = e.warpzone_next) {
                        WarpZonePosition_InitStep_FindTarget(e);
-               for(entity e = warpzone_first; e; e = e.warpzone_next)
+               }
+               for (entity e = warpzone_first; e; e = e.warpzone_next) {
                        WarpZone_InitStep_UpdateTransform(e);
+               }
                WarpZones_Reconnect();
                WarpZone_PostInitialize_Callback();
        }
 
-       if(warpzone_warpzones_exist)
-       {
+       if (warpzone_warpzones_exist) {
                IL_EACH(g_projectiles, true,
                {
                        WarpZone_StoreProjectileData(it);
@@ -815,28 +829,32 @@ void WarpZone_StartFrame()
 
        FOREACH_CLIENT(true,
        {
-               if(warpzone_warpzones_exist)
+               if (warpzone_warpzones_exist) {
                        WarpZone_StoreProjectileData(it); // TODO: not actually needed
-
-               if(IS_OBSERVER(it) || it.solid == SOLID_NOT)
-               if(IS_CLIENT(it)) // we don't care about it being a bot
-               {
-                       // warpzones
-                       if (warpzone_warpzones_exist) {
-                               entity e = WarpZone_Find(it.origin + it.mins, it.origin + it.maxs);
-                               if (e)
-                               if (!WarpZoneLib_ExactTrigger_Touch(e, it))
-                               if (WarpZone_PlaneDist(e, it.origin + it.view_ofs) <= 0)
-                                       WarpZone_Teleport(e, it, -1, 0); // NOT triggering targets by this!
-                       }
-
-                       // teleporters
-                       if(it.teleportable)
-                       {
-                               entity ent = Teleport_Find(it.origin + it.mins, it.origin + it.maxs);
-                               if (ent)
-                               if (!WarpZoneLib_ExactTrigger_Touch(ent, it))
-                                       Simple_TeleportPlayer(ent, it); // NOT triggering targets by this!
+               }
+               if (IS_OBSERVER(it) || it.solid == SOLID_NOT) {
+                       if (IS_CLIENT(it)) { // we don't care about it being a bot
+                       // warpzones
+                               if (warpzone_warpzones_exist) {
+                                       entity e = WarpZone_Find(it.origin + it.mins, it.origin + it.maxs);
+                                       if (e) {
+                                               if (!WarpZoneLib_ExactTrigger_Touch(e, it)) {
+                                                       if (WarpZone_PlaneDist(e, it.origin + it.view_ofs) <= 0) {
+                                                               WarpZone_Teleport(e, it, -1, 0); // NOT triggering targets by this!
+                                                       }
+                                               }
+                                       }
+                               }
+
+                       // teleporters
+                               if (it.teleportable) {
+                                       entity ent = Teleport_Find(it.origin + it.mins, it.origin + it.maxs);
+                                       if (ent) {
+                                               if (!WarpZoneLib_ExactTrigger_Touch(ent, it)) {
+                                                       Simple_TeleportPlayer(ent, it); // NOT triggering targets by this!
+                                               }
+                                       }
+                               }
                        }
                }
        });
@@ -855,22 +873,32 @@ void trigger_warpzone_reconnect_use(entity this, entity actor, entity trigger)
 {
        // NOTE: this matches for target, not targetname, but of course
        // targetname must be set too on the other entities
-       for(entity e = warpzone_first; e; e = e.warpzone_next)
+       for (entity e = warpzone_first; e; e = e.warpzone_next) {
                e.warpzone_reconnecting = ((this.target == "" || e.target == this.target) && !((this.spawnflags & 1) && (visible_to_some_client(e) || visible_to_some_client(e.enemy))));
-       for(entity e = warpzone_camera_first; e; e = e.warpzone_next)
+       }
+       for (entity e = warpzone_camera_first; e; e = e.warpzone_next) {
                e.warpzone_reconnecting = ((this.target == "" || e.target == this.target) && !((this.spawnflags & 1) && visible_to_some_client(e)));
-       for(entity e = warpzone_first; e; e = e.warpzone_next)
-               if(e.warpzone_reconnecting)
+       }
+       for (entity e = warpzone_first; e; e = e.warpzone_next) {
+               if (e.warpzone_reconnecting) {
                        WarpZone_InitStep_ClearTarget(e);
-       for(entity e = warpzone_first; e; e = e.warpzone_next)
-               if(e.warpzone_reconnecting)
+               }
+       }
+       for (entity e = warpzone_first; e; e = e.warpzone_next) {
+               if (e.warpzone_reconnecting) {
                        WarpZone_InitStep_FindTarget(e);
-       for(entity e = warpzone_camera_first; e; e = e.warpzone_next)
-               if(e.warpzone_reconnecting)
+               }
+       }
+       for (entity e = warpzone_camera_first; e; e = e.warpzone_next) {
+               if (e.warpzone_reconnecting) {
                        WarpZoneCamera_InitStep_FindTarget(e);
-       for(entity e = warpzone_first; e; e = e.warpzone_next)
-               if(e.warpzone_reconnecting || e.enemy.warpzone_reconnecting)
+               }
+       }
+       for (entity e = warpzone_first; e; e = e.warpzone_next) {
+               if (e.warpzone_reconnecting || e.enemy.warpzone_reconnecting) {
                        WarpZone_InitStep_FinalizeTransform(e);
+               }
+       }
 }
 
 spawnfunc(trigger_warpzone_reconnect)
@@ -886,12 +914,13 @@ spawnfunc(target_warpzone_reconnect)
 void WarpZone_PlayerPhysics_FixVAngle(entity this)
 {
 #ifndef WARPZONE_DONT_FIX_VANGLE
-       if(IS_REAL_CLIENT(this))
-       if(this.v_angle.z <= 360) // if not already adjusted
-       if(time - CS(this).ping * 0.001 < this.warpzone_teleport_time)
-       {
-               this.v_angle = WarpZone_TransformVAngles(this.warpzone_teleport_zone, this.v_angle);
-               this.v_angle_z += 720; // mark as adjusted
+       if (IS_REAL_CLIENT(this)) {
+               if (this.v_angle.z <= 360) { // if not already adjusted
+                       if (time - CS(this).ping * 0.001 < this.warpzone_teleport_time) {
+                               this.v_angle = WarpZone_TransformVAngles(this.warpzone_teleport_zone, this.v_angle);
+                               this.v_angle_z += 720; // mark as adjusted
+                       }
+               }
        }
 #endif
 }
index 4287ef60de798195e0e963d93736a7348a88d175..b468c70e1c6dff0772c73b1111697d55212e8790 100644 (file)
@@ -1,7 +1,8 @@
 #pragma once
 
 #ifdef SVQC
-entity warpzone_first; .entity warpzone_next;
+entity warpzone_first;
+.entity warpzone_next;
 
 void WarpZone_StartFrame();
 float WarpZone_Projectile_Touch(entity this, entity toucher);
@@ -11,8 +12,8 @@ void WarpZone_PostTeleportPlayer_Callback(entity pl);
 bool WarpZone_Projectile_Touch_ImpactFilter_Callback(entity this, entity toucher);
 
 // server must also define a float called ENT_CLIENT_WARPZONE for the initial byte of WarpZone entities
-//const float ENT_CLIENT_WARPZONE;
-//const float ENT_CLIENT_WARPZONE_CAMERA;
+// const float ENT_CLIENT_WARPZONE;
+// const float ENT_CLIENT_WARPZONE_CAMERA;
 
 void WarpZone_PlayerPhysics_FixVAngle(entity this);
 
index d5533647f51e7727cb19b886e9fd3eea6887bb8c..8d9579620cd20b10a1082042f626b465f9d59ad7 100644 (file)
@@ -5,44 +5,41 @@
 #if defined(CSQC)
 #elif defined(MENUQC)
 #elif defined(SVQC)
-    #include <lib/csqcmodel/sv_model.qh>
+#include <lib/csqcmodel/sv_model.qh>
 #endif
 #include "common.qh"
 
 void WarpZoneLib_ExactTrigger_Init(entity this)
 {
        vector mi, ma;
-       if (this.movedir == '0 0 0')
-       if (this.angles != '0 0 0')
-       {
-               makevectors (this.angles);
-               this.movedir = v_forward;
+       if (this.movedir == '0 0 0') {
+               if (this.angles != '0 0 0') {
+                       makevectors(this.angles);
+                       this.movedir = v_forward;
+               }
        }
-       if(this.model == "")
-       {
+       if (this.model == "") {
                // It's a box! No need to match with exacttriggers.
                this.warpzone_isboxy = 1;
-       }
-       else
-       {
+       } else {
                mi = this.mins;
                ma = this.maxs;
-               precache_model(this.model);
-               _setmodel(this, this.model);
+               precache_model(this.model);
+               _setmodel(this, this.model);
                // let mapper-set mins/maxs override the model's bounds if set
-               if(mi != '0 0 0' || ma != '0 0 0')
-               {
+               if (mi != '0 0 0' || ma != '0 0 0') {
                        // It's a box! No need to match with exacttriggers.
                        this.mins = mi;
                        this.maxs = ma;
                        this.warpzone_isboxy = 1;
                }
-       }
+       }
        setorigin(this, this.origin);
-       if(this.scale)
+       if (this.scale) {
                setsize(this, this.mins * this.scale, this.maxs * this.scale);
-       else
+       } else {
                setsize(this, this.mins, this.maxs);
+       }
        set_movetype(this, MOVETYPE_NONE);
        this.solid = SOLID_TRIGGER;
        this.model = "";
index 29338666ec064a4d61817b85e47b7e58a9afc97a..6050bb46059177a22db9c1535aeb15c7c4a8c51d 100644 (file)
@@ -6,9 +6,8 @@
        MACRO_BEGIN \
                int conv = c; \
                conv += 42; \
-               if (conv >= 256) conv -= 256; \
-               switch (conv) \
-               { \
+               if (conv >= 256) { conv -= 256; } \
+               switch (conv) { \
                        default: \
                        { \
                                string yenc_it = chr2str(conv); \
@@ -40,7 +39,7 @@
                                conv = STRING_ITERATOR_GET(stringiter); \
                                conv -= 64; \
                        } \
-                       if (conv < 42) conv += 256; \
+                       if (conv < 42) { conv += 256; } \
                        conv -= 42; \
                        ret = conv; \
                } \
@@ -48,8 +47,7 @@
 
 TEST(yEnc, EncodeDecode)
 {
-       for (int i = 0; i <= 255; ++i)
-       {
+       for (int i = 0; i <= 255; ++i) {
                int expect = i;
 
                string fragment = string_null;
index 72bcc5e94ec44a294f1b9eaa86b5cad566b0a22d..60741bd6f0b17ab8720c016eae222b4216d93f62 100644 (file)
@@ -2,87 +2,86 @@
 
 #include "../menu.qh"
 
-       METHOD(Animation, configureAnimation, void(entity this, entity obj, void(entity, float) objSetter, float animStartTime, float animDuration, float animStartValue, float animEndValue))
-       {
-               this.setObjectSetter(this, obj, objSetter);
-               this.setTimeStartDuration(this, animStartTime, animDuration);
-               this.setValueStartEnd(this, animStartValue, animEndValue);
-       }
-
-       METHOD(Animation, update, void(entity this, float animDuration, float animStartValue, float animEndValue))
-       {
-               this.setTimeStartDuration(this, time, animDuration);
-               this.setValueStartEnd(this, animStartValue, animEndValue);
-       }
-
-       METHOD(Animation, setTimeStartEnd, void(entity this, float s, float e))
-       {
-               this.startTime = s;
-               this.duration = e - s;
-       }
-
-       METHOD(Animation, setTimeStartDuration, void(entity this, float s, float d))
-       {
-               this.startTime = s;
-               this.duration = d;
-       }
-
-       METHOD(Animation, setValueStartEnd, void(entity this, float s, float e))
-       {
-               this.startValue = s;
-               this.delta = e - s;
-       }
-
-       METHOD(Animation, setValueStartDelta, void(entity this, float s, float d))
-       {
-               this.startValue = s;
-               this.delta = d;
-       }
-
-       METHOD(Animation, setObjectSetter, void(entity this, entity o, void(entity, float) s))
-       {
-               this.object = o;
-               this.setter = s;
-       }
-
-       METHOD(Animation, tick, void(entity this, float tickTime))
-       {
-               if (this.isStopped(this) || this.isFinished(this) || (tickTime < this.startTime)) return;
-
-               if (tickTime >= (this.startTime + this.duration)) this.finishAnim(this);
-               else this.value = this.calcValue(this, (tickTime - this.startTime), this.duration, this.startValue, this.delta);
-
-               this.setter(this.object, this.value);
-       }
-
-       METHOD(Animation, calcValue, float(entity this, float tickTime, float animDuration, float animStartValue, float animDelta))
-       {
-               return animStartValue;
-       }
-
-       METHOD(Animation, isStopped, bool(entity this))
-       {
-               return this.stopped;
-       }
-
-       METHOD(Animation, stopAnim, void(entity this))
-       {
-               this.stopped = true;
-       }
-
-       METHOD(Animation, resumeAnim, void(entity this))
-       {
-               this.stopped = false;
-       }
-
-       METHOD(Animation, isFinished, bool(entity this))
-       {
-               return this.finished;
-       }
-
-       METHOD(Animation, finishAnim, void(entity this))
-       {
-               this.value = this.delta + this.startValue;
-               this.finished = true;
-               this.setter(this.object, this.value);
-       }
+METHOD(Animation, configureAnimation, void(entity this, entity obj, void(entity, float) objSetter, float animStartTime, float animDuration, float animStartValue, float animEndValue))
+{
+       this.setObjectSetter(this, obj, objSetter);
+       this.setTimeStartDuration(this, animStartTime, animDuration);
+       this.setValueStartEnd(this, animStartValue, animEndValue);
+}
+
+METHOD(Animation, update, void(entity this, float animDuration, float animStartValue, float animEndValue))
+{
+       this.setTimeStartDuration(this, time, animDuration);
+       this.setValueStartEnd(this, animStartValue, animEndValue);
+}
+
+METHOD(Animation, setTimeStartEnd, void(entity this, float s, float e))
+{
+       this.startTime = s;
+       this.duration = e - s;
+}
+
+METHOD(Animation, setTimeStartDuration, void(entity this, float s, float d))
+{
+       this.startTime = s;
+       this.duration = d;
+}
+
+METHOD(Animation, setValueStartEnd, void(entity this, float s, float e))
+{
+       this.startValue = s;
+       this.delta = e - s;
+}
+
+METHOD(Animation, setValueStartDelta, void(entity this, float s, float d))
+{
+       this.startValue = s;
+       this.delta = d;
+}
+
+METHOD(Animation, setObjectSetter, void(entity this, entity o, void(entity, float) s))
+{
+       this.object = o;
+       this.setter = s;
+}
+
+METHOD(Animation, tick, void(entity this, float tickTime))
+{
+       if (this.isStopped(this) || this.isFinished(this) || (tickTime < this.startTime)) { return; }
+
+       if (tickTime >= (this.startTime + this.duration)) { this.finishAnim(this); } else { this.value = this.calcValue(this, (tickTime - this.startTime), this.duration, this.startValue, this.delta); }
+
+       this.setter(this.object, this.value);
+}
+
+METHOD(Animation, calcValue, float(entity this, float tickTime, float animDuration, float animStartValue, float animDelta))
+{
+       return animStartValue;
+}
+
+METHOD(Animation, isStopped, bool(entity this))
+{
+       return this.stopped;
+}
+
+METHOD(Animation, stopAnim, void(entity this))
+{
+       this.stopped = true;
+}
+
+METHOD(Animation, resumeAnim, void(entity this))
+{
+       this.stopped = false;
+}
+
+METHOD(Animation, isFinished, bool(entity this))
+{
+       return this.finished;
+}
+
+METHOD(Animation, finishAnim, void(entity this))
+{
+       this.value = this.delta + this.startValue;
+       this.finished = true;
+       this.setter(this.object, this.value);
+}
index 3009ab4eaf8b00f47fd4efdf362b3c0ba42b67b0..d5419f88e5025452beb3d963d2fb4892d096362a 100644 (file)
 
 #include "animation.qh"
 
-    .entity parent;
-       METHOD(AnimHost, addAnim, void(entity this, entity other))
-       {
-               if (other.parent) error("Can't add already added anim!");
+.entity parent;
+METHOD(AnimHost, addAnim, void(entity this, entity other))
+{
+       if (other.parent) { error("Can't add already added anim!"); }
 
-               if (other.isFinished(other)) error("Can't add finished anim!");
+       if (other.isFinished(other)) { error("Can't add finished anim!"); }
 
-               other.parent = this;
+       other.parent = this;
 
-               entity l = this.lastChild;
+       entity l = this.lastChild;
 
-               if (l) l.nextSibling = other;
-               else this.firstChild = other;
+       if (l) { l.nextSibling = other; } else { this.firstChild = other; }
 
-               other.prevSibling = l;
-               other.nextSibling = NULL;
-               this.lastChild = other;
-       }
+       other.prevSibling = l;
+       other.nextSibling = NULL;
+       this.lastChild = other;
+}
+
+METHOD(AnimHost, removeAnim, void(entity this, entity other))
+{
+       if (other.parent != this) { error("Can't remove from wrong AnimHost!"); }
 
-       METHOD(AnimHost, removeAnim, void(entity this, entity other))
-       {
-               if (other.parent != this) error("Can't remove from wrong AnimHost!");
+       other.parent = NULL;
 
-               other.parent = NULL;
+       entity n = other.nextSibling;
+       entity p = other.prevSibling;
 
-               entity n = other.nextSibling;
-               entity p = other.prevSibling;
+       if (p) { p.nextSibling = n; } else { this.firstChild = n; }
 
-               if (p) p.nextSibling = n;
-               else this.firstChild = n;
+       if (n) { n.prevSibling = p; } else { this.lastChild = p; }
+       delete(other);
+}
 
-               if (n) n.prevSibling = p;
-               else this.lastChild = p;
-               delete(other);
+METHOD(AnimHost, removeAllAnim, void(entity this))
+{
+       for (entity e = this.firstChild; e; e = e.nextSibling) {
+               entity tmp = e;
+               e = tmp.prevSibling;
+               this.removeAnim(this, tmp);
        }
+}
 
-       METHOD(AnimHost, removeAllAnim, void(entity this))
-       {
-               for (entity e = this.firstChild; e; e = e.nextSibling)
-               {
+METHOD(AnimHost, removeObjAnim, void(entity this, entity obj))
+{
+       for (entity e = this.firstChild; e; e = e.nextSibling) {
+               if (e.object == obj) {
                        entity tmp = e;
                        e = tmp.prevSibling;
                        this.removeAnim(this, tmp);
                }
        }
+}
 
-       METHOD(AnimHost, removeObjAnim, void(entity this, entity obj))
-       {
-               for (entity e = this.firstChild; e; e = e.nextSibling)
-               {
-                       if (e.object == obj)
-                       {
-                               entity tmp = e;
-                               e = tmp.prevSibling;
-                               this.removeAnim(this, tmp);
-                       }
-               }
-       }
-
-       METHOD(AnimHost, stopAllAnim, void(entity this))
-       {
-               for (entity e = this.firstChild; e; e = e.nextSibling)
-                       e.stopAnim(e);
+METHOD(AnimHost, stopAllAnim, void(entity this))
+{
+       for (entity e = this.firstChild; e; e = e.nextSibling) {
+               e.stopAnim(e);
        }
-
-       METHOD(AnimHost, stopObjAnim, void(entity this, entity obj))
-       {
-               for (entity e = this.firstChild; e; e = e.nextSibling)
-                       if (e.object == obj) e.stopAnim(e);
+}
+
+METHOD(AnimHost, stopObjAnim, void(entity this, entity obj))
+{
+       for (entity e = this.firstChild; e; e = e.nextSibling) {
+               if (e.object == obj) { e.stopAnim(e); } }
+}
+
+METHOD(AnimHost, resumeAllAnim, void(entity this))
+{
+       for (entity e = this.firstChild; e; e = e.nextSibling) {
+               e.resumeAnim(e);
        }
-
-       METHOD(AnimHost, resumeAllAnim, void(entity this))
-       {
-               for (entity e = this.firstChild; e; e = e.nextSibling)
-                       e.resumeAnim(e);
+}
+
+METHOD(AnimHost, resumeObjAnim, void(entity this, entity obj))
+{
+       for (entity e = this.firstChild; e; e = e.nextSibling) {
+               if (e.object == obj) { e.resumeAnim(e); } }
+}
+
+METHOD(AnimHost, finishAllAnim, void(entity this))
+{
+       for (entity e = this.firstChild; e; e = e.nextSibling) {
+               entity tmp = e;
+               e = tmp.prevSibling;
+               tmp.finishAnim(tmp);
        }
+}
 
-       METHOD(AnimHost, resumeObjAnim, void(entity this, entity obj))
-       {
-               for (entity e = this.firstChild; e; e = e.nextSibling)
-                       if (e.object == obj) e.resumeAnim(e);
-       }
-
-       METHOD(AnimHost, finishAllAnim, void(entity this))
-       {
-               for (entity e = this.firstChild; e; e = e.nextSibling)
-               {
+METHOD(AnimHost, finishObjAnim, void(entity this, entity obj))
+{
+       for (entity e = this.firstChild; e; e = e.nextSibling) {
+               if (e.object == obj) {
                        entity tmp = e;
                        e = tmp.prevSibling;
                        tmp.finishAnim(tmp);
                }
        }
+}
 
-       METHOD(AnimHost, finishObjAnim, void(entity this, entity obj))
-       {
-               for (entity e = this.firstChild; e; e = e.nextSibling)
-               {
-                       if (e.object == obj)
-                       {
-                               entity tmp = e;
-                               e = tmp.prevSibling;
-                               tmp.finishAnim(tmp);
-                       }
-               }
-       }
-
-       METHOD(AnimHost, tickAll, void(entity this))
-       {
-               for (entity e = this.firstChild; e; e = e.nextSibling)
-               {
-                       e.tick(e, time);
-                       if (e.isFinished(e))
-                       {
-                               entity tmp = e;
-                               e = tmp.prevSibling;
-                               this.removeAnim(this, tmp);
-                       }
+METHOD(AnimHost, tickAll, void(entity this))
+{
+       for (entity e = this.firstChild; e; e = e.nextSibling) {
+               e.tick(e, time);
+               if (e.isFinished(e)) {
+                       entity tmp = e;
+                       e = tmp.prevSibling;
+                       this.removeAnim(this, tmp);
                }
        }
+}
index 3014fa80873a8aa479dcb8cb986c19bf54d9ea35..15d9ba2497d3fbfb10fe90f45763312a0d445344 100644 (file)
@@ -3,50 +3,49 @@
 #include "../menu.qh"
 #include "keyframe.qh"
 
-       entity makeHostedEasing(entity obj, void(entity, float) objSetter, float(float, float, float, float) func, float animDuration, float animStartValue, float animEnd)
-       {
-               entity this = makeEasing(obj, objSetter, func, time, animDuration, animStartValue, animEnd);
-               anim.addAnim(anim, this);
-               return this;
-       }
-
-       entity makeEasing(entity obj, void(entity, float) objSetter, float(float, float, float, float) func, float animStartTime, float animDuration, float animStartValue, float animEnd)
-       {
-               entity this = NEW(Easing);
-               this.configureAnimation(this, obj, objSetter, animStartTime, animDuration, animStartValue, animEnd);
-               this.setMath(this, func);
-               return this;
-       }
-
-       METHOD(Easing, calcValue, float(entity this, float tickTime, float animDuration, float animStart, float animDelta))
-       {
-               return this.math(tickTime, animDuration, animStart, animDelta);
-       }
-
-       METHOD(Easing, setMath, void(entity this, float(float, float, float, float) func))
-       {
-               this.math = func;
-       }
-
-       float easingLinear(float tickTime, float animDuration, float animStart, float animDelta)
-       {
-               return (animDelta * (tickTime / animDuration)) + animStart;
-       }
-
-       float easingQuadIn(float tickTime, float animDuration, float animStart, float animDelta)
-       {
-               float frac = tickTime / animDuration;
-               return (animDelta * frac * frac) + animStart;
-       }
-
-       float easingQuadOut(float tickTime, float animDuration, float animStart, float animDelta)
-       {
-               float frac = tickTime / animDuration;
-               return (-animDelta * frac * (frac - 2)) + animStart;
-       }
-
-       float easingQuadInOut(float tickTime, float animDuration, float animStart, float animDelta)
-       {
-               if (tickTime < (animDuration / 2)) return easingQuadIn(tickTime, (animDuration / 2), animStart, (animDelta / 2));
-               else return easingQuadOut((tickTime - (animDuration / 2)), (animDuration / 2), (animStart + (animDelta / 2)), (animDelta / 2));
-       }
+entity makeHostedEasing(entity obj, void(entity, float) objSetter, float(float, float, float, float) func, float animDuration, float animStartValue, float animEnd)
+{
+       entity this = makeEasing(obj, objSetter, func, time, animDuration, animStartValue, animEnd);
+       anim.addAnim(anim, this);
+       return this;
+}
+
+entity makeEasing(entity obj, void(entity, float) objSetter, float(float, float, float, float) func, float animStartTime, float animDuration, float animStartValue, float animEnd)
+{
+       entity this = NEW(Easing);
+       this.configureAnimation(this, obj, objSetter, animStartTime, animDuration, animStartValue, animEnd);
+       this.setMath(this, func);
+       return this;
+}
+
+METHOD(Easing, calcValue, float(entity this, float tickTime, float animDuration, float animStart, float animDelta))
+{
+       return this.math(tickTime, animDuration, animStart, animDelta);
+}
+
+METHOD(Easing, setMath, void(entity this, float(float, float, float, float) func))
+{
+       this.math = func;
+}
+
+float easingLinear(float tickTime, float animDuration, float animStart, float animDelta)
+{
+       return (animDelta * (tickTime / animDuration)) + animStart;
+}
+
+float easingQuadIn(float tickTime, float animDuration, float animStart, float animDelta)
+{
+       float frac = tickTime / animDuration;
+       return (animDelta * frac * frac) + animStart;
+}
+
+float easingQuadOut(float tickTime, float animDuration, float animStart, float animDelta)
+{
+       float frac = tickTime / animDuration;
+       return (-animDelta * frac * (frac - 2)) + animStart;
+}
+
+float easingQuadInOut(float tickTime, float animDuration, float animStart, float animDelta)
+{
+       if (tickTime < (animDuration / 2)) { return easingQuadIn(tickTime, (animDuration / 2), animStart, (animDelta / 2)); } else { return easingQuadOut((tickTime - (animDuration / 2)), (animDuration / 2), (animStart + (animDelta / 2)), (animDelta / 2)); }
+}
index 12c0c9acadecd7e26c9922157ee50188e0fbc4af..f6e5b5de0cc2424b4190a0fa39f73894cac7c2ea 100644 (file)
@@ -7,83 +7,77 @@
 
 .entity parent;
 
-       entity makeHostedKeyframe(entity obj, void(entity, float) objSetter, float animDuration, float animStart, float animEnd)
-       {
-               entity this = makeKeyframe(obj, objSetter, animDuration, animStart, animEnd);
-               anim.addAnim(anim, this);
-               return this;
+entity makeHostedKeyframe(entity obj, void(entity, float) objSetter, float animDuration, float animStart, float animEnd)
+{
+       entity this = makeKeyframe(obj, objSetter, animDuration, animStart, animEnd);
+       anim.addAnim(anim, this);
+       return this;
+}
+
+entity makeKeyframe(entity obj, void(entity, float) objSetter, float animDuration, float animStart, float animEnd)
+{
+       entity this = NEW(Keyframe);
+       this.configureAnimation(this, obj, objSetter, time, animDuration, animStart, animEnd);
+       return this;
+}
+
+METHOD(Keyframe, addEasing, entity(entity this, float animDurationTime, float animEnd, float(float, float, float, float) func))
+{
+       entity other = makeEasing(this.object, this.setter, func, getNewChildStart(this), getNewChildDuration(this, animDurationTime), getNewChildValue(this), animEnd);
+       this.addAnim(this, other);
+       return other;
+}
+
+float getNewChildStart(entity this)
+{
+       if (this.lastChild) { return this.lastChild.startTime + this.lastChild.duration; } else { return 0; }
+}
+
+float getNewChildDuration(entity this, float durationTime)
+{
+       float maxDura = this.duration;
+       if (this.lastChild) { maxDura = maxDura - (this.lastChild.startTime + this.lastChild.duration); }
+       float dura = durationTime;
+       if (0 >= dura || dura > maxDura) { dura = maxDura; }
+       return dura;
+}
+
+float getNewChildValue(entity this)
+{
+       if (this.lastChild) { return this.lastChild.startValue + this.lastChild.delta; } else { return this.startValue; }
+}
+
+METHOD(Keyframe, addAnim, void(entity this, entity other))
+{
+       if (other.parent) { error("Can't add already added anim!"); }
+
+       if (other.isFinished(other)) { error("Can't add finished anim!"); }
+
+       other.parent = this;
+
+       entity l = this.lastChild;
+
+       if (l) {
+               l.nextSibling = other;
+       } else {
+               this.currentChild = other;
+               this.firstChild = other;
        }
 
-       entity makeKeyframe(entity obj, void(entity, float) objSetter, float animDuration, float animStart, float animEnd)
-       {
-               entity this = NEW(Keyframe);
-               this.configureAnimation(this, obj, objSetter, time, animDuration, animStart, animEnd);
-               return this;
-       }
-
-       METHOD(Keyframe, addEasing, entity(entity this, float animDurationTime, float animEnd, float(float, float, float, float) func))
-       {
-               entity other = makeEasing(this.object, this.setter, func, getNewChildStart(this), getNewChildDuration(this, animDurationTime), getNewChildValue(this), animEnd);
-               this.addAnim(this, other);
-               return other;
-       }
-
-       float getNewChildStart(entity this)
-       {
-               if (this.lastChild) return this.lastChild.startTime + this.lastChild.duration;
-               else return 0;
-       }
-
-       float getNewChildDuration(entity this, float durationTime)
-       {
-               float maxDura = this.duration;
-               if (this.lastChild) maxDura = maxDura - (this.lastChild.startTime + this.lastChild.duration);
-               float dura = durationTime;
-               if (0 >= dura || dura > maxDura) dura = maxDura;
-               return dura;
-       }
-
-       float getNewChildValue(entity this)
-       {
-               if (this.lastChild) return this.lastChild.startValue + this.lastChild.delta;
-               else return this.startValue;
-       }
-
-       METHOD(Keyframe, addAnim, void(entity this, entity other))
-       {
-               if (other.parent) error("Can't add already added anim!");
-
-               if (other.isFinished(other)) error("Can't add finished anim!");
-
-               other.parent = this;
+       other.prevSibling = l;
+       other.nextSibling = NULL;
+       this.lastChild = other;
+}
 
-               entity l = this.lastChild;
+METHOD(Keyframe, calcValue, float(entity this, float tickTime, float animDuration, float animStartValue, float animDelta))
+{
+       if (this.currentChild) {
+               if (this.currentChild.isFinished(this.currentChild)) { this.currentChild = this.currentChild.nextSibling; } }
 
-               if (l)
-               {
-                       l.nextSibling = other;
-               }
-               else
-               {
-                       this.currentChild = other;
-                       this.firstChild = other;
-               }
-
-               other.prevSibling = l;
-               other.nextSibling = NULL;
-               this.lastChild = other;
+       if (this.currentChild) {
+               this.currentChild.tick(this.currentChild, tickTime);
+               return this.currentChild.value;
        }
 
-       METHOD(Keyframe, calcValue, float(entity this, float tickTime, float animDuration, float animStartValue, float animDelta))
-       {
-               if (this.currentChild)
-                       if (this.currentChild.isFinished(this.currentChild)) this.currentChild = this.currentChild.nextSibling;
-
-               if (this.currentChild)
-               {
-                       this.currentChild.tick(this.currentChild, tickTime);
-                       return this.currentChild.value;
-               }
-
-               return animStartValue + animDelta;
-       }
+       return animStartValue + animDelta;
+}
index 80133b8b374dd7bb9d7dfa86373cfa3a984f06e3..d0bbc7fd0df60c7c1096ac05d63d919b84a1ed05 100644 (file)
@@ -8,7 +8,7 @@ REGISTRY(Settings, BITS(3))
 #define Settings_from(i) _Settings_from(i, NULL)
 REGISTER_REGISTRY(Settings)
 #define REGISTER_SETTINGS(id, impl) \
-    LAZY_NEW(id, impl) \
-    REGISTER(Settings, MENU, id, m_id, NEW(Lazy, LAZY(id)))
+       LAZY_NEW(id, impl) \
+       REGISTER(Settings, MENU, id, m_id, NEW(Lazy, LAZY(id)))
 
 #endif
index ff37b4b86fed56b31d239dd42b3e1e7a2bc75810..441e7d56a89574f2ca021acd36d779f67b43641a 100644 (file)
@@ -2,87 +2,81 @@
 
 #include "nexposee.qh"
 #include "dialog.qh"
-       void BorderImage_recalcPositionWithText(entity me, string t)
-       {
-               if (me.isNexposeeTitleBar)
-               {
-                       vector scrs;
-                       scrs = eX * conwidth + eY * conheight;
-                       me.resizeNotify(me, me.saveRelOrigin, me.saveRelSize, boxToGlobal(me.parent.Nexposee_smallOrigin, '0 0 0', scrs), boxToGlobalSize(me.parent.Nexposee_smallSize, scrs));
-                       SUPER(BorderImage).recalcPositionWithText(me, t);
-                       me.realOrigin_y = me.realFontSize.y * me.zoomedOutTitleBarPosition;
-                       me.realOrigin_Nexposeed = me.realOrigin;
-                       me.realFontSize_Nexposeed = me.realFontSize;
-                       me.resizeNotify(me, me.saveRelOrigin, me.saveRelSize, boxToGlobal(me.parent.Nexposee_initialOrigin, '0 0 0', scrs), boxToGlobalSize(me.parent.Nexposee_initialSize, scrs));
-               }
+void BorderImage_recalcPositionWithText(entity me, string t)
+{
+       if (me.isNexposeeTitleBar) {
+               vector scrs;
+               scrs = eX * conwidth + eY * conheight;
+               me.resizeNotify(me, me.saveRelOrigin, me.saveRelSize, boxToGlobal(me.parent.Nexposee_smallOrigin, '0 0 0', scrs), boxToGlobalSize(me.parent.Nexposee_smallSize, scrs));
                SUPER(BorderImage).recalcPositionWithText(me, t);
+               me.realOrigin_y = me.realFontSize.y * me.zoomedOutTitleBarPosition;
+               me.realOrigin_Nexposeed = me.realOrigin;
+               me.realFontSize_Nexposeed = me.realFontSize;
+               me.resizeNotify(me, me.saveRelOrigin, me.saveRelSize, boxToGlobal(me.parent.Nexposee_initialOrigin, '0 0 0', scrs), boxToGlobalSize(me.parent.Nexposee_initialSize, scrs));
        }
-       void BorderImage_resizeNotify(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize)
-       {
-               me.isNexposeeTitleBar = 0;
-               if (me.zoomedOutTitleBar)
-                       if (me.parent.parent.instanceOfNexposee)
-                               if (me.parent.instanceOfDialog)
-                                       if (me == me.parent.frame) me.isNexposeeTitleBar = 1;
-               me.saveRelOrigin = relOrigin;
-               me.saveRelSize = relSize;
-               SUPER(BorderImage).resizeNotify(me, relOrigin, relSize, absOrigin, absSize);
-               me.borderVec_x = me.borderHeight / absSize.x;
-               me.borderVec_y = me.borderHeight / absSize.y;
-               me.realOrigin_y = 0.5 * (me.borderVec.y - me.realFontSize.y);
-               if (me.closeButton)
-               {
-                       // move the close button to the right place
-                       me.closeButton.Container_origin = '1 0 0' * (1 - me.borderVec.x);
-                       me.closeButton.Container_size = me.borderVec;
-                       me.closeButton.color = me.color;
-                       me.closeButton.colorC = me.color;
-                       me.closeButton.colorF = me.color;
+       SUPER(BorderImage).recalcPositionWithText(me, t);
+}
+void BorderImage_resizeNotify(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize)
+{
+       me.isNexposeeTitleBar = 0;
+       if (me.zoomedOutTitleBar) {
+               if (me.parent.parent.instanceOfNexposee) {
+                       if (me.parent.instanceOfDialog) {
+                               if (me == me.parent.frame) { me.isNexposeeTitleBar = 1; } }
                }
        }
-       void BorderImage_configureBorderImage(entity me, string theTitle, float sz, vector theColor, string path, float theBorderHeight)
-       {
-               me.configureLabel(me, theTitle, sz, 0.5);
-               me.src = path;
-               me.color = theColor;
-               me.borderHeight = theBorderHeight;
+       me.saveRelOrigin = relOrigin;
+       me.saveRelSize = relSize;
+       SUPER(BorderImage).resizeNotify(me, relOrigin, relSize, absOrigin, absSize);
+       me.borderVec_x = me.borderHeight / absSize.x;
+       me.borderVec_y = me.borderHeight / absSize.y;
+       me.realOrigin_y = 0.5 * (me.borderVec.y - me.realFontSize.y);
+       if (me.closeButton) {
+               // move the close button to the right place
+               me.closeButton.Container_origin = '1 0 0' * (1 - me.borderVec.x);
+               me.closeButton.Container_size = me.borderVec;
+               me.closeButton.color = me.color;
+               me.closeButton.colorC = me.color;
+               me.closeButton.colorF = me.color;
        }
-       void BorderImage_draw(entity me)
-       {
-               if (me.src) draw_BorderPicture('0 0 0', me.src, '1 1 0', me.color, 1, me.borderVec);
+}
+void BorderImage_configureBorderImage(entity me, string theTitle, float sz, vector theColor, string path, float theBorderHeight)
+{
+       me.configureLabel(me, theTitle, sz, 0.5);
+       me.src = path;
+       me.color = theColor;
+       me.borderHeight = theBorderHeight;
+}
+void BorderImage_draw(entity me)
+{
+       if (me.src) { draw_BorderPicture('0 0 0', me.src, '1 1 0', me.color, 1, me.borderVec); }
 
-               if (me.fontSize > 0)
-               {
-                       if (me.recalcPos) me.recalcPositionWithText(me, me.text);
+       if (me.fontSize > 0) {
+               if (me.recalcPos) { me.recalcPositionWithText(me, me.text); }
 
-                       if (me.isNexposeeTitleBar)
-                       {
-                               vector ro, rf, df;
+               if (me.isNexposeeTitleBar) {
+                       vector ro, rf, df;
 
-                               // me.parent.Nexposee_animationFactor 0 (small) or 1 (full)
-                               // default values are for 1
-                               ro = me.realOrigin;
-                               rf = me.realFontSize;
-                               df = draw_fontscale;
-                               me.realOrigin = ro * me.parent.Nexposee_animationFactor + me.realOrigin_Nexposeed * (1 - me.parent.Nexposee_animationFactor);
-                               me.realFontSize = rf * me.parent.Nexposee_animationFactor + me.realFontSize_Nexposeed * (1 - me.parent.Nexposee_animationFactor);
-                               draw_fontscale = globalToBoxSize(boxToGlobalSize(df, me.realFontSize), rf);
+                       // me.parent.Nexposee_animationFactor 0 (small) or 1 (full)
+                       // default values are for 1
+                       ro = me.realOrigin;
+                       rf = me.realFontSize;
+                       df = draw_fontscale;
+                       me.realOrigin = ro * me.parent.Nexposee_animationFactor + me.realOrigin_Nexposeed * (1 - me.parent.Nexposee_animationFactor);
+                       me.realFontSize = rf * me.parent.Nexposee_animationFactor + me.realFontSize_Nexposeed * (1 - me.parent.Nexposee_animationFactor);
+                       draw_fontscale = globalToBoxSize(boxToGlobalSize(df, me.realFontSize), rf);
 
-                               SUPER(BorderImage).draw(me);
+                       SUPER(BorderImage).draw(me);
 
-                               // me.Nexposee_animationState 0 (small) or 1 (full)
-                               // default values are for 1
-                               me.realOrigin = ro;
-                               me.realFontSize = rf;
-                               draw_fontscale = df;
-                       }
-                       else
-                       {
-                               SUPER(BorderImage).draw(me);
-                       }
-               }
-               else
-               {
+                       // me.Nexposee_animationState 0 (small) or 1 (full)
+                       // default values are for 1
+                       me.realOrigin = ro;
+                       me.realFontSize = rf;
+                       draw_fontscale = df;
+               } else {
                        SUPER(BorderImage).draw(me);
                }
+       } else {
+               SUPER(BorderImage).draw(me);
        }
+}
index 79cfe7a9961ca34c49e4f139a4f0864169dcd4bb..c7f51a63ad74307b044c76bf8b92fbda30ad9d52 100644 (file)
@@ -1,39 +1,36 @@
 #include "checkbox.qh"
 
-       void CheckBox_setChecked(entity me, float val)
-       {
-               me.checked = val;
-       }
-       void CheckBox_Click(entity me, entity other)
-       {
-               me.setChecked(me, !me.checked);
-       }
-       string CheckBox_toString(entity me)
-       {
-               return strcat(SUPER(CheckBox).toString(me), ", ", me.checked ? "checked" : "unchecked");
-       }
-       void CheckBox_configureCheckBox(entity me, string txt, float sz, string gfx)
-       {
-               me.configureButton(me, txt, sz, gfx);
-               me.align = 0;
-       }
-       void CheckBox_draw(entity me)
-       {
-               float s;
-               s = me.pressed;
-               if (me.useDownAsChecked)
-               {
-                       me.srcSuffix = string_null;
-                       me.forcePressed = me.checked;
-               }
-               else
-               {
-                       me.srcSuffix = (me.checked ? "1" : "0");
-               }
-               me.pressed = s;
-               SUPER(CheckBox).draw(me);
-       }
-       void CheckBox_playClickSound(entity me)
-       {
-               m_play_click_sound(MENU_SOUND_SELECT);
+void CheckBox_setChecked(entity me, float val)
+{
+       me.checked = val;
+}
+void CheckBox_Click(entity me, entity other)
+{
+       me.setChecked(me, !me.checked);
+}
+string CheckBox_toString(entity me)
+{
+       return strcat(SUPER(CheckBox).toString(me), ", ", me.checked ? "checked" : "unchecked");
+}
+void CheckBox_configureCheckBox(entity me, string txt, float sz, string gfx)
+{
+       me.configureButton(me, txt, sz, gfx);
+       me.align = 0;
+}
+void CheckBox_draw(entity me)
+{
+       float s;
+       s = me.pressed;
+       if (me.useDownAsChecked) {
+               me.srcSuffix = string_null;
+               me.forcePressed = me.checked;
+       } else {
+               me.srcSuffix = (me.checked ? "1" : "0");
        }
+       me.pressed = s;
+       SUPER(CheckBox).draw(me);
+}
+void CheckBox_playClickSound(entity me)
+{
+       m_play_click_sound(MENU_SOUND_SELECT);
+}
index 931e4f79c8f1c09f32270b9ae8aa1c5b2b23f12d..705f2511c10a16a13bd0364d300c5852c5a42fb3 100644 (file)
@@ -9,7 +9,7 @@ CLASS(CheckBox, Button)
        METHOD(CheckBox, setChecked, void(entity, float));
        ATTRIB(CheckBox, useDownAsChecked, float, 0);
        ATTRIB(CheckBox, checked, float, 0);
-    void CheckBox_Click(entity me, entity other);
+       void CheckBox_Click(entity me, entity other);
        ATTRIB(CheckBox, onClick, void(entity, entity), CheckBox_Click);
        ATTRIB(CheckBox, srcMulti, float, 0);
        ATTRIB(CheckBox, disabled, float, 0);
index 9e0ea95ebad6dc9555357c310f01a0c9ac9ad793..7383580a913b5c26453026890a109c74c57e4fba 100644 (file)
 #include "button.qh"
 #include "nexposee.qh"
 
-       void Dialog_Close(entity button, entity me)
-       {
-               me.close(me);
+void Dialog_Close(entity button, entity me)
+{
+       me.close(me);
+}
+
+void Dialog_fill(entity me)
+{}
+
+void Dialog_addItemSimple(entity me, float row, float col, float rowspan, float colspan, entity e, vector v)
+{
+       vector o, s;
+       o = me.itemOrigin + eX * (col          * me.itemSpacing.x) + eY * (row          * me.itemSpacing.y);
+       s = me.itemSize   + eX * ((colspan - 1) * me.itemSpacing.x) + eY * ((rowspan - 1) * me.itemSpacing.y);
+       o.x -= 0.5 * (me.itemSpacing.x - me.itemSize.x) * v.x;
+       s.x +=       (me.itemSpacing.x - me.itemSize.x) * v.x;
+       o.y -= 0.5 * (me.itemSpacing.y - me.itemSize.y) * v.y;
+       s.y +=       (me.itemSpacing.y - me.itemSize.y) * v.y;
+       me.addItem(me, e, o, s, 1);
+}
+
+void Dialog_gotoRC(entity me, float row, float col)
+{
+       me.currentRow = row;
+       me.currentColumn = col;
+}
+
+void Dialog_TR(entity me)
+{
+       me.currentRow += 1;
+       me.currentColumn = me.firstColumn;
+}
+
+void Dialog_TD(entity me, float rowspan, float colspan, entity e)
+{
+       me.addItemSimple(me, me.currentRow, me.currentColumn, rowspan, colspan, e, '0 0 0');
+       me.currentColumn += colspan;
+}
+
+void Dialog_TDNoMargin(entity me, float rowspan, float colspan, entity e, vector v)
+{
+       me.addItemSimple(me, me.currentRow, me.currentColumn, rowspan, colspan, e, v);
+       me.currentColumn += colspan;
+}
+
+void Dialog_setFirstColumn(entity me, float col)
+{
+       me.firstColumn = col;
+}
+
+void Dialog_TDempty(entity me, float colspan)
+{
+       me.currentColumn += colspan;
+}
+
+void Dialog_configureDialog(entity me)
+{
+       float absWidth, absHeight;
+
+       if (me.isTabRoot) {
+               me.frame = NEW(BorderImage);
+               me.frame.configureBorderImage(me.frame, me.title, me.titleFontSize, me.color, me.backgroundImage, me.borderLines * me.titleHeight);
+               me.frame.zoomedOutTitleBarPosition = me.zoomedOutTitleBarPosition;
+               me.frame.zoomedOutTitleBar = me.zoomedOutTitleBar;
+               me.frame.alpha = me.alpha;
+               me.addItem(me, me.frame, '0 0 0', '1 1 0', 1);
        }
 
-       void Dialog_fill(entity me)
-       {}
-
-       void Dialog_addItemSimple(entity me, float row, float col, float rowspan, float colspan, entity e, vector v)
-       {
-               vector o, s;
-               o = me.itemOrigin + eX * (col          * me.itemSpacing.x) + eY * (row          * me.itemSpacing.y);
-               s = me.itemSize   + eX * ((colspan - 1) * me.itemSpacing.x) + eY * ((rowspan - 1) * me.itemSpacing.y);
-               o.x -= 0.5 * (me.itemSpacing.x - me.itemSize.x) * v.x;
-               s.x +=       (me.itemSpacing.x - me.itemSize.x) * v.x;
-               o.y -= 0.5 * (me.itemSpacing.y - me.itemSize.y) * v.y;
-               s.y +=       (me.itemSpacing.y - me.itemSize.y) * v.y;
-               me.addItem(me, e, o, s, 1);
+       if (!me.titleFontSize) {
+               me.titleHeight = 0; // no title bar
        }
-
-       void Dialog_gotoRC(entity me, float row, float col)
-       {
-               me.currentRow = row;
-               me.currentColumn = col;
-       }
-
-       void Dialog_TR(entity me)
-       {
-               me.currentRow += 1;
-               me.currentColumn = me.firstColumn;
-       }
-
-       void Dialog_TD(entity me, float rowspan, float colspan, entity e)
-       {
-               me.addItemSimple(me, me.currentRow, me.currentColumn, rowspan, colspan, e, '0 0 0');
-               me.currentColumn += colspan;
+       absWidth = me.intendedWidth * conwidth;
+       absHeight = me.borderLines * me.titleHeight + me.marginTop + me.rows * me.rowHeight + (me.rows - 1) * me.rowSpacing + me.marginBottom;
+       me.itemOrigin  = eX * (me.marginLeft / absWidth)
+               + eY * ((me.borderLines * me.titleHeight + me.marginTop) / absHeight);
+       me.itemSize    = eX * ((1 - (me.marginLeft + me.marginRight + me.columnSpacing * (me.columns - 1)) / absWidth) / me.columns)
+               + eY * (me.rowHeight / absHeight);
+       me.itemSpacing = me.itemSize
+               + eX * (me.columnSpacing / absWidth)
+               + eY * (me.rowSpacing / absHeight);
+       me.intendedHeight = absHeight / conheight;
+       me.currentRow = -1;
+       me.currentColumn = -1;
+
+       me.fill(me);
+
+       if (me.isTabRoot && me.closable && me.borderLines > 0) {
+               entity closebutton;
+               closebutton = me.closeButton = me.frame.closeButton = NEW(Button);
+               closebutton.configureButton(closebutton, "", 0, me.closeButtonImage);
+               closebutton.onClick = Dialog_Close;
+               closebutton.onClickEntity = me;
+               closebutton.srcMulti = 0;
+               me.addItem(me, closebutton, '0 0 0', '1 1 0', 1); // put it as LAST
        }
-
-       void Dialog_TDNoMargin(entity me, float rowspan, float colspan, entity e, vector v)
-       {
-               me.addItemSimple(me, me.currentRow, me.currentColumn, rowspan, colspan, e, v);
-               me.currentColumn += colspan;
-       }
-
-       void Dialog_setFirstColumn(entity me, float col)
-       {
-               me.firstColumn = col;
-       }
-
-       void Dialog_TDempty(entity me, float colspan)
-       {
-               me.currentColumn += colspan;
-       }
-
-       void Dialog_configureDialog(entity me)
-       {
-               float absWidth, absHeight;
-
-               if (me.isTabRoot)
-               {
-                       me.frame = NEW(BorderImage);
-                       me.frame.configureBorderImage(me.frame, me.title, me.titleFontSize, me.color, me.backgroundImage, me.borderLines * me.titleHeight);
-                       me.frame.zoomedOutTitleBarPosition = me.zoomedOutTitleBarPosition;
-                       me.frame.zoomedOutTitleBar = me.zoomedOutTitleBar;
-                       me.frame.alpha = me.alpha;
-                       me.addItem(me, me.frame, '0 0 0', '1 1 0', 1);
-               }
-
-               if (!me.titleFontSize) me.titleHeight = 0;  // no title bar
-
-               absWidth = me.intendedWidth * conwidth;
-               absHeight = me.borderLines * me.titleHeight + me.marginTop + me.rows * me.rowHeight + (me.rows - 1) * me.rowSpacing + me.marginBottom;
-               me.itemOrigin  = eX * (me.marginLeft / absWidth)
-                   + eY * ((me.borderLines * me.titleHeight + me.marginTop) / absHeight);
-               me.itemSize    = eX * ((1 - (me.marginLeft + me.marginRight + me.columnSpacing * (me.columns - 1)) / absWidth) / me.columns)
-                   + eY * (me.rowHeight / absHeight);
-               me.itemSpacing = me.itemSize
-                   + eX * (me.columnSpacing / absWidth)
-                   + eY * (me.rowSpacing / absHeight);
-               me.intendedHeight = absHeight / conheight;
-               me.currentRow = -1;
-               me.currentColumn = -1;
-
-               me.fill(me);
-
-               if (me.isTabRoot && me.closable && me.borderLines > 0)
-               {
-                       entity closebutton;
-                       closebutton = me.closeButton = me.frame.closeButton = NEW(Button);
-                       closebutton.configureButton(closebutton, "", 0, me.closeButtonImage);
-                       closebutton.onClick = Dialog_Close;
-                       closebutton.onClickEntity = me;
-                       closebutton.srcMulti = 0;
-                       me.addItem(me, closebutton, '0 0 0', '1 1 0', 1);  // put it as LAST
+}
+
+void Dialog_close(entity me)
+{
+       if (me.parent.instanceOfNexposee) {
+               ExposeeCloseButton_Click(me, me.parent);
+               if (me.hideMenuOnClose) {
+                       me.hideMenuOnClose = false;
+                       m_hide();
                }
+       } else if (me.parent.instanceOfModalController) {
+               DialogCloseButton_Click(me, me);
        }
-
-       void Dialog_close(entity me)
-       {
-               if (me.parent.instanceOfNexposee)
-               {
-                       ExposeeCloseButton_Click(me, me.parent);
-                       if(me.hideMenuOnClose)
-                       {
-                               me.hideMenuOnClose = false;
-                               m_hide();
-                       }
+}
+
+float Dialog_keyDown(entity me, float key, float ascii, float shift)
+{
+       if (me.closable) {
+               if (key == K_ESCAPE) {
+                       m_play_click_sound(MENU_SOUND_CLOSE);
+                       me.close(me);
+                       return 1;
                }
-               else if (me.parent.instanceOfModalController)
-                       DialogCloseButton_Click(me, me);
        }
-
-       float Dialog_keyDown(entity me, float key, float ascii, float shift)
-       {
-               if (me.closable)
-               {
-                       if (key == K_ESCAPE)
-                       {
-                               m_play_click_sound(MENU_SOUND_CLOSE);
-                               me.close(me);
-                               return 1;
-                       }
-               }
-               float r = SUPER(Dialog).keyDown(me, key, ascii, shift);
-               if (!me.closable && key == K_ESCAPE)
-                       return 1;
-               return r;
+       float r = SUPER(Dialog).keyDown(me, key, ascii, shift);
+       if (!me.closable && key == K_ESCAPE) {
+               return 1;
        }
+       return r;
+}
index 6fa9b26ab38038fe9c271b495c8ff4cbd9a4052e..3f38f2ec4ac7972a6fbbf3ec32e47c04314884e6 100644 (file)
@@ -60,7 +60,7 @@ CLASS(Dialog, InputContainer)
        ATTRIB(Dialog, zoomedOutTitleBarPosition, float, 0);
        ATTRIB(Dialog, zoomedOutTitleBar, float, 0);
 
-       ATTRIB(Dialog, requiresConnection, float, 0);  // set to true if the dialog requires a connection to be opened
+       ATTRIB(Dialog, requiresConnection, float, 0); // set to true if the dialog requires a connection to be opened
 
        ATTRIB(Dialog, backgroundImage, string);
        ATTRIB(Dialog, borderLines, float, 1);
index d21b5676bd597d32da93d61b3f3a850d15d5af7b..627ad39175cc79ac125f8013d699ac25dabb501a 100644 (file)
 #include "label.qh"
 
-       string Label_toString(entity me)
-       {
-               return me.text;
+string Label_toString(entity me)
+{
+       return me.text;
+}
+void Label_setText(entity me, string txt)
+{
+       me.text = txt;
+       if (txt != me.currentText) {
+               if (me.currentText) { strunzone(me.currentText); }
+               me.currentText = strzone(txt);
+               me.recalcPos = 1;
        }
-       void Label_setText(entity me, string txt)
-       {
-               me.text = txt;
-               if (txt != me.currentText)
-               {
-                       if (me.currentText) strunzone(me.currentText);
-                       me.currentText = strzone(txt);
-                       me.recalcPos = 1;
-               }
+}
+void Label_recalcPositionWithText(entity me, string t)
+{
+       float spaceAvail;
+       spaceAvail = 1 - me.keepspaceLeft - me.keepspaceRight;
+
+       if (me.isBold) { draw_beginBoldFont(); }
+
+       float spaceUsed;
+       spaceUsed = draw_TextWidth(t, me.allowColors, me.realFontSize);
+
+       if (spaceUsed <= spaceAvail) {
+               if (!me.overrideRealOrigin_x) { me.realOrigin_x = me.align * (spaceAvail - spaceUsed) + me.keepspaceLeft; }
+               if (!me.overrideCondenseFactor) { me.condenseFactor = 1; }
+       } else if (me.allowCut || me.allowWrap) {
+               if (!me.overrideRealOrigin_x) { me.realOrigin_x = me.keepspaceLeft; }
+               if (!me.overrideCondenseFactor) { me.condenseFactor = 1; }
+       } else {
+               if (!me.overrideRealOrigin_x) { me.realOrigin_x = me.keepspaceLeft; }
+               if (!me.overrideCondenseFactor) { me.condenseFactor = spaceAvail / spaceUsed; }
+               LOG_TRACEF("NOTE: label text %s too wide for label, condensed by factor %f", t, me.condenseFactor);
        }
-       void Label_recalcPositionWithText(entity me, string t)
-       {
-               float spaceAvail;
-               spaceAvail = 1 - me.keepspaceLeft - me.keepspaceRight;
 
-               if (me.isBold) draw_beginBoldFont();
+       if (!me.overrideRealOrigin_y) {
+               float lines;
+               vector dfs;
+               vector fs;
+
+               // set up variables to draw in condensed size, but use hinting for original size
+               fs = me.realFontSize;
+               fs.x *= me.condenseFactor;
+
+               dfs = draw_fontscale;
+               draw_fontscale.x *= me.condenseFactor;
+
+               if (me.allowCut) { // FIXME allowCut incompatible with align != 0
+                       lines = 1;
+               } else if (me.allowWrap) { // FIXME allowWrap incompatible with align != 0
+                       getWrappedLine_remaining = me.text;
+                       lines = 0;
+                       while (getWrappedLine_remaining) {
+                               if (me.allowColors) { getWrappedLine((1 - me.keepspaceLeft - me.keepspaceRight), fs, draw_TextWidth_WithColors); } else { getWrappedLine((1 - me.keepspaceLeft - me.keepspaceRight), fs, draw_TextWidth_WithoutColors); }
+                               ++lines;
+                       }
+               } else {
+                       lines = 1;
+               }
+
+               draw_fontscale = dfs;
 
-               float spaceUsed;
-               spaceUsed = draw_TextWidth(t, me.allowColors, me.realFontSize);
+               me.realOrigin_y = 0.5 * (1 - lines * me.realFontSize.y);
+       }
 
-               if (spaceUsed <= spaceAvail)
-               {
-                       if (!me.overrideRealOrigin_x) me.realOrigin_x = me.align * (spaceAvail - spaceUsed) + me.keepspaceLeft;
-                       if (!me.overrideCondenseFactor) me.condenseFactor = 1;
-               }
-               else if (me.allowCut || me.allowWrap)
-               {
-                       if (!me.overrideRealOrigin_x) me.realOrigin_x = me.keepspaceLeft;
-                       if (!me.overrideCondenseFactor) me.condenseFactor = 1;
-               }
-               else
-               {
-                       if (!me.overrideRealOrigin_x) me.realOrigin_x = me.keepspaceLeft;
-                       if (!me.overrideCondenseFactor) me.condenseFactor = spaceAvail / spaceUsed;
-                       LOG_TRACEF("NOTE: label text %s too wide for label, condensed by factor %f", t, me.condenseFactor);
+       if (me.isBold) { draw_endBoldFont(); }
+
+       me.recalcPos = 0;
+}
+void Label_resizeNotify(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize)
+{
+       SUPER(Label).resizeNotify(me, relOrigin, relSize, absOrigin, absSize);
+
+       // absSize_y is height of label
+       me.realFontSize_y = absSize.y == 0 ? 0 : (me.fontSize / absSize.y);
+       me.realFontSize_x = absSize.x == 0 ? 0 : (me.fontSize / absSize.x);
+       if (me.marginLeft) { me.keepspaceLeft = me.marginLeft * me.realFontSize.x; }
+       if (me.marginRight) { me.keepspaceRight = me.marginRight * me.realFontSize.x; }
+
+       me.recalcPos = 1;
+}
+void Label_configureLabel(entity me, string txt, float sz, float algn)
+{
+       me.fontSize = sz;
+       me.align = algn;
+       me.setText(me, txt);
+}
+void Label_draw(entity me)
+{
+       string t;
+       vector o;
+       if (me.disabled) { draw_alpha *= me.disabledAlpha; }
+
+       if (me.textEntity) {
+               t = me.textEntity.toString(me.textEntity);
+               if (t != me.currentText) {
+                       if (me.currentText) { strunzone(me.currentText); }
+                       me.currentText = strzone(t);
+                       me.recalcPos = 1;
                }
+       } else {
+               t = me.text;
+       }
+
+       if (me.recalcPos) { me.recalcPositionWithText(me, t); }
 
-               if (!me.overrideRealOrigin_y)
-               {
-                       float lines;
+       if (me.fontSize) {
+               if (t) {
                        vector dfs;
                        vector fs;
 
+                       if (me.isBold) { draw_beginBoldFont(); }
+
                        // set up variables to draw in condensed size, but use hinting for original size
                        fs = me.realFontSize;
                        fs.x *= me.condenseFactor;
                        dfs = draw_fontscale;
                        draw_fontscale.x *= me.condenseFactor;
 
-                       if (me.allowCut)  // FIXME allowCut incompatible with align != 0
-                       {
-                               lines = 1;
-                       }
-                       else if (me.allowWrap)  // FIXME allowWrap incompatible with align != 0
-                       {
-                               getWrappedLine_remaining = me.text;
-                               lines = 0;
-                               while (getWrappedLine_remaining)
-                               {
-                                       if (me.allowColors) getWrappedLine((1 - me.keepspaceLeft - me.keepspaceRight), fs, draw_TextWidth_WithColors);
-                                       else getWrappedLine((1 - me.keepspaceLeft - me.keepspaceRight), fs, draw_TextWidth_WithoutColors);
-                                       ++lines;
+                       if (me.allowCut) { // FIXME allowCut incompatible with align != 0
+                               draw_Text(me.realOrigin, draw_TextShortenToWidth(t, (1 - me.keepspaceLeft - me.keepspaceRight), me.allowColors, fs), fs, me.colorL, me.alpha, me.allowColors);
+                       } else if (me.allowWrap) { // FIXME allowWrap incompatible with align != 0
+                               getWrappedLine_remaining = t;
+                               o = me.realOrigin;
+                               while (getWrappedLine_remaining) {
+                                       if (me.allowColors) { t = getWrappedLine((1 - me.keepspaceLeft - me.keepspaceRight), fs, draw_TextWidth_WithColors); } else { t = getWrappedLine((1 - me.keepspaceLeft - me.keepspaceRight), fs, draw_TextWidth_WithoutColors); }
+                                       draw_Text(o, t, fs, me.colorL, me.alpha, me.allowColors);
+                                       o.y += me.realFontSize.y;
                                }
-                       }
-                       else
-                       {
-                               lines = 1;
+                       } else {
+                               draw_Text(me.realOrigin, t, fs, me.colorL, me.alpha, me.allowColors);
                        }
 
                        draw_fontscale = dfs;
 
-                       me.realOrigin_y = 0.5 * (1 - lines * me.realFontSize.y);
+                       if (me.isBold) { draw_endBoldFont(); }
                }
-
-               if (me.isBold) draw_endBoldFont();
-
-               me.recalcPos = 0;
-       }
-       void Label_resizeNotify(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize)
-       {
-               SUPER(Label).resizeNotify(me, relOrigin, relSize, absOrigin, absSize);
-
-               // absSize_y is height of label
-               me.realFontSize_y = absSize.y == 0 ? 0 : (me.fontSize / absSize.y);
-               me.realFontSize_x = absSize.x == 0 ? 0 : (me.fontSize / absSize.x);
-               if (me.marginLeft) me.keepspaceLeft = me.marginLeft * me.realFontSize.x;
-               if (me.marginRight) me.keepspaceRight = me.marginRight * me.realFontSize.x;
-
-               me.recalcPos = 1;
-       }
-       void Label_configureLabel(entity me, string txt, float sz, float algn)
-       {
-               me.fontSize = sz;
-               me.align = algn;
-               me.setText(me, txt);
        }
-       void Label_draw(entity me)
-       {
-               string t;
-               vector o;
-               if (me.disabled) draw_alpha *= me.disabledAlpha;
-
-               if (me.textEntity)
-               {
-                       t = me.textEntity.toString(me.textEntity);
-                       if (t != me.currentText)
-                       {
-                               if (me.currentText) strunzone(me.currentText);
-                               me.currentText = strzone(t);
-                               me.recalcPos = 1;
-                       }
-               }
-               else
-               {
-                       t = me.text;
-               }
-
-               if (me.recalcPos) me.recalcPositionWithText(me, t);
-
-               if (me.fontSize)
-                       if (t)
-                       {
-                               vector dfs;
-                               vector fs;
-
-                               if (me.isBold) draw_beginBoldFont();
-
-                               // set up variables to draw in condensed size, but use hinting for original size
-                               fs = me.realFontSize;
-                               fs.x *= me.condenseFactor;
 
-                               dfs = draw_fontscale;
-                               draw_fontscale.x *= me.condenseFactor;
-
-                               if (me.allowCut)  // FIXME allowCut incompatible with align != 0
-                               {
-                                       draw_Text(me.realOrigin, draw_TextShortenToWidth(t, (1 - me.keepspaceLeft - me.keepspaceRight), me.allowColors, fs), fs, me.colorL, me.alpha, me.allowColors);
-                               }
-                               else if (me.allowWrap)  // FIXME allowWrap incompatible with align != 0
-                               {
-                                       getWrappedLine_remaining = t;
-                                       o = me.realOrigin;
-                                       while (getWrappedLine_remaining)
-                                       {
-                                               if (me.allowColors) t = getWrappedLine((1 - me.keepspaceLeft - me.keepspaceRight), fs, draw_TextWidth_WithColors);
-                                               else t = getWrappedLine((1 - me.keepspaceLeft - me.keepspaceRight), fs, draw_TextWidth_WithoutColors);
-                                               draw_Text(o, t, fs, me.colorL, me.alpha, me.allowColors);
-                                               o.y += me.realFontSize.y;
-                                       }
-                               }
-                               else
-                               {
-                                       draw_Text(me.realOrigin, t, fs, me.colorL, me.alpha, me.allowColors);
-                               }
-
-                               draw_fontscale = dfs;
-
-                               if (me.isBold) draw_endBoldFont();
-                       }
-
-               SUPER(Label).draw(me);
-       }
+       SUPER(Label).draw(me);
+}
index 660431d60dd5cdd5a90a99cbc8c93b70cb0bae6d..343efba664a9b34a6aadecab30536e5cb01fc383 100644 (file)
 
 #include "button.qh"
 
-       .vector ModalController_initialSize;
-       .vector ModalController_initialOrigin;
-       .vector ModalController_initialFontScale;
-       .float ModalController_initialAlpha;
-       .vector ModalController_buttonSize;
-       .vector ModalController_buttonOrigin;
-       .float ModalController_state;
-       .float ModalController_factor;
-       .entity ModalController_controllingButton;
-
-       void ModalController_initializeDialog(entity me, entity root)
-       {
-               me.hideAll(me, 1);
-               me.showChild(me, root, '0 0 0', '0 0 0', 1);  // someone else animates for us
-       }
-
-       void TabButton_Click(entity button, entity tab)
-       {
-               if (tab.ModalController_state == 1) return;
-               tab.parent.hideAll(tab.parent, 0);
-               button.forcePressed = 1;
-               tab.ModalController_controllingButton = button;
-               tab.parent.showChild(tab.parent, tab, button.origin, button.size, 0);
-       }
-
-       void DialogOpenButton_Click(entity button, entity tab)
-       {
-               DialogOpenButton_Click_withCoords(button, tab, button.origin, button.size);
-       }
-
-       void DialogOpenButton_Click_withCoords(entity button, entity tab, vector theOrigin, vector theSize)
-       {
-               if (tab.ModalController_state) return;
-               if (button) button.forcePressed = 1;
-               if (tab.parent.focusedChild) tab.parent.focusedChild.saveFocus(tab.parent.focusedChild);
-               tab.ModalController_controllingButton = button;
-               tab.parent.showChild(tab.parent, tab, theOrigin, theSize, 0);
-       }
-
-       void DialogCloseButton_Click(entity button, entity tab)
-       {
-               tab.parent.hideChild(tab.parent, tab, 0);
-       }
-
-       void ModalController_resizeNotify(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize)
-       {
-               me.resizeNotifyLie(me, relOrigin, relSize, absOrigin, absSize, ModalController_initialOrigin, ModalController_initialSize, ModalController_initialFontScale);
+.vector ModalController_initialSize;
+.vector ModalController_initialOrigin;
+.vector ModalController_initialFontScale;
+.float ModalController_initialAlpha;
+.vector ModalController_buttonSize;
+.vector ModalController_buttonOrigin;
+.float ModalController_state;
+.float ModalController_factor;
+.entity ModalController_controllingButton;
+
+void ModalController_initializeDialog(entity me, entity root)
+{
+       me.hideAll(me, 1);
+       me.showChild(me, root, '0 0 0', '0 0 0', 1); // someone else animates for us
+}
+
+void TabButton_Click(entity button, entity tab)
+{
+       if (tab.ModalController_state == 1) { return; }
+       tab.parent.hideAll(tab.parent, 0);
+       button.forcePressed = 1;
+       tab.ModalController_controllingButton = button;
+       tab.parent.showChild(tab.parent, tab, button.origin, button.size, 0);
+}
+
+void DialogOpenButton_Click(entity button, entity tab)
+{
+       DialogOpenButton_Click_withCoords(button, tab, button.origin, button.size);
+}
+
+void DialogOpenButton_Click_withCoords(entity button, entity tab, vector theOrigin, vector theSize)
+{
+       if (tab.ModalController_state) { return; }
+       if (button) { button.forcePressed = 1; }
+       if (tab.parent.focusedChild) { tab.parent.focusedChild.saveFocus(tab.parent.focusedChild); }
+       tab.ModalController_controllingButton = button;
+       tab.parent.showChild(tab.parent, tab, theOrigin, theSize, 0);
+}
+
+void DialogCloseButton_Click(entity button, entity tab)
+{
+       tab.parent.hideChild(tab.parent, tab, 0);
+}
+
+void ModalController_resizeNotify(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize)
+{
+       me.resizeNotifyLie(me, relOrigin, relSize, absOrigin, absSize, ModalController_initialOrigin, ModalController_initialSize, ModalController_initialFontScale);
+}
+
+void ModalController_switchState(entity me, entity other, float state, float skipAnimation)
+{
+       float previousState;
+       previousState = other.ModalController_state;
+       if (state == previousState && !skipAnimation) { return; }
+       other.ModalController_state = state;
+       switch (state) {
+               case 0:
+                       other.ModalController_factor = 1 - other.Container_alpha / other.ModalController_initialAlpha;
+                       // fading out
+                       break;
+               case 1:
+                       other.ModalController_factor = other.Container_alpha / other.ModalController_initialAlpha;
+                       if (previousState == 0 && !skipAnimation) {
+                               other.Container_origin = other.ModalController_buttonOrigin;
+                               other.Container_size = other.ModalController_buttonSize;
+                       }
+                       // zooming in
+                       break;
+               case 2:
+                       other.ModalController_factor = bound(0, (1 - other.Container_alpha / other.ModalController_initialAlpha) / me.fadedAlpha, 1);
+                       // fading out halfway
+                       break;
        }
-
-       void ModalController_switchState(entity me, entity other, float state, float skipAnimation)
-       {
-               float previousState;
-               previousState = other.ModalController_state;
-               if (state == previousState && !skipAnimation) return;
-               other.ModalController_state = state;
-               switch (state)
-               {
-                       case 0:
-                               other.ModalController_factor = 1 - other.Container_alpha / other.ModalController_initialAlpha;
-                               // fading out
-                               break;
-                       case 1:
-                               other.ModalController_factor = other.Container_alpha / other.ModalController_initialAlpha;
-                               if (previousState == 0 && !skipAnimation)
-                               {
-                                       other.Container_origin = other.ModalController_buttonOrigin;
-                                       other.Container_size = other.ModalController_buttonSize;
-                               }
-                               // zooming in
-                               break;
-                       case 2:
-                               other.ModalController_factor = bound(0, (1 - other.Container_alpha / other.ModalController_initialAlpha) / me.fadedAlpha, 1);
-                               // fading out halfway
-                               break;
+       if (skipAnimation) { other.ModalController_factor = 1; }
+}
+
+void ModalController_draw(entity me)
+{
+       entity e;
+       entity front;
+       float animating;
+       float f;  // animation factor
+       float df; // animation step size
+       float prevFactor, targetFactor;
+       vector targetOrigin, targetSize;
+       float targetAlpha;
+       vector fs;
+       animating = 0;
+
+       front = NULL;
+       for (e = me.firstChild; e; e = e.nextSibling) {
+               if (e.ModalController_state) {
+                       if (front) { me.switchState(me, front, 2, 0); }
+                       front = e;
                }
-               if (skipAnimation) other.ModalController_factor = 1;
        }
+       if (front) { me.switchState(me, front, 1, 0); }
+
+       df = frametime * 3; // animation speed
+
+       for (e = me.firstChild; e; e = e.nextSibling) {
+               if (e.ModalController_state == 2) {
+                       // fading out partially
+                       targetOrigin = e.Container_origin; // stay as is
+                       targetSize = e.Container_size;     // stay as is
+                       targetAlpha = me.fadedAlpha * e.ModalController_initialAlpha;
+               } else if (e.ModalController_state == 1) {
+                       // zooming in
+                       targetOrigin = e.ModalController_initialOrigin;
+                       targetSize = e.ModalController_initialSize;
+                       targetAlpha = e.ModalController_initialAlpha;
+               } else {
+                       // fading out
+                       targetOrigin = e.Container_origin; // stay as is
+                       targetSize = e.Container_size;     // stay as is
+                       targetAlpha = 0;
+               }
 
-       void ModalController_draw(entity me)
-       {
-               entity e;
-               entity front;
-               float animating;
-               float f;  // animation factor
-               float df; // animation step size
-               float prevFactor, targetFactor;
-               vector targetOrigin, targetSize;
-               float targetAlpha;
-               vector fs;
-               animating = 0;
-
-               front = NULL;
-               for (e = me.firstChild; e; e = e.nextSibling)
-                       if (e.ModalController_state)
-                       {
-                               if (front) me.switchState(me, front, 2, 0);
-                               front = e;
-                       }
-               if (front) me.switchState(me, front, 1, 0);
-
-               df = frametime * 3;  // animation speed
-
-               for (e = me.firstChild; e; e = e.nextSibling)
-               {
-                       if (e.ModalController_state == 2)
-                       {
-                               // fading out partially
-                               targetOrigin = e.Container_origin; // stay as is
-                               targetSize = e.Container_size;     // stay as is
-                               targetAlpha = me.fadedAlpha * e.ModalController_initialAlpha;
-                       }
-                       else if (e.ModalController_state == 1)
-                       {
-                               // zooming in
-                               targetOrigin = e.ModalController_initialOrigin;
-                               targetSize = e.ModalController_initialSize;
-                               targetAlpha = e.ModalController_initialAlpha;
-                       }
-                       else
-                       {
-                               // fading out
-                               targetOrigin = e.Container_origin; // stay as is
-                               targetSize = e.Container_size;     // stay as is
-                               targetAlpha = 0;
-                       }
-
-                       f = (e.ModalController_factor = min(1, e.ModalController_factor + df));
-                       if (f == 1)
-                       {
-                               prevFactor = 0;
-                               targetFactor = 1;
-                               e.Container_origin = targetOrigin;
-                               e.Container_size = targetSize;
-                               me.setAlphaOf(me, e, targetAlpha);
-                       }
-                       else
-                       {
-                               prevFactor = (1 - f) / (1 - f + df);
-                               if (!e.ModalController_state)  // optimize code and avoid precision errors
-                               {
-                                       me.setAlphaOf(me, e, e.Container_alpha  * prevFactor);
+               f = (e.ModalController_factor = min(1, e.ModalController_factor + df));
+               if (f == 1) {
+                       prevFactor = 0;
+                       targetFactor = 1;
+                       e.Container_origin = targetOrigin;
+                       e.Container_size = targetSize;
+                       me.setAlphaOf(me, e, targetAlpha);
+               } else {
+                       prevFactor = (1 - f) / (1 - f + df);
+                       if (!e.ModalController_state) { // optimize code and avoid precision errors
+                               me.setAlphaOf(me, e, e.Container_alpha  * prevFactor);
+                       } else {
+                               animating = 1;
+                               targetFactor = df / (1 - f + df);
+
+                               if (e.ModalController_state == 1) {
+                                       e.Container_origin = e.Container_origin * prevFactor + targetOrigin * targetFactor;
+                                       e.Container_size   = e.Container_size   * prevFactor + targetSize   * targetFactor;
                                }
-                               else
-                               {
-                                       animating = 1;
-                                       targetFactor = df / (1 - f + df);
-
-                                       if (e.ModalController_state == 1)
-                                       {
-                                               e.Container_origin = e.Container_origin * prevFactor + targetOrigin * targetFactor;
-                                               e.Container_size   = e.Container_size   * prevFactor + targetSize   * targetFactor;
-                                       }
-                                       me.setAlphaOf(me, e, e.Container_alpha  * prevFactor + targetAlpha  * targetFactor);
-                               }
-                       }
-                       // assume: o == to * f_prev + X * (1 - f_prev)
-                       // make:   o' = to * f  + X * (1 - f)
-                       // -->
-                       // X == (o - to * f_prev) / (1 - f_prev)
-                       // o' = to * f + (o - to * f_prev) / (1 - f_prev) * (1 - f)
-                       // --> (maxima)
-                       // o' = (to * (f - f_prev) + o * (1 - f)) / (1 - f_prev)
-
-                       if (e.ModalController_state == 1)
-                       {
-                               fs = globalToBoxSize(e.Container_size, e.ModalController_initialSize);
-                               e.Container_fontscale_x = fs.x * e.ModalController_initialFontScale.x;
-                               e.Container_fontscale_y = fs.y * e.ModalController_initialFontScale.y;
+                               me.setAlphaOf(me, e, e.Container_alpha  * prevFactor + targetAlpha  * targetFactor);
                        }
                }
-
-               if (animating || !me.focused) me.setFocus(me, NULL);
-               else me.setFocus(me, front);
-               SUPER(ModalController).draw(me);
-       }
-
-       void ModalController_addTab(entity me, entity other, entity tabButton)
-       {
-               me.addItem(me, other, '0 0 0', '1 1 1', 1);
-               tabButton.onClick = TabButton_Click;
-               tabButton.onClickEntity = other;
-               other.tabSelectingButton = tabButton;
-               if (other == me.firstChild)
-               {
-                       tabButton.forcePressed = 1;
-                       other.ModalController_controllingButton = tabButton;
-                       me.showChild(me, other, '0 0 0', '0 0 0', 1);
+               // assume: o == to * f_prev + X * (1 - f_prev)
+               // make:   o' = to * f  + X * (1 - f)
+               // -->
+               // X == (o - to * f_prev) / (1 - f_prev)
+               // o' = to * f + (o - to * f_prev) / (1 - f_prev) * (1 - f)
+               // --> (maxima)
+               // o' = (to * (f - f_prev) + o * (1 - f)) / (1 - f_prev)
+
+               if (e.ModalController_state == 1) {
+                       fs = globalToBoxSize(e.Container_size, e.ModalController_initialSize);
+                       e.Container_fontscale_x = fs.x * e.ModalController_initialFontScale.x;
+                       e.Container_fontscale_y = fs.y * e.ModalController_initialFontScale.y;
                }
        }
 
-       void ModalController_addItem(entity me, entity other, vector theOrigin, vector theSize, float theAlpha)
-       {
-               SUPER(ModalController).addItem(me, other, theOrigin, theSize, (other == me.firstChild) ? theAlpha : 0);
-               other.ModalController_initialFontScale = other.Container_fontscale;
-               other.ModalController_initialSize = other.Container_size;
-               other.ModalController_initialOrigin = other.Container_origin;
-               other.ModalController_initialAlpha = theAlpha;  // hope Container never modifies this
-               if (other.ModalController_initialFontScale == '0 0 0') other.ModalController_initialFontScale = '1 1 0';
+       if (animating || !me.focused) { me.setFocus(me, NULL); } else { me.setFocus(me, front); }
+       SUPER(ModalController).draw(me);
+}
+
+void ModalController_addTab(entity me, entity other, entity tabButton)
+{
+       me.addItem(me, other, '0 0 0', '1 1 1', 1);
+       tabButton.onClick = TabButton_Click;
+       tabButton.onClickEntity = other;
+       other.tabSelectingButton = tabButton;
+       if (other == me.firstChild) {
+               tabButton.forcePressed = 1;
+               other.ModalController_controllingButton = tabButton;
+               me.showChild(me, other, '0 0 0', '0 0 0', 1);
        }
-
-       void ModalController_showChild(entity me, entity other, vector theOrigin, vector theSize, float skipAnimation)
-       {
-               if (other.ModalController_state == 0 || skipAnimation)
-               {
-                       me.setFocus(me, NULL);
-                       if (!skipAnimation)
-                       {
-                               other.ModalController_buttonOrigin = globalToBox(theOrigin, me.origin, me.size);
-                               other.ModalController_buttonSize = globalToBoxSize(theSize, me.size);
-                       }
-                       me.switchState(me, other, 1, skipAnimation);
-               }  // zoom in from button (factor increases)
-       }
-
-       void ModalController_hideAll(entity me, float skipAnimation)
-       {
-               entity e;
-               for (e = me.firstChild; e; e = e.nextSibling)
-                       me.hideChild(me, e, skipAnimation);
-       }
-
-       void ModalController_hideChild(entity me, entity other, float skipAnimation)
-       {
-               if (other.ModalController_state || skipAnimation)
-               {
-                       me.setFocus(me, NULL);
-                       me.switchState(me, other, 0, skipAnimation);
-                       if (other.ModalController_controllingButton)
-                       {
-                               other.ModalController_controllingButton.forcePressed = 0;
-                               other.ModalController_controllingButton = NULL;
-                       }
-               }  // just alpha fade out (factor increases and decreases alpha)
+}
+
+void ModalController_addItem(entity me, entity other, vector theOrigin, vector theSize, float theAlpha)
+{
+       SUPER(ModalController).addItem(me, other, theOrigin, theSize, (other == me.firstChild) ? theAlpha : 0);
+       other.ModalController_initialFontScale = other.Container_fontscale;
+       other.ModalController_initialSize = other.Container_size;
+       other.ModalController_initialOrigin = other.Container_origin;
+       other.ModalController_initialAlpha = theAlpha; // hope Container never modifies this
+       if (other.ModalController_initialFontScale == '0 0 0') { other.ModalController_initialFontScale = '1 1 0'; }
+}
+
+void ModalController_showChild(entity me, entity other, vector theOrigin, vector theSize, float skipAnimation)
+{
+       if (other.ModalController_state == 0 || skipAnimation) {
+               me.setFocus(me, NULL);
+               if (!skipAnimation) {
+                       other.ModalController_buttonOrigin = globalToBox(theOrigin, me.origin, me.size);
+                       other.ModalController_buttonSize = globalToBoxSize(theSize, me.size);
+               }
+               me.switchState(me, other, 1, skipAnimation);
+       } // zoom in from button (factor increases)
+}
+
+void ModalController_hideAll(entity me, float skipAnimation)
+{
+       entity e;
+       for (e = me.firstChild; e; e = e.nextSibling) {
+               me.hideChild(me, e, skipAnimation);
        }
+}
+
+void ModalController_hideChild(entity me, entity other, float skipAnimation)
+{
+       if (other.ModalController_state || skipAnimation) {
+               me.setFocus(me, NULL);
+               me.switchState(me, other, 0, skipAnimation);
+               if (other.ModalController_controllingButton) {
+                       other.ModalController_controllingButton.forcePressed = 0;
+                       other.ModalController_controllingButton = NULL;
+               }
+       } // just alpha fade out (factor increases and decreases alpha)
+}
index 00dcb680ad0d7e652000719d8312e02eacdaab95..e2a2c9fe0cea3b59df8d4027d62730714087a7e1 100644 (file)
@@ -1,24 +1,22 @@
 #include "radiobutton.qh"
 
-       void RadioButton_configureRadioButton(entity me, string txt, float sz, string gfx, float theGroup, float doAllowDeselect)
-       {
-               me.configureCheckBox(me, txt, sz, gfx);
-               me.align = 0;
-               me.group = theGroup;
-               me.allowDeselect = doAllowDeselect;
-       }
-       void RadioButton_Click(entity me, entity other)
-       {
-               if (me.checked)
-               {
-                       if (me.allowDeselect) me.setChecked(me, 0);
-               }
-               else
-               {
-                       entity e;
-                       for (e = me.parent.firstChild; e; e = e.nextSibling)
-                               if (e != me)
-                                       if (e.group == me.group) e.setChecked(e, 0);
-                       me.setChecked(me, 1);
+void RadioButton_configureRadioButton(entity me, string txt, float sz, string gfx, float theGroup, float doAllowDeselect)
+{
+       me.configureCheckBox(me, txt, sz, gfx);
+       me.align = 0;
+       me.group = theGroup;
+       me.allowDeselect = doAllowDeselect;
+}
+void RadioButton_Click(entity me, entity other)
+{
+       if (me.checked) {
+               if (me.allowDeselect) { me.setChecked(me, 0); }
+       } else {
+               entity e;
+               for (e = me.parent.firstChild; e; e = e.nextSibling) {
+                       if (e != me) {
+                               if (e.group == me.group) { e.setChecked(e, 0); } }
                }
+               me.setChecked(me, 1);
        }
+}
index 18c9e495979f1ae24a5b2a495bf575c4571006eb..2b0c9d106046a14966620af4f6557970b8d8fecc 100644 (file)
@@ -6,7 +6,7 @@ CLASS(Tab, Dialog)
        ATTRIB(Tab, closable, float, 0);
        ATTRIB(Tab, rootDialog, float, 0);
        ATTRIB(Tab, title, string);
-       ATTRIB(Tab, titleFontSize, float, 0);  // pixels
+       ATTRIB(Tab, titleFontSize, float, 0); // pixels
 
        // still to be customized
        ATTRIB(Tab, intendedWidth, float, 0);
index 01f89fc4d8c6fd2779ecce4fb5203c5ab6b35110..ce8cbf6f50f5c92965d6ff2393cbfd260df2c767 100644 (file)
@@ -1,64 +1,63 @@
 #include "textslider.qh"
 
-       string TextSlider_valueToIdentifier(entity me, int val)
-       {
-               if (val >= me.nValues) return "custom";
-               if (val < 0) return "custom";
-               return me.(valueIdentifiers[val]);
-       }
-       string TextSlider_valueToText(entity me, int val)
-       {
-               if (val >= me.nValues) return _("Custom");
-               if (val < 0) return _("Custom");
-               return me.(valueStrings[val]);
-       }
-       void TextSlider_setValueFromIdentifier_allowAnim(entity me, string id, bool allowAnim)
-       {
-               int i;
-               for (i = 0; i < me.nValues; ++i)
-                       if (me.valueToIdentifier(me, i) == id)
-                       {
-                               SUPER(TextSlider).setValue_allowAnim(me, i, allowAnim);
-                               return;
-                       }
-               SUPER(TextSlider).setValue_allowAnim(me, -1, allowAnim);
-       }
-       void TextSlider_setValueFromIdentifier_noAnim(entity me, string id)
-       {
-               TextSlider_setValueFromIdentifier_allowAnim(me, id, false);
-       }
-       void TextSlider_setValueFromIdentifier(entity me, string id)
-       {
-               TextSlider_setValueFromIdentifier_allowAnim(me, id, true);
-       }
-       string TextSlider_getIdentifier(entity me)
-       {
-               return me.valueToIdentifier(me, me.value);
-       }
-       void TextSlider_clearValues(entity me)
-       {
-               me.nValues = 0;
-       }
-       void TextSlider_addValue(entity me, string theString, string theIdentifier)
-       {
-               me.(valueStrings[me.nValues]) = theString;
-               me.(valueIdentifiers[me.nValues]) = theIdentifier;
-               me.nValues += 1;
-       }
-       void TextSlider_insertValue(entity me, int pos, string theString, string theIdentifier)
-       {
-               int i;
-               for (i = me.nValues; i > pos; --i)
-               {
-                       me.(valueStrings[i]) = me.(valueStrings[i - 1]);
-                       me.(valueIdentifiers[i]) = me.(valueIdentifiers[i - 1]);
+string TextSlider_valueToIdentifier(entity me, int val)
+{
+       if (val >= me.nValues) { return "custom"; }
+       if (val < 0) { return "custom"; }
+       return me.(valueIdentifiers[val]);
+}
+string TextSlider_valueToText(entity me, int val)
+{
+       if (val >= me.nValues) { return _("Custom"); }
+       if (val < 0) { return _("Custom"); }
+       return me.(valueStrings[val]);
+}
+void TextSlider_setValueFromIdentifier_allowAnim(entity me, string id, bool allowAnim)
+{
+       int i;
+       for (i = 0; i < me.nValues; ++i) {
+               if (me.valueToIdentifier(me, i) == id) {
+                       SUPER(TextSlider).setValue_allowAnim(me, i, allowAnim);
+                       return;
                }
-               me.(valueStrings[pos]) = theString;
-               me.(valueIdentifiers[pos]) = theIdentifier;
-               me.nValues += 1;
-       }
-       void TextSlider_configureTextSliderValues(entity me, string theDefault)
-       {
-               me.configureSliderValues(me, 0, 0, me.nValues - 1, 1, 1, 1);
-               me.setValueFromIdentifier_noAnim(me, theDefault);
        }
+       SUPER(TextSlider).setValue_allowAnim(me, -1, allowAnim);
+}
+void TextSlider_setValueFromIdentifier_noAnim(entity me, string id)
+{
+       TextSlider_setValueFromIdentifier_allowAnim(me, id, false);
+}
+void TextSlider_setValueFromIdentifier(entity me, string id)
+{
+       TextSlider_setValueFromIdentifier_allowAnim(me, id, true);
+}
+string TextSlider_getIdentifier(entity me)
+{
+       return me.valueToIdentifier(me, me.value);
+}
+void TextSlider_clearValues(entity me)
+{
+       me.nValues = 0;
+}
+void TextSlider_addValue(entity me, string theString, string theIdentifier)
+{
+       me.(valueStrings[me.nValues]) = theString;
+       me.(valueIdentifiers[me.nValues]) = theIdentifier;
+       me.nValues += 1;
+}
+void TextSlider_insertValue(entity me, int pos, string theString, string theIdentifier)
+{
+       int i;
+       for (i = me.nValues; i > pos; --i) {
+               me.(valueStrings[i]) = me.(valueStrings[i - 1]);
+               me.(valueIdentifiers[i]) = me.(valueIdentifiers[i - 1]);
+       }
+       me.(valueStrings[pos]) = theString;
+       me.(valueIdentifiers[pos]) = theIdentifier;
+       me.nValues += 1;
+}
+void TextSlider_configureTextSliderValues(entity me, string theDefault)
+{
+       me.configureSliderValues(me, 0, 0, me.nValues - 1, 1, 1, 1);
+       me.setValueFromIdentifier_noAnim(me, theDefault);
+}
index af14e0842b4dc749897a45e7fc2f18ae2dcaf6c4..8d5d5105517af2eec30ff734f406e28d08612040 100644 (file)
@@ -40,7 +40,7 @@ float realconwidth, realconheight;
 void m_sync()
 {
        updateCompression();
-       vidwidth_s = vidheight_s = vidpixelheight_s = 0;  // Force updateConwidths on next draw
+       vidwidth_s = vidheight_s = vidpixelheight_s = 0; // Force updateConwidths on next draw
 
        loadAllCvars(main);
 }
@@ -48,9 +48,9 @@ void m_sync()
 void m_gamestatus()
 {
        gamestatus = 0;
-       if (isserver()) gamestatus |= GAME_ISSERVER;
-       if (clientstate() == CS_CONNECTED || isdemo()) gamestatus |= GAME_CONNECTED;
-       if (cvar("developer")) gamestatus |= GAME_DEVELOPER;
+       if (isserver()) { gamestatus |= GAME_ISSERVER; }
+       if (clientstate() == CS_CONNECTED || isdemo()) { gamestatus |= GAME_CONNECTED; }
+       if (cvar("developer")) { gamestatus |= GAME_DEVELOPER; }
 }
 
 void m_init()
@@ -58,8 +58,7 @@ void m_init()
        bool restarting = false;
        cvar_set("_menu_alpha", "0");
        prvm_language = cvar_string("prvm_language");
-       if (prvm_language == "")
-       {
+       if (prvm_language == "") {
                prvm_language = "en";
                cvar_set("prvm_language", prvm_language);
                localcmd("\nmenu_restart\n");
@@ -69,16 +68,14 @@ void m_init()
        cvar_set("_menu_prvm_language", prvm_language);
 
 #ifdef WATERMARK
-               LOG_INFOF("^4MQC Build information: ^1%s", WATERMARK);
+       LOG_INFOF("^4MQC Build information: ^1%s", WATERMARK);
 #endif
 
        // list all game dirs (TEST)
-       if (cvar("developer"))
-       {
-               for (int i = 0; ; ++i)
-               {
+       if (cvar("developer")) {
+               for (int i = 0; ; ++i) {
                        string s = getgamedirinfo(i, GETGAMEDIRINFO_NAME);
-                       if (!s) break;
+                       if (!s) { break; }
                        LOG_TRACE(s, ": ", getgamedirinfo(i, GETGAMEDIRINFO_DESCRIPTION));
                }
        }
@@ -93,13 +90,12 @@ void m_init()
        float ddsload = cvar("r_texture_dds_load");
        float texcomp = cvar("gl_texturecompression");
        updateCompression();
-       if (ddsload != cvar("r_texture_dds_load") || texcomp != cvar("gl_texturecompression")) localcmd("\nr_restart\n");
+       if (ddsload != cvar("r_texture_dds_load") || texcomp != cvar("gl_texturecompression")) { localcmd("\nr_restart\n"); }
 
-       if (!restarting)
-       {
-               if (cvar("_menu_initialized"))  // always show menu after menu_restart
+       if (!restarting) {
+               if (cvar("_menu_initialized")) { // always show menu after menu_restart
                        m_display();
-               else m_hide();
+               } else { m_hide(); }
                cvar_set("_menu_initialized", "1");
        }
 }
@@ -117,9 +113,8 @@ void draw_reset_full()
 
 void UpdateConWidthHeight(float w, float h, float p)
 {
-       if (w != vidwidth_s || h != vidheight_s || p != vidpixelheight_s)
-       {
-               if (updateConwidths(w, h, p)) localcmd(sprintf("\nexec %s\n", cvar_string("menu_font_cfg")));
+       if (w != vidwidth_s || h != vidheight_s || p != vidpixelheight_s) {
+               if (updateConwidths(w, h, p)) { localcmd(sprintf("\nexec %s\n", cvar_string("menu_font_cfg"))); }
                vidwidth_s = w;
                vidheight_s = h;
                vidpixelheight_s = p;
@@ -128,29 +123,22 @@ void UpdateConWidthHeight(float w, float h, float p)
        conheight_s = conheight;
        realconwidth = cvar("vid_conwidth");
        realconheight = cvar("vid_conheight");
-       if (realconwidth / realconheight > MENU_ASPECT)
-       {
+       if (realconwidth / realconheight > MENU_ASPECT) {
                // widescreen
                conwidth = realconheight * MENU_ASPECT;
                conheight = realconheight;
-       }
-       else
-       {
+       } else {
                // squarescreen
                conwidth = realconwidth;
                conheight = realconwidth / MENU_ASPECT;
        }
-       if (main)
-       {
-               if (conwidth_s != conwidth || conheight_s != conheight)
-               {
+       if (main) {
+               if (conwidth_s != conwidth || conheight_s != conheight) {
                        draw_reset_cropped();
                        main.resizeNotify(main, '0 0 0', eX * conwidth + eY * conheight, '0 0 0', eX * conwidth + eY * conheight);
                }
-       }
-       else
-       {
-               vidwidth_s = vidheight_s = vidpixelheight_s = 0;  // retry next frame
+       } else {
+               vidwidth_s = vidheight_s = vidpixelheight_s = 0; // retry next frame
        }
 }
 
@@ -160,44 +148,40 @@ void m_init_delayed()
        draw_reset_cropped();
 
        menuInitialized = false;
-       if (!preMenuInit()) return;
+       if (!preMenuInit()) { return; }
        menuInitialized = true;
 
        int fh = -1;
-       if (cvar_string("menu_skin") != "")
-       {
+       if (cvar_string("menu_skin") != "") {
                draw_currentSkin = strcat("gfx/menu/", cvar_string("menu_skin"));
                fh = fopen(strcat(draw_currentSkin, "/skinvalues.txt"), FILE_READ);
        }
-       if (fh < 0 && cvar_defstring("menu_skin") != "")
-       {
+       if (fh < 0 && cvar_defstring("menu_skin") != "") {
                cvar_set("menu_skin", cvar_defstring("menu_skin"));
                draw_currentSkin = strcat("gfx/menu/", cvar_string("menu_skin"));
                fh = fopen(strcat(draw_currentSkin, "/skinvalues.txt"), FILE_READ);
        }
-       if (fh < 0)
-       {
+       if (fh < 0) {
                draw_currentSkin = "gfx/menu/default";
                fh = fopen(strcat(draw_currentSkin, "/skinvalues.txt"), FILE_READ);
        }
-       if (fh < 0) error("cannot load any menu skin\n");
+       if (fh < 0) { error("cannot load any menu skin\n"); }
        draw_currentSkin = strzone(draw_currentSkin);
-       for (string s; (s = fgets(fh)); )
-       {
+       for (string s; (s = fgets(fh)); ) {
                // these two are handled by skinlist.qc
-               if (substring(s, 0, 6) == "title ") continue;
-               if (substring(s, 0, 7) == "author ") continue;
+               if (substring(s, 0, 6) == "title ") { continue; }
+               if (substring(s, 0, 7) == "author ") { continue; }
                int n = tokenize_console(s);
-               if (n < 2) continue;
+               if (n < 2) { continue; }
                Skin_ApplySetting(argv(0), substring(s, argv_start_index(1), argv_end_index(-1) - argv_start_index(1)));
        }
        fclose(fh);
 
        int glob = search_begin(strcat(draw_currentSkin, "/*.tga"), true, true);
-       if (glob >= 0)
-       {
-               for (int i = 0, n = search_getsize(glob); i < n; ++i)
+       if (glob >= 0) {
+               for (int i = 0, n = search_getsize(glob); i < n; ++i) {
                        precache_pic(search_getfilename(glob, i));
+               }
                search_end(glob);
        }
 
@@ -214,84 +198,78 @@ void m_init_delayed()
 
        m_sync();
 
-       if (m_goto_buffer)
-       {
+       if (m_goto_buffer) {
                m_goto(m_goto_buffer);
                strunzone(m_goto_buffer);
                m_goto_buffer = string_null;
        }
 
-       if (Menu_Active) m_display();  // delayed menu display
+       if (Menu_Active) {
+               m_display(); // delayed menu display
+       }
 }
 
 void m_keyup(float key, float ascii)
 {
-       if (!menuInitialized) return;
-       if (!Menu_Active) return;
+       if (!menuInitialized) { return; }
+       if (!Menu_Active) { return; }
        draw_reset_cropped();
        main.keyUp(main, key, ascii, menuShiftState);
-       if (key >= K_MOUSE1 && key <= K_MOUSE3)
-       {
+       if (key >= K_MOUSE1 && key <= K_MOUSE3) {
                --mouseButtonsPressed;
-               if (!mouseButtonsPressed) main.mouseRelease(main, menuMousePos);
-               if (mouseButtonsPressed < 0)
-               {
+               if (!mouseButtonsPressed) { main.mouseRelease(main, menuMousePos); }
+               if (mouseButtonsPressed < 0) {
                        mouseButtonsPressed = 0;
                        LOG_TRACE("Warning: released an already released button");
                }
        }
-       if (key == K_ALT) menuShiftState &= ~S_ALT;
-       if (key == K_CTRL) menuShiftState &= ~S_CTRL;
-       if (key == K_SHIFT) menuShiftState &= ~S_SHIFT;
+       if (key == K_ALT) { menuShiftState &= ~S_ALT; }
+       if (key == K_CTRL) { menuShiftState &= ~S_CTRL; }
+       if (key == K_SHIFT) { menuShiftState &= ~S_SHIFT; }
 }
 
 void m_keydown(float key, float ascii)
 {
-       if (!menuInitialized) return;
-       if (!Menu_Active) return;
+       if (!menuInitialized) { return; }
+       if (!Menu_Active) { return; }
 
-       if (menuMouseMode && key >= K_MOUSE1 && key <= K_MOUSE3)
-       {
+       if (menuMouseMode && key >= K_MOUSE1 && key <= K_MOUSE3) {
                // detect a click outside of the game window
                vector p = getmousepos();
-               if (p.x < 0 || p.x > realconwidth || p.y < 0 || p.y > realconheight)
-               {
+               if (p.x < 0 || p.x > realconwidth || p.y < 0 || p.y > realconheight) {
                        ++mouseButtonsPressed;
                        return;
                }
        }
 
-       if (keyGrabber)
-       {
+       if (keyGrabber) {
                entity e = keyGrabber;
                keyGrabber = NULL;
                e.keyGrabbed(e, key, ascii);
-       }
-       else
-       {
+       } else {
                draw_reset_cropped();
-               if (!mouseButtonsPressed && key >= K_MOUSE1 && key <= K_MOUSE3)
+               if (!mouseButtonsPressed && key >= K_MOUSE1 && key <= K_MOUSE3) {
                        main.mousePress(main, menuMousePos);
-               if (!main.keyDown(main, key, ascii, menuShiftState))
-               {
+               }
+               if (!main.keyDown(main, key, ascii, menuShiftState)) {
                        // disable menu on unhandled ESC
-                       if (key == K_ESCAPE)
-                               if (gamestatus & (GAME_ISSERVER | GAME_CONNECTED))  // don't back out to console only
+                       if (key == K_ESCAPE) {
+                               if (gamestatus & (GAME_ISSERVER | GAME_CONNECTED)) { // don't back out to console only
                                        m_hide();
+                               }
+                       }
                }
        }
-       if (key >= K_MOUSE1 && key <= K_MOUSE3)
-       {
+       if (key >= K_MOUSE1 && key <= K_MOUSE3) {
                ++mouseButtonsPressed;
-               if (mouseButtonsPressed > 10)
-               {
+               if (mouseButtonsPressed > 10) {
                        mouseButtonsPressed = 10;
                        LOG_TRACE("Warning: pressed an already pressed button");
                }
        }
-       if (key == K_ALT) menuShiftState |= S_ALT;
-       if (key == K_CTRL) menuShiftState |= S_CTRL;
-       if (key == K_SHIFT) menuShiftState |= S_SHIFT;
+       if (key == K_ALT) { menuShiftState |= S_ALT; }
+       if (key == K_CTRL) { menuShiftState |= S_CTRL; }
+       if (key == K_SHIFT) { menuShiftState |= S_SHIFT; }
 }
 
 enum {
@@ -308,8 +286,7 @@ void draw_Picture_Aligned(vector algn, float scalemode, string img, float a)
        vector isz_w = '1 0 0' + '0 1 0' * ((sz.y / sz.x) * (draw_scale.x / draw_scale.y));
        vector isz_h = '0 1 0' + '1 0 0' * ((sz.x / sz.y) * (draw_scale.y / draw_scale.x));
        vector isz;
-       switch (scalemode)
-       {
+       switch (scalemode) {
                default:
                case SCALEMODE_CROP:
                        isz = (width_is_larger ? isz_h : isz_w);
@@ -333,14 +310,12 @@ void draw_Picture_Aligned(vector algn, float scalemode, string img, float a)
 
 void drawBackground(string img, float a, string algn, float force1)
 {
-       if (main.mainNexposee.ModalController_state == 0) return;
+       if (main.mainNexposee.ModalController_state == 0) { return; }
        vector v = '0 0 0';
        int scalemode = SCALEMODE_CROP;
-       for (int i = 0, l = 0; i < strlen(algn); ++i)
-       {
+       for (int i = 0, l = 0; i < strlen(algn); ++i) {
                string c = substring(algn, i, 1);
-               switch (c)
-               {
+               switch (c) {
                        case "c":
                                scalemode = SCALEMODE_CROP;
                                goto nopic;
@@ -369,8 +344,7 @@ void drawBackground(string img, float a, string algn, float force1)
                                v.x = random();
                                break;
                }
-               switch (c)
-               {
+               switch (c) {
                        case "7": case "8": case "9":
                                v.y = 0.0;
                                break;
@@ -384,23 +358,18 @@ void drawBackground(string img, float a, string algn, float force1)
                                v.y = random();
                                break;
                }
-               if (l == 0)
-               {
+               if (l == 0) {
                        draw_Picture_Aligned(v, scalemode, img, a);
-               }
-               else if (force1)
-               {
+               } else if (force1) {
                        // force all secondary layers to use alpha 1. Prevents ugly issues
                        // with overlap. It's a flag because it cannot be used for the
                        // ingame background
                        draw_Picture_Aligned(v, scalemode, strcat(img, "_l", ftos(l + 1)), 1);
-               }
-               else
-               {
+               } else {
                        draw_Picture_Aligned(v, scalemode, strcat(img, "_l", ftos(l + 1)), a);
                }
                ++l;
-LABEL(nopic)
+               LABEL(nopic)
        }
 }
 
@@ -412,20 +381,20 @@ vector menuTooltipOrigin;
 vector menuTooltipSize;
 float menuTooltipAlpha;
 string menuTooltipText;
-int menuTooltipState;  // 0: static, 1: fading in, 2: fading out, 3: forced fading out
+int menuTooltipState; // 0: static, 1: fading in, 2: fading out, 3: forced fading out
 bool m_testmousetooltipbox(vector pos)
 {
        return !(
-           (pos.x >= menuTooltipOrigin.x && pos.x < menuTooltipOrigin.x + menuTooltipSize.x)
-           && (pos.y >= menuTooltipOrigin.y && pos.y < menuTooltipOrigin.y + menuTooltipSize.y)
-               );
+               (pos.x >= menuTooltipOrigin.x && pos.x < menuTooltipOrigin.x + menuTooltipSize.x)
+               && (pos.y >= menuTooltipOrigin.y && pos.y < menuTooltipOrigin.y + menuTooltipSize.y)
+       );
 }
 bool m_testtooltipbox(vector tooltippos)
 {
-       if (tooltippos.x < 0) return false;
-       if (tooltippos.y < 0) return false;
-       if (tooltippos.x + menuTooltipSize.x > 1) return false;
-       if (tooltippos.y + menuTooltipSize.y > 1) return false;
+       if (tooltippos.x < 0) { return false; }
+       if (tooltippos.y < 0) { return false; }
+       if (tooltippos.x + menuTooltipSize.x > 1) { return false; }
+       if (tooltippos.y + menuTooltipSize.y > 1) { return false; }
        menuTooltipOrigin = tooltippos;
        return true;
 }
@@ -443,58 +412,53 @@ bool m_allocatetooltipbox(vector pos)
 
        // bottom right
        vector v = pos + avoidplus;
-       if (m_testtooltipbox(v)) return true;
+       if (m_testtooltipbox(v)) { return true; }
 
        // bottom center
        v.x = pos.x - menuTooltipSize.x * 0.5;
-       if (m_testtooltipbox(v)) return true;
+       if (m_testtooltipbox(v)) { return true; }
 
        // bottom left
        v.x = pos.x - avoidminus.x;
-       if (m_testtooltipbox(v)) return true;
+       if (m_testtooltipbox(v)) { return true; }
 
        // top left
        v.y = pos.y - avoidminus.y;
-       if (m_testtooltipbox(v)) return true;
+       if (m_testtooltipbox(v)) { return true; }
 
        // top center
        v.x = pos.x - menuTooltipSize.x * 0.5;
-       if (m_testtooltipbox(v)) return true;
+       if (m_testtooltipbox(v)) { return true; }
 
        // top right
        v.x = pos.x + avoidplus.x;
-       if (m_testtooltipbox(v)) return true;
+       if (m_testtooltipbox(v)) { return true; }
 
        return false;
 }
 entity m_findtooltipitem(entity root, vector pos)
 {
        entity best = NULL;
-       for (entity it = root; it.instanceOfContainer; )
-       {
-               while (it.instanceOfNexposee && it.focusedChild)
-               {
+       for (entity it = root; it.instanceOfContainer; ) {
+               while (it.instanceOfNexposee && it.focusedChild) {
                        it = it.focusedChild;
                        pos = globalToBox(pos, it.Container_origin, it.Container_size);
                }
-               if (it.instanceOfNexposee)
-               {
+               if (it.instanceOfNexposee) {
                        it = it.itemFromPoint(it, pos);
-                       if (it.tooltip) best = it;
-                       else if (menu_tooltips == 2 && (it.cvarName || it.onClickCommand)) best = it;
+                       if (it.tooltip) { best = it; } else if (menu_tooltips == 2 && (it.cvarName || it.onClickCommand)) {
+                               best = it;
+                       }
                        it = NULL;
-               }
-               else if (it.instanceOfModalController)
-               {
+               } else if (it.instanceOfModalController) {
                        it = it.focusedChild;
-               }
-               else
-               {
+               } else {
                        it = it.itemFromPoint(it, pos);
                }
-               if (!it) break;
-               if (it.tooltip) best = it;
-               else if (menu_tooltips == 2 && (it.cvarName || it.onClickCommand)) best = it;
+               if (!it) { break; }
+               if (it.tooltip) { best = it; } else if (menu_tooltips == 2 && (it.cvarName || it.onClickCommand)) {
+                       best = it;
+               }
                pos = globalToBox(pos, it.Container_origin, it.Container_size);
        }
 
@@ -502,24 +466,19 @@ entity m_findtooltipitem(entity root, vector pos)
 }
 string gettooltip()
 {
-       if (menu_tooltips == 2)
-       {
+       if (menu_tooltips == 2) {
                string s;
-               if (menuTooltipItem.cvarName)
-               {
-                       if (getCvarsMulti(menuTooltipItem)) s =
-                                   strcat("[", menuTooltipItem.cvarName, " ", getCvarsMulti(menuTooltipItem), "]");
-                       else s = strcat("[", menuTooltipItem.cvarName, "]");
-               }
-               else if (menuTooltipItem.onClickCommand)
-               {
+               if (menuTooltipItem.cvarName) {
+                       if (getCvarsMulti(menuTooltipItem)) {
+                               s =
+                                       strcat("[", menuTooltipItem.cvarName, " ", getCvarsMulti(menuTooltipItem), "]");
+                       } else { s = strcat("[", menuTooltipItem.cvarName, "]"); }
+               } else if (menuTooltipItem.onClickCommand) {
                        s = strcat("<", menuTooltipItem.onClickCommand, ">");
-               }
-               else
-               {
+               } else {
                        return menuTooltipItem.tooltip;
                }
-               if (menuTooltipItem.tooltip) return strcat(menuTooltipItem.tooltip, " ", s);
+               if (menuTooltipItem.tooltip) { return strcat(menuTooltipItem.tooltip, " ", s); }
                return s;
        }
        return menuTooltipItem.tooltip;
@@ -529,73 +488,59 @@ void m_tooltip(vector pos)
        static string prev_tooltip;
        entity it;
        menu_tooltips = cvar("menu_tooltips");
-       if (!menu_tooltips)
-       {
+       if (!menu_tooltips) {
                // don't return immediately, fade out the active tooltip first
-               if (menuTooltipItem == NULL) return;
+               if (menuTooltipItem == NULL) { return; }
                it = NULL;
                menu_tooltips_old = menu_tooltips;
-       }
-       else
-       {
+       } else {
                float f = bound(0, frametime * 2, 1);
                menuTooltipAveragedMousePos = menuTooltipAveragedMousePos * (1 - f) + pos * f;
-               if (vdist(pos - menuTooltipAveragedMousePos, <, 0.01))
-               {
+               if (vdist(pos - menuTooltipAveragedMousePos, <, 0.01)) {
                        it = m_findtooltipitem(main, pos);
 
-                       if (it.instanceOfListBox && it.isScrolling(it)) it = NULL;
+                       if (it.instanceOfListBox && it.isScrolling(it)) { it = NULL; }
 
-                       if (it && prev_tooltip != it.tooltip)
-                       {
+                       if (it && prev_tooltip != it.tooltip) {
                                // fade out if tooltip of a certain item has changed
                                menuTooltipState = 3;
-                               if (prev_tooltip) strunzone(prev_tooltip);
+                               if (prev_tooltip) { strunzone(prev_tooltip); }
                                prev_tooltip = strzone(it.tooltip);
+                       } else if (menuTooltipItem && !m_testmousetooltipbox(pos)) {
+                               menuTooltipState = 3; // fade out if mouse touches it
                        }
-                       else if (menuTooltipItem && !m_testmousetooltipbox(pos))
-                       {
-                               menuTooltipState = 3;  // fade out if mouse touches it
-                       }
-               }
-               else
-               {
+               } else {
                        it = NULL;
                }
        }
        vector fontsize = '1 0 0' * (SKINFONTSIZE_TOOLTIP / conwidth) + '0 1 0' * (SKINFONTSIZE_TOOLTIP / conheight);
 
        // float menuTooltipState; // 0: static, 1: fading in, 2: fading out, 3: forced fading out
-       if (it != menuTooltipItem)
-       {
-               switch (menuTooltipState)
-               {
+       if (it != menuTooltipItem) {
+               switch (menuTooltipState) {
                        case 0:
-                               if (menuTooltipItem)
-                               {
+                               if (menuTooltipItem) {
                                        // another item: fade out first
                                        menuTooltipState = 2;
-                               }
-                               else
-                               {
+                               } else {
                                        // new item: fade in
                                        menuTooltipState = 1;
                                        menuTooltipItem = it;
 
-                                       menuTooltipOrigin.x = -1;  // unallocated
+                                       menuTooltipOrigin.x = -1; // unallocated
 
-                                       if (menuTooltipText) strunzone(menuTooltipText);
+                                       if (menuTooltipText) { strunzone(menuTooltipText); }
                                        menuTooltipText = strzone(gettooltip());
 
                                        int i = 0;
                                        float w = 0;
-                                       for (getWrappedLine_remaining = menuTooltipText; getWrappedLine_remaining && i <= 16; ++i)
-                                       {
+                                       for (getWrappedLine_remaining = menuTooltipText; getWrappedLine_remaining && i <= 16; ++i) {
                                                string s = getWrappedLine(SKINWIDTH_TOOLTIP, fontsize, draw_TextWidth_WithoutColors);
-                                               if (i == 16)
+                                               if (i == 16) {
                                                        s = "...";
+                                               }
                                                float f = draw_TextWidth(s, false, fontsize);
-                                               if (f > w) w = f;
+                                               if (f > w) { w = f; }
                                        }
                                        menuTooltipSize.x = w + 2 * (SKINMARGIN_TOOLTIP_x / conwidth);
                                        menuTooltipSize.y = i * fontsize.y + 2 * (SKINMARGIN_TOOLTIP_y / conheight);
@@ -610,51 +555,41 @@ void m_tooltip(vector pos)
                                // changing item while fading out: can't
                                break;
                }
-       }
-       else if (menuTooltipState == 2)  // re-fade in?
-       {
+       } else if (menuTooltipState == 2) { // re-fade in?
                menuTooltipState = 1;
        }
 
-       switch (menuTooltipState)
-       {
-               case 1:  // fade in
+       switch (menuTooltipState) {
+               case 1: // fade in
                        menuTooltipAlpha = bound(0, menuTooltipAlpha + 5 * frametime, 1);
-                       if (menuTooltipAlpha == 1) menuTooltipState = 0;
+                       if (menuTooltipAlpha == 1) { menuTooltipState = 0; }
                        break;
-               case 2:  // fade out
-               case 3:  // forced fade out
+               case 2: // fade out
+               case 3: // forced fade out
                        menuTooltipAlpha = bound(0, menuTooltipAlpha - 2 * frametime, 1);
-                       if (menuTooltipAlpha == 0)
-                       {
+                       if (menuTooltipAlpha == 0) {
                                menuTooltipState = 0;
                                menuTooltipItem = NULL;
                        }
                        break;
        }
 
-       if (menuTooltipItem == NULL)
-       {
-               if (menuTooltipText)
-               {
+       if (menuTooltipItem == NULL) {
+               if (menuTooltipText) {
                        strunzone(menuTooltipText);
                        menuTooltipText = string_null;
                }
                return;
-       }
-       else
-       {
-               if (menu_tooltips != menu_tooltips_old)
-               {
-                       if (menu_tooltips != 0 && menu_tooltips_old != 0) menuTooltipItem = NULL; // reload tooltip next frame
+       } else {
+               if (menu_tooltips != menu_tooltips_old) {
+                       if (menu_tooltips != 0 && menu_tooltips_old != 0) {
+                               menuTooltipItem = NULL;       // reload tooltip next frame
+                       }
                        menu_tooltips_old = menu_tooltips;
-               }
-               else if (menuTooltipOrigin.x < 0)                                             // unallocated?
-               {
+               } else if (menuTooltipOrigin.x < 0) { // unallocated?
                        m_allocatetooltipbox(pos);
                }
-               if (menuTooltipOrigin.x >= 0)
-               {
+               if (menuTooltipOrigin.x >= 0) {
                        // draw the tooltip!
                        vector p = SKINBORDER_TOOLTIP;
                        p.x *= 1 / conwidth;
@@ -664,11 +599,11 @@ void m_tooltip(vector pos)
                        p.x += SKINMARGIN_TOOLTIP_x / conwidth;
                        p.y += SKINMARGIN_TOOLTIP_y / conheight;
                        int i = 0;
-                       for (getWrappedLine_remaining = menuTooltipText; getWrappedLine_remaining && i <= 16; ++i, p.y += fontsize.y)
-                       {
+                       for (getWrappedLine_remaining = menuTooltipText; getWrappedLine_remaining && i <= 16; ++i, p.y += fontsize.y) {
                                string s = getWrappedLine(SKINWIDTH_TOOLTIP, fontsize, draw_TextWidth_WithoutColors);
-                               if (i == 16)
+                               if (i == 16) {
                                        s = "...";
+                               }
                                draw_Text(p, s, fontsize, SKINCOLOR_TOOLTIP, SKINALPHA_TOOLTIP * menuTooltipAlpha, false);
                        }
                }
@@ -678,19 +613,16 @@ void m_tooltip(vector pos)
 float autocvar_menu_force_on_disconnection;
 void m_draw(float width, float height)
 {
-       if (autocvar_menu_force_on_disconnection > 0)
-       {
+       if (autocvar_menu_force_on_disconnection > 0) {
                static float connected_time;
-               if (clientstate() == CS_DISCONNECTED)
-               {
-                       if (connected_time && time - connected_time > autocvar_menu_force_on_disconnection)
-                       {
+               if (clientstate() == CS_DISCONNECTED) {
+                       if (connected_time && time - connected_time > autocvar_menu_force_on_disconnection) {
                                m_toggle(true);
                                connected_time = 0;
                        }
-               }
-               else
+               } else {
                        connected_time = time;
+               }
        }
 
        m_gamestatus();
@@ -699,24 +631,21 @@ void m_draw(float width, float height)
 
        menuMouseMode = cvar("menu_mouse_absolute");
 
-       if (anim) anim.tickAll(anim);
+       if (anim) { anim.tickAll(anim); }
 
        UpdateConWidthHeight(width, height, cvar("vid_pixelheight"));
 
-       if (!menuInitialized)
-       {
+       if (!menuInitialized) {
                // TODO draw an info image about this situation
                m_init_delayed();
                return;
        }
-       if (!menuNotTheFirstFrame)
-       {
+       if (!menuNotTheFirstFrame) {
                menuNotTheFirstFrame = true;
-               if (Menu_Active && !cvar("menu_video_played"))
-        {
-            localcmd("cd loop $menu_cdtrack; play sound/announcer/default/welcome.wav\n");
-            menuLogoAlpha = -0.8;  // no idea why, but when I start this at zero, it jumps instead of fading FIXME
-        }
+               if (Menu_Active && !cvar("menu_video_played")) {
+                       localcmd("cd loop $menu_cdtrack; play sound/announcer/default/welcome.wav\n");
+                       menuLogoAlpha = -0.8; // no idea why, but when I start this at zero, it jumps instead of fading FIXME
+               }
                // ALWAYS set this cvar; if we start but menu is not active, this means we want no background music!
                localcmd("set menu_video_played 1\n");
        }
@@ -727,67 +656,52 @@ void m_draw(float width, float height)
        time += frametime;
 
        t = cvar("menu_slowmo");
-       if (t)
-       {
+       if (t) {
                frametime *= t;
                realFrametime *= t;
-       }
-       else
-       {
+       } else {
                t = 1;
        }
 
-       if (Menu_Active)
-       {
+       if (Menu_Active) {
                if (getmousetarget() == (menuMouseMode ? MT_CLIENT : MT_MENU)
-                   && (getkeydest() == KEY_MENU || getkeydest() == KEY_MENU_GRABBED))
-                       setkeydest(keyGrabber ? KEY_MENU_GRABBED : KEY_MENU);
-               else m_hide();
+                       && (getkeydest() == KEY_MENU || getkeydest() == KEY_MENU_GRABBED)) {
+                       setkeydest(keyGrabber ? KEY_MENU_GRABBED : KEY_MENU);
+               } else { m_hide(); }
        }
 
-       if (cvar("cl_capturevideo")) frametime = t / cvar("cl_capturevideo_fps");  // make capturevideo work smoothly
-
+       if (cvar("cl_capturevideo")) {
+               frametime = t / cvar("cl_capturevideo_fps"); // make capturevideo work smoothly
+       }
        prevMenuAlpha = menuAlpha;
-       if (Menu_Active)
-       {
-               if (menuAlpha == 0 && menuLogoAlpha < 2)
-               {
+       if (Menu_Active) {
+               if (menuAlpha == 0 && menuLogoAlpha < 2) {
                        menuLogoAlpha += 2 * frametime;
-               }
-               else
-               {
+               } else {
                        menuAlpha = min(1, menuAlpha + 5 * frametime);
                        menuLogoAlpha = 2;
                }
-       }
-       else
-       {
+       } else {
                menuAlpha = max(0, menuAlpha - 5 * frametime);
                menuLogoAlpha = 2;
        }
 
        draw_reset_cropped();
 
-       if (!(gamestatus & (GAME_CONNECTED | GAME_ISSERVER)))
-       {
-               if (menuLogoAlpha > 0)
-               {
+       if (!(gamestatus & (GAME_CONNECTED | GAME_ISSERVER))) {
+               if (menuLogoAlpha > 0) {
                        draw_reset_full();
                        draw_Fill('0 0 0', '1 1 0', SKINCOLOR_BACKGROUND, 1);
                        drawBackground(SKINGFX_BACKGROUND, bound(0, menuLogoAlpha, 1), SKINALIGN_BACKGROUND, true);
                        draw_reset_cropped();
-                       if (menuAlpha <= 0 && SKINALPHA_CURSOR_INTRO > 0)
-                       {
+                       if (menuAlpha <= 0 && SKINALPHA_CURSOR_INTRO > 0) {
                                draw_alpha = SKINALPHA_CURSOR_INTRO * bound(0, menuLogoAlpha, 1);
                                draw_drawMousePointer(menuMousePos);
                                draw_alpha = 1;
                        }
                }
-       }
-       else if (SKINALPHA_BACKGROUND_INGAME)
-       {
-               if (menuAlpha > 0)
-               {
+       } else if (SKINALPHA_BACKGROUND_INGAME) {
+               if (menuAlpha > 0) {
                        draw_reset_full();
                        drawBackground(SKINGFX_BACKGROUND_INGAME, menuAlpha * SKINALPHA_BACKGROUND_INGAME,
                                SKINALIGN_BACKGROUND_INGAME, false);
@@ -795,15 +709,14 @@ void m_draw(float width, float height)
                }
        }
 
-       if (menuAlpha != prevMenuAlpha) cvar_set("_menu_alpha", ftos(menuAlpha));
+       if (menuAlpha != prevMenuAlpha) { cvar_set("_menu_alpha", ftos(menuAlpha)); }
 
        draw_reset_cropped();
        preMenuDraw();
        draw_reset_cropped();
 
-       if (menuAlpha <= 0)
-       {
-               if (prevMenuAlpha > 0) main.initializeDialog(main, main.firstChild);
+       if (menuAlpha <= 0) {
+               if (prevMenuAlpha > 0) { main.initializeDialog(main, main.firstChild); }
                draw_reset_cropped();
                postMenuDraw();
                return;
@@ -811,30 +724,23 @@ void m_draw(float width, float height)
 
        draw_alpha *= menuAlpha;
 
-       if (menuMouseMode)
-       {
+       if (menuMouseMode) {
                vector rawMousePos = getmousepos();
                vector newMouse = globalToBox(rawMousePos, draw_shift, draw_scale);
-               if (rawMousePos != '0 0 0' && newMouse != menuMousePos)
-               {
+               if (rawMousePos != '0 0 0' && newMouse != menuMousePos) {
                        menuMousePos = newMouse;
-                       if (mouseButtonsPressed) main.mouseDrag(main, menuMousePos);
-                       else main.mouseMove(main, menuMousePos);
+                       if (mouseButtonsPressed) { main.mouseDrag(main, menuMousePos); } else { main.mouseMove(main, menuMousePos); }
                }
-       }
-       else if (frametime > 0)
-       {
-               vector dMouse = getmousepos() * (frametime / realFrametime);  // for capturevideo
-               if (dMouse != '0 0 0')
-               {
+       } else if (frametime > 0) {
+               vector dMouse = getmousepos() * (frametime / realFrametime); // for capturevideo
+               if (dMouse != '0 0 0') {
                        vector minpos = globalToBox('0 0 0', draw_shift, draw_scale);
                        vector maxpos = globalToBox(eX * (realconwidth - 1) + eY * (realconheight - 1), draw_shift, draw_scale);
                        dMouse = globalToBoxSize(dMouse, draw_scale);
                        menuMousePos += dMouse * cvar("menu_mouse_speed");
                        menuMousePos.x = bound(minpos.x, menuMousePos.x, maxpos.x);
                        menuMousePos.y = bound(minpos.y, menuMousePos.y, maxpos.y);
-                       if (mouseButtonsPressed) main.mouseDrag(main, menuMousePos);
-                       else main.mouseMove(main, menuMousePos);
+                       if (mouseButtonsPressed) { main.mouseDrag(main, menuMousePos); } else { main.mouseMove(main, menuMousePos); }
                }
        }
        main.draw(main);
@@ -858,9 +764,9 @@ void m_display()
        setkeydest(KEY_MENU);
        setmousetarget((menuMouseMode ? MT_CLIENT : MT_MENU));
 
-       if (!menuInitialized) return;
+       if (!menuInitialized) { return; }
 
-       if (mouseButtonsPressed) main.mouseRelease(main, menuMousePos);
+       if (mouseButtonsPressed) { main.mouseRelease(main, menuMousePos); }
        mouseButtonsPressed = 0;
 
        main.focusEnter(main);
@@ -873,7 +779,7 @@ void m_hide()
        setkeydest(KEY_GAME);
        setmousetarget(MT_CLIENT);
 
-       if (!menuInitialized) return;
+       if (!menuInitialized) { return; }
 
        main.focusLeave(main);
        main.hideNotify(main);
@@ -881,14 +787,11 @@ void m_hide()
 
 void m_toggle(int mode)
 {
-       if (Menu_Active)
-       {
-               if (mode == 1) return;
+       if (Menu_Active) {
+               if (mode == 1) { return; }
                m_hide();
-       }
-       else
-       {
-               if (mode == 0) return;
+       } else {
+               if (mode == 0) { return; }
                m_display();
        }
 }
@@ -897,88 +800,77 @@ void Shutdown()
 {
        m_hide();
        FOREACH_ENTITY_ORDERED(it.destroy, {
-               if (it.classname == "vtbl") continue;
+               if (it.classname == "vtbl") { continue; }
                it.destroy(it);
        });
 }
 
 void m_focus_item_chain(entity outermost, entity innermost)
 {
-       if (innermost.parent != outermost) m_focus_item_chain(outermost, innermost.parent);
+       if (innermost.parent != outermost) { m_focus_item_chain(outermost, innermost.parent); }
        innermost.parent.setFocus(innermost.parent, innermost);
 }
 
 void m_activate_window(entity wnd)
 {
        entity par = wnd.parent;
-       if (par) m_activate_window(par);
+       if (par) { m_activate_window(par); }
 
-       if (par.instanceOfModalController)
-       {
-               if (wnd.tabSelectingButton)
+       if (par.instanceOfModalController) {
+               if (wnd.tabSelectingButton) {
                        // tabs
                        TabButton_Click(wnd.tabSelectingButton, wnd);
-               else
+               } else {
                        // root
                        par.initializeDialog(par, wnd);
-       }
-       else if (par.instanceOfNexposee)
-       {
+               }
+       } else if (par.instanceOfNexposee) {
                // nexposee (sorry for violating abstraction here)
                par.selectedChild = wnd;
                par.animationState = 1;
                Container_setFocus(par, NULL);
-       }
-       else if (par.instanceOfContainer)
-       {
+       } else if (par.instanceOfContainer) {
                // other containers
-               if (par.focused) par.setFocus(par, wnd);
+               if (par.focused) { par.setFocus(par, wnd); }
        }
 }
 
 void m_setpointerfocus(entity wnd)
 {
-       if (!wnd.instanceOfContainer) return;
+       if (!wnd.instanceOfContainer) { return; }
        entity focus = wnd.preferredFocusedGrandChild(wnd);
-       if (!focus) return;
+       if (!focus) { return; }
        menuMousePos = focus.origin + 0.5 * focus.size;
        menuMousePos.x *= 1 / conwidth;
        menuMousePos.y *= 1 / conheight;
        entity par = wnd.parent;
-       if (par.focused) par.setFocus(par, wnd);
-       if (wnd.focused) m_focus_item_chain(wnd, focus);
+       if (par.focused) { par.setFocus(par, wnd); }
+       if (wnd.focused) { m_focus_item_chain(wnd, focus); }
 }
 
 void m_goto(string itemname)
 {
-       if (!menuInitialized)
-       {
-               if (m_goto_buffer) strunzone(m_goto_buffer);
+       if (!menuInitialized) {
+               if (m_goto_buffer) { strunzone(m_goto_buffer); }
                m_goto_buffer = strzone(itemname);
                return;
        }
-       if (itemname == "")  // this can be called by GameCommand
-       {
-               if (gamestatus & (GAME_ISSERVER | GAME_CONNECTED))
-               {
+       if (itemname == "") { // this can be called by GameCommand
+               if (gamestatus & (GAME_ISSERVER | GAME_CONNECTED)) {
                        m_hide();
-               }
-               else
-               {
+               } else {
                        m_activate_window(main.mainNexposee);
                        m_display();
                }
-       }
-       else
-       {
+       } else {
                entity e;
-               for (e = NULL; (e = find(e, name, itemname)); )
-                       if (e.classname != "vtbl") break;
+               for (e = NULL; (e = find(e, name, itemname)); ) {
+                       if (e.classname != "vtbl") { break; } }
 
-               if ((e) && (!e.requiresConnection || (gamestatus & (GAME_ISSERVER | GAME_CONNECTED))))
-               {
-                       if(!Menu_Active)
+               if ((e) && (!e.requiresConnection || (gamestatus & (GAME_ISSERVER | GAME_CONNECTED)))) {
+                       if (!Menu_Active) {
                                e.hideMenuOnClose = true;
+                       }
                        m_hide();
                        m_activate_window(e);
                        m_setpointerfocus(e);
@@ -990,14 +882,14 @@ void m_goto(string itemname)
 void m_play_focus_sound()
 {
        static float menuLastFocusSoundTime;
-       if (cvar("menu_sounds") < 2) return;
-       if (time - menuLastFocusSoundTime <= 0.25) return;
+       if (cvar("menu_sounds") < 2) { return; }
+       if (time - menuLastFocusSoundTime <= 0.25) { return; }
        localsound(MENU_SOUND_FOCUS);
        menuLastFocusSoundTime = time;
 }
 
 void m_play_click_sound(string soundfile)
 {
-       if (!cvar("menu_sounds")) return;
+       if (!cvar("menu_sounds")) { return; }
        localsound(soundfile);
 }
index 4287e24e59f3ddfbc156f04b3a287fcdd894b113..e1d5f5a99ad35d174bc7c22c9052de359fe97c9a 100644 (file)
@@ -1,10 +1,10 @@
 #pragma once
 
 #define SKINBEGIN
-#define SKINVECTOR(name,def) vector SKIN##name = def
-#define SKINFLOAT(name,def) float SKIN##name = def
-//#define SKINSTRING(name,def) const string SKIN##name = def
-#define SKINSTRING(name,def) string SKIN##name = def
+#define SKINVECTOR(name, def) vector SKIN##name = def
+#define SKINFLOAT(name, def) float SKIN##name = def
+// #define SKINSTRING(name,def) const string SKIN##name = def
+#define SKINSTRING(name, def) string SKIN##name = def
 #define SKINEND
 #include "skin-customizables.inc"
 #undef SKINEND
 #undef SKINFLOAT
 #undef SKINVECTOR
 
-#define SKINBEGIN void Skin_ApplySetting(string key, string _value) { switch(key) {
-#define SKINVECTOR(name,def) case #name: SKIN##name = stov(_value); break
-#define SKINFLOAT(name,def) case #name: SKIN##name = stof(_value); break
-//#define SKINSTRING(name,def) case #name: break
-#define SKINSTRING(name,def) case #name: SKIN##name = strzone(_value); break
-       // I know this leaks memory when skin is read multiple times. Screw it.
+#define SKINBEGIN void Skin_ApplySetting(string key, string _value) { switch (key) {
+#define SKINVECTOR(name, def) case #name: SKIN##name = stov(_value); break
+#define SKINFLOAT(name, def) case #name: SKIN##name = stof(_value); break
+// #define SKINSTRING(name,def) case #name: break
+#define SKINSTRING(name, def) case #name: SKIN##name = strzone(_value); break
+// I know this leaks memory when skin is read multiple times. Screw it.
 #define SKINEND case "": break; case "//": break; default: LOG_TRACE("Invalid key in skin file: ", key); } }
 #include "skin-customizables.inc"
 #undef SKINEND
index d86c4a4537b062fab660bbe5e180cd82976fb266..ea6df3561494bd8b8c66844725f00680614b452e 100644 (file)
@@ -14,12 +14,9 @@ entity makeXonoticButton(string theText, vector theColor)
 
 void XonoticButton_configureXonoticButton(entity me, string theText, vector theColor, string theTooltip)
 {
-       if(theColor == '0 0 0')
-       {
+       if (theColor == '0 0 0') {
                me.configureButton(me, theText, me.fontSize, me.image);
-       }
-       else
-       {
+       } else {
                me.configureButton(me, theText, me.fontSize, me.grayImage);
                me.color = theColor;
                me.colorC = theColor;
index cb418a4e1834fcce6076672f337e818fef681ca5..a095323acb41c5544eab879889a0f38f4790c1e9 100644 (file)
@@ -11,37 +11,35 @@ void rewrapCampaign(float w, float l0, float emptyheight, vector theFontSize)
        int n;
        float l;
        string r, s;
-       for(i = 0; i < campaign_entries; ++i)
-       {
+       for (i = 0; i < campaign_entries; ++i) {
                l = l0;
-               if(campaign_longdesc_wrapped[i])
+               if (campaign_longdesc_wrapped[i]) {
                        strunzone(campaign_longdesc_wrapped[i]);
+               }
                n = tokenizebyseparator(campaign_longdesc[i], "\n");
                r = "";
-               for(j = 0; j < n; ++j)
-               {
+               for (j = 0; j < n; ++j) {
                        s = argv(j);
-                       if(s == "")
-                       {
+                       if (s == "") {
                                l -= emptyheight;
                                r = strcat(r, "\n");
                                continue;
                        }
 
                        getWrappedLine_remaining = s;
-                       while(getWrappedLine_remaining)
-                       {
+                       while (getWrappedLine_remaining) {
                                s = getWrappedLine(w, theFontSize, draw_TextWidth_WithoutColors);
-                               if(--l < 0) goto toolong;
+                               if (--l < 0) { goto toolong; }
                                r = strcat(r, s, "\n");
                        }
                }
                goto nottoolong;
-LABEL(toolong)
-               while(substring(r, strlen(r) - 1, 1) == "\n")
+               LABEL(toolong)
+               while (substring(r, strlen(r) - 1, 1) == "\n") {
                        r = substring(r, 0, strlen(r) - 1);
+               }
                r = strcat(r, "...\n");
-LABEL(nottoolong)
+               LABEL(nottoolong)
                campaign_longdesc_wrapped[i] = strzone(substring(r, 0, strlen(r) - 1));
        }
 }
@@ -63,17 +61,20 @@ void XonoticCampaignList_configureXonoticCampaignList(entity me)
 
 void XonoticCampaignList_destroy(entity me)
 {
-       if(me.campaignGlob >= 0)
+       if (me.campaignGlob >= 0) {
                search_end(me.campaignGlob);
+       }
 }
 
 void XonoticCampaignList_loadCvars(entity me)
 {
        // read campaign cvars
-       if(campaign_name)
+       if (campaign_name) {
                strunzone(campaign_name);
-       if(me.cvarName)
+       }
+       if (me.cvarName) {
                strunzone(me.cvarName);
+       }
        campaign_name = strzone(cvar_string("g_campaign_name"));
        me.cvarName = strzone(strcat("g_campaign", campaign_name, "_index"));
        registercvar(me.cvarName, "", 0); // saved by server QC anyway
@@ -81,14 +82,17 @@ void XonoticCampaignList_loadCvars(entity me)
        CampaignFile_Load(0, CAMPAIGN_MAX_ENTRIES);
        me.campaignIndex = bound(0, cvar(me.cvarName), campaign_entries);
        cvar_set(me.cvarName, ftos(me.campaignIndex));
-       if(me.columnNameSize)
+       if (me.columnNameSize) {
                rewrapCampaign(me.columnNameSize, me.rowsPerItem - 3, me.emptyLineHeight, me.realFontSize);
+       }
        me.nItems = min(me.campaignIndex + 2, campaign_entries);
        me.setSelected(me, min(me.campaignIndex, me.nItems - 1));
-       if(me.nItems - 1 > me.campaignIndex)
+       if (me.nItems - 1 > me.campaignIndex) {
                me.scrollToItem(me, me.nItems - 1);
-       if(me.labelTitle)
+       }
+       if (me.labelTitle) {
                me.labelTitle.setText(me.labelTitle, campaign_title);
+       }
 }
 
 void XonoticCampaignList_saveCvars(entity me)
@@ -107,36 +111,33 @@ void XonoticCampaignList_campaignGo(entity me, float step)
 
        canNext = canPrev = 0;
 
-       if(me.campaignGlob >= 0)
-       {
+       if (me.campaignGlob >= 0) {
                n = search_getsize(me.campaignGlob);
-               if(n > 0)
-               {
+               if (n > 0) {
                        j = -1;
                        s = strcat("maps/campaign", campaign_name, ".txt");
-                       for(i = 0; i < n; ++i)
-                       {
-                               if(search_getfilename(me.campaignGlob, i) == s)
+                       for (i = 0; i < n; ++i) {
+                               if (search_getfilename(me.campaignGlob, i) == s) {
                                        j = i;
+                               }
                        }
-                       if(j < 0)
-                       {
+                       if (j < 0) {
                                s = strcat("maps/campaign", cvar_defstring("g_campaign_name"), ".txt");
-                               for(i = 0; i < n; ++i)
-                               {
-                                       if(search_getfilename(me.campaignGlob, i) == s)
+                               for (i = 0; i < n; ++i) {
+                                       if (search_getfilename(me.campaignGlob, i) == s) {
                                                j = i;
+                                       }
                                }
                        }
-                       if(j < 0)
-                       {
-                               if(step >= 0)
+                       if (j < 0) {
+                               if (step >= 0) {
                                        j = 0;
-                               else
+                               } else {
                                        j = n - 1;
-                       }
-                       else
+                               }
+                       } else {
                                j = mod(j + step, n);
+                       }
                        s = search_getfilename(me.campaignGlob, j);
                        s = substring(s, 13, strlen(s) - 17);
                        cvar_set("g_campaign_name", s);
@@ -146,10 +147,12 @@ void XonoticCampaignList_campaignGo(entity me, float step)
                }
        }
 
-       if(me.buttonNext)
+       if (me.buttonNext) {
                me.buttonNext.disabled = !canNext;
-       if(me.buttonPrev)
+       }
+       if (me.buttonPrev) {
                me.buttonPrev.disabled = !canPrev;
+       }
 }
 
 void MultiCampaign_Next(entity btn, entity me)
@@ -163,8 +166,9 @@ void MultiCampaign_Prev(entity btn, entity me)
 
 void XonoticCampaignList_draw(entity me)
 {
-       if(cvar(me.cvarName) != me.campaignIndex || cvar_string("g_campaign_name") != campaign_name)
+       if (cvar(me.cvarName) != me.campaignIndex || cvar_string("g_campaign_name") != campaign_name) {
                me.loadCvars(me);
+       }
        SUPER(XonoticCampaignList).draw(me);
 }
 
@@ -203,63 +207,60 @@ void XonoticCampaignList_drawListBoxItem(entity me, int i, vector absSize, bool
        float j, n;
        vector o;
 
-       if(i < me.campaignIndex)
-       {
+       if (i < me.campaignIndex) {
                theAlpha = SKINALPHA_CAMPAIGN_SELECTABLE;
                theColor = SKINCOLOR_CAMPAIGN_SELECTABLE;
-       }
-       else if(i == me.campaignIndex)
-       {
+       } else if (i == me.campaignIndex) {
                theAlpha = SKINALPHA_CAMPAIGN_CURRENT;
                theColor = SKINCOLOR_CAMPAIGN_CURRENT;
-       }
-       else
-       {
+       } else {
                theAlpha = SKINALPHA_CAMPAIGN_FUTURE;
                theColor = SKINCOLOR_CAMPAIGN_FUTURE;
        }
 
-       if(isSelected)
+       if (isSelected) {
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
-       else if(isFocused)
-       {
+       } else if (isFocused) {
                me.focusedItemAlpha = getFadedAlpha(me.focusedItemAlpha, SKINALPHA_LISTBOX_FOCUSED, SKINFADEALPHA_LISTBOX_FOCUSED);
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_FOCUSED, me.focusedItemAlpha);
        }
 
-       if(draw_PictureSize(strcat("/maps/", campaign_mapname[i])) == '0 0 0')
+       if (draw_PictureSize(strcat("/maps/", campaign_mapname[i])) == '0 0 0') {
                draw_Picture(me.columnPreviewOrigin * eX, "nopreview_map", me.columnPreviewSize * eX + eY, '1 1 1', theAlpha);
-       else
+       } else {
                draw_Picture(me.columnPreviewOrigin * eX, strcat("/maps/", campaign_mapname[i]), me.columnPreviewSize * eX + eY, '1 1 1', theAlpha);
+       }
 
-       if(i < me.campaignIndex)
+       if (i < me.campaignIndex) {
                draw_Picture(me.checkMarkOrigin, "checkmark", me.checkMarkSize, '1 1 1', 1);
-       if(i <= me.campaignIndex)
+       }
+       if (i <= me.campaignIndex) {
                s = campaign_shortdesc[i]; // fteqcc sucks
-       else
+       } else {
                s = "???";
-       s = draw_TextShortenToWidth(sprintf(_("Level %d: %s"), i+1, s), me.columnNameSize, 0, me.realFontSize);
+       }
+       s = draw_TextShortenToWidth(sprintf(_("Level %d: %s"), i + 1, s), me.columnNameSize, 0, me.realFontSize);
        draw_Text(me.realUpperMargin1 * eY + (me.columnNameOrigin + 0.00 * (me.columnNameSize - draw_TextWidth(s, 0, me.realFontSize))) * eX, s, me.realFontSize, theColor, theAlpha, 0);
 
-       if(i <= me.campaignIndex)
-       {
+       if (i <= me.campaignIndex) {
                s = campaign_longdesc_wrapped[i];
                n = tokenizebyseparator(s, "\n");
                o = me.realUpperMargin2 * eY + me.columnNameOrigin * eX;
-               for(j = 0; j < n; ++j)
-                       if(argv(j) != "")
-                       {
+               for (j = 0; j < n; ++j) {
+                       if (argv(j) != "") {
                                draw_Text(o, argv(j), me.realFontSize, theColor, theAlpha * SKINALPHA_CAMPAIGN_DESCRIPTION, 0);
                                o.y += me.realFontSize.y;
-                       }
-                       else
+                       } else {
                                o.y += me.realFontSize.y * me.emptyLineHeight;
+                       }
+               }
        }
 }
 void CampaignList_LoadMap(entity btn, entity me)
 {
-       if(me.selectedItem >= me.nItems || me.selectedItem < 0)
+       if (me.selectedItem >= me.nItems || me.selectedItem < 0) {
                return;
+       }
        CampaignSetup(me.selectedItem);
 }
 
@@ -271,9 +272,10 @@ void XonoticCampaignList_setSelected(entity me, float i)
 
 float XonoticCampaignList_keyDown(entity me, float scan, float ascii, float shift)
 {
-       if(scan == K_ENTER || scan == K_SPACE || scan == K_KP_ENTER)
+       if (scan == K_ENTER || scan == K_SPACE || scan == K_KP_ENTER) {
                CampaignList_LoadMap(me, me);
-       else
+       } else {
                return SUPER(XonoticCampaignList).keyDown(me, scan, ascii, shift);
+       }
        return 1;
 }
index 28f67d9f5b5bd1f163f10589a754b773c1720e81..2513a6e893514714d2a63de9eb9c5b9433aa200b 100644 (file)
@@ -23,10 +23,11 @@ string charmap_cellToChar(entity me, vector cell)
 {
        string character = substring(CHARMAP, cell.y * me.columns + cell.x, 1);
 
-       if(character != " ")
+       if (character != " ") {
                return character;
-       else
+       } else {
                return "";
+       }
 }
 
 entity makeXonoticCharmap(entity controlledInputBox)
@@ -50,45 +51,45 @@ void XonoticCharmap_resizeNotify(entity me, vector relOrigin, vector relSize, ve
        float maxFontWidth = SKINFONTSIZE_NORMAL / absSize.x;
        float maxFontHeight = SKINFONTSIZE_NORMAL / absSize.y;
 
-       if((me.realCellSize.x * absSize.x) > (me.realCellSize.y * absSize.y))
-       {
+       if ((me.realCellSize.x * absSize.x) > (me.realCellSize.y * absSize.y)) {
                me.realFontSize_x = me.realCellSize.y * absSize.y / absSize.x;
                me.realFontSize_y = me.realCellSize.y;
-       }
-       else
-       {
+       } else {
                me.realFontSize_x = me.realCellSize.x;
                me.realFontSize_y = me.realCellSize.x * absSize.x / absSize.y;
        }
 
-       if(me.realFontSize.x > maxFontWidth || me.realFontSize.y > maxFontHeight)
+       if (me.realFontSize.x > maxFontWidth || me.realFontSize.y > maxFontHeight) {
                me.realFontSize = eX * maxFontWidth + eY * maxFontHeight;
+       }
 
        me.charOffset = eX * me.realCellSize.x / 2 + eY * ((me.realCellSize.y - me.realFontSize.y) / 2);
 }
 
 float XonoticCharmap_keyDown(entity me, float key, float ascii, float shift)
 {
-       if(SUPER(XonoticCharmap).keyDown(me, key, ascii, shift))
+       if (SUPER(XonoticCharmap).keyDown(me, key, ascii, shift)) {
                return 1;
+       }
        return me.inputBox.keyDown(me.inputBox, key, ascii, shift);
 }
 
 void XonoticCharmap_cellSelect(entity me, vector cell)
 {
        string character = charmap_cellToChar(me, cell);
-       if(character != "")
-       {
+       if (character != "") {
                me.inputBox.enterText(me.inputBox, character);
-               if(me.inputBox.applyButton)
+               if (me.inputBox.applyButton) {
                        me.inputBox.applyButton.disabled = false;
+               }
        }
 }
 
 bool XonoticCharmap_cellIsValid(entity me, vector cell)
 {
-       if(charmap_cellToChar(me, cell) == "")
+       if (charmap_cellToChar(me, cell) == "") {
                return false;
+       }
        return true;
 }
 
index 949b01c41da50c353beb177a70991d4683f28741..29f372cce1a20bc6d4058153515d238e271585a4 100644 (file)
@@ -3,23 +3,16 @@
 entity makeXonoticCheckBox_T(float isInverted, string theCvar, string theText, string theTooltip)
 {
        float m, n;
-       if(isInverted > 1)
-       {
+       if (isInverted > 1) {
                n = isInverted - 1;
                m = -n;
-       }
-       else if(isInverted < -1)
-       {
+       } else if (isInverted < -1) {
                n = isInverted + 1;
                m = -n;
-       }
-       else if(isInverted == 1)
-       {
+       } else if (isInverted == 1) {
                n = 1;
                m = 0;
-       }
-       else
-       {
+       } else {
                n = 0;
                m = 1;
        }
@@ -54,20 +47,21 @@ void XonoticCheckBox_configureXonoticCheckBox(entity me, float theYesValue, floa
 }
 void XonoticCheckBox_setChecked(entity me, float val)
 {
-       if(val != me.checked)
-       {
+       if (val != me.checked) {
                me.checked = val;
                me.saveCvars(me);
-               if(me.linkedCheckBox)
+               if (me.linkedCheckBox) {
                        me.linkedCheckBox.loadCvars(me.linkedCheckBox);
+               }
        }
 }
 void XonoticCheckBox_loadCvars(entity me)
 {
        float m, d;
 
-       if (!me.cvarName)
+       if (!me.cvarName) {
                return;
+       }
 
        m = (me.yesValue + me.noValue) * 0.5;
        d = (cvar(me.cvarName) - m) / (me.yesValue - m);
@@ -75,13 +69,15 @@ void XonoticCheckBox_loadCvars(entity me)
 }
 void XonoticCheckBox_saveCvars(entity me)
 {
-       if (!me.cvarName)
+       if (!me.cvarName) {
                return;
+       }
 
-       if(me.checked)
+       if (me.checked) {
                cvar_set(me.cvarName, ftos_mindecimals(me.yesValue));
-       else
+       } else {
                cvar_set(me.cvarName, ftos_mindecimals(me.noValue));
+       }
 
        CheckSendCvars(me, me.cvarName);
 }
index 839e66b215dc45765a64e4f9aa52902bed9e9a20..e564a1dbf3fbb16fa1636e896139fb7d5b3dcccd 100644 (file)
@@ -14,10 +14,11 @@ void XonoticSliderCheckBox_configureXonoticSliderCheckBox(entity me, float theOf
        me.offValue = theOffValue;
        me.inverted = isInverted;
        me.checked = (theControlledSlider.value == theOffValue);
-       if(theControlledSlider.value == median(theControlledSlider.valueMin, theControlledSlider.value, theControlledSlider.valueMax))
+       if (theControlledSlider.value == median(theControlledSlider.valueMin, theControlledSlider.value, theControlledSlider.valueMax)) {
                me.savedValue = theControlledSlider.value;
-       else
+       } else {
                me.savedValue = theControlledSlider.valueMin;
+       }
        me.controlledSlider = theControlledSlider;
        me.configureCheckBox(me, theText, me.fontSize, me.image);
        me.cvarName = theControlledSlider.cvarName; // in case we want to display the cvar in the tooltip
@@ -26,17 +27,20 @@ void XonoticSliderCheckBox_configureXonoticSliderCheckBox(entity me, float theOf
 void XonoticSliderCheckBox_draw(entity me)
 {
        me.checked = ((me.controlledSlider.value == me.offValue) != me.inverted);
-       if(me.controlledSlider.value == median(me.controlledSlider.valueMin, me.controlledSlider.value, me.controlledSlider.valueMax))
+       if (me.controlledSlider.value == median(me.controlledSlider.valueMin, me.controlledSlider.value, me.controlledSlider.valueMax)) {
                me.savedValue = me.controlledSlider.value;
+       }
        SUPER(XonoticSliderCheckBox).draw(me);
 }
 void XonoticSliderCheckBox_setChecked(entity me, float val)
 {
-       if(me.checked == val)
+       if (me.checked == val) {
                return;
+       }
        me.checked = val;
-       if(val == me.inverted)
+       if (val == me.inverted) {
                me.controlledSlider.setValue(me.controlledSlider, median(me.controlledSlider.valueMin, me.savedValue, me.controlledSlider.valueMax));
-       else
+       } else {
                me.controlledSlider.setValue(me.controlledSlider, me.offValue);
+       }
 }
index 99db16e35bd483bb6e4136a2d017cd2d4e003065..aaace6ee13bdb84467703c6d6d79d2779f829a5f 100644 (file)
@@ -23,21 +23,25 @@ void XonoticCheckBoxString_setChecked(entity me, float foo)
 }
 void XonoticCheckBoxString_loadCvars(entity me)
 {
-       if (!me.cvarName)
+       if (!me.cvarName) {
                return;
+       }
 
-       if(cvar_string(me.cvarName) == me.yesString)
+       if (cvar_string(me.cvarName) == me.yesString) {
                me.checked = 1;
+       }
 }
 void XonoticCheckBoxString_saveCvars(entity me)
 {
-       if (!me.cvarName)
+       if (!me.cvarName) {
                return;
+       }
 
-       if(me.checked)
+       if (me.checked) {
                cvar_set(me.cvarName, me.yesString);
-       else
+       } else {
                cvar_set(me.cvarName, me.noString);
+       }
 
        CheckSendCvars(me, me.cvarName);
 }
index 6675c1aee789ec2b0ab1291e3fce46bd423347f8..9410b5b2607e355b7825a8d526d254872a875cbf 100644 (file)
@@ -9,23 +9,36 @@ entity makeXonoticColorButton(float theGroup, float theColor, float theValue)
 }
 void XonoticColorButton_configureXonoticColorButton(entity me, float theGroup, float theColor, float theValue)
 {
-       switch(theValue)
-       {
+       switch (theValue) {
                // rearrange 1..14 for rainbow order
-               case  1: theValue = 10; break;
-               case  2: theValue =  4; break;
-               case  3: theValue =  1; break;
-               case  4: theValue = 14; break;
-               case  5: theValue = 12; break;
-               case  6: theValue =  7; break;
-               case  7: theValue =  3; break;
-               case  8: theValue =  2; break;
-               case  9: theValue =  6; break;
-               case 10: theValue =  5; break;
-               case 11: theValue = 13; break;
-               case 12: theValue = 11; break;
-               case 13: theValue =  8; break;
-               case 14: theValue =  9; break;
+               case  1: theValue = 10;
+                       break;
+               case  2: theValue =  4;
+                       break;
+               case  3: theValue =  1;
+                       break;
+               case  4: theValue = 14;
+                       break;
+               case  5: theValue = 12;
+                       break;
+               case  6: theValue =  7;
+                       break;
+               case  7: theValue =  3;
+                       break;
+               case  8: theValue =  2;
+                       break;
+               case  9: theValue =  6;
+                       break;
+               case 10: theValue =  5;
+                       break;
+               case 11: theValue = 13;
+                       break;
+               case 12: theValue = 11;
+                       break;
+               case 13: theValue =  8;
+                       break;
+               case 14: theValue =  9;
+                       break;
                default:
                        // no change
                        break;
@@ -38,36 +51,39 @@ void XonoticColorButton_configureXonoticColorButton(entity me, float theGroup, f
 }
 void XonoticColorButton_setChecked(entity me, float val)
 {
-       if(val != me.checked)
-       {
+       if (val != me.checked) {
                me.checked = val;
                me.saveCvars(me);
        }
 }
 void XonoticColorButton_loadCvars(entity me)
 {
-       if (!me.cvarName)
+       if (!me.cvarName) {
                return;
+       }
 
-       if(cvar_string(me.cvarName) == cvar_defstring(me.cvarName))
+       if (cvar_string(me.cvarName) == cvar_defstring(me.cvarName)) {
                cvar_set(me.cvarName, ftos(16 * floor(random() * 15) + floor(random() * 15)));
+       }
 
-       if(me.cvarPart == 1)
+       if (me.cvarPart == 1) {
                me.checked = (cvar(me.cvarName) & 240) == me.cvarValueFloat * 16;
-       else
+       } else {
                me.checked = (cvar(me.cvarName) & 15) == me.cvarValueFloat;
+       }
 }
 void XonoticColorButton_saveCvars(entity me)
 {
-       if (!me.cvarName)
+       if (!me.cvarName) {
                return;
+       }
 
-       if(me.checked)
-       {
-               if(me.cvarPart == 1)
+       if (me.checked) {
+               if (me.cvarPart == 1) {
                        cvar_set(me.cvarName, ftos((cvar(me.cvarName) & 15) + me.cvarValueFloat * 16));
-               else
+               } else {
                        cvar_set(me.cvarName, ftos((cvar(me.cvarName) & 240) + me.cvarValueFloat));
+               }
        }
        // TODO on an apply button, read _cl_color and execute the color command for it
 }
index 8e691a036bab1d97301c55b229aec9afa47cdb04..e978ddc26bf33b8ee5cb734dc74183b13f5c6cb5 100644 (file)
@@ -14,13 +14,14 @@ entity makeXonoticCommandButton(string theText, vector theColor, string theComma
 
 void XonoticCommandButton_Click(entity me, entity other)
 {
-       //if(me.flags & COMMANDBUTTON_APPLY)
+       // if(me.flags & COMMANDBUTTON_APPLY)
        //      saveAllCvars(me.parent);
        cmd("\n", me.onClickCommand, "\n");
-       //if(me.flags & COMMANDBUTTON_REVERT)
+       // if(me.flags & COMMANDBUTTON_REVERT)
        //      loadAllCvars(me.parent);
-       if(me.flags & COMMANDBUTTON_CLOSE)
+       if (me.flags & COMMANDBUTTON_CLOSE) {
                m_goto(string_null);
+       }
 }
 
 void XonoticCommandButton_configureXonoticCommandButton(entity me, string theText, vector theColor, string theCommand, float theFlags, string theTooltip)
index 5de59ee07b9e6d3d6d80920422e807b260255dcd..4a019c6e49158038e09a504b90699cf58e2379f2 100644 (file)
@@ -11,7 +11,7 @@ entity makeXonoticCommandButton_T(string theText, vector theColor, string theCom
 entity makeXonoticCommandButton(string theText, vector theColor, string theCommand, float closesMenu);
 
 #ifndef COMMANDBUTTON_CLOSE
-# define COMMANDBUTTON_CLOSE 1
-# define COMMANDBUTTON_APPLY 2
-//# define COMMANDBUTTON_REVERT 4
+#define COMMANDBUTTON_CLOSE 1
+#define COMMANDBUTTON_APPLY 2
+// # define COMMANDBUTTON_REVERT 4
 #endif
index 6debcb713dcdfed7c0ca8fbb82040360dec48841..1be8e11cbb735e7982e8311566a1d685e567adbb 100644 (file)
 
 #define CREDITS(TITLE, FUNCTION, PERSON, PERSON_, NL) \
        TITLE(_("Core Team")) \
-               PERSON(Rudolf "divVerent" Polzer) \
-               PERSON(Ant "Antibody" Zucaro) \
-               PERSON(Marvin "Mirio" Beck) \
-               PERSON(Merlijn Hofstra) \
-               PERSON(Peter "Morphed" Pielak) \
-               PERSON(Ruszkai "CuBe0wL" Ákos) \
-               PERSON(Samual "Ares" Lenks) \
-               PERSON(TimePath) \
-               PERSON(Tyler "-z-" Mulligan) \
-               PERSON(Zac "Mario" Jardine) \
+       PERSON(Rudolf "divVerent" Polzer) \
+       PERSON(Ant "Antibody" Zucaro) \
+       PERSON(Marvin "Mirio" Beck) \
+       PERSON(Merlijn Hofstra) \
+       PERSON(Peter "Morphed" Pielak) \
+       PERSON(Ruszkai "CuBe0wL" Ákos) \
+       PERSON(Samual "Ares" Lenks) \
+       PERSON(TimePath) \
+       PERSON(Tyler "-z-" Mulligan) \
+       PERSON(Zac "Mario" Jardine) \
        NL() \
        TITLE(_("Extended Team")) \
-               PERSON(AllieWay) \
-               PERSON(Antonio "terencehill" Piu) \
-               PERSON(Archer) \
-               PERSON(BuddyFriendGuy) \
-               PERSON(Debugger) \
-               PERSON(Diomedes) \
-               PERSON(Freddy) \
-               PERSON(GATTS) \
-               PERSON(Halogene) \
-               PERSON(IDWMaster) \
-               PERSON(Jan "zykure" Behrens) \
-               PERSON(JH0nny) \
-               PERSON(Jubilant) \
-               PERSON(Łukasz "kuniu the frogg" Polek) \
-               PERSON(martin-t) \
-               PERSON(Matthias "matthiaskrgr" Krüger) \
-               PERSON(Mattia "Melanosuchus" Basaglia) \
-               PERSON(MrBougo) \
-               PERSON(Nick "bitbomb" Lucca) \
-               PERSON(nilyt/nyov) \
-               PERSON(Nitroxis) \
-               PERSON(packer) \
-               PERSON(Pearce "theShadow" Michal) \
-               PERSON(Rasmus "FruitieX" Eskola) \
-               PERSON(s1lence) \
-               PERSON(Severin "sev" Meyer) \
-               PERSON(Soelen) \
-               PERSON(Sydes) \
-               PERSON(unfa) \
+       PERSON(AllieWay) \
+       PERSON(Antonio "terencehill" Piu) \
+       PERSON(Archer) \
+       PERSON(BuddyFriendGuy) \
+       PERSON(Debugger) \
+       PERSON(Diomedes) \
+       PERSON(Freddy) \
+       PERSON(GATTS) \
+       PERSON(Halogene) \
+       PERSON(IDWMaster) \
+       PERSON(Jan "zykure" Behrens) \
+       PERSON(JH0nny) \
+       PERSON(Jubilant) \
+       PERSON(Łukasz "kuniu the frogg" Polek) \
+       PERSON(martin - t) \
+       PERSON(Matthias "matthiaskrgr" Krüger) \
+       PERSON(Mattia "Melanosuchus" Basaglia) \
+       PERSON(MrBougo) \
+       PERSON(Nick "bitbomb" Lucca) \
+       PERSON(nilyt / nyov) \
+       PERSON(Nitroxis) \
+       PERSON(packer) \
+       PERSON(Pearce "theShadow" Michal) \
+       PERSON(Rasmus "FruitieX" Eskola) \
+       PERSON(s1lence) \
+       PERSON(Severin "sev" Meyer) \
+       PERSON(Soelen) \
+       PERSON(Sydes) \
+       PERSON(unfa) \
        NL() \
        NL() \
        FUNCTION(_("Website")) \
-               PERSON(Ant "Antibody" Zucaro (web)) \
-               PERSON(Merlijn Hofstra) \
-               PERSON(Tyler "-z-" Mulligan (web / game)) \
+       PERSON(Ant "Antibody" Zucaro(web)) \
+       PERSON(Merlijn Hofstra) \
+       PERSON(Tyler "-z-" Mulligan(web / game)) \
        NL() \
        FUNCTION(_("Stats")) \
-               PERSON(Ant "Antibody" Zucaro) \
-               PERSON(Jan "zykure" Behrens) \
+       PERSON(Ant "Antibody" Zucaro) \
+       PERSON(Jan "zykure" Behrens) \
        NL() \
        FUNCTION(_("Art")) \
-               PERSON(Severin "sev" Meyer) \
-               PERSON(Sahil "DiaboliK" Singhal) \
-               PERSON(Peter "Morphed" Pielak) \
-               PERSON(Sam "LJFHutch" Hutchinson) \
-               PERSON(Pearce "theShadow" Michal) \
-               PERSON(KingPimpCommander) \
+       PERSON(Severin "sev" Meyer) \
+       PERSON(Sahil "DiaboliK" Singhal) \
+       PERSON(Peter "Morphed" Pielak) \
+       PERSON(Sam "LJFHutch" Hutchinson) \
+       PERSON(Pearce "theShadow" Michal) \
+       PERSON(KingPimpCommander) \
        NL() \
        FUNCTION(_("Animation")) \
-               PERSON(Sahil "DiaboliK" Singhal) \
-               PERSON(nifrek) \
+       PERSON(Sahil "DiaboliK" Singhal) \
+       PERSON(nifrek) \
        NL() \
        FUNCTION(_("Level Design")) \
-               PERSON(Amadeusz "amade/proraide" Sławiński) \
-               PERSON(Ben "MooKow" Banker) \
-               PERSON(Cortez) \
-               PERSON(Cuinn "Cuinnton" Herrick) \
-               PERSON(Debugger) \
-               PERSON(Hugo "Calinou" Locurcio) \
-               PERSON(Jakob "tZork" Markström Gröhn) \
-               PERSON(Konrad "Justin" Slawinski) \
-               PERSON(Maddin) \
-               PERSON(L0) \
-               PERSON(Łukasz "kuniu the frogg" Polek) \
-               PERSON(Maik "SavageX" Merten) \
-               PERSON(Marvin "Mirio" Beck) \
-               PERSON(MintOX) \
-               PERSON(packer) \
-               PERSON(Pearce "theShadow" Michal) \
-               PERSON(Rasmus "FruitieX" Eskola) \
-               PERSON(Ruszkai "CuBe0wL" Ákos) \
-               PERSON(Severin "sev" Meyer) \
-               PERSON(ShadoW) \
-               PERSON(t0uYK8Ne) \
+       PERSON(Amadeusz "amade/proraide" Sławiński) \
+       PERSON(Ben "MooKow" Banker) \
+       PERSON(Cortez) \
+       PERSON(Cuinn "Cuinnton" Herrick) \
+       PERSON(Debugger) \
+       PERSON(Hugo "Calinou" Locurcio) \
+       PERSON(Jakob "tZork" Markström Gröhn) \
+       PERSON(Konrad "Justin" Slawinski) \
+       PERSON(Maddin) \
+       PERSON(L0) \
+       PERSON(Łukasz "kuniu the frogg" Polek) \
+       PERSON(Maik "SavageX" Merten) \
+       PERSON(Marvin "Mirio" Beck) \
+       PERSON(MintOX) \
+       PERSON(packer) \
+       PERSON(Pearce "theShadow" Michal) \
+       PERSON(Rasmus "FruitieX" Eskola) \
+       PERSON(Ruszkai "CuBe0wL" Ákos) \
+       PERSON(Severin "sev" Meyer) \
+       PERSON(ShadoW) \
+       PERSON(t0uYK8Ne) \
        NL() \
        FUNCTION(_("Music / Sound FX")) \
-               PERSON(AquaNova (Archer)) \
-               PERSON(blkrbt) \
-               PERSON(chooksta) \
-               PERSON(Independent.nu) \
-               PERSON(Lea "TheAudioMonkey" Edwards) \
-               PERSON([master]mind) \
-               PERSON(Merlijn Hofstra) \
-               PERSON(Mick Rippon) \
-               PERSON(Nick "bitbomb" Lucca) \
-               PERSON(remaxim) \
-               PERSON(Saulo "mand1nga" Gil) \
-               PERSON({SC0RP} - Ian "ID" Dorrell) \
-               PERSON(Stephan) \
-               PERSON(unfa) \
+       PERSON(AquaNova(Archer)) \
+       PERSON(blkrbt) \
+       PERSON(chooksta) \
+       PERSON(Independent.nu) \
+       PERSON(Lea "TheAudioMonkey" Edwards) \
+       PERSON([master] mind) \
+       PERSON(Merlijn Hofstra) \
+       PERSON(Mick Rippon) \
+       PERSON(Nick "bitbomb" Lucca) \
+       PERSON(remaxim) \
+       PERSON(Saulo "mand1nga" Gil) \
+       PERSON({ SC0RP } -Ian "ID" Dorrell) \
+       PERSON(Stephan) \
+       PERSON(unfa) \
        NL() \
        FUNCTION(_("Game Code")) \
-               PERSON(Samual "Ares" Lenks) \
-               PERSON(Rudolf "divVerent" Polzer) \
-               PERSON(Jakob "tZork" Markström Gröhn) \
-               PERSON(Rasmus "FruitieX" Eskola) \
-               PERSON(TimePath) \
-               PERSON(Zac "Mario" Jardine) \
+       PERSON(Samual "Ares" Lenks) \
+       PERSON(Rudolf "divVerent" Polzer) \
+       PERSON(Jakob "tZork" Markström Gröhn) \
+       PERSON(Rasmus "FruitieX" Eskola) \
+       PERSON(TimePath) \
+       PERSON(Zac "Mario" Jardine) \
        NL() \
        FUNCTION(_("Marketing / PR")) \
-               PERSON(Tyler "-z-" Mulligan) \
-               PERSON(Ruszkai "CuBe0wL" Ákos) \
-               PERSON(Samual "Ares" Lenks) \
-               PERSON(Saulo "mand1nga" Gil) \
+       PERSON(Tyler "-z-" Mulligan) \
+       PERSON(Ruszkai "CuBe0wL" Ákos) \
+       PERSON(Samual "Ares" Lenks) \
+       PERSON(Saulo "mand1nga" Gil) \
        NL() \
        FUNCTION(_("Legal")) \
-               PERSON(Rudolf "divVerent" Polzer) \
-               PERSON(Merlijn Hofstra) \
+       PERSON(Rudolf "divVerent" Polzer) \
+       PERSON(Merlijn Hofstra) \
        NL() \
        NL() \
        TITLE(_("Game Engine")) \
-               FUNCTION("DarkPlaces") \
-                       PERSON(Forest "LordHavoc" Hale) \
-               NL() \
-               FUNCTION(_("Engine Additions")) \
-                       PERSON(Rudolf "divVerent" Polzer) \
-                       PERSON(Samual "Ares" Lenks) \
-               NL() \
+       FUNCTION("DarkPlaces") \
+       PERSON(Forest "LordHavoc" Hale) \
+       NL() \
+       FUNCTION(_("Engine Additions")) \
+       PERSON(Rudolf "divVerent" Polzer) \
+       PERSON(Samual "Ares" Lenks) \
+       NL() \
        NL() \
        TITLE(_("Compiler")) \
-               FUNCTION("GMQCC") \
-                       PERSON(Wolfgang "Blub\0" Bumiller) \
-                       PERSON(Dale "graphitemaster" Weiler) \
-               NL() \
+       FUNCTION("GMQCC") \
+       PERSON(Wolfgang "Blub\0" Bumiller) \
+       PERSON(Dale "graphitemaster" Weiler) \
+       NL() \
        NL() \
        TITLE(_("Other Active Contributors")) \
-               PERSON(Jeff) \
-               PERSON(Lyberta) \
-               PERSON(Mircea "Taoki" Kitsune) \
-               PERSON(Penguinum) \
+       PERSON(Jeff) \
+       PERSON(Lyberta) \
+       PERSON(Mircea "Taoki" Kitsune) \
+       PERSON(Penguinum) \
        NL() \
        NL() \
        TITLE(_("Translators")) \
-               NL() \
-               FUNCTION(_("Asturian")) \
-                       PERSON(Llumex03) \
-                       PERSON(Tornes "Tornes.Llume" Ḷḷume) \
-                       PERSON(Ximielga) \
-               NL() \
-               FUNCTION(_("Belarusian")) \
-                       PERSON(Mihail "meequz" Varantsou) \
-               NL() \
-               FUNCTION(_("Bulgarian")) \
-                       PERSON(Alexander "alex4o" Bonin) \
-                       PERSON(ifohancroft) \
-                       PERSON(lokster) \
-                       PERSON(set_killer) \
-                       PERSON(ubone) \
-               NL() \
-               FUNCTION(_("Chinese (China)")) \
-                       PERSON(Antonidas) \
-                       PERSON(Armcoon) \
-                       PERSON(kalawore) \
-                       PERSON(sapphireliu) \
-               NL() \
-               FUNCTION(_("Chinese (Taiwan)")) \
-                       PERSON(Alisha) \
-                       PERSON(Armcoon) \
-                       PERSON(Jeff "s8321414" Huang) \
-               NL() \
-               FUNCTION(_("Cornish")) \
-                       PERSON(Nicky "nrowe" Rowe) \
-               NL() \
-               FUNCTION(_("Czech")) \
-                       PERSON(shogun assassin/woky) \
-                       PERSON(Superovoce) \
-                       PERSON(Tomáš "CZHeron" Volavka) \
-               NL() \
-               FUNCTION(_("Dutch")) \
-                       PERSON(Alexander "freefang" van Dam) \
-                       PERSON(Joeke "Mappack" de Graaf) \
-                       PERSON(Jonathan "Jonakeys" van der Steege) \
-                       PERSON(PinkRobot) \
-                       PERSON(vegiburger) \
-               NL() \
-               FUNCTION(_("English (Australia)")) \
-                       PERSON(Laurene "sunflowers" Albrand) \
-                       PERSON(Stuart "Cefiar" Young) \
-                       PERSON(Zac "Mario" Jardine) \
-               NL() \
-               FUNCTION(_("Finnish")) \
-                       PERSON(Jonas "PowaTree" Sahlberg) \
-                       PERSON(Henry "Exitium" Sanmark) \
-                       PERSON(Rasmus "FruitieX" Eskola) \
-               NL() \
-               FUNCTION(_("French")) \
-                       PERSON(Hugo "Calinou" Locurcio) \
-                       PERSON(Kim "coughingmouse" Lee) \
-                       PERSON(Maxime "Taximus" Paradis) \
-                       PERSON(RedGuff) \
-                       PERSON(Thomas "illwieckz" Debesse) \
-                       PERSON(Yannick "SpiKe" Le Guen) \
-               NL() \
-               FUNCTION(_("German")) \
-                       PERSON(Brot) \
-                       PERSON(cvcxc) \
-                       PERSON(Erik "Ablu" Schilling) \
-                       PERSON(Jope "Sless" Withers) \
-                       PERSON(Marvin "Mirio" Beck) \
-                       PERSON(Paul "Snapper") \
-                       PERSON(Rudolf "divVerent" Polzer) \
-                       PERSON(Wuzzy) \
-                       PERSON(Yepoleb) \
-               NL() \
-               FUNCTION(_("Greek")) \
-                       PERSON_("Γιάννης \"Evropi\" Ανθυμίδης") \
-                       PERSON(Konstantinos "LDinos" Mihalenas) \
-                       PERSON(Savoritias) \
-                       PERSON(Vindex) \
-               NL() \
-               FUNCTION(_("Hungarian")) \
-                       PERSON(Ruszkai "CuBe0wL" Ákos) \
-                       PERSON(xaN1C4n3) \
-               NL() \
-               FUNCTION(_("Irish")) \
-                       PERSON(Kevin "kscanne" Scannell) \
-               NL() \
-               FUNCTION(_("Italian")) \
-                       PERSON(Antonio "terencehill" Piu) \
-                       PERSON(Felice "MaidenBeast" Sallustio) \
-                       PERSON(stdi) \
-                       PERSON(XCostaX) \
-               NL() \
-               FUNCTION(_("Kazakh")) \
-                       PERSON("Артем "bystrov.arterm" Быстров") \
-               NL() \
-               FUNCTION(_("Korean")) \
-                       PERSON(Jisoo "s6e9x" Lim) \
-                       PERSON(Kim "coughingmouse" Lee) \
-               NL() \
-               FUNCTION(_("Polish")) \
-                       PERSON(4m) \
-                       PERSON(Alex "tiprogrammierer.alex" Progger) \
-                       PERSON(Amadeusz "amade/proraide" Sławiński) \
-                       PERSON(Artur "artur9010" Motyka) \
-                       PERSON(Jakub "KubeQ11" Pędziszewski) \
-                       PERSON(Kriss7475) \
-               NL() \
-               FUNCTION(_("Portuguese")) \
-                       PERSON(Ivan Paulos "greylica" Tomé) \
-                       PERSON(Jean Trindade "Muleke_Trairao" Pereira) \
-                       PERSON(Ricardo Manuel "Hellgardia" da Cruz Coelho da Silva) \
-                       PERSON(xXxCHAOTICxXx) \
-               NL() \
-               FUNCTION(_("Romanian")) \
-                       PERSON(Adrian-Ciprian "adrian.tinjala" Tînjală) \
-                       PERSON(BusterDBK) \
-                       PERSON(Mircea "Taoki" Kitsune) \
-                       PERSON(Sorin "unic_sorin" Botirla) \
-                       PERSON(Tudor "TropiKo" Ionel) \
-               NL() \
-               FUNCTION(_("Russian")) \
-                       PERSON(Alex "alextalker7" Talker) \
-                       PERSON(Alexandr "zrg") \
-                       PERSON(Andrei "adem4ik" Stepanov) \
-                       PERSON(Andrey "dekrY" P.) \
-                       PERSON(gravicappa) \
-                       PERSON(Hot Dog) \
-                       PERSON(Lord Canistra) \
-                       PERSON(Nikoli) \
-                       PERSON(Sergej "Clearness High" Lutsyk) \
-               NL() \
-               FUNCTION(_("Scottish Gaelic")) \
-                       PERSON_("GunChleoc") \
-               NL() \
-               FUNCTION(_("Serbian")) \
-                       PERSON_("Саша \"salepetronije\" Петровић") \
-                       PERSON(Marko M. Kostić) \
-                       PERSON(Pendulla) \
-                       PERSON(Rafael "Ristovski") \
-               NL() \
-               FUNCTION(_("Spanish")) \
-                       PERSON_("0000simon") \
-                       PERSON(Alan "aagp" Garcia) \
-                       PERSON(Ari_tent) \
-                       PERSON(brunodeleo) \
-                       PERSON(Kammy) \
-                       PERSON(roader_gentoo) \
-                       PERSON(Rodrigo Mouton Laudin) \
-                       PERSON(SouL) \
-                       PERSON(Starfire24680) \
-               NL() \
-               FUNCTION(_("Swedish")) \
-                       PERSON(Karl-Oskar "machine" Rikås) \
-                       PERSON(marcus256) \
-               NL() \
-               FUNCTION(_("Ukrainian")) \
-                       PERSON(Dmitro "Gamebot" Sokhin) \
-                       PERSON(Oleh "BlaXpirit" Prypin) \
-                       PERSON(Vasyl "Harmata" Melnyk) \
-                       PERSON(Yuriy "herrniemand" Ackermann) \
-               NL() \
+       NL() \
+       FUNCTION(_("Asturian")) \
+       PERSON(Llumex03) \
+       PERSON(Tornes "Tornes.Llume" Ḷḷume) \
+       PERSON(Ximielga) \
+       NL() \
+       FUNCTION(_("Belarusian")) \
+       PERSON(Mihail "meequz" Varantsou) \
+       NL() \
+       FUNCTION(_("Bulgarian")) \
+       PERSON(Alexander "alex4o" Bonin) \
+       PERSON(ifohancroft) \
+       PERSON(lokster) \
+       PERSON(set_killer) \
+       PERSON(ubone) \
+       NL() \
+       FUNCTION(_("Chinese (China)")) \
+       PERSON(Antonidas) \
+       PERSON(Armcoon) \
+       PERSON(kalawore) \
+       PERSON(sapphireliu) \
+       NL() \
+       FUNCTION(_("Chinese (Taiwan)")) \
+       PERSON(Alisha) \
+       PERSON(Armcoon) \
+       PERSON(Jeff "s8321414" Huang) \
+       NL() \
+       FUNCTION(_("Cornish")) \
+       PERSON(Nicky "nrowe" Rowe) \
+       NL() \
+       FUNCTION(_("Czech")) \
+       PERSON(shogun assassin / woky) \
+       PERSON(Superovoce) \
+       PERSON(Tomáš "CZHeron" Volavka) \
+       NL() \
+       FUNCTION(_("Dutch")) \
+       PERSON(Alexander "freefang" van Dam) \
+       PERSON(Joeke "Mappack" de Graaf) \
+       PERSON(Jonathan "Jonakeys" van der Steege) \
+       PERSON(PinkRobot) \
+       PERSON(vegiburger) \
+       NL() \
+       FUNCTION(_("English (Australia)")) \
+       PERSON(Laurene "sunflowers" Albrand) \
+       PERSON(Stuart "Cefiar" Young) \
+       PERSON(Zac "Mario" Jardine) \
+       NL() \
+       FUNCTION(_("Finnish")) \
+       PERSON(Jonas "PowaTree" Sahlberg) \
+       PERSON(Henry "Exitium" Sanmark) \
+       PERSON(Rasmus "FruitieX" Eskola) \
+       NL() \
+       FUNCTION(_("French")) \
+       PERSON(Hugo "Calinou" Locurcio) \
+       PERSON(Kim "coughingmouse" Lee) \
+       PERSON(Maxime "Taximus" Paradis) \
+       PERSON(RedGuff) \
+       PERSON(Thomas "illwieckz" Debesse) \
+       PERSON(Yannick "SpiKe" Le Guen) \
+       NL() \
+       FUNCTION(_("German")) \
+       PERSON(Brot) \
+       PERSON(cvcxc) \
+       PERSON(Erik "Ablu" Schilling) \
+       PERSON(Jope "Sless" Withers) \
+       PERSON(Marvin "Mirio" Beck) \
+       PERSON(Paul "Snapper") \
+       PERSON(Rudolf "divVerent" Polzer) \
+       PERSON(Wuzzy) \
+       PERSON(Yepoleb) \
+       NL() \
+       FUNCTION(_("Greek")) \
+       PERSON_("Γιάννης \"Evropi\" Ανθυμίδης") \
+       PERSON(Konstantinos "LDinos" Mihalenas) \
+       PERSON(Savoritias) \
+       PERSON(Vindex) \
+       NL() \
+       FUNCTION(_("Hungarian")) \
+       PERSON(Ruszkai "CuBe0wL" Ákos) \
+       PERSON(xaN1C4n3) \
+       NL() \
+       FUNCTION(_("Irish")) \
+       PERSON(Kevin "kscanne" Scannell) \
+       NL() \
+       FUNCTION(_("Italian")) \
+       PERSON(Antonio "terencehill" Piu) \
+       PERSON(Felice "MaidenBeast" Sallustio) \
+       PERSON(stdi) \
+       PERSON(XCostaX) \
+       NL() \
+       FUNCTION(_("Kazakh")) \
+       PERSON("Артем "bystrov.arterm " Быстров") \
+       NL() \
+       FUNCTION(_("Korean")) \
+       PERSON(Jisoo "s6e9x" Lim) \
+       PERSON(Kim "coughingmouse" Lee) \
+       NL() \
+       FUNCTION(_("Polish")) \
+       PERSON(4m) \
+       PERSON(Alex "tiprogrammierer.alex" Progger) \
+       PERSON(Amadeusz "amade/proraide" Sławiński) \
+       PERSON(Artur "artur9010" Motyka) \
+       PERSON(Jakub "KubeQ11" Pędziszewski) \
+       PERSON(Kriss7475) \
+       NL() \
+       FUNCTION(_("Portuguese")) \
+       PERSON(Ivan Paulos "greylica" Tomé) \
+       PERSON(Jean Trindade "Muleke_Trairao" Pereira) \
+       PERSON(Ricardo Manuel "Hellgardia" da Cruz Coelho da Silva) \
+       PERSON(xXxCHAOTICxXx) \
+       NL() \
+       FUNCTION(_("Romanian")) \
+       PERSON(Adrian - Ciprian "adrian.tinjala" Tînjală) \
+       PERSON(BusterDBK) \
+       PERSON(Mircea "Taoki" Kitsune) \
+       PERSON(Sorin "unic_sorin" Botirla) \
+       PERSON(Tudor "TropiKo" Ionel) \
+       NL() \
+       FUNCTION(_("Russian")) \
+       PERSON(Alex "alextalker7" Talker) \
+       PERSON(Alexandr "zrg") \
+       PERSON(Andrei "adem4ik" Stepanov) \
+       PERSON(Andrey "dekrY" P.) \
+       PERSON(gravicappa) \
+       PERSON(Hot Dog) \
+       PERSON(Lord Canistra) \
+       PERSON(Nikoli) \
+       PERSON(Sergej "Clearness High" Lutsyk) \
+       NL() \
+       FUNCTION(_("Scottish Gaelic")) \
+       PERSON_("GunChleoc") \
+       NL() \
+       FUNCTION(_("Serbian")) \
+       PERSON_("Саша \"salepetronije\" Петровић") \
+       PERSON(Marko M.Kostić) \
+       PERSON(Pendulla) \
+       PERSON(Rafael "Ristovski") \
+       NL() \
+       FUNCTION(_("Spanish")) \
+       PERSON_("0000simon") \
+       PERSON(Alan "aagp" Garcia) \
+       PERSON(Ari_tent) \
+       PERSON(brunodeleo) \
+       PERSON(Kammy) \
+       PERSON(roader_gentoo) \
+       PERSON(Rodrigo Mouton Laudin) \
+       PERSON(SouL) \
+       PERSON(Starfire24680) \
+       NL() \
+       FUNCTION(_("Swedish")) \
+       PERSON(Karl - Oskar "machine" Rikås) \
+       PERSON(marcus256) \
+       NL() \
+       FUNCTION(_("Ukrainian")) \
+       PERSON(Dmitro "Gamebot" Sokhin) \
+       PERSON(Oleh "BlaXpirit" Prypin) \
+       PERSON(Vasyl "Harmata" Melnyk) \
+       PERSON(Yuriy "herrniemand" Ackermann) \
+       NL() \
        NL() \
        TITLE(_("Past Contributors")) \
-               PERSON(Akari) \
-               PERSON(Alexander "naryl" Suhoverhov) \
-               PERSON(Alexander "motorsep" Zubov) \
-               PERSON(Amos "torus" Dudley) \
-               PERSON(Andreas "Black" Kirsch) \
-               PERSON(Attila "WW3" Houtkooper) \
-               PERSON(BigMac) \
-               PERSON(Braden "meoblast001" Walters) \
-               PERSON(Brain Younds) \
-               PERSON(Chris "amethyst7" Matz) \
-               PERSON(Christian Ice) \
-               PERSON(Clinton "Kaziganthe" Freeman) \
-               PERSON(Dan "Digger" Korostelev) \
-               PERSON(Dan "Wazat" Hale) \
-               PERSON(Dokujisan) \
-               PERSON(Donkey) \
-               PERSON(dstrek) \
-               PERSON(Dustin Geeraert) \
-               PERSON(Edgenetwork) \
-               PERSON(Edward "Ed" Holness) \
-               PERSON(Eric "Munyul Verminard" Sambach) \
-               PERSON(Erik "Ablu" Schilling) \
-               PERSON(Fabien "H. Reaper" Tschirhart) \
-               PERSON(Florian Paul "lda17h" Schmidt) \
-               PERSON(FrikaC) \
-               PERSON(Garth "Zombie" Hendy) \
-               PERSON(Gerd "Elysis" Raudenbusch) \
-               PERSON(Gottfried "Toddd" Hofmann) \
-               PERSON(Henning "Tymo" Janssen) \
-               PERSON(Innovati) \
-               PERSON(Jitspoe) \
-               PERSON(Jody Gallagher) \
-               PERSON(Jope "Sless" Withers) \
-               PERSON(Juergen "LowDragon" Timm) \
-               PERSON(KadaverJack) \
-               PERSON(Kevin "Tyrann" Shanahan) \
-               PERSON(Kristian "morfar" Johansson) \
-               PERSON(Kurt Dereli) \
-               PERSON(lcatlnx) \
-               PERSON(Lee David Ash) \
-               PERSON(Lee Vermeulen) \
-               PERSON(leileilol) \
-               PERSON(magorian) \
-               PERSON(Marius "GreEn`mArine" Shekow) \
-               PERSON(Marko "Urre" Permanto) \
-               PERSON(Mathieu "Elric" Olivier) \
-               PERSON(Mattrew "Tronyn" Rye) \
-               PERSON(MauveBib) \
-               PERSON(Mephisto) \
-               PERSON(michaelb) \
-               PERSON(Michael "Tenshihan" Quinn) \
-               PERSON(Mepper) \
-               PERSON(Munyul) \
-               PERSON(Netzwerg) \
-               PERSON(NoelCower) \
-               PERSON(Parapraxis) \
-               PERSON(parasti) \
-               PERSON(Paul "Strahlemann" Evers) \
-               PERSON(Paul Scott) \
-               PERSON(Petithomme) \
-               PERSON(PlasmaSheep) \
-               PERSON(Przemysław "atheros" Grzywacz) \
-               PERSON(Q1 Retexturing Project) \
-               PERSON(Qantourisc) \
-               PERSON(Oleh "BlaXpirit" Prypin) \
-               PERSON(Rick "Rat" Kelley) \
-               PERSON(Robert "ai" Kuroto) \
-               PERSON(Ronan) \
-               PERSON(Sajt) \
-               PERSON(Saulo "mand1nga" Gil) \
-               PERSON(Shaggy) \
-               PERSON(Shank) \
-               PERSON(Simon O’Callaghan) \
-               PERSON(SomeGuy) \
-               PERSON(SoulKeeper_p) \
-               PERSON(Spike) \
-               PERSON(Spirit) \
-               PERSON(Stephan "esteel" Stahl) \
-               PERSON(Steve Vermeulen) \
-               PERSON(Supajoe) \
-               PERSON(Tei) \
-               PERSON(The player with the unnecessarily long name) \
-               PERSON(Tomaz) \
-               PERSON(Ulrich Galbraith) \
-               PERSON(Vortex) \
-               PERSON(William Libert) \
-               PERSON(William "Willis" Weilep) \
-               PERSON(Yves "EviLair" Allaire) \
-               PERSON(Zenex) \
-               /**/
+       PERSON(Akari) \
+       PERSON(Alexander "naryl" Suhoverhov) \
+       PERSON(Alexander "motorsep" Zubov) \
+       PERSON(Amos "torus" Dudley) \
+       PERSON(Andreas "Black" Kirsch) \
+       PERSON(Attila "WW3" Houtkooper) \
+       PERSON(BigMac) \
+       PERSON(Braden "meoblast001" Walters) \
+       PERSON(Brain Younds) \
+       PERSON(Chris "amethyst7" Matz) \
+       PERSON(Christian Ice) \
+       PERSON(Clinton "Kaziganthe" Freeman) \
+       PERSON(Dan "Digger" Korostelev) \
+       PERSON(Dan "Wazat" Hale) \
+       PERSON(Dokujisan) \
+       PERSON(Donkey) \
+       PERSON(dstrek) \
+       PERSON(Dustin Geeraert) \
+       PERSON(Edgenetwork) \
+       PERSON(Edward "Ed" Holness) \
+       PERSON(Eric "Munyul Verminard" Sambach) \
+       PERSON(Erik "Ablu" Schilling) \
+       PERSON(Fabien "H. Reaper" Tschirhart) \
+       PERSON(Florian Paul "lda17h" Schmidt) \
+       PERSON(FrikaC) \
+       PERSON(Garth "Zombie" Hendy) \
+       PERSON(Gerd "Elysis" Raudenbusch) \
+       PERSON(Gottfried "Toddd" Hofmann) \
+       PERSON(Henning "Tymo" Janssen) \
+       PERSON(Innovati) \
+       PERSON(Jitspoe) \
+       PERSON(Jody Gallagher) \
+       PERSON(Jope "Sless" Withers) \
+       PERSON(Juergen "LowDragon" Timm) \
+       PERSON(KadaverJack) \
+       PERSON(Kevin "Tyrann" Shanahan) \
+       PERSON(Kristian "morfar" Johansson) \
+       PERSON(Kurt Dereli) \
+       PERSON(lcatlnx) \
+       PERSON(Lee David Ash) \
+       PERSON(Lee Vermeulen) \
+       PERSON(leileilol) \
+       PERSON(magorian) \
+       PERSON(Marius "GreEn`mArine" Shekow) \
+       PERSON(Marko "Urre" Permanto) \
+       PERSON(Mathieu "Elric" Olivier) \
+       PERSON(Mattrew "Tronyn" Rye) \
+       PERSON(MauveBib) \
+       PERSON(Mephisto) \
+       PERSON(michaelb) \
+       PERSON(Michael "Tenshihan" Quinn) \
+       PERSON(Mepper) \
+       PERSON(Munyul) \
+       PERSON(Netzwerg) \
+       PERSON(NoelCower) \
+       PERSON(Parapraxis) \
+       PERSON(parasti) \
+       PERSON(Paul "Strahlemann" Evers) \
+       PERSON(Paul Scott) \
+       PERSON(Petithomme) \
+       PERSON(PlasmaSheep) \
+       PERSON(Przemysław "atheros" Grzywacz) \
+       PERSON(Q1 Retexturing Project) \
+       PERSON(Qantourisc) \
+       PERSON(Oleh "BlaXpirit" Prypin) \
+       PERSON(Rick "Rat" Kelley) \
+       PERSON(Robert "ai" Kuroto) \
+       PERSON(Ronan) \
+       PERSON(Sajt) \
+       PERSON(Saulo "mand1nga" Gil) \
+       PERSON(Shaggy) \
+       PERSON(Shank) \
+       PERSON(Simon O’Callaghan) \
+       PERSON(SomeGuy) \
+       PERSON(SoulKeeper_p) \
+       PERSON(Spike) \
+       PERSON(Spirit) \
+       PERSON(Stephan "esteel" Stahl) \
+       PERSON(Steve Vermeulen) \
+       PERSON(Supajoe) \
+       PERSON(Tei) \
+       PERSON(The player with the unnecessarily long name) \
+       PERSON(Tomaz) \
+       PERSON(Ulrich Galbraith) \
+       PERSON(Vortex) \
+       PERSON(William Libert) \
+       PERSON(William "Willis" Weilep) \
+       PERSON(Yves "EviLair" Allaire) \
+       PERSON(Zenex) \
+       /**/
 
 int credits_get()
 {
        int n = buf_create();
-       #define CREDITS_TITLE(t) bufstr_add(n, strcat("**", t), 0);
-       #define CREDITS_FUNCTION(f) bufstr_add(n, strcat("*", f), 0);
-       #define CREDITS_PERSON(p) bufstr_add(n, p, 0);
-       #define _CREDITS_PERSON(p) CREDITS_PERSON(#p)
-       #define CREDITS_NL() bufstr_add(n, "", 0);
-    CREDITS(CREDITS_TITLE, CREDITS_FUNCTION, _CREDITS_PERSON, CREDITS_PERSON, CREDITS_NL)
-       #undef CREDITS_TITLE
-       #undef CREDITS_FUNCTION
-       #undef CREDITS_PERSON
-       #undef _CREDITS_PERSON
-       #undef CREDITS_NL
+#define CREDITS_TITLE(t) bufstr_add(n, strcat("**", t), 0);
+#define CREDITS_FUNCTION(f) bufstr_add(n, strcat("*", f), 0);
+#define CREDITS_PERSON(p) bufstr_add(n, p, 0);
+#define _CREDITS_PERSON(p) CREDITS_PERSON( #p)
+#define CREDITS_NL() bufstr_add(n, "", 0);
+       CREDITS(CREDITS_TITLE, CREDITS_FUNCTION, _CREDITS_PERSON, CREDITS_PERSON, CREDITS_NL)
+#undef CREDITS_TITLE
+#undef CREDITS_FUNCTION
+#undef CREDITS_PERSON
+#undef _CREDITS_PERSON
+#undef CREDITS_NL
        return n;
 }
 
@@ -428,7 +428,7 @@ entity makeXonoticCreditsList()
 void XonoticCreditsList_configureXonoticCreditsList(entity me)
 {
        me.configureXonoticListBox(me);
-    me.bufferIndex = credits_get();
+       me.bufferIndex = credits_get();
        me.nItems = buf_getsize(me.bufferIndex);
 }
 void XonoticCreditsList_destroy(entity me)
@@ -437,8 +437,7 @@ void XonoticCreditsList_destroy(entity me)
 }
 void XonoticCreditsList_draw(entity me)
 {
-       if(me.scrolling)
-       {
+       if (me.scrolling) {
                me.scrollPos = bound(0, (time - me.scrolling) * me.itemHeight, me.nItems * me.itemHeight - 1);
                me.scrollPosTarget = me.scrollPos;
        }
@@ -460,20 +459,15 @@ void XonoticCreditsList_drawListBoxItem(entity me, int i, vector absSize, bool i
 
        s = bufstr_get(me.bufferIndex, i);
 
-       if(substring(s, 0, 2) == "**")
-       {
+       if (substring(s, 0, 2) == "**") {
                s = substring(s, 2, strlen(s) - 2);
                theColor = SKINCOLOR_CREDITS_TITLE;
                theAlpha = SKINALPHA_CREDITS_TITLE;
-       }
-       else if(substring(s, 0, 1) == "*")
-       {
+       } else if (substring(s, 0, 1) == "*") {
                s = substring(s, 1, strlen(s) - 1);
                theColor = SKINCOLOR_CREDITS_FUNCTION;
                theAlpha = SKINALPHA_CREDITS_FUNCTION;
-       }
-       else
-       {
+       } else {
                theColor = SKINCOLOR_CREDITS_PERSON;
                theAlpha = SKINALPHA_CREDITS_PERSON;
        }
index 31814125904ae84ee663c892c7ea6de98ba11c48..00ada9922d8d45ea3e30b89990ee51d83d5b9043 100644 (file)
@@ -2,16 +2,18 @@
 
 string crosshairpicker_cellToCrosshair(entity me, vector cell)
 {
-       if(cell.x < 0 || cell.x >= me.columns || cell.y < 0 || cell.y >= me.rows)
+       if (cell.x < 0 || cell.x >= me.columns || cell.y < 0 || cell.y >= me.rows) {
                return "";
+       }
        return ftos(31 + cell.y * me.columns + cell.x);
 }
 
 vector crosshairpicker_crosshairToCell(entity me, string crosshair_str)
 {
        float crosshair = stof(crosshair_str) - 31;
-       if(crosshair - floor(crosshair) > 0)
+       if (crosshair - floor(crosshair) > 0) {
                return '-1 -1 0';
+       }
        return mod(crosshair, me.columns) * eX + floor(crosshair / me.columns) * eY;
 }
 
@@ -37,8 +39,9 @@ void XonoticCrosshairPicker_cellSelect(entity me, vector cell)
 
 bool XonoticCrosshairPicker_cellIsValid(entity me, vector cell)
 {
-       if(crosshairpicker_cellToCrosshair(me, cell) == "")
+       if (crosshairpicker_cellToCrosshair(me, cell) == "") {
                return false;
+       }
        return true;
 }
 
@@ -56,6 +59,7 @@ void XonoticCrosshairPicker_cellDraw(entity me, vector cell, vector cellPos)
        vector crosshairPos = cellPos + 0.5 * me.realCellSize;
        draw_Picture(crosshairPos - 0.5 * sz, s, sz, SKINCOLOR_CROSSHAIRPICKER_CROSSHAIR, SKINALPHA_CROSSHAIRPICKER_CROSSHAIR);
 
-       if(cvar("crosshair_dot"))
+       if (cvar("crosshair_dot")) {
                draw_Picture(crosshairPos - 0.5 * sz * cvar("crosshair_dot_size"), "/gfx/crosshairdot", sz * cvar("crosshair_dot_size"), SKINCOLOR_CROSSHAIRPICKER_CROSSHAIR, SKINALPHA_CROSSHAIRPICKER_CROSSHAIR);
+       }
 }
index e11d7dcc0f04d4f9401edbb4d16273b823162542..e0103b977268f59ea637a253219db8ee082b8f09 100644 (file)
@@ -18,15 +18,17 @@ void XonoticCrosshairPreview_draw(entity me)
 {
        float save;
        save = draw_alpha;
-       if(me.disabled)
+       if (me.disabled) {
                draw_alpha *= me.disabledAlpha;
+       }
 
        vector sz, rgb;
        float a;
        rgb = stov(cvar_string("crosshair_color"));
        a = cvar("crosshair_alpha");
-       if(me.src)
+       if (me.src) {
                strunzone(me.src);
+       }
        me.src = strzone(strcat("/gfx/crosshair", cvar_string("crosshair")));
 
        sz = draw_PictureSize(me.src);
@@ -34,10 +36,10 @@ void XonoticCrosshairPreview_draw(entity me)
        sz = sz * cvar("crosshair_size");
 
        draw_Picture('0.5 0.5 0' - 0.5 * sz, me.src, sz, rgb, a);
-       if(cvar("crosshair_dot"))
-       {
-               if(cvar("crosshair_dot_color_custom") && (cvar_string("crosshair_dot_color") != "0"))
+       if (cvar("crosshair_dot")) {
+               if (cvar("crosshair_dot_color_custom") && (cvar_string("crosshair_dot_color") != "0")) {
                        rgb = stov(cvar_string("crosshair_dot_color"));
+               }
 
                draw_Picture('0.5 0.5 0' - 0.5 * sz * cvar("crosshair_dot_size"), me.src2, sz * cvar("crosshair_dot_size"), rgb, a * cvar("crosshair_dot_alpha"));
        }
index 12bb2810ba87282e54d9df9c43b7df5e1dba38c1..c339b659c0b8c91af4bded83df6bdb9f85127505 100644 (file)
@@ -20,19 +20,19 @@ void XonoticCvarList_configureXonoticCvarList(entity me)
 }
 void CvarList_Load(entity me, string filter)
 {
-       if(me.handle < 0)
+       if (me.handle < 0) {
                return;
+       }
 
        buf_cvarlist(me.handle, filter, "_");
        me.nItems = buf_getsize(me.handle);
-       if(autocvar_menu_cvarlist_onlymodified)
-       {
+       if (autocvar_menu_cvarlist_onlymodified) {
                float newbuf = buf_create();
-               for (int i = 0; i < me.nItems; ++i)
-               {
+               for (int i = 0; i < me.nItems; ++i) {
                        string k = bufstr_get(me.handle, i);
-                       if(cvar_string(k) != cvar_defstring(k))
+                       if (cvar_string(k) != cvar_defstring(k)) {
                                bufstr_add(newbuf, k, false);
+                       }
                }
                buf_del(me.handle);
                me.handle = newbuf;
@@ -42,23 +42,27 @@ void CvarList_Load(entity me, string filter)
 void XonoticCvarList_showNotify(entity me)
 {
        bool force_initial_selection = false;
-       if(me.handle >= 0 && me.nItems <= 0) // me.handle not loaded yet?
+       if (me.handle >= 0 && me.nItems <= 0) { // me.handle not loaded yet?
                force_initial_selection = true;
+       }
        CvarList_Load(me, me.controlledTextbox.text);
-       if(force_initial_selection)
+       if (force_initial_selection) {
                me.setSelected(me, 0);
+       }
 }
 void XonoticCvarList_hideNotify(entity me)
 {
-       if(me.handle)
+       if (me.handle) {
                buf_del(me.handle);
+       }
        me.handle = buf_create();
        me.nItems = 0;
 }
 void XonoticCvarList_destroy(entity me)
 {
-       if(me.handle)
+       if (me.handle) {
                buf_del(me.handle);
+       }
 }
 string autocvar_menu_forced_saved_cvars;
 string autocvar_menu_reverted_nonsaved_cvars;
@@ -68,33 +72,29 @@ float XonoticCvarList_updateCvarType(entity me)
        t = cvar_type(me.cvarName);
        me.cvarType = "";
        float needsForcing;
-       if(strhasword(autocvar_menu_forced_saved_cvars, me.cvarName))
-       {
+       if (strhasword(autocvar_menu_forced_saved_cvars, me.cvarName)) {
                me.cvarType = strcat(me.cvarType, ", ", _("forced to be saved to config.cfg"));
                needsForcing = 0;
-       }
-       else if(strhasword(autocvar_menu_reverted_nonsaved_cvars, me.cvarName))
-       {
+       } else if (strhasword(autocvar_menu_reverted_nonsaved_cvars, me.cvarName)) {
                // Currently claims to be saved, but won't be on next startup.
                me.cvarType = strcat(me.cvarType, ", ", _("will not be saved"));
                needsForcing = 1;
-       }
-       else if(t & CVAR_TYPEFLAG_SAVED)
-       {
+       } else if (t & CVAR_TYPEFLAG_SAVED) {
                me.cvarType = strcat(me.cvarType, ", ", _("will be saved to config.cfg"));
                needsForcing = 0;
-       }
-       else
-       {
+       } else {
                me.cvarType = strcat(me.cvarType, ", ", _("will not be saved"));
                needsForcing = 1;
        }
-       if(t & CVAR_TYPEFLAG_PRIVATE)
+       if (t & CVAR_TYPEFLAG_PRIVATE) {
                me.cvarType = strcat(me.cvarType, ", ", _("private"));
-       if(t & CVAR_TYPEFLAG_ENGINE)
+       }
+       if (t & CVAR_TYPEFLAG_ENGINE) {
                me.cvarType = strcat(me.cvarType, ", ", _("engine setting"));
-       if(t & CVAR_TYPEFLAG_READONLY)
+       }
+       if (t & CVAR_TYPEFLAG_READONLY) {
                me.cvarType = strcat(me.cvarType, ", ", _("read only"));
+       }
        me.cvarType = strzone(substring(me.cvarType, 2, strlen(me.cvarType) - 2));
        me.cvarTypeBox.setText(me.cvarTypeBox, me.cvarType);
        return needsForcing;
@@ -104,17 +104,22 @@ void XonoticCvarList_setSelected(entity me, float i)
        string s;
 
        SUPER(XonoticCvarList).setSelected(me, i);
-       if(me.nItems == 0)
+       if (me.nItems == 0) {
                return;
+       }
 
-       if(me.cvarName)
+       if (me.cvarName) {
                strunzone(me.cvarName);
-       if(me.cvarDescription)
+       }
+       if (me.cvarDescription) {
                strunzone(me.cvarDescription);
-       if(me.cvarType)
+       }
+       if (me.cvarType) {
                strunzone(me.cvarType);
-       if(me.cvarDefault)
+       }
+       if (me.cvarDefault) {
                strunzone(me.cvarDefault);
+       }
        me.cvarName = strzone(bufstr_get(me.handle, me.selectedItem));
        me.cvarDescription = strzone(cvar_description(me.cvarName));
        me.cvarDefault = strzone(cvar_defstring(me.cvarName));
@@ -165,10 +170,9 @@ void XonoticCvarList_drawListBoxItem(entity me, int i, vector absSize, bool isSe
 
        string s;
 
-       if(isSelected)
+       if (isSelected) {
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
-       else if(isFocused)
-       {
+       } else if (isFocused) {
                me.focusedItemAlpha = getFadedAlpha(me.focusedItemAlpha, SKINALPHA_LISTBOX_FOCUSED, SKINFADEALPHA_LISTBOX_FOCUSED);
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_FOCUSED, me.focusedItemAlpha);
        }
@@ -178,18 +182,20 @@ void XonoticCvarList_drawListBoxItem(entity me, int i, vector absSize, bool isSe
        v = cvar_string(k);
        d = cvar_defstring(k);
        t = cvar_type(k);
-       if(strhasword(autocvar_menu_forced_saved_cvars, k))
+       if (strhasword(autocvar_menu_forced_saved_cvars, k)) {
                theAlpha = SKINALPHA_CVARLIST_SAVED;
-       else if(strhasword(autocvar_menu_reverted_nonsaved_cvars, k))
+       } else if (strhasword(autocvar_menu_reverted_nonsaved_cvars, k)) {
                theAlpha = SKINALPHA_CVARLIST_TEMPORARY;
-       else if(t & CVAR_TYPEFLAG_SAVED)
+       } else if (t & CVAR_TYPEFLAG_SAVED) {
                theAlpha = SKINALPHA_CVARLIST_SAVED;
-       else
+       } else {
                theAlpha = SKINALPHA_CVARLIST_TEMPORARY;
-       if(v == d)
+       }
+       if (v == d) {
                theColor = SKINCOLOR_CVARLIST_UNCHANGED;
-       else
+       } else {
                theColor = SKINCOLOR_CVARLIST_CHANGED;
+       }
 
        s = draw_TextShortenToWidth(k, me.columnNameSize, 0, me.realFontSize);
        draw_Text(me.realUpperMargin * eY + me.columnNameOrigin * eX, s, me.realFontSize, theColor, theAlpha, 0);
@@ -199,42 +205,40 @@ void XonoticCvarList_drawListBoxItem(entity me, int i, vector absSize, bool isSe
 
 float XonoticCvarList_keyDown(entity me, float scan, float ascii, float shift)
 {
-       if (scan == K_MOUSE3 || ((shift & S_CTRL) && scan == K_SPACE))
-       {
+       if (scan == K_MOUSE3 || ((shift & S_CTRL) && scan == K_SPACE)) {
                CvarList_Revert_Click(NULL, me);
                return 1;
-       }
-       else if(scan == K_ENTER)
-       {
+       } else if (scan == K_ENTER) {
                me.cvarValueBox.parent.setFocus(me.cvarValueBox.parent, me.cvarValueBox);
                return 1;
-       }
-       else if(SUPER(XonoticCvarList).keyDown(me, scan, ascii, shift))
+       } else if (SUPER(XonoticCvarList).keyDown(me, scan, ascii, shift)) {
                return 1;
-       else if(!me.controlledTextbox)
+       } else if (!me.controlledTextbox) {
                return 0;
-       else
+       } else {
                return me.controlledTextbox.keyDown(me.controlledTextbox, scan, ascii, shift);
+       }
 }
 
 float XonoticCvarList_mouseRelease(entity me, vector pos)
 {
-       if(me.pressed == 2)
+       if (me.pressed == 2) {
                me.cvarValueBox.parent.setFocus(me.cvarValueBox.parent, me.cvarValueBox);
+       }
        return SUPER(XonoticCvarList).mouseRelease(me, pos);
 }
 
 void CvarList_Value_Change(entity box, entity me)
 {
        cvar_set(me.cvarNameBox.text, box.text);
-       if(me.cvarNeedsForcing)
-       {
+       if (me.cvarNeedsForcing) {
                localcmd(sprintf("\nseta %1$s \"$%1$s\"\n", me.cvarName));
                cvar_set("menu_reverted_nonsaved_cvars", substring(strreplace(strcat(" ", me.cvarName, " "), " ", strcat(" ", autocvar_menu_reverted_nonsaved_cvars, " ")), 1, -2));
-               if (autocvar_menu_forced_saved_cvars == "")
+               if (autocvar_menu_forced_saved_cvars == "") {
                        cvar_set("menu_forced_saved_cvars", me.cvarName);
-               else
+               } else {
                        cvar_set("menu_forced_saved_cvars", strcat(autocvar_menu_forced_saved_cvars, " ", me.cvarName));
+               }
                me.cvarNeedsForcing = 0;
                me.updateCvarType(me);
        }
@@ -244,13 +248,13 @@ void CvarList_Revert_Click(entity btn, entity me)
 {
        me.cvarValueBox.setText(me.cvarValueBox, me.cvarDefault);
        me.cvarValueBox.cursorPos = strlen(me.cvarDefault);
-       if(strhasword(autocvar_menu_forced_saved_cvars, me.cvarName))
-       {
+       if (strhasword(autocvar_menu_forced_saved_cvars, me.cvarName)) {
                cvar_set("menu_forced_saved_cvars", substring(strreplace(strcat(" ", me.cvarName, " "), " ", strcat(" ", autocvar_menu_forced_saved_cvars, " ")), 1, -2));
-               if (autocvar_menu_reverted_nonsaved_cvars == "")
+               if (autocvar_menu_reverted_nonsaved_cvars == "") {
                        cvar_set("menu_reverted_nonsaved_cvars", me.cvarName);
-               else
+               } else {
                        cvar_set("menu_reverted_nonsaved_cvars", strcat(autocvar_menu_reverted_nonsaved_cvars, " ", me.cvarName));
+               }
        }
        me.cvarNeedsForcing = me.updateCvarType(me);
 }
index d51a1f74893682130152f79b07a742747165fcc2..40b61de834b81c754326d01ba799616b036a27a9 100644 (file)
@@ -1,39 +1,39 @@
 #include "datasource.qh"
 
-    CONSTRUCTOR(StringSource, string str, string sep)
-    {
-        CONSTRUCT(StringSource);
-        this.StringSource_str = str;
-        this.StringSource_sep = sep;
-    }
-    METHOD(StringSource, getEntry, entity(entity this, int i, void(string name, string icon) returns))
-    {
-        int n = tokenizebyseparator(this.StringSource_str, this.StringSource_sep);
-        if (i < 0 || i >= n) return DataSource_false;
-        string s = argv(i);
-        if (returns) returns(s, string_null);
-        return DataSource_true;
-    }
-    METHOD(StringSource, reload, int(entity this, string filter))
-    {
-        return tokenizebyseparator(this.StringSource_str, this.StringSource_sep);
-    }
+CONSTRUCTOR(StringSource, string str, string sep)
+{
+       CONSTRUCT(StringSource);
+       this.StringSource_str = str;
+       this.StringSource_sep = sep;
+}
+METHOD(StringSource, getEntry, entity(entity this, int i, void(string name, string icon) returns))
+{
+       int n = tokenizebyseparator(this.StringSource_str, this.StringSource_sep);
+       if (i < 0 || i >= n) { return DataSource_false; }
+       string s = argv(i);
+       if (returns) { returns(s, string_null); }
+       return DataSource_true;
+}
+METHOD(StringSource, reload, int(entity this, string filter))
+{
+       return tokenizebyseparator(this.StringSource_str, this.StringSource_sep);
+}
 
-    CONSTRUCTOR(CvarStringSource, string cv, string sep)
-    {
-        CONSTRUCT(CvarStringSource);
-        this.CvarStringSource_cvar = cv;
-        this.StringSource_sep = sep;
-    }
-    METHOD(CvarStringSource, getEntry, entity(entity this, int i, void(string name, string icon) returns))
-    {
-        string s = this.CvarStringSource_cvar;
-        this.StringSource_str = s ? cvar_string(s) : string_null;
-        return SUPER(CvarStringSource).getEntry(this, i, returns);
-    }
-    METHOD(CvarStringSource, reload, int(entity this, string filter))
-    {
-        string s = this.CvarStringSource_cvar;
-        this.StringSource_str = s ? cvar_string(s) : string_null;
-        return SUPER(CvarStringSource).reload(this, filter);
-    }
+CONSTRUCTOR(CvarStringSource, string cv, string sep)
+{
+       CONSTRUCT(CvarStringSource);
+       this.CvarStringSource_cvar = cv;
+       this.StringSource_sep = sep;
+}
+METHOD(CvarStringSource, getEntry, entity(entity this, int i, void(string name, string icon) returns))
+{
+       string s = this.CvarStringSource_cvar;
+       this.StringSource_str = s ? cvar_string(s) : string_null;
+       return SUPER(CvarStringSource).getEntry(this, i, returns);
+}
+METHOD(CvarStringSource, reload, int(entity this, string filter))
+{
+       string s = this.CvarStringSource_cvar;
+       this.StringSource_str = s ? cvar_string(s) : string_null;
+       return SUPER(CvarStringSource).reload(this, filter);
+}
index 87c614ab737b31a34d5a2c447693b69679e6a3a7..5a8723004ee95a090fb2cf6350ae45e12850d22f 100644 (file)
@@ -1,34 +1,43 @@
 #pragma once
 
 CLASS(DataSource, Object)
-    STATIC_ATTRIB(DataSource, true, entity, NEW(Object));
-    STATIC_ATTRIB(DataSource, false, entity, NULL);
-    /**
-     * get entry `i` passing `name` and `icon` through `returns` if it is not null
-     * returns `DataSource_false` if out of bounds
-     * otherwise returns an entity or `DataSource_true`
-     */
-    METHOD(DataSource, getEntry, entity(entity this, int i, void(string name, string icon) returns)) { return DataSource_false; }
-    /** return the index of the first match for `find`. optional */
-    METHOD(DataSource, indexOf, int(entity this, string find)) { return -1; }
-    /** reload all entries matching `filter` returning how many matches were found */
-    METHOD(DataSource, reload, int(entity this, string filter)) { return 0; }
-    /** cleanup on shutdown. optional */
-    METHOD(DataSource, destroy, void(entity this)) { }
+       STATIC_ATTRIB(DataSource, true, entity, NEW(Object));
+       STATIC_ATTRIB(DataSource, false, entity, NULL);
+       /**
+        * get entry `i` passing `name` and `icon` through `returns` if it is not null
+        * returns `DataSource_false` if out of bounds
+        * otherwise returns an entity or `DataSource_true`
+        */
+       METHOD(DataSource, getEntry, entity(entity this, int i, void(string name, string icon) returns))
+       {
+               return DataSource_false;
+       }
+       /** return the index of the first match for `find`. optional */
+       METHOD(DataSource, indexOf, int(entity this, string find))
+       {
+               return -1;
+       }
+       /** reload all entries matching `filter` returning how many matches were found */
+       METHOD(DataSource, reload, int(entity this, string filter))
+       {
+               return 0;
+       }
+       /** cleanup on shutdown. optional */
+       METHOD(DataSource, destroy, void(entity this)) {}
 ENDCLASS(DataSource)
 
 
 CLASS(StringSource, DataSource)
-    ATTRIB(StringSource, StringSource_str, string);
-    ATTRIB(StringSource, StringSource_sep, string);
-    CONSTRUCTOR(StringSource, string str, string sep);
-    METHOD(StringSource, getEntry, entity(entity this, int i, void(string name, string icon) returns));
-    METHOD(StringSource, reload, int(entity this, string filter));
+       ATTRIB(StringSource, StringSource_str, string);
+       ATTRIB(StringSource, StringSource_sep, string);
+       CONSTRUCTOR(StringSource, string str, string sep);
+       METHOD(StringSource, getEntry, entity(entity this, int i, void(string name, string icon) returns));
+       METHOD(StringSource, reload, int(entity this, string filter));
 ENDCLASS(StringSource)
 
 CLASS(CvarStringSource, StringSource)
-    ATTRIB(CvarStringSource, CvarStringSource_cvar, string);
-    CONSTRUCTOR(CvarStringSource, string cv, string sep);
-    METHOD(CvarStringSource, getEntry, entity(entity this, int i, void(string name, string icon) returns));
-    METHOD(CvarStringSource, reload, int(entity this, string filter));
+       ATTRIB(CvarStringSource, CvarStringSource_cvar, string);
+       CONSTRUCTOR(CvarStringSource, string cv, string sep);
+       METHOD(CvarStringSource, getEntry, entity(entity this, int i, void(string name, string icon) returns));
+       METHOD(CvarStringSource, reload, int(entity this, string filter));
 ENDCLASS(CvarStringSource)
index b527542a5965b1408ed6e299c856ccb414b846df..4143bd8e884818a95b325958482944e755ba0b64 100644 (file)
@@ -21,9 +21,9 @@ string XonoticDemoList_demoName(entity me, float i)
        string s;
        s = bufstr_get(me.listDemo, i);
 
-       if(substring(s, 0, 1) == "/")
-               s = substring(s, 1, strlen(s) - 1);  // remove the first forward slash
-
+       if (substring(s, 0, 1) == "/") {
+               s = substring(s, 1, strlen(s) - 1); // remove the first forward slash
+       }
        return s;
 }
 
@@ -31,60 +31,61 @@ string XonoticDemoList_demoName(entity me, float i)
 void getDemos_for_ext(entity me, string ext, float subdir)
 {
        string s;
-       if (subdir)
-               s="demos/*/";
-       else
-               s="demos/";
-       if(me.filterString)
-               s=strcat(s, me.filterString, ext);
-       else
-               s=strcat(s, "*", ext);
+       if (subdir) {
+               s = "demos/*/";
+       } else {
+               s = "demos/";
+       }
+       if (me.filterString) {
+               s = strcat(s, me.filterString, ext);
+       } else {
+               s = strcat(s, "*", ext);
+       }
 
        float list, i, n;
        list = search_begin(s, false, true);
-       if(list >= 0)
-       {
+       if (list >= 0) {
                n = search_getsize(list);
-               for(i = 0; i < n; ++i)
-               {
-                       s = search_getfilename(list, i); // get initial full file name
-                       s = substring(s, 6, (strlen(s) - 6 - 4)); // remove "demos/" prefix and ".dem" suffix
-                       s = strdecolorize(s); // remove any pre-existing colors
-                       if(subdir)
-                       {
-                               s = strreplace("/", "^7/", s); // clear colors at the forward slash
+               for (i = 0; i < n; ++i) {
+                       s = search_getfilename(list, i);                                    // get initial full file name
+                       s = substring(s, 6, (strlen(s) - 6 - 4));                           // remove "demos/" prefix and ".dem" suffix
+                       s = strdecolorize(s);                                               // remove any pre-existing colors
+                       if (subdir) {
+                               s = strreplace("/", "^7/", s);                                  // clear colors at the forward slash
                                s = strcat("/", rgb_to_hexcolor(SKINCOLOR_DEMOLIST_SUBDIR), s); // add a forward slash for sorting, then color
                                bufstr_add(me.listDemo, s, true);
-                       }
-                       else { bufstr_add(me.listDemo, s, true); }
+                       } else { bufstr_add(me.listDemo, s, true); }
                }
                search_end(list);
        }
 
-       if (subdir)
+       if (subdir) {
                getDemos_for_ext(me, ext, false);
+       }
 }
 
 void XonoticDemoList_getDemos(entity me)
 {
-       if (me.listDemo >= 0)
+       if (me.listDemo >= 0) {
                buf_del(me.listDemo);
+       }
        me.listDemo = buf_create();
-       if (me.listDemo < 0)
-       {
+       if (me.listDemo < 0) {
                me.nItems = 0;
                return;
        }
        getDemos_for_ext(me, ".dem", true);
        me.nItems = buf_getsize(me.listDemo);
-       if(me.nItems > 0)
+       if (me.nItems > 0) {
                buf_sort(me.listDemo, 128, false);
+       }
 }
 
 void XonoticDemoList_destroy(entity me)
 {
-       if(me.nItems > 0)
+       if (me.nItems > 0) {
                buf_del(me.listDemo);
+       }
 }
 
 void XonoticDemoList_resizeNotify(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize)
@@ -103,15 +104,14 @@ void XonoticDemoList_resizeNotify(entity me, vector relOrigin, vector relSize, v
 void XonoticDemoList_drawListBoxItem(entity me, int i, vector absSize, bool isSelected, bool isFocused)
 {
        string s;
-       if(isSelected)
+       if (isSelected) {
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
-       else if(isFocused)
-       {
+       } else if (isFocused) {
                me.focusedItemAlpha = getFadedAlpha(me.focusedItemAlpha, SKINALPHA_LISTBOX_FOCUSED, SKINFADEALPHA_LISTBOX_FOCUSED);
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_FOCUSED, me.focusedItemAlpha);
        }
 
-       s = me.demoName(me,i);
+       s = me.demoName(me, i);
        s = draw_TextShortenToWidth(s, me.columnNameSize, 0, me.realFontSize);
        draw_Text(me.realUpperMargin * eY + (me.columnNameOrigin + 0.00 * (me.columnNameSize - draw_TextWidth(s, 0, me.realFontSize))) * eX, s, me.realFontSize, SKINCOLOR_TEXT, SKINALPHA_TEXT, 1);
 }
@@ -124,23 +124,24 @@ void XonoticDemoList_showNotify(entity me)
 void DemoList_Refresh_Click(entity btn, entity me)
 {
        me.getDemos(me);
-       me.setSelected(me, 0); //always select the first element after a list update
+       me.setSelected(me, 0); // always select the first element after a list update
 }
 
 void DemoList_Filter_Change(entity box, entity me)
 {
-       if(me.filterString)
+       if (me.filterString) {
                strunzone(me.filterString);
+       }
 
-       if(box.text != "")
-       {
-               if (strstrofs(box.text, "*", 0) >= 0 || strstrofs(box.text, "?", 0) >= 0)
+       if (box.text != "") {
+               if (strstrofs(box.text, "*", 0) >= 0 || strstrofs(box.text, "?", 0) >= 0) {
                        me.filterString = strzone(box.text);
-               else
+               } else {
                        me.filterString = strzone(strcat("*", box.text, "*"));
-       }
-       else
+               }
+       } else {
                me.filterString = string_null;
+       }
 
        me.getDemos(me);
 }
@@ -165,12 +166,9 @@ void XonoticDemoList_timeDemo(entity me)
 
 void DemoConfirm_ListClick_Check_Gamestatus(entity me)
 {
-       if(!(gamestatus & (GAME_CONNECTED | GAME_ISSERVER))) // we're not in a match, lets watch the demo
-       {
+       if (!(gamestatus & (GAME_CONNECTED | GAME_ISSERVER))) { // we're not in a match, lets watch the demo
                me.startDemo(me);
-       }
-       else // already in a match, player has to confirm
-       {
+       } else { // already in a match, player has to confirm
                DialogOpenButton_Click_withCoords(
                        me,
                        main.demostartconfirmDialog,
@@ -187,13 +185,10 @@ void XonoticDemoList_doubleClickListBoxItem(entity me, float i, vector where)
 
 float XonoticDemoList_keyDown(entity me, float scan, float ascii, float shift)
 {
-       if(scan == K_ENTER || scan == K_KP_ENTER)
-       {
+       if (scan == K_ENTER || scan == K_KP_ENTER) {
                DemoConfirm_ListClick_Check_Gamestatus(me);
                return 1;
-       }
-       else
-       {
+       } else {
                return SUPER(XonoticDemoList).keyDown(me, scan, ascii, shift);
        }
 }
index 6341db1a3e1da23f081c28044d4b057e43d0243d..a717016a94b2172990cda19a76bce89396aa4b53 100644 (file)
@@ -27,7 +27,7 @@ CLASS(XonoticDemoList, XonoticListBox)
        ATTRIB(XonoticDemoList, filterString, string);
 ENDCLASS(XonoticDemoList)
 
-entity demolist;  // for reference elsewhere
+entity demolist; // for reference elsewhere
 entity makeXonoticDemoList();
 void DemoList_Refresh_Click(entity btn, entity me);
 void DemoList_Filter_Change(entity box, entity me);
index 16469dbdd2cbdb53f4bfaf7cdcc8bf43bda71012..609444d64f2ba7053897971a2ebcb69040ac714d 100644 (file)
@@ -8,11 +8,11 @@ void XonoticCreditsDialog_fill(entity me)
 {
        entity e;
        me.TR(me);
-               me.TD(me, me.rows - 1, me.columns, me.creditsList = makeXonoticCreditsList());
+       me.TD(me, me.rows - 1, me.columns, me.creditsList = makeXonoticCreditsList());
        me.gotoRC(me, me.rows - 1, 0);
-               me.TD(me, 1, me.columns, e = makeXonoticButton(_("OK"), '0 0 0'));
-                       e.onClick = Dialog_Close;
-                       e.onClickEntity = me;
+       me.TD(me, 1, me.columns, e = makeXonoticButton(_("OK"), '0 0 0'));
+       e.onClick = Dialog_Close;
+       e.onClickEntity = me;
 }
 void XonoticCreditsDialog_focusEnter(entity me)
 {
index 0d3b5c97512ef212be117cebc8f90ae6424be842..35e1bb0ad35464438609563ceff07f59d17e2e3c 100644 (file)
 
 float CheckFirstRunButton(entity me)
 {
-       if(cvar_string("_cl_name") != cvar_defstring("_cl_name"))
+       if (cvar_string("_cl_name") != cvar_defstring("_cl_name")) {
                return 1;
+       }
 
-       if(cvar_string("_menu_prvm_language") != prvm_language)
+       if (cvar_string("_menu_prvm_language") != prvm_language) {
                return 1; // OK will then reopen the dialog in another language
-
-       if(cvar_string("cl_allow_uid2name") != "-1")
+       }
+       if (cvar_string("cl_allow_uid2name") != "-1") {
                return 1;
+       }
 
        return 0;
 }
 
 void firstRun_setLanguage(entity me)
 {
-       if(prvm_language != cvar_string("_menu_prvm_language"))
+       if (prvm_language != cvar_string("_menu_prvm_language")) {
                localcmd("\nprvm_language \"$_menu_prvm_language\"; saveconfig; menu_restart\n");
+       }
 }
 
 void XonoticFirstRunDialog_fill(entity me)
@@ -35,42 +38,43 @@ void XonoticFirstRunDialog_fill(entity me)
 
        me.TR(me);
        me.TR(me);
-               me.TDempty(me, 1);
-               me.TD(me, 2, 4, e = makeXonoticTextLabel(0, _("Welcome to Xonotic, please select your language preference and enter your player name to get started.  You can change these options later through the menu system.")));
-               e.allowWrap = 1;
+       me.TDempty(me, 1);
+       me.TD(me, 2, 4, e = makeXonoticTextLabel(0, _("Welcome to Xonotic, please select your language preference and enter your player name to get started.  You can change these options later through the menu system.")));
+       e.allowWrap = 1;
        me.TR(me);
 
        me.TR(me);
        me.TR(me);
-               me.TD(me, 1, 0.5, me.playerNameLabel = makeXonoticTextLabel(0, _("Name:")));
-                       me.playerNameLabelAlpha = me.playerNameLabel.alpha;
-               me.TD(me, 1, 3.25, label = makeXonoticTextLabel(0, string_null));
-                       label.allowCut = 1;
-                       label.allowColors = 1;
-                       label.alpha = 1;
+       me.TD(me, 1, 0.5, me.playerNameLabel = makeXonoticTextLabel(0, _("Name:")));
+       me.playerNameLabelAlpha = me.playerNameLabel.alpha;
+       me.TD(me, 1, 3.25, label = makeXonoticTextLabel(0, string_null));
+       label.allowCut = 1;
+       label.allowColors = 1;
+       label.alpha = 1;
        me.TR(me);
-               me.TD(me, 1, 3.75, box = makeXonoticInputBox_T(1, "_cl_name",
+       me.TD(me, 1, 3.75, box = makeXonoticInputBox_T(1, "_cl_name",
                        _("Name under which you will appear in the game")));
-                       box.forbiddenCharacters = "\r\n\\\"$"; // don't care, isn't getting saved
-                       box.maxLength = -127; // negative means encoded length in bytes
-                       box.saveImmediately = 0;  // Sorry, can't do this, it spams "name" commands.
-                       box.enableClearButton = 0;
-                       label.textEntity = box;
+       box.forbiddenCharacters = "\r\n\\\"$"; // don't care, isn't getting saved
+       box.maxLength = -127;                  // negative means encoded length in bytes
+       box.saveImmediately = 0;               // Sorry, can't do this, it spams "name" commands.
+       box.enableClearButton = 0;
+       label.textEntity = box;
        me.TR(me);
-               me.TD(me, 5, 1.25, e = makeXonoticColorpicker(box));
-               me.TD(me, 5, 2.5, e = makeXonoticCharmap(box));
+       me.TD(me, 5, 1.25, e = makeXonoticColorpicker(box));
+       me.TD(me, 5, 2.5, e = makeXonoticCharmap(box));
        me.TR(me);
        me.TR(me);
        me.TR(me);
        me.TR(me);
 
-       me.gotoRC(me, 3, 4); me.setFirstColumn(me, me.currentColumn);
+       me.gotoRC(me, 3, 4);
+       me.setFirstColumn(me, me.currentColumn);
        me.TR(me);
-               me.TD(me, 1, 2, e = makeXonoticTextLabel(0, _("Text language:")));
+       me.TD(me, 1, 2, e = makeXonoticTextLabel(0, _("Text language:")));
        me.TR(me);
-               me.TD(me, 6, 2, e = makeXonoticLanguageList());
-                       e.name = "languageselector_firstrun";
-                       e.setLanguage = firstRun_setLanguage;
+       me.TD(me, 6, 2, e = makeXonoticLanguageList());
+       e.name = "languageselector_firstrun";
+       e.setLanguage = firstRun_setLanguage;
        me.TR(me);
        me.TR(me);
 
@@ -86,5 +90,5 @@ void XonoticFirstRunDialog_fill(entity me)
        // because of the language selector, this is a menu_restart!
        me.gotoRC(me, me.rows - 1, 0);
        me.TD(me, 1, me.columns, e = makeXonoticCommandButton(_("Save settings"), '0 0 0', "prvm_language \"$_menu_prvm_language\"; saveconfig; menu_restart", COMMANDBUTTON_APPLY));
-               setDependentWeird(e, CheckFirstRunButton);
+       setDependentWeird(e, CheckFirstRunButton);
 }
index 2e67e7acf861294bb39a6d97bf2a5155e008eaac..d7c0d77077f79482db94a3d912ff994eeae43e6a 100644 (file)
@@ -13,21 +13,21 @@ void XonoticHUDAmmoDialog_fill(entity me)
        DIALOG_HUDPANEL_COMMON();
 
        me.TR(me);
-               me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("Ammunition display:")));
+       me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("Ammunition display:")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 3.8, e = makeXonoticCheckBox(0, "hud_panel_ammo_onlycurrent", _("Show only current ammo type")));
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 3.8, e = makeXonoticCheckBox(0, "hud_panel_ammo_onlycurrent", _("Show only current ammo type")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Noncurrent alpha:")));
-               me.TD(me, 1, 2.6, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_ammo_noncurrent_alpha"));
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Noncurrent alpha:")));
+       me.TD(me, 1, 2.6, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_ammo_noncurrent_alpha"));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Noncurrent scale:")));
-               me.TD(me, 1, 2.6, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_ammo_noncurrent_scale"));
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Noncurrent scale:")));
+       me.TD(me, 1, 2.6, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_ammo_noncurrent_scale"));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Align icon:")));
-                       me.TD(me, 1, 2.6/2, e = makeXonoticRadioButton(2, "hud_panel_ammo_iconalign", "0", _("Left")));
-                       me.TD(me, 1, 2.6/2, e = makeXonoticRadioButton(2, "hud_panel_ammo_iconalign", "1", _("Right")));
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Align icon:")));
+       me.TD(me, 1, 2.6 / 2, e = makeXonoticRadioButton(2, "hud_panel_ammo_iconalign", "0", _("Left")));
+       me.TD(me, 1, 2.6 / 2, e = makeXonoticRadioButton(2, "hud_panel_ammo_iconalign", "1", _("Right")));
 }
index 332f6753f76d62273411801ab6cd584f46077a9a..51f0f619b7cdbb7652875d5acf25532fc4d2dd89 100644 (file)
@@ -13,25 +13,25 @@ void XonoticHUDCenterprintDialog_fill(entity me)
        DIALOG_HUDPANEL_COMMON();
 
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Message duration:")));
-               me.TD(me, 1, 2.6, e = makeXonoticSlider(1, 10, 1, "hud_panel_centerprint_time"));
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Message duration:")));
+       me.TD(me, 1, 2.6, e = makeXonoticSlider(1, 10, 1, "hud_panel_centerprint_time"));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Fade time:")));
-               me.TD(me, 1, 2.6, e = makeXonoticSlider(0, 1, 0.05, "hud_panel_centerprint_fade_out"));
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Fade time:")));
+       me.TD(me, 1, 2.6, e = makeXonoticSlider(0, 1, 0.05, "hud_panel_centerprint_fade_out"));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 3.8, e = makeXonoticCheckBox(0, "hud_panel_centerprint_flip", _("Flip messages order")));
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 3.8, e = makeXonoticCheckBox(0, "hud_panel_centerprint_flip", _("Flip messages order")));
        me.TR(me);
-               me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("Text alignment:")));
+       me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("Text alignment:")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-                       me.TD(me, 1, 3.8/3, e = makeXonoticRadioButton(3, "hud_panel_centerprint_align", "0", _("Left")));
-                       me.TD(me, 1, 3.8/3, e = makeXonoticRadioButton(3, "hud_panel_centerprint_align", "0.5", _("Center")));
-                       me.TD(me, 1, 3.8/3, e = makeXonoticRadioButton(3, "hud_panel_centerprint_align", "1", _("Right")));
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 3.8 / 3, e = makeXonoticRadioButton(3, "hud_panel_centerprint_align", "0", _("Left")));
+       me.TD(me, 1, 3.8 / 3, e = makeXonoticRadioButton(3, "hud_panel_centerprint_align", "0.5", _("Center")));
+       me.TD(me, 1, 3.8 / 3, e = makeXonoticRadioButton(3, "hud_panel_centerprint_align", "1", _("Right")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Font scale:")));
-               me.TD(me, 1, 2.6, e = makeXonoticSlider(0.5, 2, 0.1, "hud_panel_centerprint_fontscale"));
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Font scale:")));
+       me.TD(me, 1, 2.6, e = makeXonoticSlider(0.5, 2, 0.1, "hud_panel_centerprint_fontscale"));
 }
index 1ffa41f68c802d9c1cdb96995f2aa50619db762e..d841c661d6f2d88ff7d1058d2364a7e63228e25c 100644 (file)
@@ -12,16 +12,16 @@ void XonoticHUDChatDialog_fill(entity me)
        DIALOG_HUDPANEL_COMMON();
 
        me.TR(me);
-               me.TD(me, 1, 2, e = makeXonoticTextLabel(0, _("Chat entries:")));
+       me.TD(me, 1, 2, e = makeXonoticTextLabel(0, _("Chat entries:")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Chat size:")));
-               me.TD(me, 1, 2.6, e = makeXonoticSlider(6, 20, 1, "con_chatsize"));
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Chat size:")));
+       me.TD(me, 1, 2.6, e = makeXonoticSlider(6, 20, 1, "con_chatsize"));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Chat lifetime:")));
-               me.TD(me, 1, 2.6, e = makeXonoticSlider(5, 60, 5, "con_chattime"));
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Chat lifetime:")));
+       me.TD(me, 1, 2.6, e = makeXonoticSlider(5, 60, 5, "con_chattime"));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 3.8, e = makeXonoticCheckBox(0, "con_chatsound", _("Chat beep sound")));
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 3.8, e = makeXonoticCheckBox(0, "con_chatsound", _("Chat beep sound")));
 }
index b46d3aa02eff1fbd791331d3ac731c394506f426..3e3532bd489474f41c0aabc6365e039613ea38a5 100644 (file)
@@ -11,8 +11,8 @@ void XonoticHUDEngineInfoDialog_fill(entity me)
        DIALOG_HUDPANEL_COMMON();
 
        me.TR(me);
-               me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("Engine info:")));
+       me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("Engine info:")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 3.8, e = makeXonoticCheckBox(0, "hud_panel_engineinfo_framecounter_exponentialmovingaverage", _("Use an averaging algorithm for fps")));
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 3.8, e = makeXonoticCheckBox(0, "hud_panel_engineinfo_framecounter_exponentialmovingaverage", _("Use an averaging algorithm for fps")));
 }
index ac305b83258638cd4352305a7071d338a5d85b3d..54034d7e602d1294662f6ca5c42fc3c5b6b8bf85 100644 (file)
@@ -12,30 +12,30 @@ void XonoticHUDHealthArmorDialog_fill(entity me)
        DIALOG_HUDPANEL_COMMON();
 
        me.TR(me);
-               me.TD(me, 1, 4, e = makeXonoticCheckBox(0, "hud_panel_healtharmor_combined", _("Combine health and armor")));
+       me.TD(me, 1, 4, e = makeXonoticCheckBox(0, "hud_panel_healtharmor_combined", _("Combine health and armor")));
        me.TR(me);
-               me.TD(me, 1, 4, e = makeXonoticCheckBox(0, "hud_panel_healtharmor_progressbar", _("Enable status bar")));
+       me.TD(me, 1, 4, e = makeXonoticCheckBox(0, "hud_panel_healtharmor_progressbar", _("Enable status bar")));
        me.TR(me);
-               me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("Status bar alignment:")));
-                       setDependent(e, "hud_panel_healtharmor_progressbar", 1, 1);
+       me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("Status bar alignment:")));
+       setDependent(e, "hud_panel_healtharmor_progressbar", 1, 1);
        me.TR(me);
-               me.TDempty(me, 0.2);
-                       me.TD(me, 1, 0.95, e = makeXonoticRadioButton(2, "hud_panel_healtharmor_baralign", "0", _("Left")));
-                       setDependent(e, "hud_panel_healtharmor_progressbar", 1, 1);
-                       me.TD(me, 1, 0.95, e = makeXonoticRadioButton(2, "hud_panel_healtharmor_baralign", "1", _("Right")));
-                       setDependent(e, "hud_panel_healtharmor_progressbar", 1, 1);
-                       me.TD(me, 1, 0.95, e = makeXonoticRadioButton(2, "hud_panel_healtharmor_baralign", "2", _("Inward")));
-                       setDependent(e, "hud_panel_healtharmor_progressbar", 1, 1);
-                       me.TD(me, 1, 0.95, e = makeXonoticRadioButton(2, "hud_panel_healtharmor_baralign", "3", _("Outward")));
-                       setDependent(e, "hud_panel_healtharmor_progressbar", 1, 1);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 0.95, e = makeXonoticRadioButton(2, "hud_panel_healtharmor_baralign", "0", _("Left")));
+       setDependent(e, "hud_panel_healtharmor_progressbar", 1, 1);
+       me.TD(me, 1, 0.95, e = makeXonoticRadioButton(2, "hud_panel_healtharmor_baralign", "1", _("Right")));
+       setDependent(e, "hud_panel_healtharmor_progressbar", 1, 1);
+       me.TD(me, 1, 0.95, e = makeXonoticRadioButton(2, "hud_panel_healtharmor_baralign", "2", _("Inward")));
+       setDependent(e, "hud_panel_healtharmor_progressbar", 1, 1);
+       me.TD(me, 1, 0.95, e = makeXonoticRadioButton(2, "hud_panel_healtharmor_baralign", "3", _("Outward")));
+       setDependent(e, "hud_panel_healtharmor_progressbar", 1, 1);
        me.TR(me);
-               me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("Icon alignment:")));
+       me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("Icon alignment:")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-                       me.TD(me, 1, 0.95, e = makeXonoticRadioButton(3, "hud_panel_healtharmor_iconalign", "0", _("Left")));
-                       me.TD(me, 1, 0.95, e = makeXonoticRadioButton(3, "hud_panel_healtharmor_iconalign", "1", _("Right")));
-                       me.TD(me, 1, 0.95, e = makeXonoticRadioButton(3, "hud_panel_healtharmor_iconalign", "2", _("Inward")));
-                       me.TD(me, 1, 0.95, e = makeXonoticRadioButton(3, "hud_panel_healtharmor_iconalign", "3", _("Outward")));
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 0.95, e = makeXonoticRadioButton(3, "hud_panel_healtharmor_iconalign", "0", _("Left")));
+       me.TD(me, 1, 0.95, e = makeXonoticRadioButton(3, "hud_panel_healtharmor_iconalign", "1", _("Right")));
+       me.TD(me, 1, 0.95, e = makeXonoticRadioButton(3, "hud_panel_healtharmor_iconalign", "2", _("Inward")));
+       me.TD(me, 1, 0.95, e = makeXonoticRadioButton(3, "hud_panel_healtharmor_iconalign", "3", _("Outward")));
        me.TR(me);
-               me.TD(me, 1, 4, e = makeXonoticCheckBox(0, "hud_panel_healtharmor_flip", _("Flip health and armor positions")));
+       me.TD(me, 1, 4, e = makeXonoticCheckBox(0, "hud_panel_healtharmor_flip", _("Flip health and armor positions")));
 }
index d758ad206643dcdba154fbfe48be74eca5726b58..fcf5f76360b4b42ec1db25c06fcb2a1fba5ea55c 100644 (file)
@@ -11,8 +11,8 @@ void XonoticHUDInfoMessagesDialog_fill(entity me)
        DIALOG_HUDPANEL_COMMON();
 
        me.TR(me);
-               me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("Info messages:")));
+       me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("Info messages:")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 3.8, e = makeXonoticCheckBox(0, "hud_panel_infomessages_flip", _("Flip align")));
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 3.8, e = makeXonoticCheckBox(0, "hud_panel_infomessages_flip", _("Flip align")));
 }
index aeb8c8c774d639fa11a2073135e343e9d8c78f33..3867a05c86842a79c43818e5fca104a4a3b61876 100644 (file)
@@ -12,29 +12,29 @@ void XonoticHUDItemsTimeDialog_fill(entity me)
        string panelname = "itemstime";
 
        me.TR(me);
-               me.TD(me, 1, 4, e = makeXonoticTextSlider("hud_panel_itemstime"));
-                       e.addValue(e, ZCTX(_("PNL^Disabled")), "0");
-                       e.addValue(e, ZCTX(_("PNL^Enabled spectating")), "1");
-                       e.addValue(e, ZCTX(_("PNL^Enabled even playing in warmup")), "2");
-                       e.configureXonoticTextSliderValues(e);
+       me.TD(me, 1, 4, e = makeXonoticTextSlider("hud_panel_itemstime"));
+       e.addValue(e, ZCTX(_("PNL^Disabled")), "0");
+       e.addValue(e, ZCTX(_("PNL^Enabled spectating")), "1");
+       e.addValue(e, ZCTX(_("PNL^Enabled even playing in warmup")), "2");
+       e.configureXonoticTextSliderValues(e);
 
        DIALOG_HUDPANEL_COMMON_NOTOGGLE();
 
        me.TR(me);
-               me.TD(me, 1, 1.4, e = makeXonoticTextLabel(0, _("Align icon:")));
-                       me.TD(me, 1, 2.6/2, e = makeXonoticRadioButton(2, "hud_panel_itemstime_iconalign", "0", _("Left")));
-                       me.TD(me, 1, 2.6/2, e = makeXonoticRadioButton(2, "hud_panel_itemstime_iconalign", "1", _("Right")));
+       me.TD(me, 1, 1.4, e = makeXonoticTextLabel(0, _("Align icon:")));
+       me.TD(me, 1, 2.6 / 2, e = makeXonoticRadioButton(2, "hud_panel_itemstime_iconalign", "0", _("Left")));
+       me.TD(me, 1, 2.6 / 2, e = makeXonoticRadioButton(2, "hud_panel_itemstime_iconalign", "1", _("Right")));
        me.TR(me);
-               me.TD(me, 1, 2, e = makeXonoticCheckBox(0, "hud_panel_itemstime_progressbar", _("Enable status bar")));
-               me.TD(me, 1, 2, e = makeXonoticCheckBox(0, "hud_panel_itemstime_progressbar_reduced", _("Reduced")));
-                       setDependent(e, "hud_panel_itemstime_progressbar", 1, 1);
+       me.TD(me, 1, 2, e = makeXonoticCheckBox(0, "hud_panel_itemstime_progressbar", _("Enable status bar")));
+       me.TD(me, 1, 2, e = makeXonoticCheckBox(0, "hud_panel_itemstime_progressbar_reduced", _("Reduced")));
+       setDependent(e, "hud_panel_itemstime_progressbar", 1, 1);
        me.TR(me);
-               me.TD(me, 1, 1.4, e = makeXonoticTextLabel(0, _("Text/icon ratio:")));
-               me.TD(me, 1, 2.6, e = makeXonoticSlider(2, 8, 0.5, "hud_panel_itemstime_ratio"));
+       me.TD(me, 1, 1.4, e = makeXonoticTextLabel(0, _("Text/icon ratio:")));
+       me.TD(me, 1, 2.6, e = makeXonoticSlider(2, 8, 0.5, "hud_panel_itemstime_ratio"));
        me.TR(me);
-               me.TD(me, 1, 4, e = makeXonoticCheckBox(0, "hud_panel_itemstime_hidespawned", _("Hide spawned items")));
+       me.TD(me, 1, 4, e = makeXonoticCheckBox(0, "hud_panel_itemstime_hidespawned", _("Hide spawned items")));
        me.TR(me);
-               me.TD(me, 1, 4, e = makeXonoticCheckBox(0, "hud_panel_itemstime_hidebig", _("Hide big armor and health")));
+       me.TD(me, 1, 4, e = makeXonoticCheckBox(0, "hud_panel_itemstime_hidebig", _("Hide big armor and health")));
        me.TR(me);
-               me.TD(me, 1, 4, e = makeXonoticCheckBox(0, "hud_panel_itemstime_dynamicsize", _("Dynamic size")));
+       me.TD(me, 1, 4, e = makeXonoticCheckBox(0, "hud_panel_itemstime_dynamicsize", _("Dynamic size")));
 }
index 490051846e378fd7835c50d684d9294083ef0ddc..96e907ad97193de30adbebbd44061088dac90644 100644 (file)
@@ -12,19 +12,19 @@ void XonoticHUDNotificationDialog_fill(entity me)
        DIALOG_HUDPANEL_COMMON();
 
        me.TR(me);
-               me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("Notifications:")));
+       me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("Notifications:")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 3.8, e = makeXonoticCheckBox(0, "hud_panel_notify_print", _("Also print notifications to the console")));
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 3.8, e = makeXonoticCheckBox(0, "hud_panel_notify_print", _("Also print notifications to the console")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 3.8, e = makeXonoticCheckBox(0, "hud_panel_notify_flip", _("Flip notify order")));
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 3.8, e = makeXonoticCheckBox(0, "hud_panel_notify_flip", _("Flip notify order")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Entry lifetime:")));
-                       me.TD(me, 1, 2.6, e = makeXonoticSlider(3, 15, 1, "hud_panel_notify_time"));
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Entry lifetime:")));
+       me.TD(me, 1, 2.6, e = makeXonoticSlider(3, 15, 1, "hud_panel_notify_time"));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Entry fadetime:")));
-                       me.TD(me, 1, 2.6, e = makeXonoticSlider(0.5, 5, 0.5, "hud_panel_notify_fadetime"));
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Entry fadetime:")));
+       me.TD(me, 1, 2.6, e = makeXonoticSlider(0.5, 5, 0.5, "hud_panel_notify_fadetime"));
 }
index eabc93dab51021e7c44b1ac2cbe8dab9eda843ec..64f58c8a529a559693742f8ff2d5eb2a09a327ae 100644 (file)
@@ -11,64 +11,64 @@ void XonoticHUDPhysicsDialog_fill(entity me)
        string panelname = "physics";
 
        me.TR(me);
-               me.TD(me, 1, 4, e = makeXonoticTextSlider("hud_panel_physics"));
-                       e.addValue(e, _("Panel disabled"), "0");
-                       e.addValue(e, _("Panel enabled"), "1");
-                       e.addValue(e, _("Panel enabled even observing"), "2");
-                       e.addValue(e, _("Panel enabled only in Race/CTS"), "3");
-                       e.configureXonoticTextSliderValues(e);
+       me.TD(me, 1, 4, e = makeXonoticTextSlider("hud_panel_physics"));
+       e.addValue(e, _("Panel disabled"), "0");
+       e.addValue(e, _("Panel enabled"), "1");
+       e.addValue(e, _("Panel enabled even observing"), "2");
+       e.addValue(e, _("Panel enabled only in Race/CTS"), "3");
+       e.configureXonoticTextSliderValues(e);
 
        DIALOG_HUDPANEL_COMMON_NOTOGGLE();
 
        me.TR(me);
-               me.TD(me, 1, 1.4, e = makeXonoticCheckBox(0, "hud_panel_physics_progressbar", _("Status bar")));
-               me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_physics_baralign"));
-                       e.addValue(e, _("Left align")   , "0");
-                       e.addValue(e, _("Right align")  , "1");
-                       e.addValue(e, _("Inward align") , "2");
-                       e.addValue(e, _("Outward align"), "3");
-                       e.configureXonoticTextSliderValues(e);
-                       setDependent(e, "hud_panel_physics_progressbar", 1, 3);
+       me.TD(me, 1, 1.4, e = makeXonoticCheckBox(0, "hud_panel_physics_progressbar", _("Status bar")));
+       me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_physics_baralign"));
+       e.addValue(e, _("Left align"), "0");
+       e.addValue(e, _("Right align"), "1");
+       e.addValue(e, _("Inward align"), "2");
+       e.addValue(e, _("Outward align"), "3");
+       e.configureXonoticTextSliderValues(e);
+       setDependent(e, "hud_panel_physics_progressbar", 1, 3);
        me.TR(me);
-               me.TD(me, 1, 4, e = makeXonoticCheckBox(0, "hud_panel_physics_flip", _("Flip speed/acceleration positions")));
+       me.TD(me, 1, 4, e = makeXonoticCheckBox(0, "hud_panel_physics_flip", _("Flip speed/acceleration positions")));
 
-//speed
+// speed
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Speed:")));
-               me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "hud_panel_physics_speed_vertical", _("Include vertical speed")));
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Speed:")));
+       me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "hud_panel_physics_speed_vertical", _("Include vertical speed")));
        // me.TR(me);
-               // me.TDempty(me, 0.2);
-               // me.TD(me, 1, 1.8, e = makeXonoticTextLabel(0, _("Full status bar at:")));
-                       // setDependent(e, "hud_panel_physics_progressbar", 1, 1);
-               // me.TD(me, 1, 1, e = makeXonoticInputBox(1, "hud_panel_physics_speed_max"));
-                       // setDependent(e, "hud_panel_physics_progressbar", 1, 1);
-               // me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("qu/s")));
-                       // setDependent(e, "hud_panel_physics_progressbar", 1, 1);
+       // me.TDempty(me, 0.2);
+       // me.TD(me, 1, 1.8, e = makeXonoticTextLabel(0, _("Full status bar at:")));
+       // setDependent(e, "hud_panel_physics_progressbar", 1, 1);
+       // me.TD(me, 1, 1, e = makeXonoticInputBox(1, "hud_panel_physics_speed_max"));
+       // setDependent(e, "hud_panel_physics_progressbar", 1, 1);
+       // me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("qu/s")));
+       // setDependent(e, "hud_panel_physics_progressbar", 1, 1);
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Speed unit:")));
-               me.TD(me, 1, 2.6/3*2, e = makeXonoticTextSlider("hud_panel_physics_speed_unit"));
-                       e.addValue(e, _("qu/s") , "1");
-                       e.addValue(e, _("m/s")  , "2");
-                       e.addValue(e, _("km/h") , "3");
-                       e.addValue(e, _("mph")  , "4");
-                       e.addValue(e, _("knots"), "5");
-                       e.configureXonoticTextSliderValues(e);
-               me.TD(me, 1, 2.6/3, e = makeXonoticCheckBox(0, "hud_panel_physics_speed_unit_show", _("Show")));
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Speed unit:")));
+       me.TD(me, 1, 2.6 / 3 * 2, e = makeXonoticTextSlider("hud_panel_physics_speed_unit"));
+       e.addValue(e, _("qu/s"), "1");
+       e.addValue(e, _("m/s"), "2");
+       e.addValue(e, _("km/h"), "3");
+       e.addValue(e, _("mph"), "4");
+       e.addValue(e, _("knots"), "5");
+       e.configureXonoticTextSliderValues(e);
+       me.TD(me, 1, 2.6 / 3, e = makeXonoticCheckBox(0, "hud_panel_physics_speed_unit_show", _("Show")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 3.8/2, e = makeXonoticCheckBox(0, "hud_panel_physics_topspeed", _("Top speed")));
-               me.TD(me, 1, 3.8/2, e = makeXonoticSlider(1, 10, 1, "hud_panel_physics_topspeed_time"));
-                       setDependent(e, "hud_panel_physics_topspeed", 1, 1);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 3.8 / 2, e = makeXonoticCheckBox(0, "hud_panel_physics_topspeed", _("Top speed")));
+       me.TD(me, 1, 3.8 / 2, e = makeXonoticSlider(1, 10, 1, "hud_panel_physics_topspeed_time"));
+       setDependent(e, "hud_panel_physics_topspeed", 1, 1);
 
-//acceleration
+// acceleration
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Acceleration:")));
-               me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "hud_panel_physics_acceleration_vertical", _("Include vertical acceleration")));
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Acceleration:")));
+       me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "hud_panel_physics_acceleration_vertical", _("Include vertical acceleration")));
        // me.TR(me);
-               // me.TDempty(me, 0.2);
-               // me.TD(me, 1, 1.8, e = makeXonoticTextLabel(0, _("Full status bar at:")));
-                       // setDependent(e, "hud_panel_physics_progressbar", 1, 1);
-               // me.TD(me, 1, 0.6, e = makeXonoticInputBox(1, "hud_panel_physics_acceleration_max"));
-                       // setDependent(e, "hud_panel_physics_progressbar", 1, 1);
+       // me.TDempty(me, 0.2);
+       // me.TD(me, 1, 1.8, e = makeXonoticTextLabel(0, _("Full status bar at:")));
+       // setDependent(e, "hud_panel_physics_progressbar", 1, 1);
+       // me.TD(me, 1, 0.6, e = makeXonoticInputBox(1, "hud_panel_physics_acceleration_max"));
+       // setDependent(e, "hud_panel_physics_progressbar", 1, 1);
 }
index 1b490d10272fdb3dc8bb28ee3d337b483afd751b..442fbd9edf60c4e0c9ed726b7f605f974d75de28 100644 (file)
@@ -12,26 +12,26 @@ void XonoticHUDPowerupsDialog_fill(entity me)
        DIALOG_HUDPANEL_COMMON();
 
        me.TR(me);
-               me.TD(me, 1, 4, e = makeXonoticCheckBox(0, "hud_panel_powerups_progressbar", _("Enable status bar")));
+       me.TD(me, 1, 4, e = makeXonoticCheckBox(0, "hud_panel_powerups_progressbar", _("Enable status bar")));
        me.TR(me);
-               me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("Status bar alignment:")));
-                       setDependent(e, "hud_panel_powerups_progressbar", 1, 1);
+       me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("Status bar alignment:")));
+       setDependent(e, "hud_panel_powerups_progressbar", 1, 1);
        me.TR(me);
-               me.TDempty(me, 0.2);
-                       me.TD(me, 1, 0.95, e = makeXonoticRadioButton(2, "hud_panel_powerups_baralign", "0", _("Left")));
-                       setDependent(e, "hud_panel_powerups_progressbar", 1, 1);
-                       me.TD(me, 1, 0.95, e = makeXonoticRadioButton(2, "hud_panel_powerups_baralign", "1", _("Right")));
-                       setDependent(e, "hud_panel_powerups_progressbar", 1, 1);
-                       me.TD(me, 1, 0.95, e = makeXonoticRadioButton(2, "hud_panel_powerups_baralign", "2", _("Inward")));
-                       setDependent(e, "hud_panel_powerups_progressbar", 1, 1);
-                       me.TD(me, 1, 0.95, e = makeXonoticRadioButton(2, "hud_panel_powerups_baralign", "3", _("Outward")));
-                       setDependent(e, "hud_panel_powerups_progressbar", 1, 1);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 0.95, e = makeXonoticRadioButton(2, "hud_panel_powerups_baralign", "0", _("Left")));
+       setDependent(e, "hud_panel_powerups_progressbar", 1, 1);
+       me.TD(me, 1, 0.95, e = makeXonoticRadioButton(2, "hud_panel_powerups_baralign", "1", _("Right")));
+       setDependent(e, "hud_panel_powerups_progressbar", 1, 1);
+       me.TD(me, 1, 0.95, e = makeXonoticRadioButton(2, "hud_panel_powerups_baralign", "2", _("Inward")));
+       setDependent(e, "hud_panel_powerups_progressbar", 1, 1);
+       me.TD(me, 1, 0.95, e = makeXonoticRadioButton(2, "hud_panel_powerups_baralign", "3", _("Outward")));
+       setDependent(e, "hud_panel_powerups_progressbar", 1, 1);
        me.TR(me);
-               me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("Icon alignment:")));
+       me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("Icon alignment:")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-                       me.TD(me, 1, 0.95, e = makeXonoticRadioButton(3, "hud_panel_powerups_iconalign", "0", _("Left")));
-                       me.TD(me, 1, 0.95, e = makeXonoticRadioButton(3, "hud_panel_powerups_iconalign", "1", _("Right")));
-                       me.TD(me, 1, 0.95, e = makeXonoticRadioButton(3, "hud_panel_powerups_iconalign", "2", _("Inward")));
-                       me.TD(me, 1, 0.95, e = makeXonoticRadioButton(3, "hud_panel_powerups_iconalign", "3", _("Outward")));
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 0.95, e = makeXonoticRadioButton(3, "hud_panel_powerups_iconalign", "0", _("Left")));
+       me.TD(me, 1, 0.95, e = makeXonoticRadioButton(3, "hud_panel_powerups_iconalign", "1", _("Right")));
+       me.TD(me, 1, 0.95, e = makeXonoticRadioButton(3, "hud_panel_powerups_iconalign", "2", _("Inward")));
+       me.TD(me, 1, 0.95, e = makeXonoticRadioButton(3, "hud_panel_powerups_iconalign", "3", _("Outward")));
 }
index 4e24ff998eeb67f2b0351d999056784898dfc7af..da5d9d7fe3c192abcf2501fd40c90bac641b21ad 100644 (file)
@@ -10,16 +10,16 @@ void XonoticHUDPressedKeysDialog_fill(entity me)
        string panelname = "pressedkeys";
 
        me.TR(me);
-               me.TD(me, 1, 4, e = makeXonoticTextSlider("hud_panel_pressedkeys"));
-                       e.addValue(e, _("Panel disabled"), "0");
-                       e.addValue(e, _("Panel enabled when spectating"), "1");
-                       e.addValue(e, _("Panel always enabled"), "2");
-                       e.configureXonoticTextSliderValues(e);
+       me.TD(me, 1, 4, e = makeXonoticTextSlider("hud_panel_pressedkeys"));
+       e.addValue(e, _("Panel disabled"), "0");
+       e.addValue(e, _("Panel enabled when spectating"), "1");
+       e.addValue(e, _("Panel always enabled"), "2");
+       e.configureXonoticTextSliderValues(e);
 
        DIALOG_HUDPANEL_COMMON_NOTOGGLE();
 
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Forced aspect:")));
-                       me.TD(me, 1, 2.6, e = makeXonoticSlider(0.2, 4, 0.1, "hud_panel_pressedkeys_aspect"));
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Forced aspect:")));
+       me.TD(me, 1, 2.6, e = makeXonoticSlider(0.2, 4, 0.1, "hud_panel_pressedkeys_aspect"));
 }
index 4012bc61ac13b64975a57ff9c47e8bf356432af6..e0f8b68d43200c0fab39da3bd2f2d18c0f3cce8a 100644 (file)
@@ -12,10 +12,10 @@ void XonoticHUDQuickMenuDialog_fill(entity me)
        DIALOG_HUDPANEL_COMMON_NOTOGGLE();
 
        me.TR(me);
-               me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("Text alignment:")));
+       me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("Text alignment:")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-                       me.TD(me, 1, 3.8/3, e = makeXonoticRadioButton(3, "hud_panel_quickmenu_align", "0", _("Left")));
-                       me.TD(me, 1, 3.8/3, e = makeXonoticRadioButton(3, "hud_panel_quickmenu_align", "0.5", _("Center")));
-                       me.TD(me, 1, 3.8/3, e = makeXonoticRadioButton(3, "hud_panel_quickmenu_align", "1", _("Right")));
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 3.8 / 3, e = makeXonoticRadioButton(3, "hud_panel_quickmenu_align", "0", _("Left")));
+       me.TD(me, 1, 3.8 / 3, e = makeXonoticRadioButton(3, "hud_panel_quickmenu_align", "0.5", _("Center")));
+       me.TD(me, 1, 3.8 / 3, e = makeXonoticRadioButton(3, "hud_panel_quickmenu_align", "1", _("Right")));
 }
index de9ed6898b821e7df49781fcb2176c85fcd103a1..65e322bdd36690a9dfbafa578af4e24457276afa 100644 (file)
@@ -11,41 +11,41 @@ void XonoticHUDRadarDialog_fill(entity me)
        string panelname = "radar";
 
        me.TR(me);
-               me.TD(me, 1, 4, e = makeXonoticTextSlider("hud_panel_radar"));
-                       e.addValue(e, _("Panel disabled"), "0");
-                       e.addValue(e, _("Panel enabled in teamgames"), "1");
-                       e.addValue(e, _("Panel always enabled"), "2");
-                       e.configureXonoticTextSliderValues(e);
+       me.TD(me, 1, 4, e = makeXonoticTextSlider("hud_panel_radar"));
+       e.addValue(e, _("Panel disabled"), "0");
+       e.addValue(e, _("Panel enabled in teamgames"), "1");
+       e.addValue(e, _("Panel always enabled"), "2");
+       e.configureXonoticTextSliderValues(e);
 
        DIALOG_HUDPANEL_COMMON_NOTOGGLE();
 
        me.TR(me);
-               me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("Radar:")));
+       me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("Radar:")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Alpha:")));
-               me.TD(me, 1, 2.6, e = makeXonoticSlider(0.1, 1, 0.1, "hud_panel_radar_foreground_alpha"));
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Alpha:")));
+       me.TD(me, 1, 2.6, e = makeXonoticSlider(0.1, 1, 0.1, "hud_panel_radar_foreground_alpha"));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Rotation:")));
-                       me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_radar_rotation"));
-                               e.addValue(e, _("Forward"), "0");
-                               e.addValue(e, _("West"), "1");
-                               e.addValue(e, _("South"), "2");
-                               e.addValue(e, _("East"), "3");
-                               e.addValue(e, _("North"), "4");
-                               e.configureXonoticTextSliderValues(e);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Rotation:")));
+       me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_radar_rotation"));
+       e.addValue(e, _("Forward"), "0");
+       e.addValue(e, _("West"), "1");
+       e.addValue(e, _("South"), "2");
+       e.addValue(e, _("East"), "3");
+       e.addValue(e, _("North"), "4");
+       e.configureXonoticTextSliderValues(e);
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Scale:")));
-               me.TD(me, 1, 2.6, e = makeXonoticSlider(1024, 8192, 512, "hud_panel_radar_scale"));
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Scale:")));
+       me.TD(me, 1, 2.6, e = makeXonoticSlider(1024, 8192, 512, "hud_panel_radar_scale"));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Zoom mode:")));
-                       me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_radar_zoommode"));
-                               e.addValue(e, _("Zoomed in"), "0");
-                               e.addValue(e, _("Zoomed out"), "1");
-                               e.addValue(e, _("Always zoomed"), "2");
-                               e.addValue(e, _("Never zoomed"), "3");
-                               e.configureXonoticTextSliderValues(e);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Zoom mode:")));
+       me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_radar_zoommode"));
+       e.addValue(e, _("Zoomed in"), "0");
+       e.addValue(e, _("Zoomed out"), "1");
+       e.addValue(e, _("Always zoomed"), "2");
+       e.addValue(e, _("Never zoomed"), "3");
+       e.configureXonoticTextSliderValues(e);
 }
index f04ca30da9397f358055366fa8bb726398847078..af6f5402149a8f096d642c710a14b4db68a62b1f 100644 (file)
@@ -12,11 +12,11 @@ void XonoticHUDScoreDialog_fill(entity me)
        DIALOG_HUDPANEL_COMMON();
 
        me.TR(me);
-               me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("Score:")));
+       me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("Score:")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Rankings:")));
-               me.TD(me, 1, 2.6/3, e = makeXonoticRadioButton(1, "hud_panel_score_rankings", "0", _("Off")));
-               me.TD(me, 1, 2.6/3, e = makeXonoticRadioButton(1, "hud_panel_score_rankings", "1", _("And me")));
-               me.TD(me, 1, 2.6/3, e = makeXonoticRadioButton(1, "hud_panel_score_rankings", "2", _("Pure")));
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Rankings:")));
+       me.TD(me, 1, 2.6 / 3, e = makeXonoticRadioButton(1, "hud_panel_score_rankings", "0", _("Off")));
+       me.TD(me, 1, 2.6 / 3, e = makeXonoticRadioButton(1, "hud_panel_score_rankings", "1", _("And me")));
+       me.TD(me, 1, 2.6 / 3, e = makeXonoticRadioButton(1, "hud_panel_score_rankings", "2", _("Pure")));
 }
index dd9a7b8788923f0a5f424e9e76c6655ce248c226..581acb2c6f8c99edb5e3f8e361670746d5856314 100644 (file)
@@ -11,8 +11,8 @@ void XonoticHUDTimerDialog_fill(entity me)
        DIALOG_HUDPANEL_COMMON();
 
        me.TR(me);
-               me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("Timer:")));
+       me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("Timer:")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 3.8, e = makeXonoticCheckBox(0, "hud_panel_timer_increment", _("Show elapsed time")));
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 3.8, e = makeXonoticCheckBox(0, "hud_panel_timer_increment", _("Show elapsed time")));
 }
index e8afa7ca706b91a71b050c9af2c12de684924bf4..670cbf34396187d7e9ba2108787eadc79c5acb67 100644 (file)
@@ -12,6 +12,6 @@ void XonoticHUDVoteDialog_fill(entity me)
        DIALOG_HUDPANEL_COMMON();
 
        me.TR(me);
-               me.TD(me, 1, 1.4, e = makeXonoticTextLabel(0, _("Alpha after voting:")));
-               me.TD(me, 1, 2.6, e = makeXonoticSlider(0.1, 1, 0.1, "hud_panel_vote_alreadyvoted_alpha"));
+       me.TD(me, 1, 1.4, e = makeXonoticTextLabel(0, _("Alpha after voting:")));
+       me.TD(me, 1, 2.6, e = makeXonoticSlider(0.1, 1, 0.1, "hud_panel_vote_alreadyvoted_alpha"));
 }
index 61339b6b938cc54800e1326bba256b00d08488a4..9fd28d7913c7944d2a962107cbe3bc749dcb665a 100644 (file)
@@ -16,64 +16,65 @@ void XonoticHUDWeaponsDialog_fill(entity me)
        DIALOG_HUDPANEL_COMMON();
 
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Fade out after:")));
-                       me.TD(me, 1, 2.6, e = makeXonoticTextSlider(strzone(strcat("hud_panel_", panelname, "_timeout"))));
-                               e.addValue(e, _("Never"), "0");
-                               for(i = 1; i <= 10; ++i)
-                                       e.addValue(e, strzone(sprintf(_("%ds"), i)), strzone(ftos(i)));
-                               e.configureXonoticTextSliderValues(e);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Fade out after:")));
+       me.TD(me, 1, 2.6, e = makeXonoticTextSlider(strzone(strcat("hud_panel_", panelname, "_timeout"))));
+       e.addValue(e, _("Never"), "0");
+       for (i = 1; i <= 10; ++i) {
+               e.addValue(e, strzone(sprintf(_("%ds"), i)), strzone(ftos(i)));
+       }
+       e.configureXonoticTextSliderValues(e);
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Fade effect:")));
-               setDependentStringNotEqual(e, strzone(strcat("hud_panel_", panelname, "_timeout")), "0");
-                       me.TD(me, 1, 2.6, e = makeXonoticTextSlider(strzone(strcat("hud_panel_", panelname, "_timeout_effect"))));
-                               e.addValue(e, ZCTX(_("EF^None")),  "0");
-                               e.addValue(e, _("Alpha"), "1");
-                               e.addValue(e, _("Slide"), "2");
-                               e.addValue(e, ZCTX(_("EF^Both")),  "3");
-                               e.configureXonoticTextSliderValues(e);
-                       setDependentStringNotEqual(e, strzone(strcat("hud_panel_", panelname, "_timeout")), "0");
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Fade effect:")));
+       setDependentStringNotEqual(e, strzone(strcat("hud_panel_", panelname, "_timeout")), "0");
+       me.TD(me, 1, 2.6, e = makeXonoticTextSlider(strzone(strcat("hud_panel_", panelname, "_timeout_effect"))));
+       e.addValue(e, ZCTX(_("EF^None")),  "0");
+       e.addValue(e, _("Alpha"), "1");
+       e.addValue(e, _("Slide"), "2");
+       e.addValue(e, ZCTX(_("EF^Both")),  "3");
+       e.configureXonoticTextSliderValues(e);
+       setDependentStringNotEqual(e, strzone(strcat("hud_panel_", panelname, "_timeout")), "0");
        me.TR(me);
-               me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("Weapon icons:")));
+       me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("Weapon icons:")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 3.8, e = makeXonoticCheckBox(0, "hud_panel_weapons_onlyowned", _("Show only owned weapons")));
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 3.8, e = makeXonoticCheckBox(0, "hud_panel_weapons_onlyowned", _("Show only owned weapons")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Noncurrent alpha:")));
-               me.TD(me, 1, 2.6, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_weapons_noncurrent_alpha"));
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Noncurrent alpha:")));
+       me.TD(me, 1, 2.6, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_weapons_noncurrent_alpha"));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Noncurrent scale:")));
-               me.TD(me, 1, 2.6, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_weapons_noncurrent_scale"));
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Noncurrent scale:")));
+       me.TD(me, 1, 2.6, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_weapons_noncurrent_scale"));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.4, e = makeXonoticTextLabel(0, _("Show weapon ID as:")));
-                       me.TD(me, 1, 0.8, e = makeXonoticRadioButton(2, "hud_panel_weapons_label", "0", ZCTX(_("SHOWAS^None"))));
-                       me.TD(me, 1, 0.8, e = makeXonoticRadioButton(2, "hud_panel_weapons_label", "1", _("Number")));
-                       me.TD(me, 1, 0.8, e = makeXonoticRadioButton(2, "hud_panel_weapons_label", "2", _("Bind")));
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.4, e = makeXonoticTextLabel(0, _("Show weapon ID as:")));
+       me.TD(me, 1, 0.8, e = makeXonoticRadioButton(2, "hud_panel_weapons_label", "0", ZCTX(_("SHOWAS^None"))));
+       me.TD(me, 1, 0.8, e = makeXonoticRadioButton(2, "hud_panel_weapons_label", "1", _("Number")));
+       me.TD(me, 1, 0.8, e = makeXonoticRadioButton(2, "hud_panel_weapons_label", "2", _("Bind")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.4, e = makeXonoticTextLabel(0, _("Weapon ID scale:")));
-                       setDependent(e, "hud_panel_weapons_label", 1, 2);
-                       me.TD(me, 1, 2.4, e = makeXonoticSlider(0.1, 1, 0.05, "hud_panel_weapons_label_scale"));
-                       setDependent(e, "hud_panel_weapons_label", 1, 2);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.4, e = makeXonoticTextLabel(0, _("Weapon ID scale:")));
+       setDependent(e, "hud_panel_weapons_label", 1, 2);
+       me.TD(me, 1, 2.4, e = makeXonoticSlider(0.1, 1, 0.05, "hud_panel_weapons_label_scale"));
+       setDependent(e, "hud_panel_weapons_label", 1, 2);
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 3.8/2, e = makeXonoticCheckBox(0, "hud_panel_weapons_accuracy", _("Show Accuracy")));
-               me.TD(me, 1, 3.8/2, e = makeXonoticCheckBox(0, "hud_panel_weapons_ammo", _("Show Ammo")));
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 3.8 / 2, e = makeXonoticCheckBox(0, "hud_panel_weapons_accuracy", _("Show Accuracy")));
+       me.TD(me, 1, 3.8 / 2, e = makeXonoticCheckBox(0, "hud_panel_weapons_ammo", _("Show Ammo")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.4, e = makeXonoticTextLabel(0, _("Ammo bar alpha:")));
-                       setDependent(e, "hud_panel_weapons_ammo", 1, 1);
-                       me.TD(me, 1, 2.4, e = makeXonoticSlider(0.1, 1, 0.1, "hud_panel_weapons_ammo_alpha"));
-                       setDependent(e, "hud_panel_weapons_ammo", 1, 1);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.4, e = makeXonoticTextLabel(0, _("Ammo bar alpha:")));
+       setDependent(e, "hud_panel_weapons_ammo", 1, 1);
+       me.TD(me, 1, 2.4, e = makeXonoticSlider(0.1, 1, 0.1, "hud_panel_weapons_ammo_alpha"));
+       setDependent(e, "hud_panel_weapons_ammo", 1, 1);
+       me.TR(me);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Ammo bar color:")));
+       setDependent(e, "hud_panel_weapons_ammo", 1, 1);
+       me.TD(me, 2, 2.4, e = makeXonoticColorpickerString("hud_panel_weapons_ammo_color", "hud_panel_weapons_ammo_color"));
+       setDependent(e, "hud_panel_weapons_ammo", 1, 1);
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Ammo bar color:")));
-                       setDependent(e, "hud_panel_weapons_ammo", 1, 1);
-               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString("hud_panel_weapons_ammo_color", "hud_panel_weapons_ammo_color"));
-                       setDependent(e, "hud_panel_weapons_ammo", 1, 1);
-               me.TR(me);
 }
index 802ee96b55dc74bb6938b61253d118c438105197..77c50f54452aa862b0e077c7fc15703cb41a8bc1 100644 (file)
@@ -16,131 +16,140 @@ void XonoticHUDExitDialog_fill(entity me)
        hudskinlist = makeXonoticHUDSkinList();
 
        me.TR(me);
-               me.TD(me, 1, 4, makeXonoticHeaderLabel(_("HUD skins")));
+       me.TD(me, 1, 4, makeXonoticHeaderLabel(_("HUD skins")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 0.7, e = makeXonoticTextLabel(0.5, _("Filter:")));
-               me.TD(me, 1, 2.9, e = makeXonoticInputBox(0, string_null));
-                       e.onChange = HUDSkinList_Filter_Change;
-                       e.onChangeEntity = hudskinlist;
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 0.7, e = makeXonoticTextLabel(0.5, _("Filter:")));
+       me.TD(me, 1, 2.9, e = makeXonoticInputBox(0, string_null));
+       e.onChange = HUDSkinList_Filter_Change;
+       e.onChangeEntity = hudskinlist;
        me.TR(me);
-               me.TD(me, 12, 4, hudskinlist);
+       me.TD(me, 12, 4, hudskinlist);
        me.gotoRC(me, me.rows - 4, 0);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.4, e = makeXonoticButton(_("Refresh"), '0 0 0'));
-                       e.onClick = HUDSkinList_Refresh_Click;
-                       e.onClickEntity = hudskinlist;
-               me.TD(me, 1, 2.2, e = makeXonoticButton(_("Set skin"), '0 0 0'));
-                       e.onClick = SetHUDSkin_Click;
-                       e.onClickEntity = hudskinlist;
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.4, e = makeXonoticButton(_("Refresh"), '0 0 0'));
+       e.onClick = HUDSkinList_Refresh_Click;
+       e.onClickEntity = hudskinlist;
+       me.TD(me, 1, 2.2, e = makeXonoticButton(_("Set skin"), '0 0 0'));
+       e.onClick = SetHUDSkin_Click;
+       e.onClickEntity = hudskinlist;
        me.gotoRC(me, me.rows - 2.5, 0);
-               me.TD(me, 1, 2, e = makeXonoticButton_T(_("Save current skin"), '0 0 0',
+       me.TD(me, 1, 2, e = makeXonoticButton_T(_("Save current skin"), '0 0 0',
                        "Note: HUD skins are saved in data/data/ directory and can be manually renamed/deleted from there"));
-                       e.onClick = SaveHUDSkin_Click;
-                       e.onClickEntity = hudskinlist;
-               me.TD(me, 1, 2, e = makeXonoticInputBox(0, string_null));
-                       e.onChange = HUDSkinList_SavedName_Change;
-                       e.onChangeEntity = hudskinlist;
+       e.onClick = SaveHUDSkin_Click;
+       e.onClickEntity = hudskinlist;
+       me.TD(me, 1, 2, e = makeXonoticInputBox(0, string_null));
+       e.onChange = HUDSkinList_SavedName_Change;
+       e.onChangeEntity = hudskinlist;
 
-       me.gotoRC(me, 0, 4.2); me.setFirstColumn(me, me.currentColumn);
-               me.TD(me, 1, 4, makeXonoticTextLabel(0, _("Panel background defaults:")));
-       me.TR(me);
-               me.TD(me, 1, 1.4, e = makeXonoticTextLabel(0, _("Background:")));
-                       me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_bg"));
-                               e.addValue(e, _("Disable"), "0");
-                               e.addValue(e, "border_default", "border_default"); // this is a file name!
-                               e.configureXonoticTextSliderValues(e);
-       me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Color:")));
-               me.TD(me, 2, 2.6, e = makeXonoticColorpickerString("hud_panel_bg_color", "hud_panel_bg_color"));
-       me.TR(me);
-       me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Border size:")));
-                       me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_bg_border"));
-                               e.addValue(e, _("Disable"), "0");
-                               for(i = 1; i <= 10; ++i)
-                                       e.addValue(e, strzone(ftos_decimals(i * 2, 0)), strzone(ftos(i * 2)));
-                               e.configureXonoticTextSliderValues(e);
-       me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Alpha:")));
-                       me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_bg_alpha"));
-                               for(i = 1; i <= 10; ++i)
-                                       e.addValue(e, strzone(ftos_decimals(i/10, 1)), strzone(ftos(i/10)));
-                               e.configureXonoticTextSliderValues(e);
-       me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Team color:")));
-                       me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_bg_color_team"));
-                               e.addValue(e, _("Disable"), "0");
-                               for(i = 1; i <= 10; ++i)
-                                       e.addValue(e, strzone(ftos_decimals(i/10, 1)), strzone(ftos(i/10)));
-                               e.configureXonoticTextSliderValues(e);
-       me.TR(me);
-               me.TDempty(me, 0.4);
-               me.TD(me, 1, 3.6, e = makeXonoticCheckBox(0, "hud_configure_teamcolorforced", _("Test team color in configure mode")));
-       me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Padding:")));
-                       me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_bg_padding"));
-                               for(i = 0; i <= 10; ++i)
-                                       e.addValue(e, strzone(ftos_decimals(i - 5, 0)), strzone(ftos(i - 5)));
-                               e.configureXonoticTextSliderValues(e);
+       me.gotoRC(me, 0, 4.2);
+       me.setFirstColumn(me, me.currentColumn);
+       me.TD(me, 1, 4, makeXonoticTextLabel(0, _("Panel background defaults:")));
+       me.TR(me);
+       me.TD(me, 1, 1.4, e = makeXonoticTextLabel(0, _("Background:")));
+       me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_bg"));
+       e.addValue(e, _("Disable"), "0");
+       e.addValue(e, "border_default", "border_default"); // this is a file name!
+       e.configureXonoticTextSliderValues(e);
+       me.TR(me);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Color:")));
+       me.TD(me, 2, 2.6, e = makeXonoticColorpickerString("hud_panel_bg_color", "hud_panel_bg_color"));
+       me.TR(me);
+       me.TR(me);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Border size:")));
+       me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_bg_border"));
+       e.addValue(e, _("Disable"), "0");
+       for (i = 1; i <= 10; ++i) {
+               e.addValue(e, strzone(ftos_decimals(i * 2, 0)), strzone(ftos(i * 2)));
+       }
+       e.configureXonoticTextSliderValues(e);
+       me.TR(me);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Alpha:")));
+       me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_bg_alpha"));
+       for (i = 1; i <= 10; ++i) {
+               e.addValue(e, strzone(ftos_decimals(i / 10, 1)), strzone(ftos(i / 10)));
+       }
+       e.configureXonoticTextSliderValues(e);
+       me.TR(me);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Team color:")));
+       me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_bg_color_team"));
+       e.addValue(e, _("Disable"), "0");
+       for (i = 1; i <= 10; ++i) {
+               e.addValue(e, strzone(ftos_decimals(i / 10, 1)), strzone(ftos(i / 10)));
+       }
+       e.configureXonoticTextSliderValues(e);
+       me.TR(me);
+       me.TDempty(me, 0.4);
+       me.TD(me, 1, 3.6, e = makeXonoticCheckBox(0, "hud_configure_teamcolorforced", _("Test team color in configure mode")));
+       me.TR(me);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Padding:")));
+       me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_bg_padding"));
+       for (i = 0; i <= 10; ++i) {
+               e.addValue(e, strzone(ftos_decimals(i - 5, 0)), strzone(ftos(i - 5)));
+       }
+       e.configureXonoticTextSliderValues(e);
 
        me.TR(me);
-               me.TD(me, 1, 1.4, e = makeXonoticTextLabel(0, _("HUD Dock:")));
-                       me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_dock"));
-                               e.addValue(e, ZCTX(_("DOCK^Disabled")), "0");
-                               e.addValue(e, ZCTX(_("DOCK^Small")), "dock_small");
-                               e.addValue(e, ZCTX(_("DOCK^Medium")), "dock_medium");
-                               e.addValue(e, ZCTX(_("DOCK^Large")), "dock_large");
-                               e.configureXonoticTextSliderValues(e);
-       me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Color:")));
-               me.TD(me, 2, 2.6, e = makeXonoticColorpickerString("hud_dock_color", "hud_dock_color"));
-       me.TR(me);
-       me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Alpha:")));
-                       me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_dock_alpha"));
-                               for(i = 1; i <= 10; ++i)
-                                       e.addValue(e, strzone(ftos_decimals(i/10, 1)), strzone(ftos(i/10)));
-                               e.configureXonoticTextSliderValues(e);
-       me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Team color:")));
-                       me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_dock_color_team"));
-                               e.addValue(e, _("Disable"), "0");
-                               for(i = 1; i <= 10; ++i)
-                                       e.addValue(e, strzone(ftos_decimals(i/10, 1)), strzone(ftos(i/10)));
-                               e.configureXonoticTextSliderValues(e);
-       me.TR(me);
-               me.TD(me, 1, 4, makeXonoticTextLabel(0, _("Grid settings:")));
-       me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 3.8, e = makeXonoticCheckBox(0, "hud_configure_grid", _("Snap panels to grid")));
-       me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Grid size:")));
-                       setDependent(e, "hud_configure_grid", 1, 1);
-               me.TD(me, 1, 0.2, e = makeXonoticTextLabel(0, _("X:")));
-                       setDependent(e, "hud_configure_grid", 1, 1);
-                       me.TD(me, 1, 1.1, e = makeXonoticTextSlider("hud_configure_grid_xsize"));
-                               for(i = 1; i <= 14; ++i)
-                                       e.addValue(e, strzone(sprintf("%.1f%%", i/2)), strzone(ftos(i/200)));
-                               e.configureXonoticTextSliderValues(e);
-                               setDependent(e, "hud_configure_grid", 1, 1);
-               me.TD(me, 1, 0.2, e = makeXonoticTextLabel(0, _("Y:")));
-                       setDependent(e, "hud_configure_grid", 1, 1);
-                       me.TD(me, 1, 1.1, e = makeXonoticTextSlider("hud_configure_grid_ysize"));
-                               for(i = 1; i <= 14; ++i)
-                                       e.addValue(e, strzone(sprintf("%.1f%%", i/2)), strzone(ftos(i/200)));
-                               e.configureXonoticTextSliderValues(e);
-                               setDependent(e, "hud_configure_grid", 1, 1);
+       me.TD(me, 1, 1.4, e = makeXonoticTextLabel(0, _("HUD Dock:")));
+       me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_dock"));
+       e.addValue(e, ZCTX(_("DOCK^Disabled")), "0");
+       e.addValue(e, ZCTX(_("DOCK^Small")), "dock_small");
+       e.addValue(e, ZCTX(_("DOCK^Medium")), "dock_medium");
+       e.addValue(e, ZCTX(_("DOCK^Large")), "dock_large");
+       e.configureXonoticTextSliderValues(e);
+       me.TR(me);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Color:")));
+       me.TD(me, 2, 2.6, e = makeXonoticColorpickerString("hud_dock_color", "hud_dock_color"));
+       me.TR(me);
+       me.TR(me);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Alpha:")));
+       me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_dock_alpha"));
+       for (i = 1; i <= 10; ++i) {
+               e.addValue(e, strzone(ftos_decimals(i / 10, 1)), strzone(ftos(i / 10)));
+       }
+       e.configureXonoticTextSliderValues(e);
+       me.TR(me);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Team color:")));
+       me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_dock_color_team"));
+       e.addValue(e, _("Disable"), "0");
+       for (i = 1; i <= 10; ++i) {
+               e.addValue(e, strzone(ftos_decimals(i / 10, 1)), strzone(ftos(i / 10)));
+       }
+       e.configureXonoticTextSliderValues(e);
+       me.TR(me);
+       me.TD(me, 1, 4, makeXonoticTextLabel(0, _("Grid settings:")));
+       me.TR(me);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 3.8, e = makeXonoticCheckBox(0, "hud_configure_grid", _("Snap panels to grid")));
+       me.TR(me);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Grid size:")));
+       setDependent(e, "hud_configure_grid", 1, 1);
+       me.TD(me, 1, 0.2, e = makeXonoticTextLabel(0, _("X:")));
+       setDependent(e, "hud_configure_grid", 1, 1);
+       me.TD(me, 1, 1.1, e = makeXonoticTextSlider("hud_configure_grid_xsize"));
+       for (i = 1; i <= 14; ++i) {
+               e.addValue(e, strzone(sprintf("%.1f%%", i / 2)), strzone(ftos(i / 200)));
+       }
+       e.configureXonoticTextSliderValues(e);
+       setDependent(e, "hud_configure_grid", 1, 1);
+       me.TD(me, 1, 0.2, e = makeXonoticTextLabel(0, _("Y:")));
+       setDependent(e, "hud_configure_grid", 1, 1);
+       me.TD(me, 1, 1.1, e = makeXonoticTextSlider("hud_configure_grid_ysize"));
+       for (i = 1; i <= 14; ++i) {
+               e.addValue(e, strzone(sprintf("%.1f%%", i / 2)), strzone(ftos(i / 200)));
+       }
+       e.configureXonoticTextSliderValues(e);
+       setDependent(e, "hud_configure_grid", 1, 1);
 
        me.gotoRC(me, me.rows - 1, 0);
-               me.TD(me, 1, me.columns, e = makeXonoticCommandButton(_("Exit setup"), '0 0 0', "_hud_configure 0", 1));
+       me.TD(me, 1, me.columns, e = makeXonoticCommandButton(_("Exit setup"), '0 0 0', "_hud_configure 0", 1));
 }
index 41ab2f93f624b8906e010d11523361ba951b958f..60b4cbff987864d712ec7bfcd098db1705bffbc2 100644 (file)
@@ -11,13 +11,13 @@ void XonoticMultiplayerDialog_fill(entity me)
        entity mc, e;
        mc = makeXonoticTabController(me.rows - 1);
        me.TR(me);
-               me.TD(me, 1, 1, e = mc.makeTabButton_T(mc, _("Servers"), makeXonoticServerListTab(),
+       me.TD(me, 1, 1, e = mc.makeTabButton_T(mc, _("Servers"), makeXonoticServerListTab(),
                        _("Find servers to play on")));
-               me.TD(me, 1, 1, e = mc.makeTabButton_T(mc, _("Create"), makeXonoticServerCreateTab(),
+       me.TD(me, 1, 1, e = mc.makeTabButton_T(mc, _("Create"), makeXonoticServerCreateTab(),
                        _("Host your own game")));
-               me.TD(me, 1, 1, e = mc.makeTabButton(mc, _("Media"), makeXonoticMediaTab()));
-               me.TD(me, 1, 1, e = mc.makeTabButton(mc, _("Profile"), makeXonoticProfileTab()));
+       me.TD(me, 1, 1, e = mc.makeTabButton(mc, _("Media"), makeXonoticMediaTab()));
+       me.TD(me, 1, 1, e = mc.makeTabButton(mc, _("Profile"), makeXonoticProfileTab()));
 
        me.TR(me);
-               me.TD(me, me.rows - 1, me.columns, mc);
+       me.TD(me, me.rows - 1, me.columns, mc);
 }
index e275522864a84ee9af820e0cb6f55f7323df9efb..aa7271af3b8d634458735b1fbd4d18f1782a780c 100644 (file)
@@ -7,7 +7,7 @@ CLASS(XonoticServerCreateTab, XonoticTab)
        METHOD(XonoticServerCreateTab, gameTypeSelectNotify, void(entity));
        ATTRIB(XonoticServerCreateTab, intendedWidth, float, 0.9);
        ATTRIB(XonoticServerCreateTab, rows, float, 23);
-       ATTRIB(XonoticServerCreateTab, columns, float, 6.2);  // added extra .2 for center space
+       ATTRIB(XonoticServerCreateTab, columns, float, 6.2); // added extra .2 for center space
 
        ATTRIB(XonoticServerCreateTab, mapListBox, entity);
        ATTRIB(XonoticServerCreateTab, sliderFraglimit, entity);
index 2f2ab901a84239a9c37c21866552b449f7089ed6..c62f8a088ab13fbe5a18a82c535a4c8fd665c5f1 100644 (file)
@@ -12,8 +12,7 @@ void XonoticMapInfoDialog_loadMapInfo(entity me, int i, entity mlb)
        me.startButton.onClickEntity = mlb;
        MapInfo_Get_ByID(i);
 
-       if(me.currentMapBSPName)
-       {
+       if (me.currentMapBSPName) {
                strunzone(me.currentMapBSPName);
                strunzone(me.currentMapTitle);
                strunzone(me.currentMapAuthor);
@@ -30,13 +29,13 @@ void XonoticMapInfoDialog_loadMapInfo(entity me, int i, entity mlb)
        me.titleLabel.setText(me.titleLabel, me.currentMapTitle);
        me.authorLabel.setText(me.authorLabel, me.currentMapAuthor);
        me.descriptionLabel.setText(me.descriptionLabel, me.currentMapDescription);
-       if(draw_PictureSize(me.currentMapPreviewImage) == '0 0 0')
+       if (draw_PictureSize(me.currentMapPreviewImage) == '0 0 0') {
                me.previewImage.src = "nopreview_map";
-       else
+       } else {
                me.previewImage.src = me.currentMapPreviewImage;
+       }
 
-       for(i = 0; i < GameType_GetTotalCount(); ++i)
-       {
+       for (i = 0; i < GameType_GetTotalCount(); ++i) {
                entity e;
                e = me.(typeLabels[i]);
                e.disabled = !(MapInfo_Map_supportedGametypes & GameType_GetID(i).m_flags);
@@ -50,50 +49,49 @@ void XonoticMapInfoDialog_fill(entity me)
        int i;
        float w, wgt, n;
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, me.rows - 2, 3, e = makeXonoticImage(string_null, 4.0/3.0));
-               me.previewImage = e;
-       me.gotoRC(me, 0, 3.5); me.setFirstColumn(me, me.currentColumn);
+       me.TDempty(me, 0.2);
+       me.TD(me, me.rows - 2, 3, e = makeXonoticImage(string_null, 4.0 / 3.0));
+       me.previewImage = e;
+       me.gotoRC(me, 0, 3.5);
+       me.setFirstColumn(me, me.currentColumn);
        w = me.columns - me.currentColumn;
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Title:")));
-               me.TD(me, 1, w-1, e = makeXonoticTextLabel(0, ""));
-                       e.colorL = SKINCOLOR_MAPLIST_TITLE;
-                       e.allowCut = 1;
-                       me.titleLabel = e;
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Title:")));
+       me.TD(me, 1, w - 1, e = makeXonoticTextLabel(0, ""));
+       e.colorL = SKINCOLOR_MAPLIST_TITLE;
+       e.allowCut = 1;
+       me.titleLabel = e;
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Author:")));
-               me.TD(me, 1, w-1, e = makeXonoticTextLabel(0, ""));
-                       e.colorL = SKINCOLOR_MAPLIST_AUTHOR;
-                       e.allowCut = 1;
-                       me.authorLabel = e;
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Author:")));
+       me.TD(me, 1, w - 1, e = makeXonoticTextLabel(0, ""));
+       e.colorL = SKINCOLOR_MAPLIST_AUTHOR;
+       e.allowCut = 1;
+       me.authorLabel = e;
        me.TR(me);
-               me.TD(me, 1, w, e = makeXonoticTextLabel(0, _("Game types:")));
+       me.TD(me, 1, w, e = makeXonoticTextLabel(0, _("Game types:")));
 
        n = ceil(GameType_GetTotalCount() / (me.rows - 6));
        wgt = (w - 0.2) / n;
-       for(i = 0; i < GameType_GetTotalCount(); ++i)
-       {
-               if(mod(i, n) == 0)
-               {
+       for (i = 0; i < GameType_GetTotalCount(); ++i) {
+               if (mod(i, n) == 0) {
                        me.TR(me);
                        me.TDempty(me, 0.2);
                }
                me.TD(me, 1, wgt, e = makeXonoticTextLabel(0, MapInfo_Type_ToText(GameType_GetID(i))));
-                       me.(typeLabels[i]) = e;
+               me.(typeLabels[i]) = e;
        }
 
        me.gotoRC(me, me.rows - 2, 0);
-               me.TD(me, 1, me.columns, e = makeXonoticTextLabel(0.5, ""));
-                       e.allowCut = 1;
-                       me.descriptionLabel = e;
+       me.TD(me, 1, me.columns, e = makeXonoticTextLabel(0.5, ""));
+       e.allowCut = 1;
+       me.descriptionLabel = e;
 
        me.gotoRC(me, me.rows - 1, 0);
-               me.TDempty(me, 0.5);
+       me.TDempty(me, 0.5);
 
-               me.TD(me, 1, me.columns - 5.5, e = makeXonoticButton(_("Close"), '0 0 0'));
-                       e.onClick = Dialog_Close;
-                       e.onClickEntity = me;
-               me.TD(me, 1, me.columns - 5.5, me.startButton = e = makeXonoticButton(ZCTX(_("MAP^Play")), '0 0 0'));
-                       me.startButton.onClick = MapList_LoadMap;
-                       me.startButton.onClickEntity = NULL; // filled later
+       me.TD(me, 1, me.columns - 5.5, e = makeXonoticButton(_("Close"), '0 0 0'));
+       e.onClick = Dialog_Close;
+       e.onClickEntity = me;
+       me.TD(me, 1, me.columns - 5.5, me.startButton = e = makeXonoticButton(ZCTX(_("MAP^Play")), '0 0 0'));
+       me.startButton.onClick = MapList_LoadMap;
+       me.startButton.onClickEntity = NULL; // filled later
 }
index 0ea24a8891931157853a55fe461888271abd5947..9c69a78eeb33680969fc7ac9d1cce11ac525971d 100644 (file)
@@ -22,28 +22,34 @@ string WeaponArenaString()
        string s;
        float n, i;
        s = cvar_string("g_weaponarena");
-       if(s == "0")
+       if (s == "0") {
                return "";
-       if(s == "all" || s == "1")
+       }
+       if (s == "all" || s == "1") {
                return _("All Weapons Arena");
-       if(s == "most")
+       }
+       if (s == "most") {
                return _("Most Weapons Arena");
-       if(s == weaponarenastring_cvar)
+       }
+       if (s == weaponarenastring_cvar) {
                return weaponarenastring;
-       if(weaponarenastring)
+       }
+       if (weaponarenastring) {
                strunzone(weaponarenastring);
-       if(weaponarenastring_cvar)
+       }
+       if (weaponarenastring_cvar) {
                strunzone(weaponarenastring_cvar);
+       }
 
        weaponarenastring_cvar = strzone(s);
 
        n = tokenize_console(s);
        s = "";
-       for(i = 0; i < n; ++i)
-       {
+       for (i = 0; i < n; ++i) {
                FOREACH(Weapons, it != WEP_Null, {
-                       if(argv(i) == it.netname)
+                       if (argv(i) == it.netname) {
                                s = strcat(s, " & ", it.m_name);
+                       }
                });
        }
        s = sprintf(_("%s Arena"), substring(s, 3, strlen(s) - 3));
@@ -57,64 +63,89 @@ string XonoticMutatorsDialog_toString(entity me)
 {
        string s;
        s = "";
-       if(cvar("g_dodging"))
+       if (cvar("g_dodging")) {
                s = strcat(s, ", ", _("Dodging"));
-       if(cvar("g_instagib"))
+       }
+       if (cvar("g_instagib")) {
                s = strcat(s, ", ", _("InstaGib"));
-       if(cvar("g_new_toys"))
+       }
+       if (cvar("g_new_toys")) {
                s = strcat(s, ", ", _("New Toys"));
-       if(cvar("g_nix"))
+       }
+       if (cvar("g_nix")) {
                s = strcat(s, ", ", _("NIX"));
-       if(cvar("g_rocket_flying"))
+       }
+       if (cvar("g_rocket_flying")) {
                s = strcat(s, ", ", _("Rocket Flying"));
-       if(cvar("g_invincible_projectiles"))
+       }
+       if (cvar("g_invincible_projectiles")) {
                s = strcat(s, ", ", _("Invincible Projectiles"));
-       if(cvar_string("g_weaponarena") != "0")
+       }
+       if (cvar_string("g_weaponarena") != "0") {
                s = strcat(s, ", ", WeaponArenaString());
-       else if(cvar("g_balance_blaster_weaponstartoverride") == 0)
+       } else if (cvar("g_balance_blaster_weaponstartoverride") == 0) {
                s = strcat(s, ", ", _("No start weapons"));
-       if(cvar("sv_gravity") < stof(cvar_defstring("sv_gravity")))
+       }
+       if (cvar("sv_gravity") < stof(cvar_defstring("sv_gravity"))) {
                s = strcat(s, ", ", _("Low gravity"));
-       if(cvar("g_cloaked"))
+       }
+       if (cvar("g_cloaked")) {
                s = strcat(s, ", ", _("Cloaked"));
-       if(cvar("g_grappling_hook"))
+       }
+       if (cvar("g_grappling_hook")) {
                s = strcat(s, ", ", _("Hook"));
-       if(cvar("g_midair"))
+       }
+       if (cvar("g_midair")) {
                s = strcat(s, ", ", _("Midair"));
-       if(cvar("g_vampire"))
+       }
+       if (cvar("g_vampire")) {
                s = strcat(s, ", ", _("Vampire"));
-       if(cvar("g_pinata"))
+       }
+       if (cvar("g_pinata")) {
                s = strcat(s, ", ", _("Piñata"));
-       if(cvar("g_weapon_stay"))
+       }
+       if (cvar("g_weapon_stay")) {
                s = strcat(s, ", ", _("Weapons stay"));
-       if(cvar("g_bloodloss") > 0)
+       }
+       if (cvar("g_bloodloss") > 0) {
                s = strcat(s, ", ", _("Blood loss"));
-       if(cvar("g_jetpack"))
+       }
+       if (cvar("g_jetpack")) {
                s = strcat(s, ", ", _("Jet pack"));
-       if(cvar("g_buffs") > 0)
+       }
+       if (cvar("g_buffs") > 0) {
                s = strcat(s, ", ", _("Buffs"));
-       if(cvar("g_overkill"))
+       }
+       if (cvar("g_overkill")) {
                s = strcat(s, ", ", _("Overkill"));
-       if(cvar("g_powerups") == 0)
+       }
+       if (cvar("g_powerups") == 0) {
                s = strcat(s, ", ", _("No powerups"));
-       if(cvar("g_powerups") > 0)
+       }
+       if (cvar("g_powerups") > 0) {
                s = strcat(s, ", ", _("Powerups"));
-       if(cvar("g_touchexplode") > 0)
+       }
+       if (cvar("g_touchexplode") > 0) {
                s = strcat(s, ", ", _("Touch explode"));
-       if(s == "")
+       }
+       if (s == "") {
                return ZCTX(_("MUT^None"));
-       else
+       } else {
                return substring(s, 2, strlen(s) - 2);
+       }
 }
 
 float checkCompatibility_pinata(entity me)
 {
-       if(cvar("g_instagib"))
+       if (cvar("g_instagib")) {
                return 0;
-       if(cvar("g_nix"))
+       }
+       if (cvar("g_nix")) {
                return 0;
-       if(cvar_string("g_weaponarena") != "0")
+       }
+       if (cvar_string("g_weaponarena") != "0") {
                return 0;
+       }
        return 1;
 }
 float checkCompatibility_weaponstay(entity me)
@@ -123,28 +154,37 @@ float checkCompatibility_weaponstay(entity me)
 }
 float checkCompatibility_newtoys(entity me)
 {
-       if(cvar("g_instagib"))
+       if (cvar("g_instagib")) {
                return 0;
-       if(cvar_string("g_weaponarena") == "most")
+       }
+       if (cvar_string("g_weaponarena") == "most") {
                return 1;
-       if(cvar_string("g_weaponarena") == "all" || cvar_string("g_weaponarena") == "1")
+       }
+       if (cvar_string("g_weaponarena") == "all" || cvar_string("g_weaponarena") == "1") {
                return 1;
-       if(cvar_string("g_weaponarena") != "0")
+       }
+       if (cvar_string("g_weaponarena") != "0") {
                return 0;
+       }
        return 1;
 }
 float checkCompatibility_weaponarena_weapon(entity me)
 {
-       if(cvar("g_instagib"))
+       if (cvar("g_instagib")) {
                return 0;
-       if(cvar_string("g_weaponarena") == "most")
+       }
+       if (cvar_string("g_weaponarena") == "most") {
                return 0;
-       if(cvar_string("g_weaponarena") == "all" || cvar_string("g_weaponarena") == "1")
+       }
+       if (cvar_string("g_weaponarena") == "all" || cvar_string("g_weaponarena") == "1") {
                return 0;
-       if(cvar_string("g_weaponarena") == "0")
+       }
+       if (cvar_string("g_weaponarena") == "0") {
                return 0;
-       if(cvar_string("g_balance_blaster_weaponstartoverride") == "0")
+       }
+       if (cvar_string("g_balance_blaster_weaponstartoverride") == "0") {
                return 0;
+       }
        return 1;
 }
 
@@ -153,147 +193,150 @@ void XonoticMutatorsDialog_fill(entity me)
        entity e, s, w;
        float i, j;
        me.TR(me);
-               me.TD(me, 1, 2, makeXonoticTextLabel(0, _("Gameplay mutators:")));
+       me.TD(me, 1, 2, makeXonoticTextLabel(0, _("Gameplay mutators:")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.8, e = makeXonoticCheckBox_T(0, "g_dodging", _("Dodging"),
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.8, e = makeXonoticCheckBox_T(0, "g_dodging", _("Dodging"),
                        _("Enable dodging")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.8, e = makeXonoticCheckBox(0, "g_touchexplode", _("Touch explode")));
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.8, e = makeXonoticCheckBox(0, "g_touchexplode", _("Touch explode")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.8, e = makeXonoticCheckBox_T(0, "g_cloaked", _("Cloaked"),
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.8, e = makeXonoticCheckBox_T(0, "g_cloaked", _("Cloaked"),
                        _("All players are almost invisible")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.8, e = makeXonoticCheckBox(0, "g_buffs", _("Buffs")));
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.8, e = makeXonoticCheckBox(0, "g_buffs", _("Buffs")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.8, e = makeXonoticCheckBox_T(0, "g_midair", _("Midair"),
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.8, e = makeXonoticCheckBox_T(0, "g_midair", _("Midair"),
                        _("Only possible to inflict damage on your enemy while he's airborne")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.8, e = makeXonoticCheckBox_T(0, "g_vampire", _("Vampire"),
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.8, e = makeXonoticCheckBox_T(0, "g_vampire", _("Vampire"),
                        _("Damage done to your enemy gets added to your own health")));
-                       setDependent(e, "g_instagib", 0, 0);
+       setDependent(e, "g_instagib", 0, 0);
        me.TR(me);
-               me.TDempty(me, 0.2);
-               s = makeXonoticSlider_T(10, 50, 1, "g_bloodloss",
-                       _("Amount of health below which your player gets stunned because of blood loss"));
-               me.TD(me, 1, 1.8, e = makeXonoticSliderCheckBox(0, 1, s, _("Blood loss")));
-                       setDependent(e, "g_instagib", 0, 0);
+       me.TDempty(me, 0.2);
+       s = makeXonoticSlider_T(10, 50, 1, "g_bloodloss",
+               _("Amount of health below which your player gets stunned because of blood loss"));
+       me.TD(me, 1, 1.8, e = makeXonoticSliderCheckBox(0, 1, s, _("Blood loss")));
+       setDependent(e, "g_instagib", 0, 0);
        me.TR(me);
-               me.TDempty(me, 0.4);
-               me.TD(me, 1, 1.6, s);
+       me.TDempty(me, 0.4);
+       me.TD(me, 1, 1.6, s);
        me.TR(me);
-               me.TDempty(me, 0.2);
-               s = makeXonoticSlider_T(80, 400, 8, "sv_gravity",
-                       _("Make things fall to the ground slower, lower value means lower gravity"));
-                       s.valueDigits = 0;
-                       s.valueDisplayMultiplier = 0.125; // show gravity in percent
-               me.TD(me, 1, 1.8, e = makeXonoticSliderCheckBox(800, 1, s, _("Low gravity")));
-                       e.savedValue = 200; // good on silvercity
+       me.TDempty(me, 0.2);
+       s = makeXonoticSlider_T(80, 400, 8, "sv_gravity",
+               _("Make things fall to the ground slower, lower value means lower gravity"));
+       s.valueDigits = 0;
+       s.valueDisplayMultiplier = 0.125; // show gravity in percent
+       me.TD(me, 1, 1.8, e = makeXonoticSliderCheckBox(800, 1, s, _("Low gravity")));
+       e.savedValue = 200;               // good on silvercity
        me.TR(me);
-               me.TDempty(me, 0.4);
-               me.TD(me, 1, 1.6, s);
+       me.TDempty(me, 0.4);
+       me.TD(me, 1, 1.6, s);
        me.TR(me);
-               me.TD(me, 1, 2, makeXonoticTextLabel(0, _("Weapon & item mutators:")));
+       me.TD(me, 1, 2, makeXonoticTextLabel(0, _("Weapon & item mutators:")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.8, e = makeXonoticCheckBox_T(0, "g_grappling_hook", _("Grappling hook"),
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.8, e = makeXonoticCheckBox_T(0, "g_grappling_hook", _("Grappling hook"),
                        _("Players spawn with the grappling hook")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.8, e = makeXonoticCheckBox_T(0, "g_jetpack", _("Jet pack"),
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.8, e = makeXonoticCheckBox_T(0, "g_jetpack", _("Jet pack"),
                        _("Players spawn with the jetpack")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.8, e = makeXonoticCheckBox(0, "g_invincible_projectiles", _("Invincible Projectiles")));
-                       setDependent(e, "g_instagib", 0, 0);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.8, e = makeXonoticCheckBox(0, "g_invincible_projectiles", _("Invincible Projectiles")));
+       setDependent(e, "g_instagib", 0, 0);
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.8, e = makeXonoticCheckBox(0, "g_new_toys", _("New Toys")));
-                       setDependentWeird(e, checkCompatibility_newtoys);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.8, e = makeXonoticCheckBox(0, "g_new_toys", _("New Toys")));
+       setDependentWeird(e, checkCompatibility_newtoys);
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.8, e = makeXonoticCheckBox(0, "g_rocket_flying", _("Rocket Flying")));
-                       setDependent(e, "g_instagib", 0, 0);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.8, e = makeXonoticCheckBox(0, "g_rocket_flying", _("Rocket Flying")));
+       setDependent(e, "g_instagib", 0, 0);
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.8, e = makeXonoticCheckBox_T(0, "g_pinata", _("Piñata"),
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.8, e = makeXonoticCheckBox_T(0, "g_pinata", _("Piñata"),
                        _("Players will drop all weapons they possessed when they are killed")));
-                       setDependentWeird(e, checkCompatibility_pinata);
+       setDependentWeird(e, checkCompatibility_pinata);
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.8, e = makeXonoticCheckBox_T(0, "g_weapon_stay", _("Weapons stay"),
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.8, e = makeXonoticCheckBox_T(0, "g_weapon_stay", _("Weapons stay"),
                        _("Weapons stay after they are picked up")));
-                       setDependentWeird(e, checkCompatibility_weaponstay);
+       setDependentWeird(e, checkCompatibility_weaponstay);
        me.TR(me);
 
-       me.gotoRC(me, 0, 2); me.setFirstColumn(me, me.currentColumn);
-               me.TD(me, 1, 2, e = makeXonoticRadioButton(1, string_null, string_null, _("Regular (no arena)")));
+       me.gotoRC(me, 0, 2);
+       me.setFirstColumn(me, me.currentColumn);
+       me.TD(me, 1, 2, e = makeXonoticRadioButton(1, string_null, string_null, _("Regular (no arena)")));
        me.TR(me);
-               me.TD(me, 1, 2, e = makeXonoticRadioButton_T(1, "g_weaponarena", "menu_weaponarena", _("Weapon arenas:"),
+       me.TD(me, 1, 2, e = makeXonoticRadioButton_T(1, "g_weaponarena", "menu_weaponarena", _("Weapon arenas:"),
                        _("Selecting a weapon arena will give all players that weapon at spawn as well as unlimited ammo, and disable all other weapon pickups.")));
-                       e.cvarValueIsAnotherCvar = true;
-                       e.cvarOffValue = "0";
-       for(i = WEP_FIRST, j = 0; i <= WEP_LAST; ++i)
-       {
+       e.cvarValueIsAnotherCvar = true;
+       e.cvarOffValue = "0";
+       for (i = WEP_FIRST, j = 0; i <= WEP_LAST; ++i) {
                w = Weapons_from(i);
-               if(w.spawnflags & WEP_FLAG_HIDDEN)
+               if (w.spawnflags & WEP_FLAG_HIDDEN) {
                        continue;
-               if((j & 1) == 0)
+               }
+               if ((j & 1) == 0) {
                        me.TR(me);
+               }
                me.TDempty(me, 0.2);
                me.TD(me, 1, 1.8, e = makeXonoticWeaponarenaCheckBox(strzone(w.netname), strzone(w.m_name)));
-                       setDependentWeird(e, checkCompatibility_weaponarena_weapon);
+               setDependentWeird(e, checkCompatibility_weaponarena_weapon);
                ++j;
        }
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.8, e = makeXonoticRadioButton_T(1, "g_weaponarena", "most", _("Most weapons"),
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.8, e = makeXonoticRadioButton_T(1, "g_weaponarena", "most", _("Most weapons"),
                        _("Selecting a weapon arena will give all players that weapon at spawn as well as unlimited ammo, and disable all other weapon pickups.")));
-                       e.cvarOffValue = "0";
+       e.cvarOffValue = "0";
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.8, e = makeXonoticRadioButton_T(1, "g_weaponarena", "all", _("All weapons"),
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.8, e = makeXonoticRadioButton_T(1, "g_weaponarena", "all", _("All weapons"),
                        _("Selecting a weapon arena will give all players that weapon at spawn as well as unlimited ammo, and disable all other weapon pickups.")));
-                       e.cvarOffValue = "0";
+       e.cvarOffValue = "0";
        me.TR(me);
-               me.TD(me, 1, 4, makeXonoticTextLabel(0, _("Special arenas:")));
+       me.TD(me, 1, 4, makeXonoticTextLabel(0, _("Special arenas:")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.8, e = makeXonoticRadioButton_T(1, "g_instagib", "1", _("InstaGib"),
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.8, e = makeXonoticRadioButton_T(1, "g_instagib", "1", _("InstaGib"),
                        _("Players will be given only one weapon, which can instantly kill the opponent with a single shot. If the player runs out of ammo, he will have 10 seconds to find some or if he fails to do so, face death. The secondary fire mode does not inflict any damage but is good for doing trickjumps.")));
-                       e.cvarOffValue = "0";
+       e.cvarOffValue = "0";
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.8, e = makeXonoticRadioButton_T(1, "g_nix", "1", _("NIX"),
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.8, e = makeXonoticRadioButton_T(1, "g_nix", "1", _("NIX"),
                        _("No items Xonotic - instead of pickup items, everyone plays with the same weapon. After some time, a countdown will start, after which everyone will switch to another weapon.")));
-                       e.cvarOffValue = "0";
+       e.cvarOffValue = "0";
        me.TR(me);
-               me.TDempty(me, 0.4);
-               me.TD(me, 1, 1.6, e = makeXonoticCheckBox_T(0, "g_nix_with_blaster", _("with blaster"),
+       me.TDempty(me, 0.4);
+       me.TD(me, 1, 1.6, e = makeXonoticCheckBox_T(0, "g_nix_with_blaster", _("with blaster"),
                        _("Always carry the blaster as an additional weapon in Nix")));
-                       setDependent(e, "g_nix", 1, 1);
+       setDependent(e, "g_nix", 1, 1);
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.8, e = makeXonoticRadioButton_T(1, "g_balance_blaster_weaponstartoverride", "0", _("No start weapons"), "-"));
-                       e.cvarOffValue = "-1";
-                       makeMulti(e, "g_balance_shotgun_weaponstartoverride g_balance_machinegun_weaponstartoverride g_balance_devastator_weaponstartoverride g_balance_minelayer_weaponstartoverride g_balance_electro_weaponstartoverride g_balance_crylink_weaponstartoverride g_balance_hagar_weaponstartoverride g_balance_porto_weaponstartoverride g_balance_vaporizer_weaponstartoverride g_balance_hook_weaponstartoverride g_balance_rifle_weaponstartoverride g_balance_fireball_weaponstartoverride g_balance_seeker_weaponstartoverride g_balance_tuba_weaponstartoverride g_balance_arc_weaponstartoverride g_balance_vortex_weaponstartoverride g_balance_mortar_weaponstartoverride");
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.8, e = makeXonoticRadioButton_T(1, "g_balance_blaster_weaponstartoverride", "0", _("No start weapons"), "-"));
+       e.cvarOffValue = "-1";
+       makeMulti(e, "g_balance_shotgun_weaponstartoverride g_balance_machinegun_weaponstartoverride g_balance_devastator_weaponstartoverride g_balance_minelayer_weaponstartoverride g_balance_electro_weaponstartoverride g_balance_crylink_weaponstartoverride g_balance_hagar_weaponstartoverride g_balance_porto_weaponstartoverride g_balance_vaporizer_weaponstartoverride g_balance_hook_weaponstartoverride g_balance_rifle_weaponstartoverride g_balance_fireball_weaponstartoverride g_balance_seeker_weaponstartoverride g_balance_tuba_weaponstartoverride g_balance_arc_weaponstartoverride g_balance_vortex_weaponstartoverride g_balance_mortar_weaponstartoverride");
 
        me.gotoRC(me, me.rows - 1, 0);
-               me.TD(me, 1, me.columns, e = makeXonoticButton(_("OK"), '0 0 0'));
-                       e.onClick = Dialog_Close;
-                       e.onClickEntity = me;
+       me.TD(me, 1, me.columns, e = makeXonoticButton(_("OK"), '0 0 0'));
+       e.onClick = Dialog_Close;
+       e.onClickEntity = me;
 }
 
 .void(entity) refilter;
 
 void XonoticMutatorsDialog_close(entity me)
 {
-       if(me.refilterEntity)
+       if (me.refilterEntity) {
                me.refilterEntity.refilter(me.refilterEntity);
+       }
        SUPER(XonoticMutatorsDialog).close(me);
 }
index a34d0d80a1cb12a9e713efb213d147b5f272226d..4b5edb6c31448ebb4fd68d6d1dafc45e6a729877 100644 (file)
@@ -17,8 +17,8 @@ entity makeXonoticServerListTab()
 
 void XonoticServerListTab_refresh(entity this, entity slist)
 {
-    bool clear = false;
-    slist.refreshServerList(slist, clear ? REFRESHSERVERLIST_RESET : REFRESHSERVERLIST_ASK);
+       bool clear = false;
+       slist.refreshServerList(slist, clear ? REFRESHSERVERLIST_RESET : REFRESHSERVERLIST_ASK);
 }
 
 void XonoticServerListTab_fill(entity me)
@@ -28,61 +28,61 @@ void XonoticServerListTab_fill(entity me)
        slist  = makeXonoticServerList();
 
        me.gotoRC(me, 0.5, 0);
-               me.TD(me, 1, 0.5, e = makeXonoticTextLabel(1, _("Filter:")));
-               me.TD(me, 1, 2, e = makeXonoticInputBox(0, string_null));
-                       e.onChange = ServerList_Filter_Change;
-                       e.onChangeEntity = slist;
-                       slist.controlledTextbox = e;
+       me.TD(me, 1, 0.5, e = makeXonoticTextLabel(1, _("Filter:")));
+       me.TD(me, 1, 2, e = makeXonoticInputBox(0, string_null));
+       e.onChange = ServerList_Filter_Change;
+       e.onChangeEntity = slist;
+       slist.controlledTextbox = e;
 
        me.gotoRC(me, 0.5, 2.6);
-               me.TD(me, 1, 0.9, e = makeXonoticCheckBox(0, "menu_slist_categories", ZCTX(_("SRVS^Categories"))));
-                       e.onClickEntity = slist;
-                       e.onClick = ServerList_Categories_Click;
-               me.TD(me, 1, 0.6, e = makeXonoticCheckBox_T(0, "menu_slist_showempty", ZCTX(_("SRVS^Empty")),
+       me.TD(me, 1, 0.9, e = makeXonoticCheckBox(0, "menu_slist_categories", ZCTX(_("SRVS^Categories"))));
+       e.onClickEntity = slist;
+       e.onClick = ServerList_Categories_Click;
+       me.TD(me, 1, 0.6, e = makeXonoticCheckBox_T(0, "menu_slist_showempty", ZCTX(_("SRVS^Empty")),
                        _("Show empty servers")));
-                       slist.filterShowEmpty = e.checked;
-                       e.onClickEntity = slist;
-                       e.onClick = ServerList_ShowEmpty_Click;
-               me.TD(me, 1, 0.6, e = makeXonoticCheckBox_T(0, "menu_slist_showfull", ZCTX(_("SRVS^Full")),
+       slist.filterShowEmpty = e.checked;
+       e.onClickEntity = slist;
+       e.onClick = ServerList_ShowEmpty_Click;
+       me.TD(me, 1, 0.6, e = makeXonoticCheckBox_T(0, "menu_slist_showfull", ZCTX(_("SRVS^Full")),
                        _("Show full servers that have no slots available")));
-                       slist.filterShowFull = e.checked;
-                       e.onClickEntity = slist;
-                       e.onClick = ServerList_ShowFull_Click;
-               me.TD(me, 1, 0.6, e = makeXonoticCheckBox_T(0, "net_slist_pause", _("Pause"),
+       slist.filterShowFull = e.checked;
+       e.onClickEntity = slist;
+       e.onClick = ServerList_ShowFull_Click;
+       me.TD(me, 1, 0.6, e = makeXonoticCheckBox_T(0, "net_slist_pause", _("Pause"),
                        _("Pause updating the server list to prevent servers from \"jumping around\"")));
-               me.TD(me, 1, 1, e = makeXonoticButton_T(_("Refresh"), '0 0 0', _("Reload the server list")));
-                       e.onClick = XonoticServerListTab_refresh;
-                       e.onClickEntity = slist;
+       me.TD(me, 1, 1, e = makeXonoticButton_T(_("Refresh"), '0 0 0', _("Reload the server list")));
+       e.onClick = XonoticServerListTab_refresh;
+       e.onClickEntity = slist;
 
        me.gotoRC(me, 2, 0);
-               me.TD(me, 1, 1, slist.sortButton1 = makeXonoticButton(string_null, '0 0 0'));
-               me.TD(me, 1, 1, slist.sortButton2 = makeXonoticButton(string_null, '0 0 0'));
-               me.TD(me, 1, 1, slist.sortButton3 = makeXonoticButton(string_null, '0 0 0'));
-               me.TD(me, 1, 1, slist.sortButton4 = makeXonoticButton(string_null, '0 0 0'));
-               me.TD(me, 1, 1, slist.sortButton5 = makeXonoticButton(string_null, '0 0 0'));
+       me.TD(me, 1, 1, slist.sortButton1 = makeXonoticButton(string_null, '0 0 0'));
+       me.TD(me, 1, 1, slist.sortButton2 = makeXonoticButton(string_null, '0 0 0'));
+       me.TD(me, 1, 1, slist.sortButton3 = makeXonoticButton(string_null, '0 0 0'));
+       me.TD(me, 1, 1, slist.sortButton4 = makeXonoticButton(string_null, '0 0 0'));
+       me.TD(me, 1, 1, slist.sortButton5 = makeXonoticButton(string_null, '0 0 0'));
        me.TR(me);
-               me.TD(me, me.rows - 5, me.columns, slist);
+       me.TD(me, me.rows - 5, me.columns, slist);
 
        me.gotoRC(me, me.rows - 2, 0);
-               me.TD(me, 1, 0.6, e = makeXonoticTextLabel(0, _("Address:")));
-               me.TD(me, 1, 2.9, e = makeXonoticInputBox(0, string_null));
-                       e.onEnter = ServerList_Connect_Click;
-                       e.onEnterEntity = slist;
-                       e.onChange = ServerList_Update_favoriteButton;
-                       e.onChangeEntity = slist;
-                       slist.ipAddressBox = e;
-               me.TD(me, 1, 1.5, e = makeXonoticButton("", '0 0 0'));
-                       e.onClick = ServerList_Favorite_Click;
-                       e.onClickEntity = slist;
-                       slist.favoriteButton = e;
-               me.TD(me, 1, 1.5, e = makeXonoticButton_T(_("Info..."), '0 0 0',
+       me.TD(me, 1, 0.6, e = makeXonoticTextLabel(0, _("Address:")));
+       me.TD(me, 1, 2.9, e = makeXonoticInputBox(0, string_null));
+       e.onEnter = ServerList_Connect_Click;
+       e.onEnterEntity = slist;
+       e.onChange = ServerList_Update_favoriteButton;
+       e.onChangeEntity = slist;
+       slist.ipAddressBox = e;
+       me.TD(me, 1, 1.5, e = makeXonoticButton("", '0 0 0'));
+       e.onClick = ServerList_Favorite_Click;
+       e.onClickEntity = slist;
+       slist.favoriteButton = e;
+       me.TD(me, 1, 1.5, e = makeXonoticButton_T(_("Info..."), '0 0 0',
                        _("Show more information about the currently highlighted server")));
-                       e.onClick = ServerList_Info_Click;
-                       e.onClickEntity = slist;
-                       slist.infoButton = e;
+       e.onClick = ServerList_Info_Click;
+       e.onClickEntity = slist;
+       slist.infoButton = e;
        me.TR(me);
-               me.TD(me, 1, me.columns, e = makeXonoticButton(_("Join!"), '0 0 0'));
-                       e.onClick = ServerList_Connect_Click;
-                       e.onClickEntity = slist;
-                       slist.connectButton = e;
+       me.TD(me, 1, me.columns, e = makeXonoticButton(_("Join!"), '0 0 0'));
+       e.onClick = ServerList_Connect_Click;
+       e.onClickEntity = slist;
+       slist.connectButton = e;
 }
index 6ba33e2a710128ce86bb03c1369ea84883901771..8d27e1c9bb82b7348fe314f2616080f8166ed5d1 100644 (file)
@@ -10,19 +10,16 @@ const float DMO_PLAY = 1;
 const float DMO_TIME = 2;
 void DemoConfirm_Check_Gamestatus(entity btn, entity me)
 {
-       if(!(gamestatus & (GAME_CONNECTED | GAME_ISSERVER))) // we're not in a match, lets watch the demo
-       {
-               if(btn.democlicktype == DMO_PLAY)
-                       { demolist.startDemo(demolist); }
-               else if(btn.democlicktype == DMO_TIME)
-                       { demolist.timeDemo(demolist); }
-       }
-       else // already in a match, player has to confirm
-       {
-               if(btn.democlicktype == DMO_PLAY)
-                       { DialogOpenButton_Click(btn, main.demostartconfirmDialog); }
-               else if(btn.democlicktype == DMO_TIME)
-                       { DialogOpenButton_Click(btn, main.demotimeconfirmDialog); }
+       if (!(gamestatus & (GAME_CONNECTED | GAME_ISSERVER))) { // we're not in a match, lets watch the demo
+               if (btn.democlicktype == DMO_PLAY)
+               { demolist.startDemo(demolist); } else if (btn.democlicktype == DMO_TIME) {
+                       demolist.timeDemo(demolist);
+               }
+       } else { // already in a match, player has to confirm
+               if (btn.democlicktype == DMO_PLAY)
+               { DialogOpenButton_Click(btn, main.demostartconfirmDialog); } else if (btn.democlicktype == DMO_TIME) {
+                       DialogOpenButton_Click(btn, main.demotimeconfirmDialog);
+               }
        }
 }
 
@@ -39,28 +36,28 @@ void XonoticDemoBrowserTab_fill(entity me)
        demolist = makeXonoticDemoList();
 
        me.TR(me);
-               me.TD(me, 1, 0.6, e = makeXonoticTextLabel(1, _("Filter:")));
-               me.TD(me, 1, 2.9, e = makeXonoticInputBox(0, string_null));
-                       e.onChange = DemoList_Filter_Change;
-                       e.onChangeEntity = demolist;
+       me.TD(me, 1, 0.6, e = makeXonoticTextLabel(1, _("Filter:")));
+       me.TD(me, 1, 2.9, e = makeXonoticInputBox(0, string_null));
+       e.onChange = DemoList_Filter_Change;
+       e.onChangeEntity = demolist;
 
        me.gotoRC(me, 0, 3.7);
-               me.TD(me, 1, 1.5, e = makeXonoticCheckBox(0, "cl_autodemo", _("Auto record demos")));
-               me.TD(me, 1, 1, e = makeXonoticButton(_("Refresh"), '0 0 0'));
-                       e.onClick = DemoList_Refresh_Click;
-                       e.onClickEntity = demolist;
+       me.TD(me, 1, 1.5, e = makeXonoticCheckBox(0, "cl_autodemo", _("Auto record demos")));
+       me.TD(me, 1, 1, e = makeXonoticButton(_("Refresh"), '0 0 0'));
+       e.onClick = DemoList_Refresh_Click;
+       e.onClickEntity = demolist;
 
        me.gotoRC(me, 1.5, 0);
-               me.TD(me, me.rows - 2.5, me.columns, demolist);
+       me.TD(me, me.rows - 2.5, me.columns, demolist);
 
        me.gotoRC(me, me.rows - 1, 0);
-               me.TD(me, 1, me.columns / 2, e = makeXonoticButton_T(_("Timedemo"), '0 0 0',
+       me.TD(me, 1, me.columns / 2, e = makeXonoticButton_T(_("Timedemo"), '0 0 0',
                        _("Benchmark how fast your computer can run the highlighted demo")));
-                       e.democlicktype = DMO_TIME;
-                       e.onClick = DemoConfirm_Check_Gamestatus;
-                       e.onClickEntity = me; // demolist is global anyway
-               me.TD(me, 1, me.columns / 2, e = makeXonoticButton(ZCTX(_("DEMO^Play")), '0 0 0'));
-                       e.democlicktype = DMO_PLAY;
-                       e.onClick = DemoConfirm_Check_Gamestatus;
-                       e.onClickEntity = me; // demolist is global anyway
+       e.democlicktype = DMO_TIME;
+       e.onClick = DemoConfirm_Check_Gamestatus;
+       e.onClickEntity = me; // demolist is global anyway
+       me.TD(me, 1, me.columns / 2, e = makeXonoticButton(ZCTX(_("DEMO^Play")), '0 0 0'));
+       e.democlicktype = DMO_PLAY;
+       e.onClick = DemoConfirm_Check_Gamestatus;
+       e.onClickEntity = me; // demolist is global anyway
 }
index 068a8217b67082f57f081f872fb277e8a1de88a4..56199502539db7527cb270d76f9a9ec21e55dc60 100644 (file)
@@ -10,15 +10,15 @@ void XonoticDemoStartConfirmDialog_fill(entity me)
        entity e;
 
        me.TR(me);
-               me.TD(me, 1, 2, e = makeXonoticTextLabel(0.5, _("Playing a demo will disconnect you from the current match.")));
+       me.TD(me, 1, 2, e = makeXonoticTextLabel(0.5, _("Playing a demo will disconnect you from the current match.")));
        me.TR(me);
-               me.TD(me, 1, 2, e = makeXonoticTextLabel(0.5, _("Do you really wish to disconnect now?")));
+       me.TD(me, 1, 2, e = makeXonoticTextLabel(0.5, _("Do you really wish to disconnect now?")));
        me.TR(me);
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticButton(_("Yes"), '1 0 0'));
-                       e.onClick = Handle_StartDemo_Click;
-                       e.onClickEntity = demolist;
-               me.TD(me, 1, 1, e = makeXonoticButton(_("No"), '0 1 0'));
-                       e.onClick = Dialog_Close;
-                       e.onClickEntity = me;
+       me.TD(me, 1, 1, e = makeXonoticButton(_("Yes"), '1 0 0'));
+       e.onClick = Handle_StartDemo_Click;
+       e.onClickEntity = demolist;
+       me.TD(me, 1, 1, e = makeXonoticButton(_("No"), '0 1 0'));
+       e.onClick = Dialog_Close;
+       e.onClickEntity = me;
 }
index 55760d14ab77cdddff1f9e532ded4e6ac79a9841..ebbf21c9f64e1fa6812dd1a9dddf2abe90fe79fa 100644 (file)
@@ -10,15 +10,15 @@ void XonoticDemoTimeConfirmDialog_fill(entity me)
        entity e;
 
        me.TR(me);
-               me.TD(me, 1, 2, e = makeXonoticTextLabel(0.5, _("Timing a demo will disconnect you from the current match.")));
+       me.TD(me, 1, 2, e = makeXonoticTextLabel(0.5, _("Timing a demo will disconnect you from the current match.")));
        me.TR(me);
-               me.TD(me, 1, 2, e = makeXonoticTextLabel(0.5, _("Do you really wish to disconnect now?")));
+       me.TD(me, 1, 2, e = makeXonoticTextLabel(0.5, _("Do you really wish to disconnect now?")));
        me.TR(me);
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticButton(_("Yes"), '1 0 0'));
-                       e.onClick = Handle_TimeDemo_Click;
-                       e.onClickEntity = demolist;
-               me.TD(me, 1, 1, e = makeXonoticButton(_("No"), '0 1 0'));
-                       e.onClick = Dialog_Close;
-                       e.onClickEntity = me;
+       me.TD(me, 1, 1, e = makeXonoticButton(_("Yes"), '1 0 0'));
+       e.onClick = Handle_TimeDemo_Click;
+       e.onClickEntity = demolist;
+       me.TD(me, 1, 1, e = makeXonoticButton(_("No"), '0 1 0'));
+       e.onClick = Dialog_Close;
+       e.onClickEntity = me;
 }
index c3606508a51c4172bdfedd8a503fbaa8c30b56d8..e0effe123db2d7c2bbf2306ca642bbbf8ce43fd5 100644 (file)
@@ -22,61 +22,62 @@ void XonoticMusicPlayerTab_fill(entity me)
        float columns_nospacing = (me.columns - 0.2);
 
        me.TR(me);
-               me.TD(me, 1, 0.5, e = makeXonoticTextLabel(0, _("Filter:")));
-               me.TD(me, 1, 2.5, e = makeXonoticInputBox(0, string_null));
-                       soundList = makeXonoticSoundList();
-                       e.onChange = SoundList_Filter_Change;
-                       e.onChangeEntity = soundList;
-                       playList = makeXonoticPlayList();
-                       soundList.playlist = playList;
+       me.TD(me, 1, 0.5, e = makeXonoticTextLabel(0, _("Filter:")));
+       me.TD(me, 1, 2.5, e = makeXonoticInputBox(0, string_null));
+       soundList = makeXonoticSoundList();
+       e.onChange = SoundList_Filter_Change;
+       e.onChangeEntity = soundList;
+       playList = makeXonoticPlayList();
+       soundList.playlist = playList;
 
        me.TR(me);
-               me.TD(me, me.rows - 4, columns_nospacing / 2, soundList);
+       me.TD(me, me.rows - 4, columns_nospacing / 2, soundList);
 
        me.gotoRC(me, me.rows - 3, 0);
-               me.TD(me, 1, columns_nospacing / 4, e = makeXonoticButton(ZCTX(_("MUSICPL^Add")), '0 0 0'));
-                       e.onClick = SoundList_Add;
-                       e.onClickEntity = soundList;
-               me.TD(me, 1, columns_nospacing / 4, e = makeXonoticButton(ZCTX(_("MUSICPL^Add all")), '0 0 0'));
-                       e.onClick = SoundList_Add_All;
-                       e.onClickEntity = soundList;
+       me.TD(me, 1, columns_nospacing / 4, e = makeXonoticButton(ZCTX(_("MUSICPL^Add")), '0 0 0'));
+       e.onClick = SoundList_Add;
+       e.onClickEntity = soundList;
+       me.TD(me, 1, columns_nospacing / 4, e = makeXonoticButton(ZCTX(_("MUSICPL^Add all")), '0 0 0'));
+       e.onClick = SoundList_Add_All;
+       e.onClickEntity = soundList;
        me.TR(me);
-               me.TD(me, 1, columns_nospacing / 2, e = makeXonoticButton(_("Set as menu track"), '0 0 0'));
-                       e.onClick = SoundList_Menu_Track_Change;
-                       e.onClickEntity = soundList;
+       me.TD(me, 1, columns_nospacing / 2, e = makeXonoticButton(_("Set as menu track"), '0 0 0'));
+       e.onClick = SoundList_Menu_Track_Change;
+       e.onClickEntity = soundList;
        me.TR(me);
-               me.TD(me, 1, columns_nospacing / 2, e = makeXonoticButton(_("Reset default menu track"), '0 0 0'));
-                       e.onClick = SoundList_Menu_Track_Reset;
-                       e.onClickEntity = soundList;
+       me.TD(me, 1, columns_nospacing / 2, e = makeXonoticButton(_("Reset default menu track"), '0 0 0'));
+       e.onClick = SoundList_Menu_Track_Reset;
+       e.onClickEntity = soundList;
        me.TR(me);
        me.TR(me);
-       me.gotoRC(me, 0, columns_nospacing / 2 + 0.2); me.setFirstColumn(me, me.currentColumn);
-               me.TD(me, 1, columns_nospacing / 4, e = makeXonoticTextLabel(0, _("Playlist:")));
-               me.TD(me, 1, columns_nospacing / 4, e = makeXonoticCheckBox(0, "music_playlist_random0", _("Random order")));
+       me.gotoRC(me, 0, columns_nospacing / 2 + 0.2);
+       me.setFirstColumn(me, me.currentColumn);
+       me.TD(me, 1, columns_nospacing / 4, e = makeXonoticTextLabel(0, _("Playlist:")));
+       me.TD(me, 1, columns_nospacing / 4, e = makeXonoticCheckBox(0, "music_playlist_random0", _("Random order")));
        me.TR(me);
-               me.TD(me, me.rows - 3, columns_nospacing / 2, playList);
+       me.TD(me, me.rows - 3, columns_nospacing / 2, playList);
 
        me.gotoRC(me, me.rows - 2, columns_nospacing / 2 + 0.2);
-               me.TD(me, 1, columns_nospacing / 10, e = makeXonoticButton(ZCTX(_("MUSICPL^Stop")), '0 0 0'));
-                       e.onClick = StopSound_Click;
-                       e.onClickEntity = playList;
-               me.TD(me, 1, columns_nospacing / 10, e = makeXonoticButton(ZCTX(_("MUSICPL^Play")), '0 0 0'));
-                       e.onClick = StartSound_Click;
-                       e.onClickEntity = playList;
-               me.TD(me, 1, columns_nospacing / 10, e = makeXonoticButton(ZCTX(_("MUSICPL^Pause")), '0 0 0'));
-                       e.onClick = PauseSound_Click;
-                       e.onClickEntity = playList;
-               me.TD(me, 1, columns_nospacing / 10, e = makeXonoticButton(ZCTX(_("MUSICPL^Prev")), '0 0 0'));
-                       e.onClick = PrevSound_Click;
-                       e.onClickEntity = playList;
-               me.TD(me, 1, columns_nospacing / 10, e = makeXonoticButton(ZCTX(_("MUSICPL^Next")), '0 0 0'));
-                       e.onClick = NextSound_Click;
-                       e.onClickEntity = playList;
+       me.TD(me, 1, columns_nospacing / 10, e = makeXonoticButton(ZCTX(_("MUSICPL^Stop")), '0 0 0'));
+       e.onClick = StopSound_Click;
+       e.onClickEntity = playList;
+       me.TD(me, 1, columns_nospacing / 10, e = makeXonoticButton(ZCTX(_("MUSICPL^Play")), '0 0 0'));
+       e.onClick = StartSound_Click;
+       e.onClickEntity = playList;
+       me.TD(me, 1, columns_nospacing / 10, e = makeXonoticButton(ZCTX(_("MUSICPL^Pause")), '0 0 0'));
+       e.onClick = PauseSound_Click;
+       e.onClickEntity = playList;
+       me.TD(me, 1, columns_nospacing / 10, e = makeXonoticButton(ZCTX(_("MUSICPL^Prev")), '0 0 0'));
+       e.onClick = PrevSound_Click;
+       e.onClickEntity = playList;
+       me.TD(me, 1, columns_nospacing / 10, e = makeXonoticButton(ZCTX(_("MUSICPL^Next")), '0 0 0'));
+       e.onClick = NextSound_Click;
+       e.onClickEntity = playList;
        me.TR(me);
-               me.TD(me, 1, columns_nospacing / 4, e = makeXonoticButton(ZCTX(_("MUSICPL^Remove")), '0 0 0'));
-                       e.onClick = PlayList_Remove;
-                       e.onClickEntity = playList;
-               me.TD(me, 1, columns_nospacing / 4, e = makeXonoticButton(ZCTX(_("MUSICPL^Remove all")), '0 0 0'));
-                       e.onClick = PlayList_Remove_All;
-                       e.onClickEntity = playList;
+       me.TD(me, 1, columns_nospacing / 4, e = makeXonoticButton(ZCTX(_("MUSICPL^Remove")), '0 0 0'));
+       e.onClick = PlayList_Remove;
+       e.onClickEntity = playList;
+       me.TD(me, 1, columns_nospacing / 4, e = makeXonoticButton(ZCTX(_("MUSICPL^Remove all")), '0 0 0'));
+       e.onClick = PlayList_Remove_All;
+       e.onClickEntity = playList;
 }
index 1229be714491116f7348641b47f7d31fd2310126..754d88227749eb62dffb5b462e7a6d6143245d4a 100644 (file)
@@ -17,10 +17,12 @@ entity makeXonoticScreenshotBrowserTab()
 }
 void XonoticScreenshotBrowserTab_loadPreviewScreenshot(entity me, string scrImage)
 {
-       if (me.currentScrPath == scrImage)
+       if (me.currentScrPath == scrImage) {
                return;
-       if (me.currentScrPath)
+       }
+       if (me.currentScrPath) {
                strunzone(me.currentScrPath);
+       }
        me.currentScrPath = strzone(scrImage);
        me.screenshotImage.load(me.screenshotImage, me.currentScrPath);
 }
@@ -32,43 +34,43 @@ void XonoticScreenshotBrowserTab_fill(entity me)
 
 
        me.TR(me);
-               me.TD(me, 1, 0.6, e = makeXonoticTextLabel(1, _("Filter:")));
-               me.TD(me, 1, 2.4, e = makeXonoticInputBox(0, string_null));
-                       e.onChange = ScreenshotList_Filter_Would_Change;
-                       e.onChangeEntity = slist;
-                       slist.screenshotViewerDialog = main.screenshotViewerDialog;
-                       main.screenshotViewerDialog.scrList = slist;
+       me.TD(me, 1, 0.6, e = makeXonoticTextLabel(1, _("Filter:")));
+       me.TD(me, 1, 2.4, e = makeXonoticInputBox(0, string_null));
+       e.onChange = ScreenshotList_Filter_Would_Change;
+       e.onChangeEntity = slist;
+       slist.screenshotViewerDialog = main.screenshotViewerDialog;
+       main.screenshotViewerDialog.scrList = slist;
 
        me.gotoRC(me, 0, 3.1);
-               me.TD(me, 1, 1.9, e = makeXonoticCheckBoxEx(2, 1, "cl_autoscreenshot", _("Auto screenshot scoreboard")));
-               me.TD(me, 1, 1, e = makeXonoticButton(_("Refresh"), '0 0 0'));
-                       e.onClick = ScreenshotList_Refresh_Click;
-                       e.onClickEntity = slist;
+       me.TD(me, 1, 1.9, e = makeXonoticCheckBoxEx(2, 1, "cl_autoscreenshot", _("Auto screenshot scoreboard")));
+       me.TD(me, 1, 1, e = makeXonoticButton(_("Refresh"), '0 0 0'));
+       e.onClick = ScreenshotList_Refresh_Click;
+       e.onClickEntity = slist;
 
        /*me.TR(me);
-               me.TD(me, 1, 0.5, e = makeXonoticTextLabel(0, "Filter:"));
-               me.TD(me, 1, me.columns - 1.5, e = makeXonoticInputBox(0, string_null));
-                       e.onChange = ScreenshotList_Filter_Would_Change;
-                       e.onChangeEntity = slist;
-                       slist.screenshotViewerDialog = main.screenshotViewerDialog;
-                       main.screenshotViewerDialog.scrList = slist;
-               me.TD(me, 1, 1, e = makeXonoticButton(_("Refresh"), '0 0 0'));
-                       e.onClick = ScreenshotList_Refresh_Click;
-                       e.onClickEntity = slist;*/
+           me.TD(me, 1, 0.5, e = makeXonoticTextLabel(0, "Filter:"));
+           me.TD(me, 1, me.columns - 1.5, e = makeXonoticInputBox(0, string_null));
+               e.onChange = ScreenshotList_Filter_Would_Change;
+               e.onChangeEntity = slist;
+               slist.screenshotViewerDialog = main.screenshotViewerDialog;
+               main.screenshotViewerDialog.scrList = slist;
+           me.TD(me, 1, 1, e = makeXonoticButton(_("Refresh"), '0 0 0'));
+               e.onClick = ScreenshotList_Refresh_Click;
+               e.onClickEntity = slist;*/
 
        me.gotoRC(me, 1.5, 0);
-               me.TD(me, me.rows - 2.5, me.columns, slist);
+       me.TD(me, me.rows - 2.5, me.columns, slist);
 
        me.gotoRC(me, slist_height + 1, 0);
-               me.TD(me, 1, me.columns, e = makeXonoticButton(_("Open in the viewer"), '0 0 0'));
-                       e.onClick = StartScreenshot_Click;
-                       e.onClickEntity = slist;
+       me.TD(me, 1, me.columns, e = makeXonoticButton(_("Open in the viewer"), '0 0 0'));
+       e.onClick = StartScreenshot_Click;
+       e.onClickEntity = slist;
 /*
-       me.TR(me);
-               me.TD(me, me.rows - me.currentRow, me.columns, e = makeXonoticScreenshotImage());
-                       e.showTitle = 0;
-                       me.screenshotImage = e;
-                       slist.screenshotPreview = e;
-                       slist.screenshotBrowserDialog = me;
+    me.TR(me);
+        me.TD(me, me.rows - me.currentRow, me.columns, e = makeXonoticScreenshotImage());
+            e.showTitle = 0;
+            me.screenshotImage = e;
+            slist.screenshotPreview = e;
+            slist.screenshotBrowserDialog = me;
 */
 }
index d6d545eeeaf00b939ce5b8ad35b6243bd8e66868..d27e44c4bf3164c364e65d2ea83556259a5a5db9 100644 (file)
@@ -8,24 +8,25 @@ float music_playlist_index_backup;
 void XonoticScreenshotViewerDialog_loadScreenshot(entity me, string scrImage)
 {
        // disable music as it can lag depending on image loading time
-       if(!cvar("menu_screenshotviewer_enablemusic"))
-       if(cvar("music_playlist_index") != 999) // if the playlist isn't paused
-       {
-               // pause music
-               if(cvar("music_playlist_index") != -1)
-               {
-                       music_playlist_index_backup = cvar("music_playlist_index");
-                       cvar_set("music_playlist_sampleposition0", "0");
-                       cvar_set("music_playlist_index", "999");
+       if (!cvar("menu_screenshotviewer_enablemusic")) {
+               if (cvar("music_playlist_index") != 999) { // if the playlist isn't paused
+                       // pause music
+                       if (cvar("music_playlist_index") != -1) {
+                               music_playlist_index_backup = cvar("music_playlist_index");
+                               cvar_set("music_playlist_sampleposition0", "0");
+                               cvar_set("music_playlist_index", "999");
+                       } else {
+                               localcmd("\ncd pause\n");
+                       }
                }
-               else
-                       localcmd("\ncd pause\n");
        }
 
-       if (me.currentScrPath == scrImage)
+       if (me.currentScrPath == scrImage) {
                return;
-       if (me.currentScrPath)
+       }
+       if (me.currentScrPath) {
                strunzone(me.currentScrPath);
+       }
        me.currentScrPath = strzone(scrImage);
        me.screenshotImage.load(me.screenshotImage, me.currentScrPath);
        me.frame.setText(me.frame, me.screenshotImage.screenshotTitle);
@@ -44,7 +45,7 @@ void increaseZoom_Click(entity btn, entity me)
 }
 void decreaseZoom_Click(entity btn, entity me)
 {
-       me.screenshotImage.setZoom(me.screenshotImage, -1/2, false);
+       me.screenshotImage.setZoom(me.screenshotImage, -1 / 2, false);
 }
 void resetZoom_Click(entity btn, entity me)
 {
@@ -52,21 +53,17 @@ void resetZoom_Click(entity btn, entity me)
 }
 void toggleSlideShow_Click(entity btn, entity me)
 {
-       if (me.slideShowButton.forcePressed)
-       {
+       if (me.slideShowButton.forcePressed) {
                me.scrList.stopSlideShow(me.scrList);
                me.slideShowButton.forcePressed = 0;
-       }
-       else
-       {
+       } else {
                me.scrList.startSlideShow(me.scrList);
                me.slideShowButton.forcePressed = 1;
        }
 }
 float XonoticScreenshotViewerDialog_keyDown(entity me, float key, float ascii, float shift)
 {
-       switch(key)
-       {
+       switch (key) {
                case K_KP_LEFTARROW:
                case K_LEFTARROW:
                        me.scrList.goScreenshot(me.scrList, -1);
@@ -80,25 +77,20 @@ float XonoticScreenshotViewerDialog_keyDown(entity me, float key, float ascii, f
                case K_SPACE:
                        // we cannot use SPACE/ENTER directly, as in a dialog they are needed
                        // to press buttons while browsing with only the keyboard
-                       if (shift & S_CTRL)
-                       {
+                       if (shift & S_CTRL) {
                                toggleSlideShow_Click(NULL, me);
                                return 1;
                        }
                        return SUPER(XonoticScreenshotViewerDialog).keyDown(me, key, ascii, shift);
                default:
-                       if (key == K_MWHEELUP || ascii == '+')
-                       {
+                       if (key == K_MWHEELUP || ascii == '+') {
                                me.screenshotImage.setZoom(me.screenshotImage, -2, (key == K_MWHEELUP));
                                return 1;
-                       }
-                       else if (key == K_MWHEELDOWN || ascii == '-')
-                       {
-                               me.screenshotImage.setZoom(me.screenshotImage, -1/2, (key == K_MWHEELDOWN));
+                       } else if (key == K_MWHEELDOWN || ascii == '-') {
+                               me.screenshotImage.setZoom(me.screenshotImage, -1 / 2, (key == K_MWHEELDOWN));
                                return 1;
                        }
-                       if (me.scrList.keyDown(me.scrList, key, ascii, shift))
-                       {
+                       if (me.scrList.keyDown(me.scrList, key, ascii, shift)) {
                                // keyDown has already changed the selected item
                                me.scrList.goScreenshot(me.scrList, 0);
                                return 1;
@@ -109,13 +101,13 @@ float XonoticScreenshotViewerDialog_keyDown(entity me, float key, float ascii, f
 void XonoticScreenshotViewerDialog_close(entity me)
 {
        // resume music
-       if(!cvar("menu_screenshotviewer_enablemusic"))
-       if(cvar("music_playlist_index") == 999)
-       {
-               cvar_set("music_playlist_index", ftos(music_playlist_index_backup));
+       if (!cvar("menu_screenshotviewer_enablemusic")) {
+               if (cvar("music_playlist_index") == 999) {
+                       cvar_set("music_playlist_index", ftos(music_playlist_index_backup));
+               } else {
+                       localcmd("\ncd resume\n");
+               }
        }
-       else
-               localcmd("\ncd resume\n");
 
        me.scrList.stopSlideShow(me.scrList);
        me.slideShowButton.forcePressed = 0;
@@ -125,32 +117,32 @@ void XonoticScreenshotViewerDialog_fill(entity me)
 {
        entity e;
        me.TR(me);
-               me.TD(me, me.rows - 1, me.columns, e = makeXonoticScreenshotImage());
-                       e.showTitle = 0; // dialog title is enough
-                       me.screenshotImage = e;
+       me.TD(me, me.rows - 1, me.columns, e = makeXonoticScreenshotImage());
+       e.showTitle = 0; // dialog title is enough
+       me.screenshotImage = e;
        me.gotoRC(me, me.rows - 1, 0);
-               me.TDempty(me, 1/20 * me.columns);
-               me.TD(me, 1, 1/20 * me.columns, e = makeXonoticButton("-", '0 0 0'));
-                       e.onClick = decreaseZoom_Click;
-                       e.onClickEntity = me;
-               me.TD(me, 1, 1/20 * me.columns, e = makeXonoticButton("+", '0 0 0'));
-                       e.onClick = increaseZoom_Click;
-                       e.onClickEntity = me;
-               me.TD(me, 1, 2/20 * me.columns, e = makeXonoticButton(_("Reset"), '0 0 0'));
-                       e.onClick = resetZoom_Click;
-                       e.onClickEntity = me;
+       me.TDempty(me, 1 / 20 * me.columns);
+       me.TD(me, 1, 1 / 20 * me.columns, e = makeXonoticButton("-", '0 0 0'));
+       e.onClick = decreaseZoom_Click;
+       e.onClickEntity = me;
+       me.TD(me, 1, 1 / 20 * me.columns, e = makeXonoticButton("+", '0 0 0'));
+       e.onClick = increaseZoom_Click;
+       e.onClickEntity = me;
+       me.TD(me, 1, 2 / 20 * me.columns, e = makeXonoticButton(_("Reset"), '0 0 0'));
+       e.onClick = resetZoom_Click;
+       e.onClickEntity = me;
 
-               me.TDempty(me, 2/20 * me.columns);
-               me.TD(me, 1, 3/20 * me.columns, e = makeXonoticButton(_("Previous"), '0 0 0'));
-                       e.onClick = prevScreenshot_Click;
-                       e.onClickEntity = me;
-               me.TD(me, 1, 3/20 * me.columns, e = makeXonoticButton(_("Next"), '0 0 0'));
-                       e.onClick = nextScreenshot_Click;
-                       e.onClickEntity = me;
+       me.TDempty(me, 2 / 20 * me.columns);
+       me.TD(me, 1, 3 / 20 * me.columns, e = makeXonoticButton(_("Previous"), '0 0 0'));
+       e.onClick = prevScreenshot_Click;
+       e.onClickEntity = me;
+       me.TD(me, 1, 3 / 20 * me.columns, e = makeXonoticButton(_("Next"), '0 0 0'));
+       e.onClick = nextScreenshot_Click;
+       e.onClickEntity = me;
 
-               me.TDempty(me, 2/20 * me.columns);
-               me.TD(me, 1, 4/20 * me.columns, e = makeXonoticButton(_("Slide show"), '0 0 0'));
-                       e.onClick = toggleSlideShow_Click;
-                       e.onClickEntity = me;
-                       me.slideShowButton = e;
+       me.TDempty(me, 2 / 20 * me.columns);
+       me.TD(me, 1, 4 / 20 * me.columns, e = makeXonoticButton(_("Slide show"), '0 0 0'));
+       e.onClick = toggleSlideShow_Click;
+       e.onClickEntity = me;
+       me.slideShowButton = e;
 }
index 68154221878670c8c7bcdd642bf5a6c0f07d24fa..d14a35bfd30440d07b787a9d2f7a4d73eee9d81d 100644 (file)
@@ -21,10 +21,11 @@ entity makeXonoticProfileTab()
 }
 void XonoticProfileTab_draw(entity me)
 {
-       if(cvar_string("_cl_name") == "Player")
+       if (cvar_string("_cl_name") == "Player") {
                me.playerNameLabel.alpha = ((mod(time * 2, 2) < 1) ? 1 : 0);
-       else
+       } else {
                me.playerNameLabel.alpha = me.playerNameLabelAlpha;
+       }
        SUPER(XonoticProfileTab).draw(me);
 }
 void XonoticProfileTab_fill(entity me)
@@ -37,143 +38,148 @@ void XonoticProfileTab_fill(entity me)
                "playermodel $_cl_playermodel;"
                "playerskin $_cl_playerskin;"
                "sendcvar cl_allow_uidtracking;"
-               "sendcvar cl_allow_uid2name;"
-               COMMANDBUTTON_APPLY);
+               "sendcvar cl_allow_uid2name;",
+               COMMANDBUTTON_APPLY);
        profileApplyButton.disableOnClick = true;
 
        // ==============
        //  NAME SECTION
        // ==============
        me.gotoRC(me, 0.5, 0);
-               me.TD(me, 1, 3, me.playerNameLabel = makeXonoticHeaderLabel(_("Name")));
+       me.TD(me, 1, 3, me.playerNameLabel = makeXonoticHeaderLabel(_("Name")));
 
        me.gotoRC(me, 1.5, 0);
-               me.TD(me, 1, 3, label = makeXonoticTextLabel(0.5, string_null));
-                       label.allowCut = 1;
-                       label.allowColors = 1;
-                       label.alpha = 1;
-                       label.isBold = true;
-                       label.fontSize = SKINFONTSIZE_TITLE;
+       me.TD(me, 1, 3, label = makeXonoticTextLabel(0.5, string_null));
+       label.allowCut = 1;
+       label.allowColors = 1;
+       label.alpha = 1;
+       label.isBold = true;
+       label.fontSize = SKINFONTSIZE_TITLE;
 
        me.gotoRC(me, 2.5, 0);
-               me.TD(me, 1, 3.0, box = makeXonoticInputBox_T(1, "_cl_name",
+       me.TD(me, 1, 3.0, box = makeXonoticInputBox_T(1, "_cl_name",
                        _("Name under which you will appear in the game")));
-                       box.forbiddenCharacters = "\r\n\\\"$"; // don't care, isn't getting saved
-                       box.maxLength = -127; // negative means encoded length in bytes
-                       box.saveImmediately = 0;  // Sorry, can't do this, it spams "name" commands.
-                       box.enableClearButton = 0;
-                       box.applyButton = profileApplyButton;
-                       label.textEntity = box;
+       box.forbiddenCharacters = "\r\n\\\"$"; // don't care, isn't getting saved
+       box.maxLength = -127;                  // negative means encoded length in bytes
+       box.saveImmediately = 0;               // Sorry, can't do this, it spams "name" commands.
+       box.enableClearButton = 0;
+       box.applyButton = profileApplyButton;
+       label.textEntity = box;
        me.TR(me);
-               me.TD(me, 5, 1, e = makeXonoticColorpicker(box));
-               me.TD(me, 5, 2, e = makeXonoticCharmap(box));
+       me.TD(me, 5, 1, e = makeXonoticColorpicker(box));
+       me.TD(me, 5, 2, e = makeXonoticCharmap(box));
 
        // ===============
        //  MODEL SECTION
        // ===============
-       //me.gotoRC(me, 0.5, 3.1); me.setFirstColumn(me, me.currentColumn); // TOP RIGHT
-       //me.gotoRC(me, 9, 3.1); me.setFirstColumn(me, me.currentColumn); // BOTTOM RIGHT
-       me.gotoRC(me, 9, 0); me.setFirstColumn(me, me.currentColumn); // BOTTOM LEFT
-               me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Model")));
+       // me.gotoRC(me, 0.5, 3.1); me.setFirstColumn(me, me.currentColumn); // TOP RIGHT
+       // me.gotoRC(me, 9, 3.1); me.setFirstColumn(me, me.currentColumn); // BOTTOM RIGHT
+       me.gotoRC(me, 9, 0);
+       me.setFirstColumn(me, me.currentColumn); // BOTTOM LEFT
+       me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Model")));
 
        me.TR(me);
-               //me.TDempty(me, 0); // MODEL LEFT, COLOR RIGHT
-               me.TDempty(me, 1); // MODEL RIGHT, COLOR LEFT
-               pms = makeXonoticPlayerModelSelector();
-               me.TD(me, 1, 0.3, e = makeXonoticButton("<<", '0 0 0'));
-                       e.onClick = PlayerModelSelector_Prev_Click;
-                       e.onClickEntity = pms;
-                       e.applyButton = profileApplyButton;
-               me.TD(me, 11.5, 1.4, pms);
-               me.TD(me, 1, 0.3, e = makeXonoticButton(">>", '0 0 0'));
-                       e.onClick = PlayerModelSelector_Next_Click;
-                       e.onClickEntity = pms;
-                       e.applyButton = profileApplyButton;
+       // me.TDempty(me, 0); // MODEL LEFT, COLOR RIGHT
+       me.TDempty(me, 1); // MODEL RIGHT, COLOR LEFT
+       pms = makeXonoticPlayerModelSelector();
+       me.TD(me, 1, 0.3, e = makeXonoticButton("<<", '0 0 0'));
+       e.onClick = PlayerModelSelector_Prev_Click;
+       e.onClickEntity = pms;
+       e.applyButton = profileApplyButton;
+       me.TD(me, 11.5, 1.4, pms);
+       me.TD(me, 1, 0.3, e = makeXonoticButton(">>", '0 0 0'));
+       e.onClick = PlayerModelSelector_Next_Click;
+       e.onClickEntity = pms;
+       e.applyButton = profileApplyButton;
 
-       //me.setFirstColumn(me, me.currentColumn + 2); // MODEL LEFT, COLOR RIGHT
-       me.gotoRC(me, me.currentRow, 0); me.setFirstColumn(me, me.currentColumn); // MODEL RIGHT, COLOR LEFT
+       // me.setFirstColumn(me, me.currentColumn + 2); // MODEL LEFT, COLOR RIGHT
+       me.gotoRC(me, me.currentRow, 0);
+       me.setFirstColumn(me, me.currentColumn); // MODEL RIGHT, COLOR LEFT
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticHeaderLabel(_("Glowing color")));
-               for(i = 0; i < 15; ++i)
-               {
-                       if(mod(i, 5) == 0)
-                               me.TR(me);
-                       me.TDNoMargin(me, 1, 0.2, e = makeXonoticColorButton(1, 0, i), '0 1 0');
-                               e.applyButton = profileApplyButton;
+       me.TD(me, 1, 1, e = makeXonoticHeaderLabel(_("Glowing color")));
+       for (i = 0; i < 15; ++i) {
+               if (mod(i, 5) == 0) {
+                       me.TR(me);
                }
+               me.TDNoMargin(me, 1, 0.2, e = makeXonoticColorButton(1, 0, i), '0 1 0');
+               e.applyButton = profileApplyButton;
+       }
        me.TR(me);
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticHeaderLabel(_("Detail color")));
-               for(i = 0; i < 15; ++i)
-               {
-                       if(mod(i, 5) == 0)
-                               me.TR(me);
-                       me.TDNoMargin(me, 1, 0.2, e = makeXonoticColorButton(2, 1, i), '0 1 0');
-                               e.applyButton = profileApplyButton;
+       me.TD(me, 1, 1, e = makeXonoticHeaderLabel(_("Detail color")));
+       for (i = 0; i < 15; ++i) {
+               if (mod(i, 5) == 0) {
+                       me.TR(me);
                }
+               me.TDNoMargin(me, 1, 0.2, e = makeXonoticColorButton(2, 1, i), '0 1 0');
+               e.applyButton = profileApplyButton;
+       }
 
        // ====================
        //  STATISTICS SECTION
        // ====================
-       me.gotoRC(me, 0.5, 3.1); me.setFirstColumn(me, me.currentColumn); // TOP RIGHT
-       //me.gotoRC(me, 9, 3.1); me.setFirstColumn(me, me.currentColumn); // BOTTOM RIGHT
-       //me.gotoRC(me, 9, 0); me.setFirstColumn(me, me.currentColumn); // BOTTOM LEFT
-               me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Statistics")));
+       me.gotoRC(me, 0.5, 3.1);
+       me.setFirstColumn(me, me.currentColumn); // TOP RIGHT
+       // me.gotoRC(me, 9, 3.1); me.setFirstColumn(me, me.currentColumn); // BOTTOM RIGHT
+       // me.gotoRC(me, 9, 0); me.setFirstColumn(me, me.currentColumn); // BOTTOM LEFT
+       me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Statistics")));
 
        me.TR(me);
-               me.TDempty(me, 0.25);
-               me.TD(me, 1, 2.5, e = makeXonoticCheckBox(0, "cl_allow_uidtracking", _("Allow player statistics to track your client")));
-                       e.applyButton = profileApplyButton;
+       me.TDempty(me, 0.25);
+       me.TD(me, 1, 2.5, e = makeXonoticCheckBox(0, "cl_allow_uidtracking", _("Allow player statistics to track your client")));
+       e.applyButton = profileApplyButton;
        me.TR(me);
-               me.TDempty(me, 0.25);
-               me.TD(me, 1, 2.5, e = makeXonoticCheckBox(0, "cl_allow_uid2name", _("Allow player statistics to use your nickname")));
-                       e.applyButton = profileApplyButton;
-                       setDependent(e, "cl_allow_uidtracking", 1, 1);
+       me.TDempty(me, 0.25);
+       me.TD(me, 1, 2.5, e = makeXonoticCheckBox(0, "cl_allow_uid2name", _("Allow player statistics to use your nickname")));
+       e.applyButton = profileApplyButton;
+       setDependent(e, "cl_allow_uidtracking", 1, 1);
        me.gotoRC(me, 4, 3.1); // TOP RIGHT
-       //me.gotoRC(me, 12.5, 3.1); // BOTTOM RIGHT
-       //me.gotoRC(me, 12.5, 0); // BOTTOM LEFT
-               me.TDempty(me, 0.25);
-               me.TD(me, 9, 2.5, statslist = makeXonoticStatsList());
-               //setDependent(statslist, "cl_allow_uidtracking", 1, 1);
+       // me.gotoRC(me, 12.5, 3.1); // BOTTOM RIGHT
+       // me.gotoRC(me, 12.5, 0); // BOTTOM LEFT
+       me.TDempty(me, 0.25);
+       me.TD(me, 9, 2.5, statslist = makeXonoticStatsList());
+       // setDependent(statslist, "cl_allow_uidtracking", 1, 1);
 
        // =================
        //  COUNTRY SECTION
        // =================
-       me.gotoRC(me, 16, 3.1); me.setFirstColumn(me, me.currentColumn); // BOTTOM SECTION, TOP POS
-       //me.gotoRC(me, 13.5, 3.1); me.setFirstColumn(me, me.currentColumn); // BOTTOM SECTION, TOP POS
-       //me.gotoRC(me, 0.5, 3.1); me.setFirstColumn(me, me.currentColumn); // TOP SECTION, TOP POS
-               me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Country")));
+       me.gotoRC(me, 16, 3.1);
+       me.setFirstColumn(me, me.currentColumn); // BOTTOM SECTION, TOP POS
+       // me.gotoRC(me, 13.5, 3.1); me.setFirstColumn(me, me.currentColumn); // BOTTOM SECTION, TOP POS
+       // me.gotoRC(me, 0.5, 3.1); me.setFirstColumn(me, me.currentColumn); // TOP SECTION, TOP POS
+       me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Country")));
 
        me.TR(me);
-               me.TDempty(me, 0.5);
-               me.TD(me, 4.5, 2, e = makeXonoticLanguageList()); // todo: cl_country: create proper country list
+       me.TDempty(me, 0.5);
+       me.TD(me, 4.5, 2, e = makeXonoticLanguageList()); // todo: cl_country: create proper country list
 
 
        // ================
        //  GENDER SECTION
        // ================
-       me.gotoRC(me, 13.5, 3.1); me.setFirstColumn(me, me.currentColumn); // BOTTOM SECTION, TOP POS
-       //me.gotoRC(me, 19.5, 3.1); me.setFirstColumn(me, me.currentColumn); // BOTTOM SECTION, BOTTOM POS
-       //me.gotoRC(me, 6.5, 3.1); me.setFirstColumn(me, me.currentColumn); // TOP SECTION, BOTTOM POS
-       #if 0
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Gender:")));
-               me.TD(me, 1, 2, e = makeXonoticTextSlider("_cl_gender"));
-                       e.addValue(e, _("Undisclosed"), "0");
-                       e.addValue(e, _("Female"), "1");
-                       e.addValue(e, _("Male"), "2");
-                       e.configureXonoticTextSliderValues(e);
-       #else
-                       me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Gender")));
-               me.TR(me);
-                       #define GENDERWIDTH_OFFSET 0.25
-                       #define GENDERWIDTH_LENGTH 2.5
-                       #define GENDERWIDTH_ITEM (GENDERWIDTH_LENGTH / 3)
-                       me.TDempty(me, GENDERWIDTH_OFFSET);
-                       me.TD(me, 1, GENDERWIDTH_ITEM, e = makeXonoticRadioButton(3, "_cl_gender", "2", _("Female")));
-                       me.TD(me, 1, GENDERWIDTH_ITEM, e = makeXonoticRadioButton(3, "_cl_gender", "1", _("Male")));
-                       me.TD(me, 1, GENDERWIDTH_ITEM, e = makeXonoticRadioButton(3, "_cl_gender", "0", _("Undisclosed")));
-       #endif
+       me.gotoRC(me, 13.5, 3.1);
+       me.setFirstColumn(me, me.currentColumn); // BOTTOM SECTION, TOP POS
+       // me.gotoRC(me, 19.5, 3.1); me.setFirstColumn(me, me.currentColumn); // BOTTOM SECTION, BOTTOM POS
+       // me.gotoRC(me, 6.5, 3.1); me.setFirstColumn(me, me.currentColumn); // TOP SECTION, BOTTOM POS
+#if 0
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Gender:")));
+       me.TD(me, 1, 2, e = makeXonoticTextSlider("_cl_gender"));
+       e.addValue(e, _("Undisclosed"), "0");
+       e.addValue(e, _("Female"), "1");
+       e.addValue(e, _("Male"), "2");
+       e.configureXonoticTextSliderValues(e);
+#else
+       me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Gender")));
+       me.TR(me);
+#define GENDERWIDTH_OFFSET 0.25
+#define GENDERWIDTH_LENGTH 2.5
+#define GENDERWIDTH_ITEM (GENDERWIDTH_LENGTH / 3)
+       me.TDempty(me, GENDERWIDTH_OFFSET);
+       me.TD(me, 1, GENDERWIDTH_ITEM, e = makeXonoticRadioButton(3, "_cl_gender", "2", _("Female")));
+       me.TD(me, 1, GENDERWIDTH_ITEM, e = makeXonoticRadioButton(3, "_cl_gender", "1", _("Male")));
+       me.TD(me, 1, GENDERWIDTH_ITEM, e = makeXonoticRadioButton(3, "_cl_gender", "0", _("Undisclosed")));
+#endif
 
        me.gotoRC(me, me.rows - 1, 0);
-               me.TD(me, 1, me.columns, profileApplyButton);
+       me.TD(me, 1, me.columns, profileApplyButton);
 }
index 2285efcafa370cb6a2da6e8a0cc6c895176b96b6..c693c62cd21ed5175f10d584d72cc810741a2b2e 100644 (file)
@@ -6,7 +6,7 @@ CLASS(XonoticProfileTab, XonoticTab)
        METHOD(XonoticProfileTab, draw, void(entity));
        ATTRIB(XonoticProfileTab, intendedWidth, float, 0.9);
        ATTRIB(XonoticProfileTab, rows, float, 23);
-       ATTRIB(XonoticProfileTab, columns, float, 6.1);  // added extra .2 for center space
+       ATTRIB(XonoticProfileTab, columns, float, 6.1); // added extra .2 for center space
        ATTRIB(XonoticProfileTab, playerNameLabel, entity);
        ATTRIB(XonoticProfileTab, playerNameLabelAlpha, float, SKINALPHA_HEADER);
 ENDCLASS(XonoticProfileTab)
index e68b967a0f69a06b888beb214920dbcfd6373eac..1616f2e4f34879bfffd8486f521a76799ece0206 100644 (file)
@@ -8,13 +8,13 @@ void XonoticQuitDialog_fill(entity me)
 {
        entity e;
        me.TR(me);
-               me.TD(me, 1, 2, makeXonoticTextLabel(0.5, _("Are you sure you want to quit?")));
+       me.TD(me, 1, 2, makeXonoticTextLabel(0.5, _("Are you sure you want to quit?")));
        me.TR(me);
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticCommandButton_T(_("Yes"), '1 0 0', "echo ]quit\nquit", 0,
+       me.TD(me, 1, 1, e = makeXonoticCommandButton_T(_("Yes"), '1 0 0', "echo ]quit\nquit", 0,
                        _("Back to work...")));
-               me.TD(me, 1, 1, e = makeXonoticButton_T(_("No"), '0 1 0',
+       me.TD(me, 1, 1, e = makeXonoticButton_T(_("No"), '0 1 0',
                        _("I got some more fragging to do!")));
-                       e.onClick = Dialog_Close;
-                       e.onClickEntity = me;
+       e.onClick = Dialog_Close;
+       e.onClickEntity = me;
 }
index bfd26b5fe169b274fb89c9598708148117a6f35f..0aee5d72a6a936cb7ebc4777200141888d302b82 100644 (file)
@@ -12,77 +12,77 @@ void XonoticSandboxToolsDialog_fill(entity me)
        entity e, box;
 
        me.TR(me);
-               me.TD(me, 1, 0.25, e = makeXonoticTextLabel(0, _("Model:")));
-               me.TD(me, 1, 1.5, box = makeXonoticInputBox(1, "menu_sandbox_spawn_model"));
-                       box.forbiddenCharacters = "\r\n\\\"$"; // don't care, isn't getting saved
-                       box.maxLength = -127; // negative means encoded length in bytes
-                       box.saveImmediately = 1;
-               me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Spawn"), '0 0 0', "sandbox object_spawn \"$menu_sandbox_spawn_model\"", 0));
-               me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Remove *"), '0 0 0', "sandbox object_remove", 0));
+       me.TD(me, 1, 0.25, e = makeXonoticTextLabel(0, _("Model:")));
+       me.TD(me, 1, 1.5, box = makeXonoticInputBox(1, "menu_sandbox_spawn_model"));
+       box.forbiddenCharacters = "\r\n\\\"$"; // don't care, isn't getting saved
+       box.maxLength = -127;                  // negative means encoded length in bytes
+       box.saveImmediately = 1;
+       me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Spawn"), '0 0 0', "sandbox object_spawn \"$menu_sandbox_spawn_model\"", 0));
+       me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Remove *"), '0 0 0', "sandbox object_remove", 0));
        me.TDempty(me, 0.1);
-               me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Copy *"), '0 0 0', "sandbox object_duplicate copy cl_sandbox_clipboard", 0));
-               me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Paste"), '0 0 0', "sandbox object_duplicate paste \"$cl_sandbox_clipboard\"", 0));
+       me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Copy *"), '0 0 0', "sandbox object_duplicate copy cl_sandbox_clipboard", 0));
+       me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Paste"), '0 0 0', "sandbox object_duplicate paste \"$cl_sandbox_clipboard\"", 0));
        me.TR(me);
-               me.TD(me, 1, 0.25, e = makeXonoticTextLabel(0, _("Bone:")));
-               me.TD(me, 1, 1.5, box = makeXonoticInputBox(1, "menu_sandbox_attach_bone"));
-                       box.forbiddenCharacters = "\r\n\\\"$"; // don't care, isn't getting saved
-                       box.maxLength = -127; // negative means encoded length in bytes
-                       box.saveImmediately = 1;
-               me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Set * as child"), '0 0 0', "sandbox object_attach get", 0));
-               me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Attach to *"), '0 0 0', "sandbox object_attach set \"$menu_sandbox_attach_bone\"", 0));
+       me.TD(me, 1, 0.25, e = makeXonoticTextLabel(0, _("Bone:")));
+       me.TD(me, 1, 1.5, box = makeXonoticInputBox(1, "menu_sandbox_attach_bone"));
+       box.forbiddenCharacters = "\r\n\\\"$"; // don't care, isn't getting saved
+       box.maxLength = -127;                  // negative means encoded length in bytes
+       box.saveImmediately = 1;
+       me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Set * as child"), '0 0 0', "sandbox object_attach get", 0));
+       me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Attach to *"), '0 0 0', "sandbox object_attach set \"$menu_sandbox_attach_bone\"", 0));
        me.TDempty(me, 0.1);
-               me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Detach from *"), '0 0 0', "sandbox object_attach remove", 0));
+       me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Detach from *"), '0 0 0', "sandbox object_attach remove", 0));
        me.TR(me);
        me.TR(me);
        me.TD(me, 1, 1.5, e = makeXonoticTextLabel(0, _("Visual object properties for *:")));
        me.TR(me);
-               me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Set skin:"), '0 0 0', "sandbox object_edit skin $menu_sandbox_edit_skin", 0));
-               me.TD(me, 1, 1.5, e = makeXonoticSlider(0, 99, 1, "menu_sandbox_edit_skin"));
-               me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Set alpha:"), '0 0 0', "sandbox object_edit alpha $menu_sandbox_edit_alpha", 0));
-               me.TD(me, 1, 1.5, e = makeXonoticSlider(0.1, 1, 0.05, "menu_sandbox_edit_alpha"));
+       me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Set skin:"), '0 0 0', "sandbox object_edit skin $menu_sandbox_edit_skin", 0));
+       me.TD(me, 1, 1.5, e = makeXonoticSlider(0, 99, 1, "menu_sandbox_edit_skin"));
+       me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Set alpha:"), '0 0 0', "sandbox object_edit alpha $menu_sandbox_edit_alpha", 0));
+       me.TD(me, 1, 1.5, e = makeXonoticSlider(0.1, 1, 0.05, "menu_sandbox_edit_alpha"));
        me.TR(me);
-               me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Set color main:"), '0 0 0', "sandbox object_edit color_main \"$menu_sandbox_edit_color_main\"", 0));
-               me.TD(me, 2, 1.5, e = makeXonoticColorpickerString("menu_sandbox_edit_color_main", "menu_sandbox_edit_color_main"));
-               me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Set color glow:"), '0 0 0', "sandbox object_edit color_glow \"$menu_sandbox_edit_color_glow\"", 0));
-               me.TD(me, 2, 1.5, e = makeXonoticColorpickerString("menu_sandbox_edit_color_glow", "menu_sandbox_edit_color_glow"));
+       me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Set color main:"), '0 0 0', "sandbox object_edit color_main \"$menu_sandbox_edit_color_main\"", 0));
+       me.TD(me, 2, 1.5, e = makeXonoticColorpickerString("menu_sandbox_edit_color_main", "menu_sandbox_edit_color_main"));
+       me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Set color glow:"), '0 0 0', "sandbox object_edit color_glow \"$menu_sandbox_edit_color_glow\"", 0));
+       me.TD(me, 2, 1.5, e = makeXonoticColorpickerString("menu_sandbox_edit_color_glow", "menu_sandbox_edit_color_glow"));
        me.TR(me);
        me.TR(me);
-               me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Set frame:"), '0 0 0', "sandbox object_edit frame $menu_sandbox_edit_frame", 0));
-               me.TD(me, 1, 1.5, e = makeXonoticSlider(0, 99, 1, "menu_sandbox_edit_frame"));
+       me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Set frame:"), '0 0 0', "sandbox object_edit frame $menu_sandbox_edit_frame", 0));
+       me.TD(me, 1, 1.5, e = makeXonoticSlider(0, 99, 1, "menu_sandbox_edit_frame"));
        me.TR(me);
        me.TR(me);
        me.TD(me, 1, 1.5, e = makeXonoticTextLabel(0, _("Physical object properties for *:")));
        me.TR(me);
-               me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Set material:"), '0 0 0', "sandbox object_edit material \"$menu_sandbox_edit_material\"", 0));
-               me.TD(me, 1, 1.5, box = makeXonoticInputBox(1, "menu_sandbox_edit_material"));
-                       box.forbiddenCharacters = "\r\n\\\"$"; // don't care, isn't getting saved
-                       box.maxLength = -127; // negative means encoded length in bytes
-                       box.saveImmediately = 1;
+       me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Set material:"), '0 0 0', "sandbox object_edit material \"$menu_sandbox_edit_material\"", 0));
+       me.TD(me, 1, 1.5, box = makeXonoticInputBox(1, "menu_sandbox_edit_material"));
+       box.forbiddenCharacters = "\r\n\\\"$"; // don't care, isn't getting saved
+       box.maxLength = -127;                  // negative means encoded length in bytes
+       box.saveImmediately = 1;
        me.TR(me);
-               me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Set solidity:"), '0 0 0', "sandbox object_edit solidity $menu_sandbox_edit_solidity", 0));
-               me.TD(me, 1, 0.75, e = makeXonoticRadioButton(1, "menu_sandbox_edit_solidity", "0", _("Non-solid")));
-               me.TD(me, 1, 0.75, e = makeXonoticRadioButton(1, "menu_sandbox_edit_solidity", "1", _("Solid")));
-               me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Set physics:"), '0 0 0', "sandbox object_edit physics $menu_sandbox_edit_physics", 0));
-               me.TD(me, 1, 0.5, e = makeXonoticRadioButton(2, "menu_sandbox_edit_physics", "0", _("Static")));
-               me.TD(me, 1, 0.5, e = makeXonoticRadioButton(2, "menu_sandbox_edit_physics", "1", _("Movable")));
-               me.TD(me, 1, 0.5, e = makeXonoticRadioButton(2, "menu_sandbox_edit_physics", "2", _("Physical")));
+       me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Set solidity:"), '0 0 0', "sandbox object_edit solidity $menu_sandbox_edit_solidity", 0));
+       me.TD(me, 1, 0.75, e = makeXonoticRadioButton(1, "menu_sandbox_edit_solidity", "0", _("Non-solid")));
+       me.TD(me, 1, 0.75, e = makeXonoticRadioButton(1, "menu_sandbox_edit_solidity", "1", _("Solid")));
+       me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Set physics:"), '0 0 0', "sandbox object_edit physics $menu_sandbox_edit_physics", 0));
+       me.TD(me, 1, 0.5, e = makeXonoticRadioButton(2, "menu_sandbox_edit_physics", "0", _("Static")));
+       me.TD(me, 1, 0.5, e = makeXonoticRadioButton(2, "menu_sandbox_edit_physics", "1", _("Movable")));
+       me.TD(me, 1, 0.5, e = makeXonoticRadioButton(2, "menu_sandbox_edit_physics", "2", _("Physical")));
        me.TR(me);
-               me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Set scale:"), '0 0 0', "sandbox object_edit scale $menu_sandbox_edit_scale", 0));
-               me.TD(me, 1, 1.5, e = makeXonoticSlider(0.25, 2, 0.05, "menu_sandbox_edit_scale"));
-               me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Set force:"), '0 0 0', "sandbox object_edit force $menu_sandbox_edit_force", 0));
-               me.TD(me, 1, 1.5, e = makeXonoticSlider(0, 10, 0.5, "menu_sandbox_edit_force"));
+       me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Set scale:"), '0 0 0', "sandbox object_edit scale $menu_sandbox_edit_scale", 0));
+       me.TD(me, 1, 1.5, e = makeXonoticSlider(0.25, 2, 0.05, "menu_sandbox_edit_scale"));
+       me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Set force:"), '0 0 0', "sandbox object_edit force $menu_sandbox_edit_force", 0));
+       me.TD(me, 1, 1.5, e = makeXonoticSlider(0, 10, 0.5, "menu_sandbox_edit_force"));
        me.TR(me);
        me.TR(me);
-               me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Claim *"), '0 0 0', "sandbox object_claim", 0));
-               me.TDempty(me, 0.5);
-               me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("* object info"), '1 1 0.5', "sandbox object_info object; toggleconsole", 0));
-               me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("* mesh info"), '1 1 0.5', "sandbox object_info mesh; toggleconsole", 0));
-               me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("* attachment info"), '1 1 0.5', "sandbox object_info attachments; toggleconsole", 0));
-               me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Show help"), '1 0.5 0.5', "sandbox help; toggleconsole", 0));
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("* is the object you are facing")));
+       me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Claim *"), '0 0 0', "sandbox object_claim", 0));
+       me.TDempty(me, 0.5);
+       me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("* object info"), '1 1 0.5', "sandbox object_info object; toggleconsole", 0));
+       me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("* mesh info"), '1 1 0.5', "sandbox object_info mesh; toggleconsole", 0));
+       me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("* attachment info"), '1 1 0.5', "sandbox object_info attachments; toggleconsole", 0));
+       me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Show help"), '1 0.5 0.5', "sandbox help; toggleconsole", 0));
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("* is the object you are facing")));
 
        me.gotoRC(me, me.rows - 1, 0);
-               me.TD(me, 1, me.columns, e = makeXonoticButton(_("OK"), '0 0 0'));
-                       e.onClick = Dialog_Close;
-                       e.onClickEntity = me;
+       me.TD(me, 1, me.columns, e = makeXonoticButton(_("OK"), '0 0 0'));
+       e.onClick = Dialog_Close;
+       e.onClickEntity = me;
 }
index bd6fd4c4f41295e6d7228e02c2972717b63b4ee6..bcf9732068c248b7cb6bfe38949e45859aea7cb9 100644 (file)
@@ -15,14 +15,14 @@ void XonoticSettingsDialog_fill(entity me)
        entity mc;
        mc = makeXonoticTabController(me.rows - 2.5);
        me.TR(me);
-               me.TD(me, 1, 2, mc.makeTabButton(mc, _("Video"),   makeXonoticVideoSettingsTab()));
-               me.TD(me, 1, 2, mc.makeTabButton(mc, _("Effects"), makeXonoticEffectsSettingsTab()));
-               me.TD(me, 1, 2, mc.makeTabButton(mc, _("Audio"),   makeXonoticAudioSettingsTab()));
+       me.TD(me, 1, 2, mc.makeTabButton(mc, _("Video"),   makeXonoticVideoSettingsTab()));
+       me.TD(me, 1, 2, mc.makeTabButton(mc, _("Effects"), makeXonoticEffectsSettingsTab()));
+       me.TD(me, 1, 2, mc.makeTabButton(mc, _("Audio"),   makeXonoticAudioSettingsTab()));
        me.TR(me);
-               me.TD(me, 1, 1.5, mc.makeTabButton(mc, _("Game"),    NEW(XonoticGameSettingsTab)));
-               me.TD(me, 1, 1.5, mc.makeTabButton(mc, _("Input"),   makeXonoticInputSettingsTab()));
-               me.TD(me, 1, 1.5, mc.makeTabButton(mc, _("User"),    makeXonoticUserSettingsTab()));
-               me.TD(me, 1, 1.5, mc.makeTabButton(mc, _("Misc"),    makeXonoticMiscSettingsTab()));
+       me.TD(me, 1, 1.5, mc.makeTabButton(mc, _("Game"),    NEW(XonoticGameSettingsTab)));
+       me.TD(me, 1, 1.5, mc.makeTabButton(mc, _("Input"),   makeXonoticInputSettingsTab()));
+       me.TD(me, 1, 1.5, mc.makeTabButton(mc, _("User"),    makeXonoticUserSettingsTab()));
+       me.TD(me, 1, 1.5, mc.makeTabButton(mc, _("Misc"),    makeXonoticMiscSettingsTab()));
        me.gotoRC(me, 2.5, 0);
-               me.TD(me, me.rows - 2.5, me.columns, mc);
+       me.TD(me, me.rows - 2.5, me.columns, mc);
 }
index 7af8c550032b3dec7e6368f19b6ada4cfe8099d7..de1d3eabc1121ce2d54cf7d647c12cda31421363 100644 (file)
@@ -20,161 +20,163 @@ void XonoticAudioSettingsTab_fill(entity me)
        entity e, e2, s;
        entity audioApplyButton = makeXonoticCommandButton(_("Apply immediately"), '0 0 0',
                "snd_restart;"
-               "snd_attenuation_method_${menu_snd_attenuation_method};"
-               COMMANDBUTTON_APPLY);
+               "snd_attenuation_method_${menu_snd_attenuation_method};",
+               COMMANDBUTTON_APPLY);
        audioApplyButton.disableOnClick = true;
 
        me.TR(me);
-               s = makeXonoticDecibelsSlider_T(-40, 0, 0.4, "mastervolume", "-");
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Master:")));
-               me.TD(me, 1, 2, s);
-       me.TR(me);
-               me.TDempty(me, 0.2);
-               s = makeXonoticDecibelsSlider_T(-40, 0, 0.4, "bgmvolume", "-");
-               makeMulti(s, "snd_channel8volume");
-               me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Music:")));
-               me.TD(me, 1, 2, s);
-               setDependentStringNotEqual(e, "mastervolume", "0");
-               setDependentStringNotEqual(s, "mastervolume", "0");
-       me.TR(me);
-               me.TDempty(me, 0.2);
-               s = makeXonoticDecibelsSlider_T(-40, 0, 0.4, "snd_staticvolume", "-");
-               makeMulti(s, "snd_channel9volume");
-               me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, ZCTX(_("VOL^Ambient:"))));
-               me.TD(me, 1, 2, s);
-               setDependentStringNotEqual(e, "mastervolume", "0");
-               setDependentStringNotEqual(s, "mastervolume", "0");
-       me.TR(me);
-               me.TDempty(me, 0.2);
-               s = makeXonoticDecibelsSlider_T(-40, 0, 0.4, "snd_channel0volume", "-");
-               me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Info:")));
-               me.TD(me, 1, 2, s);
-               setDependentStringNotEqual(e, "mastervolume", "0");
-               setDependentStringNotEqual(s, "mastervolume", "0");
-       me.TR(me);
-               me.TDempty(me, 0.2);
-               s = makeXonoticDecibelsSlider_T(-40, 0, 0.4, "snd_channel3volume", "-");
-               me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Items:")));
-               me.TD(me, 1, 2, s);
-               setDependentStringNotEqual(e, "mastervolume", "0");
-               setDependentStringNotEqual(s, "mastervolume", "0");
-       me.TR(me);
-               me.TDempty(me, 0.2);
-               s = makeXonoticDecibelsSlider_T(-40, 0, 0.4, "snd_channel6volume", "-");
-               me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Pain:")));
-               me.TD(me, 1, 2, s);
-               setDependentStringNotEqual(e, "mastervolume", "0");
-               setDependentStringNotEqual(s, "mastervolume", "0");
-       me.TR(me);
-               me.TDempty(me, 0.2);
-               s = makeXonoticDecibelsSlider_T(-40, 0, 0.4, "snd_channel7volume", "-");
-               me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Player:")));
-               me.TD(me, 1, 2, s);
-               setDependentStringNotEqual(e, "mastervolume", "0");
-               setDependentStringNotEqual(s, "mastervolume", "0");
-       me.TR(me);
-               me.TDempty(me, 0.2);
-               s = makeXonoticDecibelsSlider_T(-40, 0, 0.4, "snd_channel4volume", "-");
-               me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Shots:")));
-               me.TD(me, 1, 2, s);
-               setDependentStringNotEqual(e, "mastervolume", "0");
-               setDependentStringNotEqual(s, "mastervolume", "0");
-       me.TR(me);
-               me.TDempty(me, 0.2);
-               s = makeXonoticDecibelsSlider_T(-40, 0, 0.4, "snd_channel2volume", "-");
-               me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Voice:")));
-               me.TD(me, 1, 2, s);
-               setDependentStringNotEqual(e, "mastervolume", "0");
-               setDependentStringNotEqual(s, "mastervolume", "0");
-       me.TR(me);
-               me.TDempty(me, 0.2);
-               s = makeXonoticDecibelsSlider_T(-40, 0, 0.4, "snd_channel1volume", "-");
-               makeMulti(s, "snd_channel5volume"); // @!#%'n Tuba
-               me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Weapons:")));
-               me.TD(me, 1, 2, s);
-               setDependentStringNotEqual(e, "mastervolume", "0");
-               setDependentStringNotEqual(s, "mastervolume", "0");
-       me.TR(me);
-       me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "menu_snd_attenuation_method", _("New style sound attenuation")));
-                       e.applyButton = audioApplyButton;
-       me.TR(me);
-               me.TD(me, 1, 3, makeXonoticCheckBox(0, "snd_mutewhenidle", _("Mute sounds when not active")));
+       s = makeXonoticDecibelsSlider_T(-40, 0, 0.4, "mastervolume", "-");
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Master:")));
+       me.TD(me, 1, 2, s);
+       me.TR(me);
+       me.TDempty(me, 0.2);
+       s = makeXonoticDecibelsSlider_T(-40, 0, 0.4, "bgmvolume", "-");
+       makeMulti(s, "snd_channel8volume");
+       me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Music:")));
+       me.TD(me, 1, 2, s);
+       setDependentStringNotEqual(e, "mastervolume", "0");
+       setDependentStringNotEqual(s, "mastervolume", "0");
+       me.TR(me);
+       me.TDempty(me, 0.2);
+       s = makeXonoticDecibelsSlider_T(-40, 0, 0.4, "snd_staticvolume", "-");
+       makeMulti(s, "snd_channel9volume");
+       me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, ZCTX(_("VOL^Ambient:"))));
+       me.TD(me, 1, 2, s);
+       setDependentStringNotEqual(e, "mastervolume", "0");
+       setDependentStringNotEqual(s, "mastervolume", "0");
+       me.TR(me);
+       me.TDempty(me, 0.2);
+       s = makeXonoticDecibelsSlider_T(-40, 0, 0.4, "snd_channel0volume", "-");
+       me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Info:")));
+       me.TD(me, 1, 2, s);
+       setDependentStringNotEqual(e, "mastervolume", "0");
+       setDependentStringNotEqual(s, "mastervolume", "0");
+       me.TR(me);
+       me.TDempty(me, 0.2);
+       s = makeXonoticDecibelsSlider_T(-40, 0, 0.4, "snd_channel3volume", "-");
+       me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Items:")));
+       me.TD(me, 1, 2, s);
+       setDependentStringNotEqual(e, "mastervolume", "0");
+       setDependentStringNotEqual(s, "mastervolume", "0");
+       me.TR(me);
+       me.TDempty(me, 0.2);
+       s = makeXonoticDecibelsSlider_T(-40, 0, 0.4, "snd_channel6volume", "-");
+       me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Pain:")));
+       me.TD(me, 1, 2, s);
+       setDependentStringNotEqual(e, "mastervolume", "0");
+       setDependentStringNotEqual(s, "mastervolume", "0");
+       me.TR(me);
+       me.TDempty(me, 0.2);
+       s = makeXonoticDecibelsSlider_T(-40, 0, 0.4, "snd_channel7volume", "-");
+       me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Player:")));
+       me.TD(me, 1, 2, s);
+       setDependentStringNotEqual(e, "mastervolume", "0");
+       setDependentStringNotEqual(s, "mastervolume", "0");
+       me.TR(me);
+       me.TDempty(me, 0.2);
+       s = makeXonoticDecibelsSlider_T(-40, 0, 0.4, "snd_channel4volume", "-");
+       me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Shots:")));
+       me.TD(me, 1, 2, s);
+       setDependentStringNotEqual(e, "mastervolume", "0");
+       setDependentStringNotEqual(s, "mastervolume", "0");
+       me.TR(me);
+       me.TDempty(me, 0.2);
+       s = makeXonoticDecibelsSlider_T(-40, 0, 0.4, "snd_channel2volume", "-");
+       me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Voice:")));
+       me.TD(me, 1, 2, s);
+       setDependentStringNotEqual(e, "mastervolume", "0");
+       setDependentStringNotEqual(s, "mastervolume", "0");
+       me.TR(me);
+       me.TDempty(me, 0.2);
+       s = makeXonoticDecibelsSlider_T(-40, 0, 0.4, "snd_channel1volume", "-");
+       makeMulti(s, "snd_channel5volume"); // @!#%'n Tuba
+       me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Weapons:")));
+       me.TD(me, 1, 2, s);
+       setDependentStringNotEqual(e, "mastervolume", "0");
+       setDependentStringNotEqual(s, "mastervolume", "0");
+       me.TR(me);
+       me.TR(me);
+       me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "menu_snd_attenuation_method", _("New style sound attenuation")));
+       e.applyButton = audioApplyButton;
+       me.TR(me);
+       me.TD(me, 1, 3, makeXonoticCheckBox(0, "snd_mutewhenidle", _("Mute sounds when not active")));
 
-       me.gotoRC(me, 0, 3.2); me.setFirstColumn(me, me.currentColumn);
-               me.TD(me, 1, 1, makeXonoticTextLabel(0, _("Frequency:")));
-               me.TD(me, 1, 2, e = makeXonoticTextSlider_T("snd_speed",
+       me.gotoRC(me, 0, 3.2);
+       me.setFirstColumn(me, me.currentColumn);
+       me.TD(me, 1, 1, makeXonoticTextLabel(0, _("Frequency:")));
+       me.TD(me, 1, 2, e = makeXonoticTextSlider_T("snd_speed",
                        _("Sound output frequency")));
-                       e.addValue(e, _("8 kHz"), "8000");
-                       e.addValue(e, _("11.025 kHz"), "11025");
-                       e.addValue(e, _("16 kHz"), "16000");
-                       e.addValue(e, _("22.05 kHz"), "22050");
-                       e.addValue(e, _("24 kHz"), "24000");
-                       e.addValue(e, _("32 kHz"), "32000");
-                       e.addValue(e, _("44.1 kHz"), "44100");
-                       e.addValue(e, _("48 kHz"), "48000");
-                       e.configureXonoticTextSliderValues(e);
-                       e.applyButton = audioApplyButton;
-       me.TR(me);
-               me.TD(me, 1, 1, makeXonoticTextLabel(0, _("Channels:")));
-               me.TD(me, 1, 2, e = makeXonoticTextSlider_T("snd_channels",
+       e.addValue(e, _("8 kHz"), "8000");
+       e.addValue(e, _("11.025 kHz"), "11025");
+       e.addValue(e, _("16 kHz"), "16000");
+       e.addValue(e, _("22.05 kHz"), "22050");
+       e.addValue(e, _("24 kHz"), "24000");
+       e.addValue(e, _("32 kHz"), "32000");
+       e.addValue(e, _("44.1 kHz"), "44100");
+       e.addValue(e, _("48 kHz"), "48000");
+       e.configureXonoticTextSliderValues(e);
+       e.applyButton = audioApplyButton;
+       me.TR(me);
+       me.TD(me, 1, 1, makeXonoticTextLabel(0, _("Channels:")));
+       me.TD(me, 1, 2, e = makeXonoticTextSlider_T("snd_channels",
                        _("Number of channels for the sound output")));
-                       e.addValue(e, _("Mono"), "1");
-                       e.addValue(e, _("Stereo"), "2");
-                       e.addValue(e, _("2.1"), "3");
-                       e.addValue(e, _("4"), "4");
-                       e.addValue(e, _("5"), "5");
-                       e.addValue(e, _("5.1"), "6");
-                       e.addValue(e, _("6.1"), "7");
-                       e.addValue(e, _("7.1"), "8");
-                       e.configureXonoticTextSliderValues(e);
-                       e.applyButton = audioApplyButton;
-       me.TR(me);
-       me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "snd_swapstereo", _("Swap stereo output channels"),
+       e.addValue(e, _("Mono"), "1");
+       e.addValue(e, _("Stereo"), "2");
+       e.addValue(e, _("2.1"), "3");
+       e.addValue(e, _("4"), "4");
+       e.addValue(e, _("5"), "5");
+       e.addValue(e, _("5.1"), "6");
+       e.addValue(e, _("6.1"), "7");
+       e.addValue(e, _("7.1"), "8");
+       e.configureXonoticTextSliderValues(e);
+       e.applyButton = audioApplyButton;
+       me.TR(me);
+       me.TR(me);
+       me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "snd_swapstereo", _("Swap stereo output channels"),
                        _("Swap left/right channels")));
-               setDependent(e, "snd_channels", 1.5, 0.5);
+       setDependent(e, "snd_channels", 1.5, 0.5);
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "snd_spatialization_control", _("Headphone friendly mode"),
+       me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "snd_spatialization_control", _("Headphone friendly mode"),
                        _("Enable spatialization (blend the right and left channel slightly to decrease stereo separation a bit for headphones)")));
-               setDependent(e, "snd_channels", 1.5, 0.5);
+       setDependent(e, "snd_channels", 1.5, 0.5);
        me.TR(me);
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "cl_hitsound", _("Hit indication sound"),
+       me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "cl_hitsound", _("Hit indication sound"),
                        _("Play a hit indicator sound when your shot hits an enemy")));
-               e.sendCvars = true;
+       e.sendCvars = true;
        me.TR(me);
-               me.TD(me, 1, 3, makeXonoticCheckBox(0, "con_chatsound", _("Chat message sound")));
+       me.TD(me, 1, 3, makeXonoticCheckBox(0, "con_chatsound", _("Chat message sound")));
        me.TR(me);
-               me.TD(me, 1, 1.2, e = makeXonoticCheckBox_T(0, "menu_sounds", _("Menu sounds"),
+       me.TD(me, 1, 1.2, e = makeXonoticCheckBox_T(0, "menu_sounds", _("Menu sounds"),
                        _("Play sounds when clicking menu items")));
-               me.TD(me, 1, 1.2, e.linkedCheckBox = e2 = makeXonoticCheckBoxEx_T(2, 1, "menu_sounds", _("Focus sounds"),
+       me.TD(me, 1, 1.2, e.linkedCheckBox = e2 = makeXonoticCheckBoxEx_T(2, 1, "menu_sounds", _("Focus sounds"),
                        _("Play sounds when hovering over menu items too")));
-               setDependent(e2, "menu_sounds", 1, 2);
+       setDependent(e2, "menu_sounds", 1, 2);
        me.TR(me);
        me.TR(me);
-               me.TD(me, 1, 1, makeXonoticTextLabel(0, _("Time announcer:")));
-               me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_announcer_maptime"));
-                       e.addValue(e, ZCTX(_("WRN^Disabled")), "0");
-                       e.addValue(e, _("1 minute"), "1");
-                       e.addValue(e, _("5 minutes"), "2");
-                       e.addValue(e, ZCTX(_("WRN^Both")), "3");
-                       e.configureXonoticTextSliderValues(e);
+       me.TD(me, 1, 1, makeXonoticTextLabel(0, _("Time announcer:")));
+       me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_announcer_maptime"));
+       e.addValue(e, ZCTX(_("WRN^Disabled")), "0");
+       e.addValue(e, _("1 minute"), "1");
+       e.addValue(e, _("5 minutes"), "2");
+       e.addValue(e, ZCTX(_("WRN^Both")), "3");
+       e.configureXonoticTextSliderValues(e);
        me.TR(me);
-               me.TD(me, 1, 1, makeXonoticTextLabel(0, _("Automatic taunts:")));
-               me.TD(me, 1, 2, e = makeXonoticTextSlider_T("cl_autotaunt",
+       me.TD(me, 1, 1, makeXonoticTextLabel(0, _("Automatic taunts:")));
+       me.TD(me, 1, 2, e = makeXonoticTextSlider_T("cl_autotaunt",
                        _("Automatically taunt enemies after fragging them")));
-                       e.addValue(e, _("Never"), "0");
-                       e.addValue(e, _("Sometimes"), "0.35");
-                       e.addValue(e, _("Often"), "0.65");
-                       e.addValue(e, _("Always"), "1");
-                       e.configureXonoticTextSliderValues(e);
-                       e.sendCvars = true;
+       e.addValue(e, _("Never"), "0");
+       e.addValue(e, _("Sometimes"), "0.35");
+       e.addValue(e, _("Often"), "0.65");
+       e.addValue(e, _("Always"), "1");
+       e.configureXonoticTextSliderValues(e);
+       e.sendCvars = true;
        me.TR(me);
        me.TR(me);
-               if(cvar("developer"))
-                       me.TD(me, 1, 3, makeXonoticCheckBox(0, "showsound", _("Debug info about sounds")));
+       if (cvar("developer")) {
+               me.TD(me, 1, 3, makeXonoticCheckBox(0, "showsound", _("Debug info about sounds")));
+       }
 
        me.gotoRC(me, me.rows - 1, 0);
-               me.TD(me, 1, me.columns, audioApplyButton);
+       me.TD(me, 1, me.columns, audioApplyButton);
 }
index 5794a70ccfb8e1852b59dc15b226d24fbdf846e0..4f51ce60de5014f3f51265bc0511592a1ece1448 100644 (file)
@@ -5,7 +5,7 @@ CLASS(XonoticAudioSettingsTab, XonoticTab)
        METHOD(XonoticAudioSettingsTab, fill, void(entity));
        ATTRIB(XonoticAudioSettingsTab, intendedWidth, float, 0.9);
        ATTRIB(XonoticAudioSettingsTab, rows, float, 15.5);
-       ATTRIB(XonoticAudioSettingsTab, columns, float, 6.2);  // added extra .2 for center space
+       ATTRIB(XonoticAudioSettingsTab, columns, float, 6.2); // added extra .2 for center space
        ATTRIB(XonoticAudioSettingsTab, hiddenMenuSoundsSlider, entity);
 ENDCLASS(XonoticAudioSettingsTab)
 entity makeXonoticAudioSettingsTab();
index 6f5ba8f57913e8ae5ba336c7f6a554001684890f..fd172fe9f77981140571bcd330c1394ba13be465 100644 (file)
@@ -22,12 +22,16 @@ entity makeXonoticEffectsSettingsTab()
 
 float someShadowCvarIsEnabled(entity box)
 {
-       if(cvar("r_shadow_realtime_dlight"))
-               if(cvar("r_shadow_realtime_dlight_shadows"))
+       if (cvar("r_shadow_realtime_dlight")) {
+               if (cvar("r_shadow_realtime_dlight_shadows")) {
                        return true;
-       if(cvar("r_shadow_realtime_world"))
-               if(cvar("r_shadow_realtime_world_shadows"))
+               }
+       }
+       if (cvar("r_shadow_realtime_world")) {
+               if (cvar("r_shadow_realtime_world_shadows")) {
                        return true;
+               }
+       }
        return false;
 }
 
@@ -38,224 +42,223 @@ void XonoticEffectsSettingsTab_fill(entity me)
        effectsApplyButton.disableOnClick = true;
        float n;
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Quality preset:")));
-               n = 5 + 2 * boolean(cvar("developer"));
-               if(cvar("developer"))
-               {
-                       me.TD(me, 1, 5 / n, e = makeXonoticCommandButton(ZCTX(_("PRE^OMG!")), '1 0 1', "exec effects-omg.cfg", 0));
-                               e.applyButton = effectsApplyButton;
-               }
-               me.TD(me, 1, 5 / n, e = makeXonoticCommandButton(ZCTX(_("PRE^Low")), '0 0 0', "exec effects-low.cfg", 0));
-                       e.applyButton = effectsApplyButton;
-               me.TD(me, 1, 5 / n, e = makeXonoticCommandButton(ZCTX(_("PRE^Medium")), '0 0 0', "exec effects-med.cfg", 0));
-                       e.applyButton = effectsApplyButton;
-               me.TD(me, 1, 5 / n, e = makeXonoticCommandButton(ZCTX(_("PRE^Normal")), '0 0 0', "exec effects-normal.cfg", 0));
-                       e.applyButton = effectsApplyButton;
-               me.TD(me, 1, 5 / n, e = makeXonoticCommandButton(ZCTX(_("PRE^High")), '0 0 0', "exec effects-high.cfg", 0));
-                       e.applyButton = effectsApplyButton;
-               me.TD(me, 1, 5 / n, e = makeXonoticCommandButton(ZCTX(_("PRE^Ultra")), '0 0 0', "exec effects-ultra.cfg", 0));
-                       e.applyButton = effectsApplyButton;
-               if(cvar("developer"))
-               {
-                       me.TD(me, 1, 5 / n, e = makeXonoticCommandButton(ZCTX(_("PRE^Ultimate")), '0.5 0 0', "exec effects-ultimate.cfg", 0));
-                               e.applyButton = effectsApplyButton;
-               }
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Quality preset:")));
+       n = 5 + 2 * boolean(cvar("developer"));
+       if (cvar("developer")) {
+               me.TD(me, 1, 5 / n, e = makeXonoticCommandButton(ZCTX(_("PRE^OMG!")), '1 0 1', "exec effects-omg.cfg", 0));
+               e.applyButton = effectsApplyButton;
+       }
+       me.TD(me, 1, 5 / n, e = makeXonoticCommandButton(ZCTX(_("PRE^Low")), '0 0 0', "exec effects-low.cfg", 0));
+       e.applyButton = effectsApplyButton;
+       me.TD(me, 1, 5 / n, e = makeXonoticCommandButton(ZCTX(_("PRE^Medium")), '0 0 0', "exec effects-med.cfg", 0));
+       e.applyButton = effectsApplyButton;
+       me.TD(me, 1, 5 / n, e = makeXonoticCommandButton(ZCTX(_("PRE^Normal")), '0 0 0', "exec effects-normal.cfg", 0));
+       e.applyButton = effectsApplyButton;
+       me.TD(me, 1, 5 / n, e = makeXonoticCommandButton(ZCTX(_("PRE^High")), '0 0 0', "exec effects-high.cfg", 0));
+       e.applyButton = effectsApplyButton;
+       me.TD(me, 1, 5 / n, e = makeXonoticCommandButton(ZCTX(_("PRE^Ultra")), '0 0 0', "exec effects-ultra.cfg", 0));
+       e.applyButton = effectsApplyButton;
+       if (cvar("developer")) {
+               me.TD(me, 1, 5 / n, e = makeXonoticCommandButton(ZCTX(_("PRE^Ultimate")), '0.5 0 0', "exec effects-ultimate.cfg", 0));
+               e.applyButton = effectsApplyButton;
+       }
 
        me.gotoRC(me, 1.25, 0);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Geometry detail:")));
-               me.TD(me, 1, 2, e = makeXonoticTextSlider_T("r_subdivisions_tolerance",
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Geometry detail:")));
+       me.TD(me, 1, 2, e = makeXonoticTextSlider_T("r_subdivisions_tolerance",
                        _("Change the smoothness of the curves on the map (default: normal)")));
-                       e.addValue(e, ZCTX(_("DET^Lowest")), "16");
-                       e.addValue(e, ZCTX(_("DET^Low")), "8");
-                       e.addValue(e, ZCTX(_("DET^Normal")), "4");
-                       e.addValue(e, ZCTX(_("DET^Good")), "3");
-                       e.addValue(e, ZCTX(_("DET^Best")), "2");
-                       e.addValue(e, ZCTX(_("DET^Insane")), "1");
-                       e.configureXonoticTextSliderValues(e);
-                       e.applyButton = effectsApplyButton;
+       e.addValue(e, ZCTX(_("DET^Lowest")), "16");
+       e.addValue(e, ZCTX(_("DET^Low")), "8");
+       e.addValue(e, ZCTX(_("DET^Normal")), "4");
+       e.addValue(e, ZCTX(_("DET^Good")), "3");
+       e.addValue(e, ZCTX(_("DET^Best")), "2");
+       e.addValue(e, ZCTX(_("DET^Insane")), "1");
+       e.configureXonoticTextSliderValues(e);
+       e.applyButton = effectsApplyButton;
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Player detail:")));
-               me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_playerdetailreduction"));
-                       e.addValue(e, ZCTX(_("PDET^Low")), "4");
-                       e.addValue(e, ZCTX(_("PDET^Medium")), "3");
-                       e.addValue(e, ZCTX(_("PDET^Normal")), "2");
-                       e.addValue(e, ZCTX(_("PDET^Good")), "1");
-                       e.addValue(e, ZCTX(_("PDET^Best")), "0");
-                       e.configureXonoticTextSliderValues(e);
-                       e.applyButton = effectsApplyButton;
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Player detail:")));
+       me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_playerdetailreduction"));
+       e.addValue(e, ZCTX(_("PDET^Low")), "4");
+       e.addValue(e, ZCTX(_("PDET^Medium")), "3");
+       e.addValue(e, ZCTX(_("PDET^Normal")), "2");
+       e.addValue(e, ZCTX(_("PDET^Good")), "1");
+       e.addValue(e, ZCTX(_("PDET^Best")), "0");
+       e.configureXonoticTextSliderValues(e);
+       e.applyButton = effectsApplyButton;
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Texture resolution:")));
-                       setDependent(e, "r_showsurfaces", 0, 0);
-               me.TD(me, 1, 2, e = makeXonoticPicmipSlider());
-                       if(cvar("developer"))
-                               e.addValue(e, ZCTX(_("RES^Leet")), "1337");
-                       e.addValue(e, ZCTX(_("RES^Lowest")), "3");
-                       e.addValue(e, ZCTX(_("RES^Very low")), "2");
-                       e.addValue(e, ZCTX(_("RES^Low")), "1");
-                       e.addValue(e, ZCTX(_("RES^Normal")), "0");
-                       e.addValue(e, ZCTX(_("RES^Good")), "-1");
-                       e.addValue(e, ZCTX(_("RES^Best")), "-2");
-                       e.configureXonoticTextSliderValues(e);
-                       setDependent(e, "r_showsurfaces", 0, 0);
-                       e.applyButton = effectsApplyButton;
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Texture resolution:")));
+       setDependent(e, "r_showsurfaces", 0, 0);
+       me.TD(me, 1, 2, e = makeXonoticPicmipSlider());
+       if (cvar("developer")) {
+               e.addValue(e, ZCTX(_("RES^Leet")), "1337");
+       }
+       e.addValue(e, ZCTX(_("RES^Lowest")), "3");
+       e.addValue(e, ZCTX(_("RES^Very low")), "2");
+       e.addValue(e, ZCTX(_("RES^Low")), "1");
+       e.addValue(e, ZCTX(_("RES^Normal")), "0");
+       e.addValue(e, ZCTX(_("RES^Good")), "-1");
+       e.addValue(e, ZCTX(_("RES^Best")), "-2");
+       e.configureXonoticTextSliderValues(e);
+       setDependent(e, "r_showsurfaces", 0, 0);
+       e.applyButton = effectsApplyButton;
        me.TR(me);
-               me.TDempty(me, 0.2);
-               {
-                       // detect texture compression method
-                       float f;
-                       f = updateCompression();
-                       switch(f)
-                       {
-                               case 0:
-                                       me.TD(me, 1, 2.8, e = makeXonoticCheckBox(1, "r_texture_dds_load", _("Avoid lossy texture compression")));
-                                               e.disabled = 1; // just show the checkbox anyway, but with no ability to control it
-                                               e.applyButton = effectsApplyButton;
-                                       break;
-                               case 1:
-                                       me.TD(me, 1, 2.8, e = makeXonoticCheckBox(1, "r_texture_dds_load", _("Avoid lossy texture compression")));
-                                               setDependent(e, "r_showsurfaces", 0, 0);
-                                               e.applyButton = effectsApplyButton;
-                                       break;
-                               case 2:
-                                       me.TD(me, 1, 2.8, e = makeXonoticCheckBox(1, "r_texture_dds_load", _("Avoid lossy texture compression")));
-                                               setDependent(e, "r_showsurfaces", 0, 0);
-                                               makeMulti(e, "gl_texturecompression");
-                                               e.applyButton = effectsApplyButton;
-                                       break;
-                       }
+       me.TDempty(me, 0.2);
+       {
+               // detect texture compression method
+               float f;
+               f = updateCompression();
+               switch (f) {
+                       case 0:
+                               me.TD(me, 1, 2.8, e = makeXonoticCheckBox(1, "r_texture_dds_load", _("Avoid lossy texture compression")));
+                               e.disabled = 1; // just show the checkbox anyway, but with no ability to control it
+                               e.applyButton = effectsApplyButton;
+                               break;
+                       case 1:
+                               me.TD(me, 1, 2.8, e = makeXonoticCheckBox(1, "r_texture_dds_load", _("Avoid lossy texture compression")));
+                               setDependent(e, "r_showsurfaces", 0, 0);
+                               e.applyButton = effectsApplyButton;
+                               break;
+                       case 2:
+                               me.TD(me, 1, 2.8, e = makeXonoticCheckBox(1, "r_texture_dds_load", _("Avoid lossy texture compression")));
+                               setDependent(e, "r_showsurfaces", 0, 0);
+                               makeMulti(e, "gl_texturecompression");
+                               e.applyButton = effectsApplyButton;
+                               break;
                }
+       }
        me.TR(me);
-               if(cvar("developer"))
-               {
-                       me.TDempty(me, 0.2);
-                       me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx_T(3, 0, "r_showsurfaces", _("Show surfaces"),
+       if (cvar("developer")) {
+               me.TDempty(me, 0.2);
+               me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx_T(3, 0, "r_showsurfaces", _("Show surfaces"),
                                _("Disable textures completely for very slow hardware. This gives a huge performance boost, but looks very ugly. (default: disabled)")));
-               }
+       }
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticCheckBox_T(1, "mod_q3bsp_nolightmaps", _("Use lightmaps"),
+       me.TD(me, 1, 1, e = makeXonoticCheckBox_T(1, "mod_q3bsp_nolightmaps", _("Use lightmaps"),
                        _("Use high resolution lightmaps, which will look pretty but use up some extra video memory (default: enabled)")));
-                       e.applyButton = effectsApplyButton;
-               me.TD(me, 1, 1, e = makeXonoticCheckBox_T(0, "r_glsl_deluxemapping", _("Deluxe mapping"),
+       e.applyButton = effectsApplyButton;
+       me.TD(me, 1, 1, e = makeXonoticCheckBox_T(0, "r_glsl_deluxemapping", _("Deluxe mapping"),
                        _("Use per-pixel lighting effects (default: enabled)")));
-                       setDependentAND(e, "vid_gl20", 1, 1, "mod_q3bsp_nolightmaps", 0, 0);
-               me.TD(me, 1, 1, e = makeXonoticCheckBox_T(0, "r_shadow_gloss", _("Gloss"),
+       setDependentAND(e, "vid_gl20", 1, 1, "mod_q3bsp_nolightmaps", 0, 0);
+       me.TD(me, 1, 1, e = makeXonoticCheckBox_T(0, "r_shadow_gloss", _("Gloss"),
                        _("Enable the use of glossmaps on textures supporting it (default: enabled)")));
-                       setDependentAND3(e, "vid_gl20", 1, 1, "mod_q3bsp_nolightmaps", 0, 0, "r_glsl_deluxemapping", 1, 1);
+       setDependentAND3(e, "vid_gl20", 1, 1, "mod_q3bsp_nolightmaps", 0, 0, "r_glsl_deluxemapping", 1, 1);
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticCheckBox_T(0, "r_glsl_offsetmapping", _("Offset mapping"),
+       me.TD(me, 1, 1, e = makeXonoticCheckBox_T(0, "r_glsl_offsetmapping", _("Offset mapping"),
                        _("Offset mapping effect that will make textures with bumpmaps appear like they \"pop out\" of the flat 2D surface (default: disabled)")));
-                       setDependent(e, "vid_gl20", 1, 1);
-               me.TD(me, 1, 1, e = makeXonoticCheckBox_T(0, "r_glsl_offsetmapping_reliefmapping", _("Relief mapping"),
+       setDependent(e, "vid_gl20", 1, 1);
+       me.TD(me, 1, 1, e = makeXonoticCheckBox_T(0, "r_glsl_offsetmapping_reliefmapping", _("Relief mapping"),
                        _("Higher quality offset mapping, which also has a huge impact on performance (default: disabled)")));
-                       setDependentAND(e, "vid_gl20", 1, 1, "r_glsl_offsetmapping", 1, 1);
+       setDependentAND(e, "vid_gl20", 1, 1, "r_glsl_offsetmapping", 1, 1);
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticCheckBox_T(0, "r_water", _("Reflections:"),
+       me.TD(me, 1, 1, e = makeXonoticCheckBox_T(0, "r_water", _("Reflections:"),
                        _("Reflection and refraction quality, has a huge impact on performance on maps with reflecting surfaces (default: disabled)")));
-                       setDependent(e, "vid_gl20", 1, 1);
-               me.TD(me, 1, 2, e = makeXonoticTextSlider_T("r_water_resolutionmultiplier",
+       setDependent(e, "vid_gl20", 1, 1);
+       me.TD(me, 1, 2, e = makeXonoticTextSlider_T("r_water_resolutionmultiplier",
                        _("Resolution of reflections/refractions (default: good)")));
-                       e.addValue(e, _("Blurred"), "0.25");
-                       e.addValue(e, ZCTX(_("REFL^Good")), "0.5");
-                       e.addValue(e, _("Sharp"), "1");
-                       e.configureXonoticTextSliderValues(e);
-                       setDependentAND(e, "vid_gl20", 1, 1, "r_water", 1, 1);
+       e.addValue(e, _("Blurred"), "0.25");
+       e.addValue(e, ZCTX(_("REFL^Good")), "0.5");
+       e.addValue(e, _("Sharp"), "1");
+       e.configureXonoticTextSliderValues(e);
+       setDependentAND(e, "vid_gl20", 1, 1, "r_water", 1, 1);
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticCheckBox_T(0, "cl_decals", _("Decals"),
+       me.TD(me, 1, 1, e = makeXonoticCheckBox_T(0, "cl_decals", _("Decals"),
                        _("Enable decals (bullet holes and blood) (default: enabled)")));
-               me.TD(me, 1, 2, e = makeXonoticCheckBox(0, "cl_decals_models", _("Decals on models")));
-                       setDependent(e, "cl_decals", 1, 1);
+       me.TD(me, 1, 2, e = makeXonoticCheckBox(0, "cl_decals_models", _("Decals on models")));
+       setDependent(e, "cl_decals", 1, 1);
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Distance:")));
-                       setDependent(e, "cl_decals", 1, 1);
-               me.TD(me, 1, 2, e = makeXonoticSlider_T(200, 500, 20, "r_drawdecals_drawdistance",
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Distance:")));
+       setDependent(e, "cl_decals", 1, 1);
+       me.TD(me, 1, 2, e = makeXonoticSlider_T(200, 500, 20, "r_drawdecals_drawdistance",
                        _("Decals further away than this will not be drawn (default: 300)")));
-                       setDependent(e, "cl_decals", 1, 1);
+       setDependent(e, "cl_decals", 1, 1);
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Time:")));
-                       setDependent(e, "cl_decals", 1, 1);
-               me.TD(me, 1, 2, e = makeXonoticSlider_T(1, 20, 1, "cl_decals_fadetime",
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Time:")));
+       setDependent(e, "cl_decals", 1, 1);
+       me.TD(me, 1, 2, e = makeXonoticSlider_T(1, 20, 1, "cl_decals_fadetime",
                        _("Time in seconds before decals fade away (default: 2)")));
-                       setDependent(e, "cl_decals", 1, 1);
+       setDependent(e, "cl_decals", 1, 1);
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Damage effects:")));
-               me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_damageeffect"));
-                       e.addValue(e, ZCTX(_("DMGFX^Disabled")), "0");
-                       e.addValue(e, _("Skeletal"), "1");
-                       e.addValue(e, ZCTX(_("DMGFX^All")), "2");
-                       e.configureXonoticTextSliderValues(e);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Damage effects:")));
+       me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_damageeffect"));
+       e.addValue(e, ZCTX(_("DMGFX^Disabled")), "0");
+       e.addValue(e, _("Skeletal"), "1");
+       e.addValue(e, ZCTX(_("DMGFX^All")), "2");
+       e.configureXonoticTextSliderValues(e);
 
-       me.gotoRC(me, 1.25, 3.2); me.setFirstColumn(me, me.currentColumn);
-               me.TD(me, 1, 3, e = makeXonoticRadioButton_T(1, "r_coronas", "0", _("No dynamic lighting"),
+       me.gotoRC(me, 1.25, 3.2);
+       me.setFirstColumn(me, me.currentColumn);
+       me.TD(me, 1, 3, e = makeXonoticRadioButton_T(1, "r_coronas", "0", _("No dynamic lighting"),
                        _("Enable corona flares around certain lights (default: enabled)")));
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticRadioButton_T(1, "gl_flashblend", string_null, _("Fake corona lighting"),
+       me.TD(me, 1, 3, e = makeXonoticRadioButton_T(1, "gl_flashblend", string_null, _("Fake corona lighting"),
                        _("Enable faster but uglier dynamic lights by rendering bright coronas instead of real dynamic lights (default: disabled)")));
-               makeMulti(e, "r_coronas");
+       makeMulti(e, "r_coronas");
        me.TR(me);
-               me.TD(me, 1, 2, e = makeXonoticRadioButton_T(1, "r_shadow_realtime_dlight", string_null, _("Realtime dynamic lighting"),
+       me.TD(me, 1, 2, e = makeXonoticRadioButton_T(1, "r_shadow_realtime_dlight", string_null, _("Realtime dynamic lighting"),
                        _("Enable rendering of dynamic lights such as explosions and rocket lights (default: enabled)")));
-               makeMulti(e, "r_coronas");
-               me.TD(me, 1, 1, e = makeXonoticCheckBox_T(0, "r_shadow_realtime_dlight_shadows", _("Shadows"),
+       makeMulti(e, "r_coronas");
+       me.TD(me, 1, 1, e = makeXonoticCheckBox_T(0, "r_shadow_realtime_dlight_shadows", _("Shadows"),
                        _("Enable rendering of shadows from dynamic lights (default: disabled)")));
-                       setDependent(e, "r_shadow_realtime_dlight", 1, 1);
+       setDependent(e, "r_shadow_realtime_dlight", 1, 1);
        me.TR(me);
-               me.TD(me, 1, 2, e = makeXonoticCheckBox_T(0, "r_shadow_realtime_world", _("Realtime world lighting"),
+       me.TD(me, 1, 2, e = makeXonoticCheckBox_T(0, "r_shadow_realtime_world", _("Realtime world lighting"),
                        _("Enable rendering of full realtime world lighting on maps that support it. Note that this might have a big impact on performance. (default: disabled)")));
-               me.TD(me, 1, 1, e = makeXonoticCheckBox_T(0, "r_shadow_realtime_world_shadows", _("Shadows"),
+       me.TD(me, 1, 1, e = makeXonoticCheckBox_T(0, "r_shadow_realtime_world_shadows", _("Shadows"),
                        _("Enable rendering of shadows from realtime world lights (default: disabled)")));
-                       setDependent(e, "r_shadow_realtime_world", 1, 1);
+       setDependent(e, "r_shadow_realtime_world", 1, 1);
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.8, e = makeXonoticCheckBox_T(0, "r_shadow_usenormalmap", _("Use normal maps"),
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 1.8, e = makeXonoticCheckBox_T(0, "r_shadow_usenormalmap", _("Use normal maps"),
                        _("Enable use of directional shading on textures (default: enabled)")));
-                       setDependentOR(e, "r_shadow_realtime_dlight", 1, 1, "r_shadow_realtime_world", 1, 1);
-               me.TD(me, 1, 1, e = makeXonoticCheckBox(0, "r_shadow_shadowmapping", _("Soft shadows")));
-                       setDependentWeird(e, someShadowCvarIsEnabled);
+       setDependentOR(e, "r_shadow_realtime_dlight", 1, 1, "r_shadow_realtime_world", 1, 1);
+       me.TD(me, 1, 1, e = makeXonoticCheckBox(0, "r_shadow_shadowmapping", _("Soft shadows")));
+       setDependentWeird(e, someShadowCvarIsEnabled);
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 2.8, e = makeXonoticCheckBox_T(0, "r_coronas_occlusionquery", _("Fade corona according to visibility"),
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 2.8, e = makeXonoticCheckBox_T(0, "r_coronas_occlusionquery", _("Fade corona according to visibility"),
                        _("Fade coronas according to visibility (default: enabled)")));
-                       setDependent(e, "r_coronas", 1, 1);
+       setDependent(e, "r_coronas", 1, 1);
        me.TR(me);
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticCheckBox_T(0, "r_bloom", _("Bloom"),
+       me.TD(me, 1, 1, e = makeXonoticCheckBox_T(0, "r_bloom", _("Bloom"),
                        _("Enable bloom effect, which brightens the neighboring pixels of very bright pixels. Has a big impact on performance. (default: disabled)")));
-               me.TD(me, 1, 2, e = makeXonoticCheckBoxEx_T(0.5, 0, "hud_postprocessing_maxbluralpha", _("Extra postprocessing effects"),
+       me.TD(me, 1, 2, e = makeXonoticCheckBoxEx_T(0.5, 0, "hud_postprocessing_maxbluralpha", _("Extra postprocessing effects"),
                        _("Enables special postprocessing effects for when damaged or under water or using a powerup (default: disabled)")));
-                       makeMulti(e, "hud_powerup");
-                       setDependent(e, "vid_gl20", 1, 1);
+       makeMulti(e, "hud_powerup");
+       setDependent(e, "vid_gl20", 1, 1);
        me.TR(me);
-               s = makeXonoticSlider_T(0.1, 1, 0.1, "r_motionblur",
-                       _("Motion blur strength - 0.4 recommended"));
-               me.TD(me, 1, 1, e = makeXonoticSliderCheckBox(0, 1, s, _("Motion blur:")));
-               if(s.value != e.savedValue)
-                       e.savedValue = 0.4; // default
-               me.TD(me, 1, 2, s);
+       s = makeXonoticSlider_T(0.1, 1, 0.1, "r_motionblur",
+               _("Motion blur strength - 0.4 recommended"));
+       me.TD(me, 1, 1, e = makeXonoticSliderCheckBox(0, 1, s, _("Motion blur:")));
+       if (s.value != e.savedValue) {
+               e.savedValue = 0.4; // default
+       }
+       me.TD(me, 1, 2, s);
        me.TR(me);
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticCheckBox(0, "cl_particles", _("Particles")));
-               me.TD(me, 1, 2, e = makeXonoticCheckBox_T(0, "cl_spawn_point_particles", _("Spawnpoint effects"),
+       me.TD(me, 1, 1, e = makeXonoticCheckBox(0, "cl_particles", _("Particles")));
+       me.TD(me, 1, 2, e = makeXonoticCheckBox_T(0, "cl_spawn_point_particles", _("Spawnpoint effects"),
                        _("Particles effects at all spawn points and whenever a player spawns")));
-                       makeMulti(e, "cl_spawn_event_particles");
-                       setDependent(e, "cl_particles", 1, 1);
+       makeMulti(e, "cl_spawn_event_particles");
+       setDependent(e, "cl_particles", 1, 1);
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Quality:")));
-                       setDependent(e, "cl_particles", 1, 1);
-               me.TD(me, 1, 2, e = makeXonoticSlider_T(0, 3.0, 0.25, "cl_particles_quality",
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Quality:")));
+       setDependent(e, "cl_particles", 1, 1);
+       me.TD(me, 1, 2, e = makeXonoticSlider_T(0, 3.0, 0.25, "cl_particles_quality",
                        _("Multiplier for amount of particles. Less means less particles, which in turn gives for better performance (default: 1.0)")));
-                       setDependent(e, "cl_particles", 1, 1);
+       setDependent(e, "cl_particles", 1, 1);
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Distance:")));
-                       setDependent(e, "cl_particles", 1, 1);
-               me.TD(me, 1, 2, e = makeXonoticSlider_T(200, 3000, 200, "r_drawparticles_drawdistance",
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Distance:")));
+       setDependent(e, "cl_particles", 1, 1);
+       me.TD(me, 1, 2, e = makeXonoticSlider_T(200, 3000, 200, "r_drawparticles_drawdistance",
                        _("Particles further away than this will not be drawn (default: 1000)")));
-                       setDependent(e, "cl_particles", 1, 1);
+       setDependent(e, "cl_particles", 1, 1);
 
        me.gotoRC(me, me.rows - 1, 0);
-               me.TD(me, 1, me.columns, effectsApplyButton);
+       me.TD(me, 1, me.columns, effectsApplyButton);
 }
index 369c68d9132932d434315e3b630098b57807fbfb..82ce85f8713c3c079f4100294497b37e359f96cb 100644 (file)
@@ -5,6 +5,6 @@ CLASS(XonoticEffectsSettingsTab, XonoticTab)
        METHOD(XonoticEffectsSettingsTab, fill, void(entity));
        ATTRIB(XonoticEffectsSettingsTab, intendedWidth, float, 0.9);
        ATTRIB(XonoticEffectsSettingsTab, rows, float, 15.5);
-       ATTRIB(XonoticEffectsSettingsTab, columns, float, 6.2);  // added extra .2 for center space
+       ATTRIB(XonoticEffectsSettingsTab, columns, float, 6.2); // added extra .2 for center space
 ENDCLASS(XonoticEffectsSettingsTab)
 entity makeXonoticEffectsSettingsTab();
index 2d30dc2448140784408a48f4ed4469a2f6622db8..a3cb2e81dde920e329fb00ead94e37f4b689c196 100644 (file)
@@ -27,122 +27,123 @@ void XonoticGameCrosshairSettingsTab_fill(entity me)
 
        // crosshair_enabled: 0 = no crosshair options, 1 = no crosshair selection, but everything else enabled, 2 = all crosshair options enabled
        // FIXME: In the future, perhaps make one global crosshair_type cvar which has 0 for disabled, 1 for custom, 2 for per weapon, etc?
-       me.TR(me); //me.gotoRC(me, 0, 3.2); me.setFirstColumn(me, me.currentColumn);
-               me.TD(me, 1, 1, e = makeXonoticRadioButton(3, "crosshair_enabled", "0", _("No crosshair")));
-       //me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticRadioButton_T(3, "crosshair_per_weapon", string_null, _("Per weapon"),
+       me.TR(me); // me.gotoRC(me, 0, 3.2); me.setFirstColumn(me, me.currentColumn);
+       me.TD(me, 1, 1, e = makeXonoticRadioButton(3, "crosshair_enabled", "0", _("No crosshair")));
+       // me.TR(me);
+       me.TD(me, 1, 1, e = makeXonoticRadioButton_T(3, "crosshair_per_weapon", string_null, _("Per weapon"),
                        _("Set a different crosshair for each weapon, good if you play without weapon models")));
-               makeMulti(e, "crosshair_enabled");
-       //me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticRadioButton(3, "crosshair_enabled", "2", _("Custom")));
-       me.TR(me);
-               me.TDempty(me, 0.1);
-               me.TD(me, 3, 2, e = makeXonoticCrosshairPicker());
-                       setDependentAND(e, "crosshair_per_weapon", 0, 0, "crosshair_enabled", 1, 2);
-               me.TD(me, 3, 0.9, e = makeXonoticCrosshairPreview());
-                       setDependentAND(e, "crosshair_per_weapon", 0, 0, "crosshair_enabled", 1, 2);
-       me.TR(me);
-       me.TR(me);
-       me.TR(me);
-               me.TDempty(me, 0.1);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Size:")));
-                       setDependent(e, "crosshair_enabled", 1, 2);
-               me.TD(me, 1, 1.9, e = makeXonoticSlider(0.1, 1.0, 0.01, "crosshair_size"));
-                       setDependent(e, "crosshair_enabled", 1, 2);
-       me.TR(me);
-               me.TDempty(me, 0.1);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Alpha:")));
-                       setDependent(e, "crosshair_enabled", 1, 2);
-               me.TD(me, 1, 1.9, e = makeXonoticSlider(0, 1, 0.1, "crosshair_alpha"));
-                       setDependent(e, "crosshair_enabled", 1, 2);
-       me.TR(me);
-               me.TDempty(me, 0.1);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Color:")));
-                       setDependent(e, "crosshair_enabled", 1, 2);
-               me.TD(me, 1, 0.9, e = makeXonoticRadioButton(5, "crosshair_color_special", "1", _("Per weapon")));
-                       setDependent(e, "crosshair_enabled", 1, 2);
-               me.TD(me, 1, 1, e = makeXonoticRadioButton(5, "crosshair_color_special", "2", _("By health")));
-                       setDependent(e, "crosshair_enabled", 1, 2);
-       me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 0.8, e = makeXonoticRadioButton(5, "crosshair_color_special", "0", _("Custom")));
-                       setDependent(e, "crosshair_enabled", 1, 2);
-               me.TD(me, 2, 2, e = makeXonoticColorpickerString("crosshair_color", "crosshair_color"));
-                       setDependentAND(e, "crosshair_color_special", 0, 0, "crosshair_enabled", 1, 2);
-       me.TR(me);
-       me.TR(me);
-       me.TR(me);
-               me.TDempty(me, 0.1);
-               me.TD(me, 1, 2.9, e = makeXonoticCheckBox_T(0, "crosshair_ring", _("Use rings to indicate weapon status"), "-"));
-                       makeMulti(e, "crosshair_ring_reload");
-                       setDependent(e, "crosshair_enabled", 1, 2);
-       me.TR(me);
-               me.TDempty(me, 0.3);
-               me.TD(me, 1, 0.9, e = makeXonoticTextLabel(0, _("Size:")));
-                       setDependentAND(e, "crosshair_ring", 1, 1, "crosshair_enabled", 1, 2);
-               me.TD(me, 1, 1.8, e = makeXonoticSlider(2, 4, 0.1, "crosshair_ring_size"));
-                       setDependentAND(e, "crosshair_ring", 1, 1, "crosshair_enabled", 1, 2);
-       me.TR(me);
-               me.TDempty(me, 0.3);
-               me.TD(me, 1, 0.9, e = makeXonoticTextLabel(0, _("Alpha:")));
-                       setDependentAND(e, "crosshair_ring", 1, 1, "crosshair_enabled", 1, 2);
-               me.TD(me, 1, 1.8, e = makeXonoticSlider(0.1, 1, 0.1, "crosshair_ring_alpha"));
-                       setDependentAND(e, "crosshair_ring", 1, 1, "crosshair_enabled", 1, 2);
+       makeMulti(e, "crosshair_enabled");
+       // me.TR(me);
+       me.TD(me, 1, 1, e = makeXonoticRadioButton(3, "crosshair_enabled", "2", _("Custom")));
+       me.TR(me);
+       me.TDempty(me, 0.1);
+       me.TD(me, 3, 2, e = makeXonoticCrosshairPicker());
+       setDependentAND(e, "crosshair_per_weapon", 0, 0, "crosshair_enabled", 1, 2);
+       me.TD(me, 3, 0.9, e = makeXonoticCrosshairPreview());
+       setDependentAND(e, "crosshair_per_weapon", 0, 0, "crosshair_enabled", 1, 2);
+       me.TR(me);
+       me.TR(me);
+       me.TR(me);
+       me.TDempty(me, 0.1);
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Size:")));
+       setDependent(e, "crosshair_enabled", 1, 2);
+       me.TD(me, 1, 1.9, e = makeXonoticSlider(0.1, 1.0, 0.01, "crosshair_size"));
+       setDependent(e, "crosshair_enabled", 1, 2);
+       me.TR(me);
+       me.TDempty(me, 0.1);
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Alpha:")));
+       setDependent(e, "crosshair_enabled", 1, 2);
+       me.TD(me, 1, 1.9, e = makeXonoticSlider(0, 1, 0.1, "crosshair_alpha"));
+       setDependent(e, "crosshair_enabled", 1, 2);
+       me.TR(me);
+       me.TDempty(me, 0.1);
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Color:")));
+       setDependent(e, "crosshair_enabled", 1, 2);
+       me.TD(me, 1, 0.9, e = makeXonoticRadioButton(5, "crosshair_color_special", "1", _("Per weapon")));
+       setDependent(e, "crosshair_enabled", 1, 2);
+       me.TD(me, 1, 1, e = makeXonoticRadioButton(5, "crosshair_color_special", "2", _("By health")));
+       setDependent(e, "crosshair_enabled", 1, 2);
+       me.TR(me);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 0.8, e = makeXonoticRadioButton(5, "crosshair_color_special", "0", _("Custom")));
+       setDependent(e, "crosshair_enabled", 1, 2);
+       me.TD(me, 2, 2, e = makeXonoticColorpickerString("crosshair_color", "crosshair_color"));
+       setDependentAND(e, "crosshair_color_special", 0, 0, "crosshair_enabled", 1, 2);
+       me.TR(me);
+       me.TR(me);
+       me.TR(me);
+       me.TDempty(me, 0.1);
+       me.TD(me, 1, 2.9, e = makeXonoticCheckBox_T(0, "crosshair_ring", _("Use rings to indicate weapon status"), "-"));
+       makeMulti(e, "crosshair_ring_reload");
+       setDependent(e, "crosshair_enabled", 1, 2);
+       me.TR(me);
+       me.TDempty(me, 0.3);
+       me.TD(me, 1, 0.9, e = makeXonoticTextLabel(0, _("Size:")));
+       setDependentAND(e, "crosshair_ring", 1, 1, "crosshair_enabled", 1, 2);
+       me.TD(me, 1, 1.8, e = makeXonoticSlider(2, 4, 0.1, "crosshair_ring_size"));
+       setDependentAND(e, "crosshair_ring", 1, 1, "crosshair_enabled", 1, 2);
+       me.TR(me);
+       me.TDempty(me, 0.3);
+       me.TD(me, 1, 0.9, e = makeXonoticTextLabel(0, _("Alpha:")));
+       setDependentAND(e, "crosshair_ring", 1, 1, "crosshair_enabled", 1, 2);
+       me.TD(me, 1, 1.8, e = makeXonoticSlider(0.1, 1, 0.1, "crosshair_ring_alpha"));
+       setDependentAND(e, "crosshair_ring", 1, 1, "crosshair_enabled", 1, 2);
 
-       me.gotoRC(me, 0, 3.2); me.setFirstColumn(me, me.currentColumn);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "crosshair_dot", _("Enable center crosshair dot")));
-               setDependent(e, "crosshair_enabled", 1, 2);
-       me.TR(me);
-               me.TDempty(me, 0.1);
-               me.TD(me, 1, 0.9, e = makeXonoticTextLabel(0, _("Size:")));
-                       setDependentAND(e, "crosshair_dot", 1, 1, "crosshair_enabled", 1, 2);
-               me.TD(me, 1, 2, e = makeXonoticSlider(0.2, 2, 0.1, "crosshair_dot_size"));
-                       setDependentAND(e, "crosshair_dot", 1, 1, "crosshair_enabled", 1, 2);
-       me.TR(me);
-               me.TDempty(me, 0.1);
-               me.TD(me, 1, 0.9, e = makeXonoticTextLabel(0, _("Alpha:")));
-                       setDependentAND(e, "crosshair_dot", 1, 1, "crosshair_enabled", 1, 2);
-               me.TD(me, 1, 2, e = makeXonoticSlider(0.1, 1, 0.1, "crosshair_dot_alpha"));
-                       setDependentAND(e, "crosshair_dot", 1, 1, "crosshair_enabled", 1, 2);
-       me.TR(me);
-               me.TDempty(me, 0.1);
-               me.TD(me, 1, 0.9, e = makeXonoticTextLabel(0, _("Color:")));
-                       setDependentAND(e, "crosshair_dot", 1, 1, "crosshair_enabled", 1, 2);
-               me.TD(me, 1, 2, e = makeXonoticRadioButton(1, "crosshair_dot_color_custom", "0", _("Use normal crosshair color")));
-                       setDependentAND(e, "crosshair_dot", 1, 1, "crosshair_enabled", 1, 2);
-       me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 0.8, e = makeXonoticRadioButton(1, "crosshair_dot_color_custom", "1", _("Custom")));
-                       setDependentAND(e, "crosshair_dot", 1, 1, "crosshair_enabled", 1, 2);
-               me.TD(me, 2, 2, e = makeXonoticColorpickerString("crosshair_dot_color", "crosshair_dot_color"));
-                       setDependentAND3(e, "crosshair_dot", 1, 1, "crosshair_enabled", 1, 2, "crosshair_dot_color_custom", 1, 1);
-       me.TR(me);
-       me.TR(me);
-       me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "crosshair_effect_scalefade", _("Smooth effects of crosshairs")));
-                       setDependent(e, "crosshair_enabled", 1, 2);
-       me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Hit testing:")));
-                       setDependent(e, "crosshair_enabled", 1, 2);
-               me.TD(me, 1, 2, e = makeXonoticTextSlider_T("crosshair_hittest",
+       me.gotoRC(me, 0, 3.2);
+       me.setFirstColumn(me, me.currentColumn);
+       me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "crosshair_dot", _("Enable center crosshair dot")));
+       setDependent(e, "crosshair_enabled", 1, 2);
+       me.TR(me);
+       me.TDempty(me, 0.1);
+       me.TD(me, 1, 0.9, e = makeXonoticTextLabel(0, _("Size:")));
+       setDependentAND(e, "crosshair_dot", 1, 1, "crosshair_enabled", 1, 2);
+       me.TD(me, 1, 2, e = makeXonoticSlider(0.2, 2, 0.1, "crosshair_dot_size"));
+       setDependentAND(e, "crosshair_dot", 1, 1, "crosshair_enabled", 1, 2);
+       me.TR(me);
+       me.TDempty(me, 0.1);
+       me.TD(me, 1, 0.9, e = makeXonoticTextLabel(0, _("Alpha:")));
+       setDependentAND(e, "crosshair_dot", 1, 1, "crosshair_enabled", 1, 2);
+       me.TD(me, 1, 2, e = makeXonoticSlider(0.1, 1, 0.1, "crosshair_dot_alpha"));
+       setDependentAND(e, "crosshair_dot", 1, 1, "crosshair_enabled", 1, 2);
+       me.TR(me);
+       me.TDempty(me, 0.1);
+       me.TD(me, 1, 0.9, e = makeXonoticTextLabel(0, _("Color:")));
+       setDependentAND(e, "crosshair_dot", 1, 1, "crosshair_enabled", 1, 2);
+       me.TD(me, 1, 2, e = makeXonoticRadioButton(1, "crosshair_dot_color_custom", "0", _("Use normal crosshair color")));
+       setDependentAND(e, "crosshair_dot", 1, 1, "crosshair_enabled", 1, 2);
+       me.TR(me);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 0.8, e = makeXonoticRadioButton(1, "crosshair_dot_color_custom", "1", _("Custom")));
+       setDependentAND(e, "crosshair_dot", 1, 1, "crosshair_enabled", 1, 2);
+       me.TD(me, 2, 2, e = makeXonoticColorpickerString("crosshair_dot_color", "crosshair_dot_color"));
+       setDependentAND3(e, "crosshair_dot", 1, 1, "crosshair_enabled", 1, 2, "crosshair_dot_color_custom", 1, 1);
+       me.TR(me);
+       me.TR(me);
+       me.TR(me);
+       me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "crosshair_effect_scalefade", _("Smooth effects of crosshairs")));
+       setDependent(e, "crosshair_enabled", 1, 2);
+       me.TR(me);
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Hit testing:")));
+       setDependent(e, "crosshair_enabled", 1, 2);
+       me.TD(me, 1, 2, e = makeXonoticTextSlider_T("crosshair_hittest",
                        _("None: do not do hit tests for the crosshair; TrueAim: blur the crosshair when there's an obstacle between your gun and the target; Enemies: also enlarge the crosshair when you would hit an enemy")));
-                       e.addValue(e, ZCTX(_("HTTST^Disabled")), "0");
-                       e.addValue(e, ZCTX(_("HTTST^TrueAim")), "1");
-                       e.addValue(e, ZCTX(_("HTTST^Enemies")), "1.25");
-                       e.configureXonoticTextSliderValues(e);
-                       setDependent(e, "crosshair_enabled", 1, 2);
+       e.addValue(e, ZCTX(_("HTTST^Disabled")), "0");
+       e.addValue(e, ZCTX(_("HTTST^TrueAim")), "1");
+       e.addValue(e, ZCTX(_("HTTST^Enemies")), "1.25");
+       e.configureXonoticTextSliderValues(e);
+       setDependent(e, "crosshair_enabled", 1, 2);
        me.TR(me);
-               me.TDempty(me, 0.1);
-               me.TD(me, 1, 2.9, e = makeXonoticCheckBox(0, "crosshair_hittest_blur", _("Blur crosshair if the shot is obstructed")));
-                       setDependentAND(e, "crosshair_hittest", 1, 100, "crosshair_enabled", 1, 2);
+       me.TDempty(me, 0.1);
+       me.TD(me, 1, 2.9, e = makeXonoticCheckBox(0, "crosshair_hittest_blur", _("Blur crosshair if the shot is obstructed")));
+       setDependentAND(e, "crosshair_hittest", 1, 100, "crosshair_enabled", 1, 2);
        me.TR(me);
-               me.TDempty(me, 0.1);
-               me.TD(me, 1, 2.9, e = makeXonoticCheckBoxEx(1.25, 0, "crosshair_hittest_scale", _("Enlarge crosshair if targeting an enemy")));
-                       setDependentAND(e, "crosshair_hittest", 1, 100, "crosshair_enabled", 1, 2);
+       me.TDempty(me, 0.1);
+       me.TD(me, 1, 2.9, e = makeXonoticCheckBoxEx(1.25, 0, "crosshair_hittest_scale", _("Enlarge crosshair if targeting an enemy")));
+       setDependentAND(e, "crosshair_hittest", 1, 100, "crosshair_enabled", 1, 2);
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBoxEx(0.5, 0, "crosshair_hitindication", _("Animate crosshair when hitting an enemy")));
-                       setDependent(e, "crosshair_enabled", 1, 2);
+       me.TD(me, 1, 3, e = makeXonoticCheckBoxEx(0.5, 0, "crosshair_hitindication", _("Animate crosshair when hitting an enemy")));
+       setDependent(e, "crosshair_enabled", 1, 2);
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBoxEx(0.25, 0, "crosshair_pickup", _("Animate crosshair when picking up an item")));
-                       setDependent(e, "crosshair_enabled", 1, 2);
+       me.TD(me, 1, 3, e = makeXonoticCheckBoxEx(0.25, 0, "crosshair_pickup", _("Animate crosshair when picking up an item")));
+       setDependent(e, "crosshair_enabled", 1, 2);
 }
index e16693675b91cafa32da4601b4436a30e0698626..8e8bd1259551ffcc3dbe2707132366e5e2893676 100644 (file)
 
 void HUDSetup_Check_Gamestatus(entity me, entity btn)
 {
-       if(!(gamestatus & (GAME_CONNECTED | GAME_ISSERVER))) // we're not in a match, ask the player if they want to start one anyway
-       {
+       if (!(gamestatus & (GAME_CONNECTED | GAME_ISSERVER))) { // we're not in a match, ask the player if they want to start one anyway
                DialogOpenButton_Click(me, main.hudconfirmDialog);
-       }
-       else // already in a match, lets just cut to the point and open up the hud editor directly
-       {
+       } else { // already in a match, lets just cut to the point and open up the hud editor directly
                HUDSetup_Start(me, btn);
        }
 }
@@ -40,132 +37,133 @@ void XonoticGameHUDSettingsTab_fill(entity me)
        // scoreboard_alpha*
 
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Scoreboard")));
+       me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Scoreboard")));
        me.TR(me);
        me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Alpha:")));
        me.TD(me, 1, 2, e = makeXonoticSlider(0, 1, 0.05, "hud_panel_scoreboard_bg_alpha"));
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Fading speed:")));
-               me.TD(me, 1, 2, e = makeXonoticScoreboardFadeTimeSlider());
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Fading speed:")));
+       me.TD(me, 1, 2, e = makeXonoticScoreboardFadeTimeSlider());
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "hud_panel_scoreboard_table_highlight", _("Enable rows / columns highlighting")));
+       me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "hud_panel_scoreboard_table_highlight", _("Enable rows / columns highlighting")));
 
        me.TR(me);
-       //me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "hud_panel_scoreboard_respawntime_decimals", _("Show decimals in respawn countdown")));
+       // me.TR(me);
+       me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "hud_panel_scoreboard_respawntime_decimals", _("Show decimals in respawn countdown")));
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "hud_panel_scoreboard_accuracy", _("Show accuracy underneath scoreboard")));
+       me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "hud_panel_scoreboard_accuracy", _("Show accuracy underneath scoreboard")));
 
        me.TR(me);
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Waypoints")));
+       me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Waypoints")));
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox_T(1, "cl_hidewaypoints", _("Display waypoint markers for objectives on the map"),
+       me.TD(me, 1, 3, e = makeXonoticCheckBox_T(1, "cl_hidewaypoints", _("Display waypoint markers for objectives on the map"),
                        _("Show various gametype specific waypoints")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Alpha:")));
-                       setDependent(e, "cl_hidewaypoints", 0, 0);
-               me.TD(me, 1, 2, e = makeXonoticSlider_T(0.1, 1, 0.05, "g_waypointsprite_alpha",
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Alpha:")));
+       setDependent(e, "cl_hidewaypoints", 0, 0);
+       me.TD(me, 1, 2, e = makeXonoticSlider_T(0.1, 1, 0.05, "g_waypointsprite_alpha",
                        _("Control transparency of the waypoints")));
-                       setDependent(e, "cl_hidewaypoints", 0, 0);
-       me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Fontsize:")));
-                       setDependent(e, "cl_hidewaypoints", 0, 0);
-               me.TD(me, 1, 2, e = makeXonoticSlider(5, 16, 1, "g_waypointsprite_fontsize"));
-                       setDependent(e, "cl_hidewaypoints", 0, 0);
-       me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Edge offset:")));
-                       setDependent(e, "cl_hidewaypoints", 0, 0);
-               me.TD(me, 1, 2, e = makeXonoticSlider_T(0, 0.3, 0.01, "g_waypointsprite_edgeoffset_bottom", "-"));
-                       makeMulti(e, "g_waypointsprite_edgeoffset_top g_waypointsprite_edgeoffset_left g_waypointsprite_edgeoffset_right");
-                       setDependent(e, "cl_hidewaypoints", 0, 0);
+       setDependent(e, "cl_hidewaypoints", 0, 0);
+       me.TR(me);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Fontsize:")));
+       setDependent(e, "cl_hidewaypoints", 0, 0);
+       me.TD(me, 1, 2, e = makeXonoticSlider(5, 16, 1, "g_waypointsprite_fontsize"));
+       setDependent(e, "cl_hidewaypoints", 0, 0);
+       me.TR(me);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Edge offset:")));
+       setDependent(e, "cl_hidewaypoints", 0, 0);
+       me.TD(me, 1, 2, e = makeXonoticSlider_T(0, 0.3, 0.01, "g_waypointsprite_edgeoffset_bottom", "-"));
+       makeMulti(e, "g_waypointsprite_edgeoffset_top g_waypointsprite_edgeoffset_left g_waypointsprite_edgeoffset_right");
+       setDependent(e, "cl_hidewaypoints", 0, 0);
 
        me.TR(me);
-       //me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx(0.25, 1, "g_waypointsprite_crosshairfadealpha", _("Fade when near the crosshair")));
-                       setDependent(e, "cl_hidewaypoints", 0, 0);
+       // me.TR(me);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx(0.25, 1, "g_waypointsprite_crosshairfadealpha", _("Fade when near the crosshair")));
+       setDependent(e, "cl_hidewaypoints", 0, 0);
 
-       #if 0
+#if 0
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Damage")));
+       me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Damage")));
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Overlay:")));
-               me.TD(me, 1, 2, e = makeXonoticSlider(0, 1, 0.05, "hud_damage"));
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Overlay:")));
+       me.TD(me, 1, 2, e = makeXonoticSlider(0, 1, 0.05, "hud_damage"));
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Factor:")));
-                       setDependent(e, "hud_damage", 0.001, 100);
-               me.TD(me, 1, 2, e = makeXonoticSlider(0.025, 0.1, 0.025, "hud_damage_factor"));
-                       setDependent(e, "hud_damage", 0.001, 100);
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Factor:")));
+       setDependent(e, "hud_damage", 0.001, 100);
+       me.TD(me, 1, 2, e = makeXonoticSlider(0.025, 0.1, 0.025, "hud_damage_factor"));
+       setDependent(e, "hud_damage", 0.001, 100);
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Fade rate:")));
-                       setDependent(e, "hud_damage", 0.001, 100);
-               me.TD(me, 1, 2, e = makeXonoticSlider(0.25, 1, 0.05, "hud_damage_fade_rate"));
-                       setDependent(e, "hud_damage", 0.001, 100);
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Fade rate:")));
+       setDependent(e, "hud_damage", 0.001, 100);
+       me.TD(me, 1, 2, e = makeXonoticSlider(0.25, 1, 0.05, "hud_damage_fade_rate"));
+       setDependent(e, "hud_damage", 0.001, 100);
        me.TR(me);
-       #endif
+#endif
 
-       me.gotoRC(me, 0, 3.2); me.setFirstColumn(me, me.currentColumn);
-               me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Player Names")));
+       me.gotoRC(me, 0, 3.2);
+       me.setFirstColumn(me, me.currentColumn);
+       me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Player Names")));
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "hud_shownames", _("Show names above players")));
+       me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "hud_shownames", _("Show names above players")));
 
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Alpha:")));
-                       setDependent(e, "hud_shownames", 1, 1);
-               me.TD(me, 1, 2, e = makeXonoticSlider(0.1, 1, 0.05, "hud_shownames_alpha"));
-                       setDependent(e, "hud_shownames", 1, 1);
-       me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Fontsize:")));
-                       setDependent(e, "hud_shownames", 1, 1);
-               me.TD(me, 1, 2, e = makeXonoticSlider(5, 16, 1, "hud_shownames_fontsize"));
-                       setDependent(e, "hud_shownames", 1, 1);
-       me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Max distance:")));
-                       setDependent(e, "hud_shownames", 1, 1);
-               me.TD(me, 1, 2, e = makeXonoticSlider(2000, 10000, 500, "hud_shownames_maxdistance"));
-                       setDependent(e, "hud_shownames", 1, 1);
-       me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Decolorize:")));
-                       setDependent(e, "hud_shownames", 1, 1);
-               me.TD(me, 1, 2, e = makeXonoticTextSlider("hud_shownames_decolorize"));
-                       e.addValue(e, _("Never"), "0");
-                       e.addValue(e, _("Teamplay"), "1");
-                       e.addValue(e, _("Always"), "2");
-                       e.configureXonoticTextSliderValues(e);
-                       setDependent(e, "hud_shownames", 1, 1);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Alpha:")));
+       setDependent(e, "hud_shownames", 1, 1);
+       me.TD(me, 1, 2, e = makeXonoticSlider(0.1, 1, 0.05, "hud_shownames_alpha"));
+       setDependent(e, "hud_shownames", 1, 1);
+       me.TR(me);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Fontsize:")));
+       setDependent(e, "hud_shownames", 1, 1);
+       me.TD(me, 1, 2, e = makeXonoticSlider(5, 16, 1, "hud_shownames_fontsize"));
+       setDependent(e, "hud_shownames", 1, 1);
+       me.TR(me);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Max distance:")));
+       setDependent(e, "hud_shownames", 1, 1);
+       me.TD(me, 1, 2, e = makeXonoticSlider(2000, 10000, 500, "hud_shownames_maxdistance"));
+       setDependent(e, "hud_shownames", 1, 1);
+       me.TR(me);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Decolorize:")));
+       setDependent(e, "hud_shownames", 1, 1);
+       me.TD(me, 1, 2, e = makeXonoticTextSlider("hud_shownames_decolorize"));
+       e.addValue(e, _("Never"), "0");
+       e.addValue(e, _("Teamplay"), "1");
+       e.addValue(e, _("Always"), "2");
+       e.configureXonoticTextSliderValues(e);
+       setDependent(e, "hud_shownames", 1, 1);
 
        me.TR(me);
-       //me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx(25, 0, "hud_shownames_crosshairdistance", _("Only when near crosshair")));
-                       setDependent(e, "hud_shownames", 1, 1);
+       // me.TR(me);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx(25, 0, "hud_shownames_crosshairdistance", _("Only when near crosshair")));
+       setDependent(e, "hud_shownames", 1, 1);
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "hud_shownames_status", _("Display health and armor")));
-                       setDependent(e, "hud_shownames", 1, 1);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "hud_shownames_status", _("Display health and armor")));
+       setDependent(e, "hud_shownames", 1, 1);
 
        me.TR(me);
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Damage overlay:")));
-               me.TD(me, 1, 2, e = makeXonoticSlider(0, 1, 0.05, "hud_damage"));
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Damage overlay:")));
+       me.TD(me, 1, 2, e = makeXonoticSlider(0, 1, 0.05, "hud_damage"));
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "hud_dynamic_follow", _("Dynamic HUD"),
+       me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "hud_dynamic_follow", _("Dynamic HUD"),
                        _("HUD moves around following player's movement")));
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "hud_dynamic_shake", _("Shake the HUD when hurt")));
+       me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "hud_dynamic_shake", _("Shake the HUD when hurt")));
        me.TR(me);
        me.TR(me);
-               me.TDempty(me, 0.5);
-               me.TD(me, 1, 2, e = makeXonoticButton(_("Enter HUD editor"), '0 0 0'));
-                       e.onClick = HUDSetup_Check_Gamestatus;
-                       e.onClickEntity = me;
-               // TODO: show hud config name with text here
+       me.TDempty(me, 0.5);
+       me.TD(me, 1, 2, e = makeXonoticButton(_("Enter HUD editor"), '0 0 0'));
+       e.onClick = HUDSetup_Check_Gamestatus;
+       e.onClickEntity = me;
+       // TODO: show hud config name with text here
 }
index b1426c2c9e28b2d00556402fbd4ca19f4ac06af3..d4f7673ea46f2c8e066c9872ccdf195a570c4d22 100644 (file)
@@ -5,10 +5,11 @@
 
 void HUDSetup_Start(entity me, entity btn)
 {
-       if (!(gamestatus & (GAME_CONNECTED | GAME_ISSERVER)))
+       if (!(gamestatus & (GAME_CONNECTED | GAME_ISSERVER))) {
                localcmd("map _hudsetup\n");
-       else
+       } else {
                localcmd("togglemenu 0\n");
+       }
 
        localcmd("_hud_configure 1\n");
 }
@@ -18,15 +19,15 @@ void XonoticHUDConfirmDialog_fill(entity me)
        entity e;
 
        me.TR(me);
-               me.TD(me, 1, 2, e = makeXonoticTextLabel(0.5, _("In order for the HUD editor to show, you must first be in game.")));
+       me.TD(me, 1, 2, e = makeXonoticTextLabel(0.5, _("In order for the HUD editor to show, you must first be in game.")));
        me.TR(me);
-               me.TD(me, 1, 2, e = makeXonoticTextLabel(0.5, _("Do you wish to start a local game to set up the HUD?")));
+       me.TD(me, 1, 2, e = makeXonoticTextLabel(0.5, _("Do you wish to start a local game to set up the HUD?")));
        me.TR(me);
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticButton(_("Yes"), '1 0 0'));
-                       e.onClick = HUDSetup_Start;
-                       e.onClickEntity = me;
-               me.TD(me, 1, 1, e = makeXonoticButton(_("No"), '0 1 0'));
-                       e.onClick = Dialog_Close;
-                       e.onClickEntity = me;
+       me.TD(me, 1, 1, e = makeXonoticButton(_("Yes"), '1 0 0'));
+       e.onClick = HUDSetup_Start;
+       e.onClickEntity = me;
+       me.TD(me, 1, 1, e = makeXonoticButton(_("No"), '0 1 0'));
+       e.onClick = Dialog_Close;
+       e.onClickEntity = me;
 }
index 31cc98215d6536745dcea7f5aa153db5b95e53a9..850d211e15da6c516021e5396835a7b4a3801d0e 100644 (file)
@@ -21,86 +21,89 @@ void XonoticGameMessageSettingsTab_fill(entity me)
        entity e;
 
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Frag Information")));
-       me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "notification_show_sprees", _("Display information about killing sprees"), "-"));
-       me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 2.8, e = makeXonoticCheckBox_T(0, "notification_show_sprees_info_specialonly", _("Only display sprees if they are achievements"), "-"));
-                       makeMulti(e, "notification_show_sprees_center_specialonly");
-                       setDependent(e, "notification_show_sprees", 1, 1);
-       me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 2.8, e = makeXonoticCheckBox_T(0, "notification_show_sprees_center", _("Show spree information in centerprints"), "-"));
-                       setDependent(e, "notification_show_sprees", 1, 1);
-       me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx_T(3, 0, "notification_show_sprees_info", _("Show spree information in death messages"), "-"));
-                       setDependent(e, "notification_show_sprees", 1, 1);
-       #if 0
-       me.TR(me);
-               me.TDempty(me, 0.1);
-               me.TD(me, 1, 0.9, e = makeXonoticTextLabel(0, _("Sprees in info messages:")));
-                       setDependent(e, "notification_show_sprees", 1, 1);
-               me.TD(me, 1, 2, e = makeXonoticTextSlider_T("notification_show_sprees_info", "-"));
-                       e.addValue(e, ZCTX(_("SPREES^Disabled")), "0");
-                       e.addValue(e, _("Target"), "1");
-                       e.addValue(e, _("Attacker"), "2");
-                       e.addValue(e, ZCTX(_("SPREES^Both")), "3");
-                       e.configureXonoticTextSliderValues(e);
-                       setDependent(e, "notification_show_sprees", 1, 1);
-       #endif
-       me.TR(me);
-               me.TDempty(me, 0.4);
-               me.TD(me, 1, 2.6, e = makeXonoticCheckBox_T(0, "notification_show_sprees_info_newline", _("Print on a seperate line"), "-"));
-                       setDependentAND(e, "notification_show_sprees", 1, 1, "notification_show_sprees_info", 1, 3);
-       me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBoxEx_T(2, 1, "notification_CHOICE_FRAG", _("Add extra frag information to centerprint when available"), "-"));
-                       makeMulti(e, "notification_CHOICE_FRAGGED notification_CHOICE_TYPEFRAG notification_CHOICE_TYPEFRAGGED notification_CHOICE_FRAG_FIRE notification_CHOICE_FRAGGED_FIRE notification_CHOICE_FRAG_FREEZE notification_CHOICE_FRAGGED_FREEZE");
-                       e.sendCvars = true;
-       me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "notification_show_location", _("Add frag location to death messages when available"), "-"));
+       me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Frag Information")));
+       me.TR(me);
+       me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "notification_show_sprees", _("Display information about killing sprees"), "-"));
+       me.TR(me);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 2.8, e = makeXonoticCheckBox_T(0, "notification_show_sprees_info_specialonly", _("Only display sprees if they are achievements"), "-"));
+       makeMulti(e, "notification_show_sprees_center_specialonly");
+       setDependent(e, "notification_show_sprees", 1, 1);
+       me.TR(me);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 2.8, e = makeXonoticCheckBox_T(0, "notification_show_sprees_center", _("Show spree information in centerprints"), "-"));
+       setDependent(e, "notification_show_sprees", 1, 1);
+       me.TR(me);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx_T(3, 0, "notification_show_sprees_info", _("Show spree information in death messages"), "-"));
+       setDependent(e, "notification_show_sprees", 1, 1);
+#if 0
+       me.TR(me);
+       me.TDempty(me, 0.1);
+       me.TD(me, 1, 0.9, e = makeXonoticTextLabel(0, _("Sprees in info messages:")));
+       setDependent(e, "notification_show_sprees", 1, 1);
+       me.TD(me, 1, 2, e = makeXonoticTextSlider_T("notification_show_sprees_info", "-"));
+       e.addValue(e, ZCTX(_("SPREES^Disabled")), "0");
+       e.addValue(e, _("Target"), "1");
+       e.addValue(e, _("Attacker"), "2");
+       e.addValue(e, ZCTX(_("SPREES^Both")), "3");
+       e.configureXonoticTextSliderValues(e);
+       setDependent(e, "notification_show_sprees", 1, 1);
+#endif
+       me.TR(me);
+       me.TDempty(me, 0.4);
+       me.TD(me, 1, 2.6, e = makeXonoticCheckBox_T(0, "notification_show_sprees_info_newline", _("Print on a seperate line"), "-"));
+       setDependentAND(e, "notification_show_sprees", 1, 1, "notification_show_sprees_info", 1, 3);
+       me.TR(me);
+       me.TD(me, 1, 3, e = makeXonoticCheckBoxEx_T(2, 1, "notification_CHOICE_FRAG", _("Add extra frag information to centerprint when available"), "-"));
+       makeMulti(e, "notification_CHOICE_FRAGGED notification_CHOICE_TYPEFRAG notification_CHOICE_TYPEFRAGGED notification_CHOICE_FRAG_FIRE notification_CHOICE_FRAGGED_FIRE notification_CHOICE_FRAG_FREEZE notification_CHOICE_FRAGGED_FREEZE");
+       e.sendCvars = true;
+       me.TR(me);
+       me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "notification_show_location", _("Add frag location to death messages when available"), "-"));
 
-       me.gotoRC(me, 9, 0); me.setFirstColumn(me, me.currentColumn);
-               me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Gamemode Settings")));
+       me.gotoRC(me, 9, 0);
+       me.setFirstColumn(me, me.currentColumn);
+       me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Gamemode Settings")));
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBoxEx_T(2, 1, "notification_CHOICE_CTF_CAPTURE_TIME", _("Display capture times in Capture The Flag"), "-"));
-                       makeMulti(e, "notification_CHOICE_CTF_CAPTURE_BROKEN notification_CHOICE_CTF_CAPTURE_UNBROKEN");
-                       e.sendCvars = true;
+       me.TD(me, 1, 3, e = makeXonoticCheckBoxEx_T(2, 1, "notification_CHOICE_CTF_CAPTURE_TIME", _("Display capture times in Capture The Flag"), "-"));
+       makeMulti(e, "notification_CHOICE_CTF_CAPTURE_BROKEN notification_CHOICE_CTF_CAPTURE_UNBROKEN");
+       e.sendCvars = true;
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBoxEx_T(2, 1, "notification_CHOICE_CTF_PICKUP_ENEMY", _("Display name of flag stealer in Capture The Flag"), "-"));
-                       makeMulti(e, "notification_CHOICE_CTF_PICKUP_ENEMY_TEAM notification_CHOICE_CTF_PICKUP_ENEMY_NEUTRAL");
-                       e.sendCvars = true;
+       me.TD(me, 1, 3, e = makeXonoticCheckBoxEx_T(2, 1, "notification_CHOICE_CTF_PICKUP_ENEMY", _("Display name of flag stealer in Capture The Flag"), "-"));
+       makeMulti(e, "notification_CHOICE_CTF_PICKUP_ENEMY_TEAM notification_CHOICE_CTF_PICKUP_ENEMY_NEUTRAL");
+       e.sendCvars = true;
 
-       me.gotoRC(me, 0, 3.2); me.setFirstColumn(me, me.currentColumn);
-               me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Other")));
+       me.gotoRC(me, 0, 3.2);
+       me.setFirstColumn(me, me.currentColumn);
+       me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Other")));
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBoxEx_T(4, 0, "con_notify", _("Display console messages in the top left corner"), "-"));
+       me.TD(me, 1, 3, e = makeXonoticCheckBoxEx_T(4, 0, "con_notify", _("Display console messages in the top left corner"), "-"));
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBoxEx_T(2, 1, "notification_allow_chatboxprint", _("Display all info messages in the chatbox"), "-"));
+       me.TD(me, 1, 3, e = makeXonoticCheckBoxEx_T(2, 1, "notification_allow_chatboxprint", _("Display all info messages in the chatbox"), "-"));
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBoxEx_T(2, 1, "notification_INFO_QUIT_DISCONNECT", _("Display player statuses in the chatbox"), "-"));
-                       makeMulti(e, "notification_INFO_QUIT_KICK_IDLING notification_INFO_JOIN_CONNECT_TEAM");
+       me.TD(me, 1, 3, e = makeXonoticCheckBoxEx_T(2, 1, "notification_INFO_QUIT_DISCONNECT", _("Display player statuses in the chatbox"), "-"));
+       makeMulti(e, "notification_INFO_QUIT_KICK_IDLING notification_INFO_JOIN_CONNECT_TEAM");
        me.TR(me);
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "notification_CENTER_POWERUP_INVISIBILITY", _("Powerup notifications"), "-"));
-                       makeMulti(e, "notification_CENTER_POWERUP_SHIELD notification_CENTER_POWERUP_SPEED notification_CENTER_POWERUP_STRENGTH notification_CENTER_POWERDOWN_INVISIBILITY notification_CENTER_POWERDOWN_SHIELD notification_CENTER_POWERDOWN_SPEED notification_CENTER_POWERDOWN_STRENGTH notification_CENTER_SUPERWEAPON_BROKEN notification_CENTER_SUPERWEAPON_LOST notification_CENTER_SUPERWEAPON_PICKUP notification_INFO_POWERUP_INVISIBILITY notification_INFO_POWERUP_SHIELD notification_INFO_POWERUP_SPEED notification_INFO_POWERUP_STRENGTH");
+       me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "notification_CENTER_POWERUP_INVISIBILITY", _("Powerup notifications"), "-"));
+       makeMulti(e, "notification_CENTER_POWERUP_SHIELD notification_CENTER_POWERUP_SPEED notification_CENTER_POWERUP_STRENGTH notification_CENTER_POWERDOWN_INVISIBILITY notification_CENTER_POWERDOWN_SHIELD notification_CENTER_POWERDOWN_SPEED notification_CENTER_POWERDOWN_STRENGTH notification_CENTER_SUPERWEAPON_BROKEN notification_CENTER_SUPERWEAPON_LOST notification_CENTER_SUPERWEAPON_PICKUP notification_INFO_POWERUP_INVISIBILITY notification_INFO_POWERUP_SHIELD notification_INFO_POWERUP_SPEED notification_INFO_POWERUP_STRENGTH");
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "notification_CENTER_ITEM_WEAPON_DONTHAVE", _("Weapon centerprint notifications"), "-"));
-                       makeMulti(e, "notification_CENTER_ITEM_WEAPON_DROP notification_CENTER_ITEM_WEAPON_GOT notification_CENTER_ITEM_WEAPON_NOAMMO notification_CENTER_ITEM_WEAPON_PRIMORSEC notification_CENTER_ITEM_WEAPON_UNAVAILABLE");
+       me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "notification_CENTER_ITEM_WEAPON_DONTHAVE", _("Weapon centerprint notifications"), "-"));
+       makeMulti(e, "notification_CENTER_ITEM_WEAPON_DROP notification_CENTER_ITEM_WEAPON_GOT notification_CENTER_ITEM_WEAPON_NOAMMO notification_CENTER_ITEM_WEAPON_PRIMORSEC notification_CENTER_ITEM_WEAPON_UNAVAILABLE");
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "notification_INFO_ITEM_WEAPON_DONTHAVE", _("Weapon info message notifications"), "-"));
-                       makeMulti(e, "notification_INFO_ITEM_WEAPON_DROP notification_INFO_ITEM_WEAPON_GOT notification_INFO_ITEM_WEAPON_NOAMMO notification_INFO_ITEM_WEAPON_PRIMORSEC notification_INFO_ITEM_WEAPON_UNAVAILABLE");
+       me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "notification_INFO_ITEM_WEAPON_DONTHAVE", _("Weapon info message notifications"), "-"));
+       makeMulti(e, "notification_INFO_ITEM_WEAPON_DROP notification_INFO_ITEM_WEAPON_GOT notification_INFO_ITEM_WEAPON_NOAMMO notification_INFO_ITEM_WEAPON_PRIMORSEC notification_INFO_ITEM_WEAPON_UNAVAILABLE");
 
-       me.gotoRC(me, 9, 3.2); me.setFirstColumn(me, me.currentColumn);
-               me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Announcers")));
+       me.gotoRC(me, 9, 3.2);
+       me.setFirstColumn(me, me.currentColumn);
+       me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Announcers")));
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBoxEx_T(2, 0, "notification_ANNCE_NUM_RESPAWN_1", _("Respawn countdown sounds"), "-"));
-                       makeMulti(e, "notification_ANNCE_NUM_RESPAWN_2 notification_ANNCE_NUM_RESPAWN_3 notification_ANNCE_NUM_RESPAWN_4 notification_ANNCE_NUM_RESPAWN_5 notification_ANNCE_NUM_RESPAWN_6 notification_ANNCE_NUM_RESPAWN_7 notification_ANNCE_NUM_RESPAWN_8 notification_ANNCE_NUM_RESPAWN_9 notification_ANNCE_NUM_RESPAWN_10");
+       me.TD(me, 1, 3, e = makeXonoticCheckBoxEx_T(2, 0, "notification_ANNCE_NUM_RESPAWN_1", _("Respawn countdown sounds"), "-"));
+       makeMulti(e, "notification_ANNCE_NUM_RESPAWN_2 notification_ANNCE_NUM_RESPAWN_3 notification_ANNCE_NUM_RESPAWN_4 notification_ANNCE_NUM_RESPAWN_5 notification_ANNCE_NUM_RESPAWN_6 notification_ANNCE_NUM_RESPAWN_7 notification_ANNCE_NUM_RESPAWN_8 notification_ANNCE_NUM_RESPAWN_9 notification_ANNCE_NUM_RESPAWN_10");
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBoxEx_T(1, 0, "notification_ANNCE_KILLSTREAK_03", _("Killstreak sounds"), "-"));
-                       makeMulti(e, "notification_ANNCE_KILLSTREAK_05 notification_ANNCE_KILLSTREAK_10 notification_ANNCE_KILLSTREAK_15 notification_ANNCE_KILLSTREAK_20 notification_ANNCE_KILLSTREAK_25 notification_ANNCE_KILLSTREAK_30");
+       me.TD(me, 1, 3, e = makeXonoticCheckBoxEx_T(1, 0, "notification_ANNCE_KILLSTREAK_03", _("Killstreak sounds"), "-"));
+       makeMulti(e, "notification_ANNCE_KILLSTREAK_05 notification_ANNCE_KILLSTREAK_10 notification_ANNCE_KILLSTREAK_15 notification_ANNCE_KILLSTREAK_20 notification_ANNCE_KILLSTREAK_25 notification_ANNCE_KILLSTREAK_30");
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBoxEx_T(1, 0, "notification_ANNCE_ACHIEVEMENT_AIRSHOT", _("Achievement sounds"), "-"));
-                       makeMulti(e, "notification_ANNCE_ACHIEVEMENT_AMAZING notification_ANNCE_ACHIEVEMENT_AWESOME notification_ANNCE_ACHIEVEMENT_BOTLIKE notification_ANNCE_ACHIEVEMENT_ELECTROBITCH notification_ANNCE_ACHIEVEMENT_IMPRESSIVE notification_ANNCE_ACHIEVEMENT_YODA");
+       me.TD(me, 1, 3, e = makeXonoticCheckBoxEx_T(1, 0, "notification_ANNCE_ACHIEVEMENT_AIRSHOT", _("Achievement sounds"), "-"));
+       makeMulti(e, "notification_ANNCE_ACHIEVEMENT_AMAZING notification_ANNCE_ACHIEVEMENT_AWESOME notification_ANNCE_ACHIEVEMENT_BOTLIKE notification_ANNCE_ACHIEVEMENT_ELECTROBITCH notification_ANNCE_ACHIEVEMENT_IMPRESSIVE notification_ANNCE_ACHIEVEMENT_YODA");
 }
index 2f5d795867844c5ab011970bf2bb4c32edc7a145..266044fa2d5ef44f5c7a920ea77183d68805c8bc 100644 (file)
@@ -23,99 +23,100 @@ void XonoticGameViewSettingsTab_fill(entity me)
        entity e;
 
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticRadioButton(1, "chase_active", "0", _("1st person perspective")));
-               makeMulti(e, "crosshair_hittest_showimpact");
+       me.TD(me, 1, 3, e = makeXonoticRadioButton(1, "chase_active", "0", _("1st person perspective")));
+       makeMulti(e, "crosshair_hittest_showimpact");
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "cl_eventchase_death", _("Slide to third person upon death")));
-               setDependent(e, "chase_active", -1, 0);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "cl_eventchase_death", _("Slide to third person upon death")));
+       setDependent(e, "chase_active", -1, 0);
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx(0.05, 0, "cl_bobfall", _("Smooth the view when landing from a jump")));
-               setDependent(e, "chase_active", -1, 0);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx(0.05, 0, "cl_bobfall", _("Smooth the view when landing from a jump")));
+       setDependent(e, "chase_active", -1, 0);
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx(0.05, 0, "cl_smoothviewheight", _("Smooth the view while crouching")));
-               setDependent(e, "chase_active", -1, 0);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx(0.05, 0, "cl_smoothviewheight", _("Smooth the view while crouching")));
+       setDependent(e, "chase_active", -1, 0);
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx(1, 0, "v_idlescale", _("View waving while idle")));
-               setDependent(e, "chase_active", -1, 0);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx(1, 0, "v_idlescale", _("View waving while idle")));
+       setDependent(e, "chase_active", -1, 0);
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx_T(0.01, 0, "cl_bob", _("View bobbing while walking around"), "-"));
-               makeMulti(e, "cl_bob2");
-               setDependent(e, "chase_active", -1, 0);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx_T(0.01, 0, "cl_bob", _("View bobbing while walking around"), "-"));
+       makeMulti(e, "cl_bob2");
+       setDependent(e, "chase_active", -1, 0);
        me.TR(me);
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticRadioButton(1, "chase_active", "1", _("3rd person perspective")));
-               makeMulti(e, "crosshair_hittest_showimpact");
+       me.TD(me, 1, 3, e = makeXonoticRadioButton(1, "chase_active", "1", _("3rd person perspective")));
+       makeMulti(e, "crosshair_hittest_showimpact");
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Back distance")));
-               setDependent(e, "chase_active", 1, 1);
-               me.TD(me, 1, 2, e = makeXonoticSlider(10, 100, 1, "chase_back"));
-               setDependent(e, "chase_active", 1, 1);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Back distance")));
+       setDependent(e, "chase_active", 1, 1);
+       me.TD(me, 1, 2, e = makeXonoticSlider(10, 100, 1, "chase_back"));
+       setDependent(e, "chase_active", 1, 1);
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Up distance")));
-               setDependent(e, "chase_active", 1, 1);
-               me.TD(me, 1, 2, e = makeXonoticSlider(10, 50, 1, "chase_up"));
-               setDependent(e, "chase_active", 1, 1);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Up distance")));
+       setDependent(e, "chase_active", 1, 1);
+       me.TD(me, 1, 2, e = makeXonoticSlider(10, 50, 1, "chase_up"));
+       setDependent(e, "chase_active", 1, 1);
        me.TR(me);
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox(1, "cl_clippedspectating", _("Allow passing through walls while spectating")));
+       me.TD(me, 1, 3, e = makeXonoticCheckBox(1, "cl_clippedspectating", _("Allow passing through walls while spectating")));
 
-       me.gotoRC(me, 0, 3.2); me.setFirstColumn(me, me.currentColumn);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Field of view:")));
-               me.TD(me, 1, 2, e = makeXonoticSlider_T(60, 130, 5, "fov",
+       me.gotoRC(me, 0, 3.2);
+       me.setFirstColumn(me, me.currentColumn);
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Field of view:")));
+       me.TD(me, 1, 2, e = makeXonoticSlider_T(60, 130, 5, "fov",
                        _("Field of vision in degrees (default: 100)")));
        me.TR(me);
        me.TR(me);
-               //me.TDempty(me, 0.2);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, ZCTX(_("ZOOM^Zoom factor:"))));
-               me.TD(me, 1, 2, e = makeXonoticSlider_T(2, 30, 0.5, "cl_zoomfactor",
+       // me.TDempty(me, 0.2);
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, ZCTX(_("ZOOM^Zoom factor:"))));
+       me.TD(me, 1, 2, e = makeXonoticSlider_T(2, 30, 0.5, "cl_zoomfactor",
                        _("How big the zoom factor is when the zoom button is pressed")));
        me.TR(me);
-               //me.TDempty(me, 0.2);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, ZCTX(_("ZOOM^Zoom speed:"))));
-               me.TD(me, 1, 2, e = makeXonoticTextSlider_T("cl_zoomspeed",
+       // me.TDempty(me, 0.2);
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, ZCTX(_("ZOOM^Zoom speed:"))));
+       me.TD(me, 1, 2, e = makeXonoticTextSlider_T("cl_zoomspeed",
                        _("How fast the view will be zoomed, disable to zoom instantly")));
-                       e.addValue(e, "1", "1"); // Samual: for() loop doesn't work here, even though it would make sense.
-                       e.addValue(e, "2", "2");
-                       e.addValue(e, "3", "3");
-                       e.addValue(e, "4", "4");
-                       e.addValue(e, "5", "5");
-                       e.addValue(e, "6", "6");
-                       e.addValue(e, "7", "7");
-                       e.addValue(e, "8", "8");
-                       e.addValue(e, ZCTX(_("ZOOM^Instant")), "-1");
-                       e.configureXonoticTextSliderValues(e);
-       me.TR(me);
-               //me.TDempty(me, 0.2);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, ZCTX(_("ZOOM^Zoom sensitivity:"))));
-               me.TD(me, 1, 2, e = makeXonoticSlider_T(0, 1, 0.1, "cl_zoomsensitivity",
+       e.addValue(e, "1", "1"); // Samual: for() loop doesn't work here, even though it would make sense.
+       e.addValue(e, "2", "2");
+       e.addValue(e, "3", "3");
+       e.addValue(e, "4", "4");
+       e.addValue(e, "5", "5");
+       e.addValue(e, "6", "6");
+       e.addValue(e, "7", "7");
+       e.addValue(e, "8", "8");
+       e.addValue(e, ZCTX(_("ZOOM^Instant")), "-1");
+       e.configureXonoticTextSliderValues(e);
+       me.TR(me);
+       // me.TDempty(me, 0.2);
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, ZCTX(_("ZOOM^Zoom sensitivity:"))));
+       me.TD(me, 1, 2, e = makeXonoticSlider_T(0, 1, 0.1, "cl_zoomsensitivity",
                        _("How zoom changes sensitivity, from 0 (lower sensitivity) to 1 (no sensitivity change)")));
        me.TR(me);
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticCheckBox(0, "cl_velocityzoom_enabled", _("Velocity zoom")));
-               me.TD(me, 1, 2, e = makeXonoticCheckBoxEx(3, 1, "cl_velocityzoom_type", _("Forward movement only")));
-                       setDependent(e, "cl_velocityzoom_enabled", 1, 1);
+       me.TD(me, 1, 1, e = makeXonoticCheckBox(0, "cl_velocityzoom_enabled", _("Velocity zoom")));
+       me.TD(me, 1, 2, e = makeXonoticCheckBoxEx(3, 1, "cl_velocityzoom_type", _("Forward movement only")));
+       setDependent(e, "cl_velocityzoom_enabled", 1, 1);
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, ZCTX(_("VZOOM^Factor"))));
-                       setDependentAND(e, "cl_velocityzoom_enabled", 1, 1, "cl_velocityzoom_type", 1, 3);
-               me.TD(me, 1, 2, e = makeXonoticSlider(-1, 1, 0.1, "cl_velocityzoom_factor"));
-                       setDependentAND(e, "cl_velocityzoom_enabled", 1, 1, "cl_velocityzoom_type", 1, 3);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, ZCTX(_("VZOOM^Factor"))));
+       setDependentAND(e, "cl_velocityzoom_enabled", 1, 1, "cl_velocityzoom_type", 1, 3);
+       me.TD(me, 1, 2, e = makeXonoticSlider(-1, 1, 0.1, "cl_velocityzoom_factor"));
+       setDependentAND(e, "cl_velocityzoom_enabled", 1, 1, "cl_velocityzoom_type", 1, 3);
        me.TR(me);
        me.TR(me);
-               //me.TDempty(me, 0.2);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_reticle", _("Display reticle 2D overlay while zooming")));
+       // me.TDempty(me, 0.2);
+       me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_reticle", _("Display reticle 2D overlay while zooming")));
        me.TR(me);
-               //me.TDempty(me, 0.2);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "cl_unpress_zoom_on_death", _("Release zoom when you die or respawn"), "-"));
-                       makeMulti(e, "cl_unpress_zoom_on_spawn");
+       // me.TDempty(me, 0.2);
+       me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "cl_unpress_zoom_on_death", _("Release zoom when you die or respawn"), "-"));
+       makeMulti(e, "cl_unpress_zoom_on_spawn");
        me.TR(me);
-               //me.TDempty(me, 0.2);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_unpress_zoom_on_weapon_switch", _("Release zoom when you switch weapons")));
+       // me.TDempty(me, 0.2);
+       me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_unpress_zoom_on_weapon_switch", _("Release zoom when you switch weapons")));
 }
index 1d75ecb49b39b0b2ba58293137c3d88051e53b32..8276a6f2540b3d0a73eed139e0b496ce87c79cad 100644 (file)
@@ -25,65 +25,67 @@ void XonoticGameWeaponsSettingsTab_fill(entity me)
        entity weaponsApplyButton = makeXonoticCommandButton(_("Apply immediately"), '0 0 0',
                "sendcvar cl_autoswitch;"
                "sendcvar cl_weaponpriority;"
-               "sendcvar cl_weaponimpulsemode;"
-               COMMANDBUTTON_APPLY);
+               "sendcvar cl_weaponimpulsemode;",
+               COMMANDBUTTON_APPLY);
        weaponsApplyButton.disableOnClick = true;
 
        me.TR(me);
-               me.TDempty(me, 0.25);
-               me.TD(me, 1, 2.5, e = makeXonoticHeaderLabel(_("Weapon Priority List (* = mutator weapon)")));
+       me.TDempty(me, 0.25);
+       me.TD(me, 1, 2.5, e = makeXonoticHeaderLabel(_("Weapon Priority List (* = mutator weapon)")));
        me.TR(me);
-               me.TDempty(me, 0.25);
-               me.TD(me, 9, 2.5, e = me.weaponsList = makeXonoticWeaponsList());
-                       e.applyButton = weaponsApplyButton;
+       me.TDempty(me, 0.25);
+       me.TD(me, 9, 2.5, e = me.weaponsList = makeXonoticWeaponsList());
+       e.applyButton = weaponsApplyButton;
        me.gotoRC(me, 10, 0.25);
-               me.TD(me, 1, 1.25, e = makeXonoticButton(_("Up"), '0 0 0'));
-                       e.onClick = WeaponsList_MoveUp_Click;
-                       e.onClickEntity = me.weaponsList;
-                       e.applyButton = weaponsApplyButton;
-               me.TD(me, 1, 1.25, e = makeXonoticButton(_("Down"), '0 0 0'));
-                       e.onClick = WeaponsList_MoveDown_Click;
-                       e.onClickEntity = me.weaponsList;
-                       e.applyButton = weaponsApplyButton;
+       me.TD(me, 1, 1.25, e = makeXonoticButton(_("Up"), '0 0 0'));
+       e.onClick = WeaponsList_MoveUp_Click;
+       e.onClickEntity = me.weaponsList;
+       e.applyButton = weaponsApplyButton;
+       me.TD(me, 1, 1.25, e = makeXonoticButton(_("Down"), '0 0 0'));
+       e.onClick = WeaponsList_MoveDown_Click;
+       e.onClickEntity = me.weaponsList;
+       e.applyButton = weaponsApplyButton;
 
-       me.gotoRC(me, 0, 3); me.setFirstColumn(me, me.currentColumn);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "cl_weaponpriority_useforcycling", _("Use priority list for weapon cycling"),
+       me.gotoRC(me, 0, 3);
+       me.setFirstColumn(me, me.currentColumn);
+       me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "cl_weaponpriority_useforcycling", _("Use priority list for weapon cycling"),
                        _("Make use of the list above when cycling through weapons with the mouse wheel")));
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox(1, "cl_weaponimpulsemode", _("Cycle through only usable weapon selections")));
-                       e.applyButton = weaponsApplyButton;
+       me.TD(me, 1, 3, e = makeXonoticCheckBox(1, "cl_weaponimpulsemode", _("Cycle through only usable weapon selections")));
+       e.applyButton = weaponsApplyButton;
        me.TR(me);
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "cl_autoswitch", _("Auto switch weapons on pickup"),
+       me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "cl_autoswitch", _("Auto switch weapons on pickup"),
                        _("Automatically switch to newly picked up weapons if they are better than what you are carrying")));
-                       e.applyButton = weaponsApplyButton;
+       e.applyButton = weaponsApplyButton;
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_unpress_attack_on_weapon_switch", _("Release attack buttons when you switch weapons")));
+       me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_unpress_attack_on_weapon_switch", _("Release attack buttons when you switch weapons")));
        me.TR(me);
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "r_drawviewmodel", _("Draw 1st person weapon model"),
+       me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "r_drawviewmodel", _("Draw 1st person weapon model"),
                        _("Draw the weapon model")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 0.9, e = makeXonoticRadioButton_T(1, "cl_gunalign", "4", _("Left align"),
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 0.9, e = makeXonoticRadioButton_T(1, "cl_gunalign", "4", _("Left align"),
                        _("Position of the weapon model; requires reconnect")));
-                       setDependent(e, "r_drawviewmodel", 1, 1);
-               me.TD(me, 1, 0.9, e = makeXonoticRadioButton_T(1, "cl_gunalign", "1", _("Center"),
+       setDependent(e, "r_drawviewmodel", 1, 1);
+       me.TD(me, 1, 0.9, e = makeXonoticRadioButton_T(1, "cl_gunalign", "1", _("Center"),
                        _("Position of the weapon model; requires reconnect")));
-                       setDependent(e, "r_drawviewmodel", 1, 1);
-               me.TD(me, 1, 1.0, e = makeXonoticRadioButton_T(1, "cl_gunalign", "3", _("Right align"),
+       setDependent(e, "r_drawviewmodel", 1, 1);
+       me.TD(me, 1, 1.0, e = makeXonoticRadioButton_T(1, "cl_gunalign", "3", _("Right align"),
                        _("Position of the weapon model; requires reconnect")));
-                       setDependent(e, "r_drawviewmodel", 1, 1);
+       setDependent(e, "r_drawviewmodel", 1, 1);
        me.TR(me);
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 2.8, e = makeXonoticCheckBox_T(0, "cl_followmodel", _("Gun model swaying"), "-"));
-               makeMulti(e, "cl_leanmodel");
-               setDependent(e, "r_drawviewmodel", 1, 1);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 2.8, e = makeXonoticCheckBox_T(0, "cl_followmodel", _("Gun model swaying"), "-"));
+       makeMulti(e, "cl_leanmodel");
+       setDependent(e, "r_drawviewmodel", 1, 1);
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "cl_bobmodel", _("Gun model bobbing")));
-               setDependent(e, "r_drawviewmodel", 1, 1);
-       me.gotoRC(me, me.rows - 1, 0); me.setFirstColumn(me, me.currentColumn);
-               me.TD(me, 1, me.columns, weaponsApplyButton);
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "cl_bobmodel", _("Gun model bobbing")));
+       setDependent(e, "r_drawviewmodel", 1, 1);
+       me.gotoRC(me, me.rows - 1, 0);
+       me.setFirstColumn(me, me.currentColumn);
+       me.TD(me, 1, me.columns, weaponsApplyButton);
 }
index 7f3af39f878be318dad0a2210eb7291c08b13e39..ed0eaa5f106de3065991bd8529cb180221c2e033 100644 (file)
@@ -22,7 +22,7 @@ void CheckBox_Click_Redisplay(entity me, entity checkbox)
 {
        CheckBox_Click(me, checkbox);
        cmd("\ndefer 0.2 \"togglemenu 1\"\n");
-       //m_display();
+       // m_display();
 }
 void XonoticInputSettingsTab_fill(entity me)
 {
@@ -30,93 +30,86 @@ void XonoticInputSettingsTab_fill(entity me)
        entity kb = makeXonoticKeyBinder();
 
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Key Bindings")));
+       me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Key Bindings")));
        me.TR(me);
-               me.TD(me, me.rows - 3, 3, kb);
+       me.TD(me, me.rows - 3, 3, kb);
        me.gotoRC(me, me.rows - 2, 0);
-               me.TD(me, 1, 1, e = makeXonoticButton(_("Change key..."), '0 0 0'));
-                       e.onClick = KeyBinder_Bind_Change;
-                       e.onClickEntity = kb;
-                       kb.keyGrabButton = e;
-               me.TD(me, 1, 1, e = makeXonoticButton(_("Edit..."), '0 0 0'));
-                       e.onClick = KeyBinder_Bind_Edit;
-                       e.onClickEntity = kb;
-                       kb.userbindEditButton = e;
-                       kb.userbindEditDialog = main.userbindEditDialog;
-                       main.userbindEditDialog.keybindBox = kb;
-               me.TD(me, 1, 1, e = makeXonoticButton(_("Clear"), '0 0 0'));
-                       e.onClick = KeyBinder_Bind_Clear;
-                       e.onClickEntity = kb;
-                       kb.clearButton = e;
+       me.TD(me, 1, 1, e = makeXonoticButton(_("Change key..."), '0 0 0'));
+       e.onClick = KeyBinder_Bind_Change;
+       e.onClickEntity = kb;
+       kb.keyGrabButton = e;
+       me.TD(me, 1, 1, e = makeXonoticButton(_("Edit..."), '0 0 0'));
+       e.onClick = KeyBinder_Bind_Edit;
+       e.onClickEntity = kb;
+       kb.userbindEditButton = e;
+       kb.userbindEditDialog = main.userbindEditDialog;
+       main.userbindEditDialog.keybindBox = kb;
+       me.TD(me, 1, 1, e = makeXonoticButton(_("Clear"), '0 0 0'));
+       e.onClick = KeyBinder_Bind_Clear;
+       e.onClickEntity = kb;
+       kb.clearButton = e;
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticButton(_("Reset all"), '0 0 0'));
-                       e.onClick = KeyBinder_Bind_Reset_All;
-                       e.onClickEntity = kb;
+       me.TD(me, 1, 3, e = makeXonoticButton(_("Reset all"), '0 0 0'));
+       e.onClick = KeyBinder_Bind_Reset_All;
+       e.onClickEntity = kb;
 
-       me.gotoRC(me, 0, 3.2); me.setFirstColumn(me, me.currentColumn);
-               me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Mouse")));
+       me.gotoRC(me, 0, 3.2);
+       me.setFirstColumn(me, me.currentColumn);
+       me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Mouse")));
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Sensitivity:")));
-               me.TD(me, 1, 2, e = makeXonoticSlider_T(1, 32, 0.2, "sensitivity",
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Sensitivity:")));
+       me.TD(me, 1, 2, e = makeXonoticSlider_T(1, 32, 0.2, "sensitivity",
                        _("Mouse speed multiplier")));
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "m_filter", _("Smooth aiming"),
+       me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "m_filter", _("Smooth aiming"),
                        _("Smoothes the mouse movement, but makes aiming slightly less responsive")));
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox_T(1.022, "m_pitch", _("Invert aiming"),
+       me.TD(me, 1, 3, e = makeXonoticCheckBox_T(1.022, "m_pitch", _("Invert aiming"),
                        _("Invert mouse movement on the Y-axis")));
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "menu_mouse_absolute", _("Use system mouse positioning"), "-"));
-                       makeMulti(e, "hud_cursormode");
-                       e.onClick = CheckBox_Click_Redisplay;
-                       e.onClickEntity = e;
+       me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "menu_mouse_absolute", _("Use system mouse positioning"), "-"));
+       makeMulti(e, "hud_cursormode");
+       e.onClick = CheckBox_Click_Redisplay;
+       e.onClickEntity = e;
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "m_accelerate", _("Enable built in mouse acceleration")));
+       me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "m_accelerate", _("Enable built in mouse acceleration")));
        me.TR(me);
-               if(cvar_type("vid_dgamouse") & CVAR_TYPEFLAG_ENGINE)
-               {
-                       me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "vid_dgamouse", _("Disable system mouse acceleration"),
+       if (cvar_type("vid_dgamouse") & CVAR_TYPEFLAG_ENGINE) {
+               me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "vid_dgamouse", _("Disable system mouse acceleration"),
                                _("Make use of DGA mouse input")));
-               }
-               else if(cvar_type("apple_mouse_noaccel") & CVAR_TYPEFLAG_ENGINE)
-                       me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "apple_mouse_noaccel", _("Disable system mouse acceleration")));
-               else
-               {
-                       me.TD(me, 1, 3, e = makeXonoticCheckBox(0, string_null, _("Disable system mouse acceleration")));
-                       e.disabled = 1; // the option is never available in this case, just there for show
-               }
+       } else if (cvar_type("apple_mouse_noaccel") & CVAR_TYPEFLAG_ENGINE) {
+               me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "apple_mouse_noaccel", _("Disable system mouse acceleration")));
+       } else {
+               me.TD(me, 1, 3, e = makeXonoticCheckBox(0, string_null, _("Disable system mouse acceleration")));
+               e.disabled = 1; // the option is never available in this case, just there for show
+       }
 
        me.TR(me);
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Other")));
+       me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Other")));
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "con_closeontoggleconsole", _("Pressing \"enter console\" key also closes it"),
+       me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "con_closeontoggleconsole", _("Pressing \"enter console\" key also closes it"),
                        _("Allow the console toggling bind to also close the console")));
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox(1, "cl_movement_track_canjump", _("Automatically repeat jumping if holding jump")));
-                       e.sendCvars = true;
+       me.TD(me, 1, 3, e = makeXonoticCheckBox(1, "cl_movement_track_canjump", _("Automatically repeat jumping if holding jump")));
+       e.sendCvars = true;
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Jetpack on jump:")));
-               me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_jetpack_jump"));
-                       e.addValue(e, ZCTX(_("JPJUMP^Disabled")), "0");
-                       e.addValue(e, _("Air only"), "1");
-                       e.addValue(e, ZCTX(_("JPJUMP^All")), "2");
-                       e.configureXonoticTextSliderValues(e);
-                       e.sendCvars = true;
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Jetpack on jump:")));
+       me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_jetpack_jump"));
+       e.addValue(e, ZCTX(_("JPJUMP^Disabled")), "0");
+       e.addValue(e, _("Air only"), "1");
+       e.addValue(e, ZCTX(_("JPJUMP^All")), "2");
+       e.configureXonoticTextSliderValues(e);
+       e.sendCvars = true;
        me.TR(me);
-               if(cvar_type("joy_enable") & CVAR_TYPEFLAG_ENGINE)
-               {
-                       me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "joy_enable", _("Use joystick input")));
-                       setDependent(e, "joy_detected", 1, 10000000);
-               }
-               else if(cvar_type("joystick") & CVAR_TYPEFLAG_ENGINE)
-               {
-                       me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "joystick", _("Use joystick input")));
-                       setDependent(e, "joy_detected", 1, 10000000);
-               }
-               else
-               {
-                       me.TD(me, 1, 3, e = makeXonoticCheckBox(0, string_null, _("Use joystick input")));
-                       e.disabled = 1; // the option is never available in this case, just there for show
-               }
+       if (cvar_type("joy_enable") & CVAR_TYPEFLAG_ENGINE) {
+               me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "joy_enable", _("Use joystick input")));
+               setDependent(e, "joy_detected", 1, 10000000);
+       } else if (cvar_type("joystick") & CVAR_TYPEFLAG_ENGINE) {
+               me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "joystick", _("Use joystick input")));
+               setDependent(e, "joy_detected", 1, 10000000);
+       } else {
+               me.TD(me, 1, 3, e = makeXonoticCheckBox(0, string_null, _("Use joystick input")));
+               e.disabled = 1; // the option is never available in this case, just there for show
+       }
 }
index 040908298976dd5784f3b7708ba6af6ae2d9e530..c4cd60379cd20397a503330385da491bdb4d4313 100644 (file)
@@ -5,6 +5,6 @@ CLASS(XonoticInputSettingsTab, XonoticTab)
        METHOD(XonoticInputSettingsTab, fill, void(entity));
        ATTRIB(XonoticInputSettingsTab, intendedWidth, float, 0.9);
        ATTRIB(XonoticInputSettingsTab, rows, float, 15.5);
-       ATTRIB(XonoticInputSettingsTab, columns, float, 6.2);  // added extra .2 for center space
+       ATTRIB(XonoticInputSettingsTab, columns, float, 6.2); // added extra .2 for center space
 ENDCLASS(XonoticInputSettingsTab)
 entity makeXonoticInputSettingsTab();
index d8d5e7e18d3ef8aede3cfb5750a12722f39357ad..83d3db04dcedbb5dfa90b90e4a7d655b97cc811a 100644 (file)
@@ -14,30 +14,30 @@ void XonoticUserbindEditDialog_Save(entity btn, entity me)
 void XonoticUserbindEditDialog_loadUserBind(entity me, string theName, string theCommandPress, string theCommandRelease)
 {
        me.nameBox.setText(me.nameBox, theName);
-               me.nameBox.keyDown(me.nameBox, K_END, 0, 0);
+       me.nameBox.keyDown(me.nameBox, K_END, 0, 0);
        me.commandPressBox.setText(me.commandPressBox, theCommandPress);
-               me.nameBox.keyDown(me.commandPressBox, K_END, 0, 0);
+       me.nameBox.keyDown(me.commandPressBox, K_END, 0, 0);
        me.commandReleaseBox.setText(me.commandReleaseBox, theCommandRelease);
-               me.nameBox.keyDown(me.commandReleaseBox, K_END, 0, 0);
+       me.nameBox.keyDown(me.commandReleaseBox, K_END, 0, 0);
 }
 
 void XonoticUserbindEditDialog_fill(entity me)
 {
        entity e;
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Name:")));
-               me.TD(me, 1, me.columns - 1, me.nameBox = makeXonoticInputBox(0, string_null));
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Name:")));
+       me.TD(me, 1, me.columns - 1, me.nameBox = makeXonoticInputBox(0, string_null));
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Command when pressed:")));
-               me.TD(me, 1, me.columns - 1, me.commandPressBox = makeXonoticInputBox(0, string_null));
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Command when pressed:")));
+       me.TD(me, 1, me.columns - 1, me.commandPressBox = makeXonoticInputBox(0, string_null));
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Command when released:")));
-               me.TD(me, 1, me.columns - 1, me.commandReleaseBox = makeXonoticInputBox(0, string_null));
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Command when released:")));
+       me.TD(me, 1, me.columns - 1, me.commandReleaseBox = makeXonoticInputBox(0, string_null));
        me.TR(me);
-               me.TD(me, 1, me.columns / 2, e = makeXonoticButton(_("Save"), '0 0 0'));
-                       e.onClick = XonoticUserbindEditDialog_Save;
-                       e.onClickEntity = me;
-               me.TD(me, 1, me.columns / 2, e = makeXonoticButton(_("Cancel"), '0 0 0'));
-                       e.onClick = Dialog_Close;
-                       e.onClickEntity = me;
+       me.TD(me, 1, me.columns / 2, e = makeXonoticButton(_("Save"), '0 0 0'));
+       e.onClick = XonoticUserbindEditDialog_Save;
+       e.onClickEntity = me;
+       me.TD(me, 1, me.columns / 2, e = makeXonoticButton(_("Cancel"), '0 0 0'));
+       e.onClick = Dialog_Close;
+       e.onClickEntity = me;
 }
index 594b581fe4408d16351225406971870bcda9c2e2..8fea82e7c714e89914b6c1a35b33612f574f66a1 100644 (file)
@@ -21,141 +21,141 @@ entity makeXonoticMiscSettingsTab()
 void XonoticMiscSettingsTab_fill(entity me)
 {
        entity e;
-       //entity sk;
+       // entity sk;
 
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Network")));
+       me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Network")));
        me.TR(me);
-               me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Client UDP port:")));
-               me.TD(me, 1, 1.5, e = makeXonoticInputBox_T(0, "cl_port",
+       me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Client UDP port:")));
+       me.TD(me, 1, 1.5, e = makeXonoticInputBox_T(0, "cl_port",
                        _("Force client to use chosen port unless it is set to 0")));
        me.TR(me);
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Bandwidth:")));
-               me.TD(me, 1, 2, e = makeXonoticTextSlider_T("_cl_rate",
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Bandwidth:")));
+       me.TD(me, 1, 2, e = makeXonoticTextSlider_T("_cl_rate",
                        _("Specify your network speed")));
-                       e.addValue(e, _("56k"), "4000");
-                       e.addValue(e, _("ISDN"), "7000");
-                       e.addValue(e, _("Slow ADSL"), "15000");
-                       e.addValue(e, _("Fast ADSL"), "20000");
-                       e.addValue(e, _("Broadband"), "66666");
-                       e.configureXonoticTextSliderValues(e);
-       me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Input packets/s:")));
-               me.TD(me, 1, 2, e = makeXonoticSlider_T(20, 100, 5, "cl_netfps",
+       e.addValue(e, _("56k"), "4000");
+       e.addValue(e, _("ISDN"), "7000");
+       e.addValue(e, _("Slow ADSL"), "15000");
+       e.addValue(e, _("Fast ADSL"), "20000");
+       e.addValue(e, _("Broadband"), "66666");
+       e.configureXonoticTextSliderValues(e);
+       me.TR(me);
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Input packets/s:")));
+       me.TD(me, 1, 2, e = makeXonoticSlider_T(20, 100, 5, "cl_netfps",
                        _("How many input packets to send to the server each second")));
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Server queries/s:")));
-               me.TD(me, 1, 2, e = makeXonoticSlider(20, 100, 10, "net_slist_queriespersecond"));
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Server queries/s:")));
+       me.TD(me, 1, 2, e = makeXonoticSlider(20, 100, 10, "net_slist_queriespersecond"));
        me.TR(me);
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Downloads:")));
-               me.TD(me, 1, 2, e = makeXonoticSlider_T(1, 5, 1, "cl_curl_maxdownloads",
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Downloads:")));
+       me.TD(me, 1, 2, e = makeXonoticSlider_T(1, 5, 1, "cl_curl_maxdownloads",
                        _("Maximum number of concurrent HTTP/FTP downloads")));
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Download speed:")));
-               me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_curl_maxspeed"));
-               ADDVALUE_SPEED_KB(50);
-               ADDVALUE_SPEED_KB(100);
-               ADDVALUE_SPEED_KB(300);
-               ADDVALUE_SPEED_KB(500);
-               ADDVALUE_SPEED_MB(1, 1000);
-               ADDVALUE_SPEED_MB(2, 2000);
-               e.addValue(e, strzone(_("Unlimited")), "0");
-               e.configureXonoticTextSliderValues(e);
-       me.TR(me);
-               if(cvar("developer"))
-               {
-                       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Local latency:")));
-                       me.TD(me, 1, 2, e = makeXonoticSlider(0, 1000, 25, "cl_netlocalping"));
-               }
-       me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "shownetgraph", _("Show netgraph"),
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Download speed:")));
+       me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_curl_maxspeed"));
+       ADDVALUE_SPEED_KB(50);
+       ADDVALUE_SPEED_KB(100);
+       ADDVALUE_SPEED_KB(300);
+       ADDVALUE_SPEED_KB(500);
+       ADDVALUE_SPEED_MB(1, 1000);
+       ADDVALUE_SPEED_MB(2, 2000);
+       e.addValue(e, strzone(_("Unlimited")), "0");
+       e.configureXonoticTextSliderValues(e);
+       me.TR(me);
+       if (cvar("developer")) {
+               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Local latency:")));
+               me.TD(me, 1, 2, e = makeXonoticSlider(0, 1000, 25, "cl_netlocalping"));
+       }
+       me.TR(me);
+       me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "shownetgraph", _("Show netgraph"),
                        _("Show a graph of packet sizes and other information")));
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_movement", _("Client-side movement prediction")));
-       me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_movement_errorcompensation", _("Movement error compensation")));
-               setDependent(e, "cl_movement", 1, 1);
-       me.TR(me);
-               if(cvar_type("crypto_aeslevel") & CVAR_TYPEFLAG_ENGINE)
-                       me.TD(me, 1, 3, e = makeXonoticCheckBoxEx(2, 1, "crypto_aeslevel", _("Use encryption (AES) when available"))); // TODO: move up
-
-       me.gotoRC(me, 0, 3.2); me.setFirstColumn(me, me.currentColumn);
-               me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Framerate")));
-       me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Maximum:")));
-               me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_maxfps"));
-                       ADDVALUE_FPS(30);
-                       ADDVALUE_FPS(40);
-                       ADDVALUE_FPS(50);
-                       ADDVALUE_FPS(60);
-                       ADDVALUE_FPS(70);
-                       ADDVALUE_FPS(80);
-                       ADDVALUE_FPS(100);
-                       ADDVALUE_FPS(125);
-                       ADDVALUE_FPS(150);
-                       ADDVALUE_FPS(200);
-                       e.addValue(e, ZCTX(_("MAXFPS^Unlimited")), "0");
-                       e.configureXonoticTextSliderValues(e);
-       me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Target:")));
-               me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_minfps"));
-                       e.addValue(e, ZCTX(_("TRGT^Disabled")), "0");
-                       ADDVALUE_FPS(30);
-                       ADDVALUE_FPS(40);
-                       ADDVALUE_FPS(50);
-                       ADDVALUE_FPS(60);
-                       ADDVALUE_FPS(80);
-                       ADDVALUE_FPS(100);
-                       ADDVALUE_FPS(125);
-                       ADDVALUE_FPS(150);
-                       ADDVALUE_FPS(200);
-                       e.configureXonoticTextSliderValues(e);
-       me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Idle limit:")));
-               me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_maxidlefps"));
-                       ADDVALUE_FPS(10);
-                       ADDVALUE_FPS(20);
-                       ADDVALUE_FPS(30);
-                       ADDVALUE_FPS(60);
-                       e.addValue(e, ZCTX(_("IDLFPS^Unlimited")), "0");
-                       e.configureXonoticTextSliderValues(e);
-       me.TR(me);
-       me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_maxfps_alwayssleep", _("Save processing time for other apps")));
-               setDependent(e, "cl_maxfps", 1, 1000);
-       me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "showfps", _("Show frames per second"),
+       me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_movement", _("Client-side movement prediction")));
+       me.TR(me);
+       me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_movement_errorcompensation", _("Movement error compensation")));
+       setDependent(e, "cl_movement", 1, 1);
+       me.TR(me);
+       if (cvar_type("crypto_aeslevel") & CVAR_TYPEFLAG_ENGINE) {
+               me.TD(me, 1, 3, e = makeXonoticCheckBoxEx(2, 1, "crypto_aeslevel", _("Use encryption (AES) when available"))); // TODO: move up
+       }
+       me.gotoRC(me, 0, 3.2);
+       me.setFirstColumn(me, me.currentColumn);
+       me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Framerate")));
+       me.TR(me);
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Maximum:")));
+       me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_maxfps"));
+       ADDVALUE_FPS(30);
+       ADDVALUE_FPS(40);
+       ADDVALUE_FPS(50);
+       ADDVALUE_FPS(60);
+       ADDVALUE_FPS(70);
+       ADDVALUE_FPS(80);
+       ADDVALUE_FPS(100);
+       ADDVALUE_FPS(125);
+       ADDVALUE_FPS(150);
+       ADDVALUE_FPS(200);
+       e.addValue(e, ZCTX(_("MAXFPS^Unlimited")), "0");
+       e.configureXonoticTextSliderValues(e);
+       me.TR(me);
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Target:")));
+       me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_minfps"));
+       e.addValue(e, ZCTX(_("TRGT^Disabled")), "0");
+       ADDVALUE_FPS(30);
+       ADDVALUE_FPS(40);
+       ADDVALUE_FPS(50);
+       ADDVALUE_FPS(60);
+       ADDVALUE_FPS(80);
+       ADDVALUE_FPS(100);
+       ADDVALUE_FPS(125);
+       ADDVALUE_FPS(150);
+       ADDVALUE_FPS(200);
+       e.configureXonoticTextSliderValues(e);
+       me.TR(me);
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Idle limit:")));
+       me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_maxidlefps"));
+       ADDVALUE_FPS(10);
+       ADDVALUE_FPS(20);
+       ADDVALUE_FPS(30);
+       ADDVALUE_FPS(60);
+       e.addValue(e, ZCTX(_("IDLFPS^Unlimited")), "0");
+       e.configureXonoticTextSliderValues(e);
+       me.TR(me);
+       me.TR(me);
+       me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_maxfps_alwayssleep", _("Save processing time for other apps")));
+       setDependent(e, "cl_maxfps", 1, 1000);
+       me.TR(me);
+       me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "showfps", _("Show frames per second"),
                        _("Show your rendered frames per second")));
        me.TR(me);
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Other")));
+       me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Other")));
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Menu tooltips:")));
-               me.TD(me, 1, 2, e = makeXonoticTextSlider_T("menu_tooltips",
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Menu tooltips:")));
+       me.TD(me, 1, 2, e = makeXonoticTextSlider_T("menu_tooltips",
                        _("Menu tooltips: disabled, standard or advanced (also shows cvar or console command bound to the menu item)")));
-                       e.addValue(e, ZCTX(_("TLTIP^Disabled")), "0");
-                       e.addValue(e, ZCTX(_("TLTIP^Standard")), "1");
-                       e.addValue(e, ZCTX(_("TLTIP^Advanced")), "2");
-                       e.configureXonoticTextSliderValues(e);
+       e.addValue(e, ZCTX(_("TLTIP^Disabled")), "0");
+       e.addValue(e, ZCTX(_("TLTIP^Standard")), "1");
+       e.addValue(e, ZCTX(_("TLTIP^Advanced")), "2");
+       e.configureXonoticTextSliderValues(e);
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "showtime", _("Show current date and time"),
+       me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "showtime", _("Show current date and time"),
                        _("Show current date and time of day, useful on screenshots")));
-                       makeMulti(e, "showdate");
+       makeMulti(e, "showdate");
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "developer", _("Enable developer mode")));
+       me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "developer", _("Enable developer mode")));
 
        me.TR(me);
-               me.TDempty(me, 0.5);
-               me.TD(me, 1, 2, e = makeXonoticButton_T(_("Advanced settings..."), '0 0 0',
+       me.TDempty(me, 0.5);
+       me.TD(me, 1, 2, e = makeXonoticButton_T(_("Advanced settings..."), '0 0 0',
                        _("Advanced settings where you can tweak every single variable of the game")));
-                       e.onClick = DialogOpenButton_Click;
-                       e.onClickEntity = main.cvarsDialog;
+       e.onClick = DialogOpenButton_Click;
+       e.onClickEntity = main.cvarsDialog;
        me.TR(me);
-               me.TDempty(me, 0.5);
-               me.TD(me, 1, 2, e = makeXonoticButton(_("Factory reset"), '0 0 0'));
-                       e.onClick = DialogOpenButton_Click;
-                       e.onClickEntity = main.resetDialog;
+       me.TDempty(me, 0.5);
+       me.TD(me, 1, 2, e = makeXonoticButton(_("Factory reset"), '0 0 0'));
+       e.onClick = DialogOpenButton_Click;
+       e.onClickEntity = main.resetDialog;
 }
 #undef ADDVALUE_FPS
index f35e0d22db2633a47e34043eda73d04819769a04..904c93f2a9a18b5047c6338fd9c19f6190c148a7 100644 (file)
@@ -13,66 +13,65 @@ void XonoticCvarsDialog_showNotify(entity me)
 }
 void XonoticCvarsDialog_fill(entity me) // in this dialog, use SKINCOLOR_CVARLIST_CONTROLS to color ALL controls
 {
-
        entity e, cvarlist;
 
        cvarlist = makeXonoticCvarList();
 
        cvarlist.color =
                cvarlist.colorF =
-               cvarlist.color2 =
-               cvarlist.colorC =
-               SKINCOLOR_CVARLIST_CONTROLS;
+                       cvarlist.color2 =
+                               cvarlist.colorC =
+                                       SKINCOLOR_CVARLIST_CONTROLS;
 
        // todo:
        // add button which does cvar_resettodefaults_saveonly
 
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Cvar filter:")));
-               me.TD(me, 1, 3, e = makeXonoticInputBox(0, string_null));
-                       e.color = e.colorF = SKINCOLOR_CVARLIST_CONTROLS;
-                       e.cb_color = e.cb_colorC = e.cb_colorF = SKINCOLOR_CVARLIST_CONTROLS;
-                       e.onChange = CvarList_Filter_Change;
-                       e.onChangeEntity = cvarlist;
-                       cvarlist.controlledTextbox = e; // this COULD also be the Value box, but this leads to accidentally editing stuff
-               me.TD(me, 1, 2, e = makeXonoticCheckBox(0, "menu_cvarlist_onlymodified", _("Modified cvars only")));
-                       e.color = e.colorC = e.colorF = e.colorD = SKINCOLOR_CVARLIST_CONTROLS;
-                       e.onClickEntity = cvarlist;
-                       e.onClick = CvarList_Filter_ModifiedCvars;
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Cvar filter:")));
+       me.TD(me, 1, 3, e = makeXonoticInputBox(0, string_null));
+       e.color = e.colorF = SKINCOLOR_CVARLIST_CONTROLS;
+       e.cb_color = e.cb_colorC = e.cb_colorF = SKINCOLOR_CVARLIST_CONTROLS;
+       e.onChange = CvarList_Filter_Change;
+       e.onChangeEntity = cvarlist;
+       cvarlist.controlledTextbox = e; // this COULD also be the Value box, but this leads to accidentally editing stuff
+       me.TD(me, 1, 2, e = makeXonoticCheckBox(0, "menu_cvarlist_onlymodified", _("Modified cvars only")));
+       e.color = e.colorC = e.colorF = e.colorD = SKINCOLOR_CVARLIST_CONTROLS;
+       e.onClickEntity = cvarlist;
+       e.onClick = CvarList_Filter_ModifiedCvars;
        me.TR(me);
-               me.TD(me, me.rows - me.currentRow - 9, me.columns, cvarlist);
+       me.TD(me, me.rows - me.currentRow - 9, me.columns, cvarlist);
        me.gotoRC(me, me.rows - 8, 0);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Setting:")));
-               me.TD(me, 1, me.columns - 1, e = makeXonoticTextLabel(0, string_null));
-                       cvarlist.cvarNameBox = e;
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Setting:")));
+       me.TD(me, 1, me.columns - 1, e = makeXonoticTextLabel(0, string_null));
+       cvarlist.cvarNameBox = e;
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Type:")));
-               me.TD(me, 1, me.columns - 1, e = makeXonoticTextLabel(0, string_null));
-                       cvarlist.cvarTypeBox = e;
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Type:")));
+       me.TD(me, 1, me.columns - 1, e = makeXonoticTextLabel(0, string_null));
+       cvarlist.cvarTypeBox = e;
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Value:")));
-               me.TD(me, 1, me.columns - 2, e = makeXonoticInputBox(0, string_null));
-                       cvarlist.cvarValueBox = e;
-                       e.color = e.colorF = SKINCOLOR_CVARLIST_CONTROLS;
-                       e.cb_color = e.cb_colorC = e.cb_colorF = SKINCOLOR_CVARLIST_CONTROLS;
-                       e.onChange = CvarList_Value_Change;
-                       e.onChangeEntity = cvarlist;
-                       e.onEnter = CvarList_End_Editing;
-                       e.onEnterEntity = cvarlist;
-               me.TD(me, 1, 1, e = makeXonoticButton(string_null, SKINCOLOR_CVARLIST_CONTROLS));
-                       cvarlist.cvarDefaultBox = e;
-                       e.onClick = CvarList_Revert_Click;
-                       e.onClickEntity = cvarlist;
-                       e.allowCut = 1;
-                       e.marginLeft = e.marginRight = 0.5;
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Value:")));
+       me.TD(me, 1, me.columns - 2, e = makeXonoticInputBox(0, string_null));
+       cvarlist.cvarValueBox = e;
+       e.color = e.colorF = SKINCOLOR_CVARLIST_CONTROLS;
+       e.cb_color = e.cb_colorC = e.cb_colorF = SKINCOLOR_CVARLIST_CONTROLS;
+       e.onChange = CvarList_Value_Change;
+       e.onChangeEntity = cvarlist;
+       e.onEnter = CvarList_End_Editing;
+       e.onEnterEntity = cvarlist;
+       me.TD(me, 1, 1, e = makeXonoticButton(string_null, SKINCOLOR_CVARLIST_CONTROLS));
+       cvarlist.cvarDefaultBox = e;
+       e.onClick = CvarList_Revert_Click;
+       e.onClickEntity = cvarlist;
+       e.allowCut = 1;
+       e.marginLeft = e.marginRight = 0.5;
        me.TR(me);
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Description:")));
-               me.TD(me, 1, me.columns - 1, e = makeXonoticTextLabel(0, string_null));
-                       cvarlist.cvarDescriptionBox = e;
-                       e.allowWrap = 1;
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Description:")));
+       me.TD(me, 1, me.columns - 1, e = makeXonoticTextLabel(0, string_null));
+       cvarlist.cvarDescriptionBox = e;
+       e.allowWrap = 1;
        me.gotoRC(me, me.rows - 1, 0);
-               me.TD(me, 1, me.columns, e = makeXonoticButton(_("OK"), SKINCOLOR_CVARLIST_CONTROLS));
-                       e.onClick = Dialog_Close;
-                       e.onClickEntity = me;
+       me.TD(me, 1, me.columns, e = makeXonoticButton(_("OK"), SKINCOLOR_CVARLIST_CONTROLS));
+       e.onClick = Dialog_Close;
+       e.onClickEntity = me;
 }
index d3ba0e4206f92cc453f4ec32b9aad91123a6f43f..b5d57f2dbb9e8385beb9dd1082b5740835499d17 100644 (file)
@@ -8,13 +8,13 @@ void XonoticResetDialog_fill(entity me)
 {
        entity e;
        me.TR(me);
-               me.TD(me, 1, 2, makeXonoticTextLabel(0.5, _("Are you sure you want to reset all settings?")));
+       me.TD(me, 1, 2, makeXonoticTextLabel(0.5, _("Are you sure you want to reset all settings?")));
        me.TR(me);
-               me.TD(me, 1, 2, makeXonoticTextLabel(0.5, _("This will create a backup config in your data directory")));
+       me.TD(me, 1, 2, makeXonoticTextLabel(0.5, _("This will create a backup config in your data directory")));
        me.TR(me);
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticCommandButton(_("Yes"), '1 0 0', "saveconfig backup.cfg\n;\n exec defaultXonotic.cfg\n", 0));
-               me.TD(me, 1, 1, e = makeXonoticButton(_("No"), '0 1 0'));
-                       e.onClick = Dialog_Close;
-                       e.onClickEntity = me;
+       me.TD(me, 1, 1, e = makeXonoticCommandButton(_("Yes"), '1 0 0', "saveconfig backup.cfg\n;\n exec defaultXonotic.cfg\n", 0));
+       me.TD(me, 1, 1, e = makeXonoticButton(_("No"), '0 1 0'));
+       e.onClick = Dialog_Close;
+       e.onClickEntity = me;
 }
index fc6521c4d2b9a7bd03e9b567ceecb9dd6f9247d2..fe619e225135abef1aa63cf4197c3ce12cfd60c9 100644 (file)
@@ -21,61 +21,63 @@ void XonoticUserSettingsTab_fill(entity me)
        userApplyButton.disableOnClick = true;
 
        me.TR(me);
-               me.TDempty(me, 0.25);
-               me.TD(me, 1, 2.5, e = makeXonoticHeaderLabel(_("Menu Skins")));
+       me.TDempty(me, 0.25);
+       me.TD(me, 1, 2.5, e = makeXonoticHeaderLabel(_("Menu Skins")));
        me.TR(me);
-               me.TDempty(me, 0.25);
-               me.TD(me, me.rows - 3.5, 2.5, sk = makeXonoticSkinList());
+       me.TDempty(me, 0.25);
+       me.TD(me, me.rows - 3.5, 2.5, sk = makeXonoticSkinList());
        me.gotoRC(me, me.rows - 2.5, 0.25);
-               me.TD(me, 1, 2.5, e = makeXonoticButton(_("Set skin"), '0 0 0'));
-                       e.onClick = SetSkin_Click;
-                       e.onClickEntity = sk;
+       me.TD(me, 1, 2.5, e = makeXonoticButton(_("Set skin"), '0 0 0'));
+       e.onClick = SetSkin_Click;
+       e.onClickEntity = sk;
 
        /* AFTER 0.6 RELEASE TODO: Add a listbox which has fonts too, this way user can select the font they want.
        me.gotoRC(me, 0, 2.2); me.setFirstColumn(me, me.currentColumn);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Text language:")));
+           me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Text language:")));
        me.TR(me);
-               me.TD(me, 6, 1, sk = makeXonoticLanguageList());
+           me.TD(me, 6, 1, sk = makeXonoticLanguageList());
        me.TR(me);
        me.TR(me);
        me.TR(me);
        me.TR(me);
        me.TR(me);
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticButton(_("Set language"), '0 0 0'));
-                       e.onClick = SetLanguage_Click;
-                       e.onClickEntity = sk;
+           me.TD(me, 1, 1, e = makeXonoticButton(_("Set language"), '0 0 0'));
+               e.onClick = SetLanguage_Click;
+               e.onClickEntity = sk;
 
        me.gotoRC(me, 0, 3.3); me.setFirstColumn(me, me.currentColumn);
-               me.TD(me, 1, 1.5, e = makeXonoticTextLabel(0, _("Font:")));
+           me.TD(me, 1, 1.5, e = makeXonoticTextLabel(0, _("Font:")));
        me.TR(me);
-               me.TD(me, 2, 1.5, sk = makeXonoticLanguageList());
+           me.TD(me, 2, 1.5, sk = makeXonoticLanguageList());
        me.TR(me);
        me.TR(me);
        me.TR(me);
        me.TR(me);
        me.TR(me);
        me.TR(me);
-               me.TD(me, 1, 1.5, e = makeXonoticButton(_("Set font"), '0 0 0'));
-                       e.onClick = SetLanguage_Click;
-                       e.onClickEntity = sk;*/
+           me.TD(me, 1, 1.5, e = makeXonoticButton(_("Set font"), '0 0 0'));
+               e.onClick = SetLanguage_Click;
+               e.onClickEntity = sk;*/
 
-       me.gotoRC(me, 0, 3.75); me.setFirstColumn(me, me.currentColumn);
-               me.TD(me, 1, 1.5, e = makeXonoticHeaderLabel(_("Text Language")));
+       me.gotoRC(me, 0, 3.75);
+       me.setFirstColumn(me, me.currentColumn);
+       me.TD(me, 1, 1.5, e = makeXonoticHeaderLabel(_("Text Language")));
        me.TR(me);
-               me.TD(me, 8, 1.5, sk = makeXonoticLanguageList());
+       me.TD(me, 8, 1.5, sk = makeXonoticLanguageList());
 
-       me.gotoRC(me, 9, 3.75); me.setFirstColumn(me, me.currentColumn);
-               me.TD(me, 1, 1.5, e = makeXonoticButton(_("Set language"), '0 0 0'));
-                       e.onClick = SetLanguage_Click;
-                       e.onClickEntity = sk;
+       me.gotoRC(me, 9, 3.75);
+       me.setFirstColumn(me, me.currentColumn);
+       me.TD(me, 1, 1.5, e = makeXonoticButton(_("Set language"), '0 0 0'));
+       e.onClick = SetLanguage_Click;
+       e.onClickEntity = sk;
 
-       me.gotoRC(me, 11.5, 3.25); me.setFirstColumn(me, me.currentColumn);
-               me.TD(me, 1, 2.5, e = makeXonoticCheckBox_T(0, "cl_gentle", _("Disable gore effects and harsh language"),
+       me.gotoRC(me, 11.5, 3.25);
+       me.setFirstColumn(me, me.currentColumn);
+       me.TD(me, 1, 2.5, e = makeXonoticCheckBox_T(0, "cl_gentle", _("Disable gore effects and harsh language"),
                        _("Replace blood and gibs with content that does not have any gore effects (default: disabled)")));
-                       e.applyButton = userApplyButton;
+       e.applyButton = userApplyButton;
 
        me.gotoRC(me, me.rows - 1, 0);
-               me.TD(me, 1, 6, userApplyButton);
-
+       me.TD(me, 1, 6, userApplyButton);
 }
index 3cbd15bb41c2506cb96981a1e1b78d28979d3e12..1b8f33fbe896f585db8f6606875f6f87613455fd 100644 (file)
@@ -7,12 +7,12 @@ void XonoticLanguageWarningDialog_fill(entity me)
 {
        entity e;
        me.TR(me);
-               me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("While connected language changes will be applied only to the menu,")));
+       me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("While connected language changes will be applied only to the menu,")));
        me.TR(me);
-               me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("full language changes will take effect starting from the next game")));
+       me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("full language changes will take effect starting from the next game")));
        me.TR(me);
        me.TR(me);
-               // reconnect command doesn't work properly, otherwise it would replace disconnect
-               me.TD(me, 1, 2, e = makeXonoticCommandButton(_("Disconnect now"), '0 0 0', "disconnect", 0));
-               me.TD(me, 1, 2, e = makeXonoticCommandButton(_("Switch language"), '0 0 0', "prvm_language \"$_menu_prvm_language\"; menu_restart; menu_cmd languageselect", 0));
+       // reconnect command doesn't work properly, otherwise it would replace disconnect
+       me.TD(me, 1, 2, e = makeXonoticCommandButton(_("Disconnect now"), '0 0 0', "disconnect", 0));
+       me.TD(me, 1, 2, e = makeXonoticCommandButton(_("Switch language"), '0 0 0', "prvm_language \"$_menu_prvm_language\"; menu_restart; menu_cmd languageselect", 0));
 }
index 8ee51fde97405b4a424ff79f699c3fd6ded25684..c298ea2e633479f7ee77acd26695ccb7239246cd 100644 (file)
@@ -25,153 +25,152 @@ void XonoticVideoSettingsTab_fill(entity me)
                "vid_desktopfullscreen $_menu_vid_desktopfullscreen;"
                "menu_cmd update_conwidths_before_vid_restart;"
                "vid_restart;"
-               "menu_cmd sync;"
-               COMMANDBUTTON_APPLY);
+               "menu_cmd sync;",
+               COMMANDBUTTON_APPLY);
        videoApplyButton.disableOnClick = true;
 
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Resolution:")));
-               me.TD(me, 1, 2, e = makeXonoticResolutionSlider());
-                       e.applyButton = videoApplyButton;
-       me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Font/UI size:")));
-               me.TD(me, 1, 2, e = makeXonoticTextSlider("menu_vid_scale"));
-                       e.addValue(e, ZCTX(_("SZ^Unreadable")), "-1");
-                       e.addValue(e, ZCTX(_("SZ^Tiny")), "-0.75");
-                       e.addValue(e, ZCTX(_("SZ^Little")), "-0.5");
-                       e.addValue(e, ZCTX(_("SZ^Small")), "-0.25");
-                       e.addValue(e, ZCTX(_("SZ^Medium")), "0");
-                       e.addValue(e, ZCTX(_("SZ^Large")), "0.25");
-                       e.addValue(e, ZCTX(_("SZ^Huge")), "0.5");
-                       e.addValue(e, ZCTX(_("SZ^Gigantic")), "0.75");
-                       e.addValue(e, ZCTX(_("SZ^Colossal")), "1");
-                       e.configureXonoticTextSliderValues(e);
-                       e.applyButton = videoApplyButton;
-       me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Color depth:")));
-               me.TD(me, 1, 2, e = makeXonoticTextSlider_T("vid_bitsperpixel",
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Resolution:")));
+       me.TD(me, 1, 2, e = makeXonoticResolutionSlider());
+       e.applyButton = videoApplyButton;
+       me.TR(me);
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Font/UI size:")));
+       me.TD(me, 1, 2, e = makeXonoticTextSlider("menu_vid_scale"));
+       e.addValue(e, ZCTX(_("SZ^Unreadable")), "-1");
+       e.addValue(e, ZCTX(_("SZ^Tiny")), "-0.75");
+       e.addValue(e, ZCTX(_("SZ^Little")), "-0.5");
+       e.addValue(e, ZCTX(_("SZ^Small")), "-0.25");
+       e.addValue(e, ZCTX(_("SZ^Medium")), "0");
+       e.addValue(e, ZCTX(_("SZ^Large")), "0.25");
+       e.addValue(e, ZCTX(_("SZ^Huge")), "0.5");
+       e.addValue(e, ZCTX(_("SZ^Gigantic")), "0.75");
+       e.addValue(e, ZCTX(_("SZ^Colossal")), "1");
+       e.configureXonoticTextSliderValues(e);
+       e.applyButton = videoApplyButton;
+       me.TR(me);
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Color depth:")));
+       me.TD(me, 1, 2, e = makeXonoticTextSlider_T("vid_bitsperpixel",
                        _("How many bits per pixel (BPP) to render at, 32 is recommended")));
-                       e.addValue(e, _("16bit"), "16");
-                       e.addValue(e, _("32bit"), "32");
-                       e.configureXonoticTextSliderValues(e);
-                       e.applyButton = videoApplyButton;
-       me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticCheckBox(0, "vid_fullscreen", _("Full screen")));
-                       e.applyButton = videoApplyButton;
-               me.TD(me, 1, 2, e = makeXonoticCheckBox_T(0, "vid_vsync", _("Vertical Synchronization"),
+       e.addValue(e, _("16bit"), "16");
+       e.addValue(e, _("32bit"), "32");
+       e.configureXonoticTextSliderValues(e);
+       e.applyButton = videoApplyButton;
+       me.TR(me);
+       me.TD(me, 1, 1, e = makeXonoticCheckBox(0, "vid_fullscreen", _("Full screen")));
+       e.applyButton = videoApplyButton;
+       me.TD(me, 1, 2, e = makeXonoticCheckBox_T(0, "vid_vsync", _("Vertical Synchronization"),
                        _("Enable vertical synchronization to prevent tearing, will cap your fps to the screen refresh rate (default: disabled)")));
 
        me.TR(me);
-               if(cvar("developer"))
-               {
-                       me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "v_flipped", _("Flip view horizontally"),
+       if (cvar("developer")) {
+               me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "v_flipped", _("Flip view horizontally"),
                                _("Poor man's left handed mode (default: off)")));
-               }
+       }
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Anisotropy:")));
-               me.TD(me, 1, 2, e = makeXonoticTextSlider_T("gl_texture_anisotropy",
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Anisotropy:")));
+       me.TD(me, 1, 2, e = makeXonoticTextSlider_T("gl_texture_anisotropy",
                        _("Anisotropic filtering quality (default: 1x)")));
-                       e.addValue(e, ZCTX(_("ANISO^Disabled")), "1");
-                       e.addValue(e, _("2x"), "2");
-                       e.addValue(e, _("4x"), "4");
-                       e.addValue(e, _("8x"), "8");
-                       e.addValue(e, _("16x"), "16");
-                       e.configureXonoticTextSliderValues(e);
-       me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Antialiasing:")));
-                       setDependent(e, "r_viewfbo", 0, 0);
-               me.TD(me, 1, 2, e = makeXonoticTextSlider_T("vid_samples",
+       e.addValue(e, ZCTX(_("ANISO^Disabled")), "1");
+       e.addValue(e, _("2x"), "2");
+       e.addValue(e, _("4x"), "4");
+       e.addValue(e, _("8x"), "8");
+       e.addValue(e, _("16x"), "16");
+       e.configureXonoticTextSliderValues(e);
+       me.TR(me);
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Antialiasing:")));
+       setDependent(e, "r_viewfbo", 0, 0);
+       me.TD(me, 1, 2, e = makeXonoticTextSlider_T("vid_samples",
                        _("Enable antialiasing, which smooths the edges of 3D geometry. Note that it might decrease performance by quite a lot (default: disabled)")));
-                       e.addValue(e, ZCTX(_("AA^Disabled")), "1");
-                       e.addValue(e, _("2x"), "2");
-                       e.addValue(e, _("4x"), "4");
-                       e.configureXonoticTextSliderValues(e);
-                       setDependent(e, "r_viewfbo", 0, 0);
-                       e.applyButton = videoApplyButton;
-       me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBoxEx(2, 0, "r_viewfbo", _("High-quality frame buffer")));
-                       setDependent(e, "vid_samples", 1, 1);
+       e.addValue(e, ZCTX(_("AA^Disabled")), "1");
+       e.addValue(e, _("2x"), "2");
+       e.addValue(e, _("4x"), "4");
+       e.configureXonoticTextSliderValues(e);
+       setDependent(e, "r_viewfbo", 0, 0);
+       e.applyButton = videoApplyButton;
+       me.TR(me);
+       me.TD(me, 1, 3, e = makeXonoticCheckBoxEx(2, 0, "r_viewfbo", _("High-quality frame buffer")));
+       setDependent(e, "vid_samples", 1, 1);
 
        me.TR(me);
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Depth first:")));
-               me.TD(me, 1, 2, e = makeXonoticTextSlider_T("r_depthfirst",
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Depth first:")));
+       me.TD(me, 1, 2, e = makeXonoticTextSlider_T("r_depthfirst",
                        _("Eliminate overdraw by rendering a depth-only version of the scene before the normal rendering starts (default: disabled)")));
-                       e.addValue(e, ZCTX(_("DF^Disabled")), "0");
-                       e.addValue(e, ZCTX(_("DF^World")), "1");
-                       e.addValue(e, ZCTX(_("DF^All")), "2");
-                       e.configureXonoticTextSliderValues(e);
+       e.addValue(e, ZCTX(_("DF^Disabled")), "0");
+       e.addValue(e, ZCTX(_("DF^World")), "1");
+       e.addValue(e, ZCTX(_("DF^All")), "2");
+       e.configureXonoticTextSliderValues(e);
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticTextLabel(0, _("Vertex Buffer Objects (VBOs)")));
+       me.TD(me, 1, 3, e = makeXonoticTextLabel(0, _("Vertex Buffer Objects (VBOs)")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 0.9, e = makeXonoticRadioButton(1, "gl_vbo", "0", ZCTX(_("VBO^Off"))));
-               me.TD(me, 1, 1.9, e = makeXonoticRadioButton_T(1, "gl_vbo", "3", _("Vertices, some Tris (compatible)"),
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 0.9, e = makeXonoticRadioButton(1, "gl_vbo", "0", ZCTX(_("VBO^Off"))));
+       me.TD(me, 1, 1.9, e = makeXonoticRadioButton_T(1, "gl_vbo", "3", _("Vertices, some Tris (compatible)"),
                        _("Make use of Vertex Buffer Objects to store static geometry in video memory for faster rendering (default: Vertex and Triangles)")));
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 0.9, e = makeXonoticRadioButton_T(1, "gl_vbo", "2", _("Vertices"),
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 0.9, e = makeXonoticRadioButton_T(1, "gl_vbo", "2", _("Vertices"),
                        _("Make use of Vertex Buffer Objects to store static geometry in video memory for faster rendering (default: Vertex and Triangles)")));
-               me.TD(me, 1, 1.9, e = makeXonoticRadioButton_T(1, "gl_vbo", "1", _("Vertices and Triangles"),
+       me.TD(me, 1, 1.9, e = makeXonoticRadioButton_T(1, "gl_vbo", "1", _("Vertices and Triangles"),
                        _("Make use of Vertex Buffer Objects to store static geometry in video memory for faster rendering (default: Vertex and Triangles)")));
 
-       me.gotoRC(me, 0, 3.2); me.setFirstColumn(me, me.currentColumn);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Brightness:")));
-               me.TD(me, 1, 2, e = makeXonoticSlider_T(0.0, 0.5, 0.02, "v_brightness",
+       me.gotoRC(me, 0, 3.2);
+       me.setFirstColumn(me, me.currentColumn);
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Brightness:")));
+       me.TD(me, 1, 2, e = makeXonoticSlider_T(0.0, 0.5, 0.02, "v_brightness",
                        _("Brightness of black (default: 0)")));
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Contrast:")));
-               me.TD(me, 1, 2, e = makeXonoticSlider_T(1.0, 3.0, 0.05, "v_contrast",
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Contrast:")));
+       me.TD(me, 1, 2, e = makeXonoticSlider_T(1.0, 3.0, 0.05, "v_contrast",
                        _("Brightness of white (default: 1)")));
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Gamma:")));
-                       setDependentAND(e, "vid_gl20", 1, 1, "v_glslgamma", 1, 1);
-               me.TD(me, 1, 2, e = makeXonoticSlider_T(0.5, 2.0, 0.05, "v_gamma",
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Gamma:")));
+       setDependentAND(e, "vid_gl20", 1, 1, "v_glslgamma", 1, 1);
+       me.TD(me, 1, 2, e = makeXonoticSlider_T(0.5, 2.0, 0.05, "v_gamma",
                        _("Inverse gamma correction value, a brightness effect that does not affect white or black (default: 1.125)")));
-                       setDependentAND(e, "vid_gl20", 1, 1, "v_glslgamma", 1, 1);
+       setDependentAND(e, "vid_gl20", 1, 1, "v_glslgamma", 1, 1);
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Contrast boost:")));
-                       setDependentAND(e, "vid_gl20", 1, 1, "v_glslgamma", 1, 1);
-               me.TD(me, 1, 2, e = makeXonoticSlider_T(1.0, 5.0, 0.1, "v_contrastboost",
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Contrast boost:")));
+       setDependentAND(e, "vid_gl20", 1, 1, "v_glslgamma", 1, 1);
+       me.TD(me, 1, 2, e = makeXonoticSlider_T(1.0, 5.0, 0.1, "v_contrastboost",
                        _("By how much to multiply the contrast in dark areas (default: 1)")));
-                       setDependentAND(e, "vid_gl20", 1, 1, "v_glslgamma", 1, 1);
+       setDependentAND(e, "vid_gl20", 1, 1, "v_glslgamma", 1, 1);
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Saturation:")));
-                       setDependent(e, "vid_gl20", 1, 1);
-               me.TD(me, 1, 2, e = makeXonoticSlider_T(0.5, 2.0, 0.05, "r_glsl_saturation",
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Saturation:")));
+       setDependent(e, "vid_gl20", 1, 1);
+       me.TD(me, 1, 2, e = makeXonoticSlider_T(0.5, 2.0, 0.05, "r_glsl_saturation",
                        _("Saturation adjustment (0 = grayscale, 1 = normal, 2 = oversaturated), requires GLSL color control (default: 1)")));
-                       setDependent(e, "vid_gl20", 1, 1);
+       setDependent(e, "vid_gl20", 1, 1);
        me.TR(me);
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, ZCTX(_("LIT^Ambient:"))));
-               me.TD(me, 1, 2, e = makeXonoticSlider_T(0, 20.0, 0.25, "r_ambient",
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, ZCTX(_("LIT^Ambient:"))));
+       me.TD(me, 1, 2, e = makeXonoticSlider_T(0, 20.0, 0.25, "r_ambient",
                        _("Ambient lighting, if set too high it tends to make light on maps look dull and flat (default: 4)")));
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Intensity:")));
-               me.TD(me, 1, 2, e = makeXonoticSlider_T(0.5, 2.0, 0.05, "r_hdr_scenebrightness",
+       me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Intensity:")));
+       me.TD(me, 1, 2, e = makeXonoticSlider_T(0.5, 2.0, 0.05, "r_hdr_scenebrightness",
                        _("Global rendering brightness (default: 1)")));
        me.TR(me);
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "gl_finish", _("Wait for GPU to finish each frame"),
+       me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "gl_finish", _("Wait for GPU to finish each frame"),
                        _("Make the CPU wait for the GPU to finish each frame, can help with some strange input or video lag on some machines (default: disabled)")));
        me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "vid_gl20", _("Use OpenGL 2.0 shaders (GLSL)")));
-                       e.applyButton = videoApplyButton;
+       me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "vid_gl20", _("Use OpenGL 2.0 shaders (GLSL)")));
+       e.applyButton = videoApplyButton;
        me.TR(me);
-               me.TDempty(me, 0.2);
-               me.TD(me, 1, 2.8, e = makeXonoticCheckBox_T(0, "v_glslgamma", _("Use GLSL to handle color control"),
+       me.TDempty(me, 0.2);
+       me.TD(me, 1, 2.8, e = makeXonoticCheckBox_T(0, "v_glslgamma", _("Use GLSL to handle color control"),
                        _("Enable use of GLSL to apply gamma correction, note that it might decrease performance by a lot (default: disabled)")));
-                       setDependent(e, "vid_gl20", 1, 1);
-       if(cvar("developer"))
-       {
+       setDependent(e, "vid_gl20", 1, 1);
+       if (cvar("developer")) {
                me.TR(me);
-                       me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "v_psycho", _("Psycho coloring (easter egg)")));
-                               setDependent(e, "vid_gl20", 1, 1);
+               me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "v_psycho", _("Psycho coloring (easter egg)")));
+               setDependent(e, "vid_gl20", 1, 1);
                me.TR(me);
-                       me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "r_trippy", _("Trippy vertices (easter egg)")));
-                               setDependent(e, "vid_gl20", 1, 1);
+               me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "r_trippy", _("Trippy vertices (easter egg)")));
+               setDependent(e, "vid_gl20", 1, 1);
        }
 
        me.gotoRC(me, me.rows - 1, 0);
-               me.TD(me, 1, me.columns, videoApplyButton);
+       me.TD(me, 1, me.columns, videoApplyButton);
 }
index 61d8a368e0e67edd06003e6b6966fb9525f298fa..90d54929cb2e7abdb36ec7f0fb38597fdad8e994 100644 (file)
@@ -5,7 +5,7 @@ CLASS(XonoticVideoSettingsTab, XonoticTab)
        METHOD(XonoticVideoSettingsTab, fill, void(entity));
        ATTRIB(XonoticVideoSettingsTab, intendedWidth, float, 0.9);
        ATTRIB(XonoticVideoSettingsTab, rows, float, 15.5);
-       ATTRIB(XonoticVideoSettingsTab, columns, float, 6.2);  // added extra .2 for center space
+       ATTRIB(XonoticVideoSettingsTab, columns, float, 6.2); // added extra .2 for center space
        ATTRIB(XonoticVideoSettingsTab, name, string, "videosettings");
 ENDCLASS(XonoticVideoSettingsTab)
 entity makeXonoticVideoSettingsTab();
index 20984034db9c8887cf186ace4ba7be84e0e47a6f..c3e0cbcf24c167c2a0c76a0fffa10ee8c8fa64cf 100644 (file)
@@ -13,41 +13,31 @@ void InstantAction_LoadMap(entity btn, entity dummy)
        cvar_set("timelimit_override", "10");
        cvar_set("g_lms_lives_override", "9");
 
-       if(random() < 0.4) // 40% are DM
-       {
+       if (random() < 0.4) { // 40% are DM
                MapInfo_SwitchGameType(MAPINFO_TYPE_DEATHMATCH);
                pmin = 2;
                pmax = 8;
                pstep = 1;
-       }
-       else if(random() < 0.5) // half of the remaining 60%, i.e. 30%, are CTF
-       {
+       } else if (random() < 0.5) { // half of the remaining 60%, i.e. 30%, are CTF
                MapInfo_SwitchGameType(MAPINFO_TYPE_CTF);
                pmin = 4;
                pmax = 12;
                pstep = 2;
-       }
-       else if(random() < 0.5) // half of the remaining 30%, i.e. 15%, are TDM
-       {
+       } else if (random() < 0.5) { // half of the remaining 30%, i.e. 15%, are TDM
                MapInfo_SwitchGameType(MAPINFO_TYPE_TEAM_DEATHMATCH);
                pmin = 4;
                pmax = 8;
                pstep = 2;
-       }
-       else if(random() < 0.666) // 2/3 of the remaining 15%, i.e. 10%, are KH
-       {
+       } else if (random() < 0.666) { // 2/3 of the remaining 15%, i.e. 10%, are KH
                MapInfo_SwitchGameType(MAPINFO_TYPE_KEYHUNT);
                pmin = 6;
                pmax = 6;
                pstep = 6; // works both for 2 and 3 teams
                // TODO find team count of map, set pstep=2 or 3, and use 2v2(v2) games at least
-       }
-       else // somehow distribute the remaining 5%
-       {
+       } else { // somehow distribute the remaining 5%
                float r;
                r = floor(random() * 4);
-               switch(r)
-               {
+               switch (r) {
                        default:
                        case 0:
                                MapInfo_SwitchGameType(MAPINFO_TYPE_LMS);
@@ -74,20 +64,18 @@ void InstantAction_LoadMap(entity btn, entity dummy)
                                pmax = 16;
                                pstep = 2;
                                break;
-                       // CA, Freezetag: bot AI does not work, add them once it does
+                               // CA, Freezetag: bot AI does not work, add them once it does
                }
        }
 
        // find random map
        MapInfo_FilterGametype(MapInfo_CurrentGametype(), MapInfo_CurrentFeatures(), MapInfo_RequiredFlags(), MapInfo_ForbiddenFlags(), 0);
        string s;
-       do
-       {
+       do {
                float m;
                m = floor(random() * MapInfo_count);
                s = MapInfo_BSPName_ByID(m);
-       }
-       while(!fexists(sprintf("maps/%s.waypoints", s)));
+       } while (!fexists(sprintf("maps/%s.waypoints", s)));
        MapInfo_LoadMap(s, 1);
 
        // configure bots
@@ -106,33 +94,33 @@ void XonoticSingleplayerDialog_fill(entity me)
        entity e, btnPrev, btnNext, lblTitle;
 
        me.TR(me);
-               me.TDempty(me, (me.columns - 3) / 2);
-               me.TD(me, 2, 3, e = makeXonoticBigButton(_("Instant action! (random map with bots)"), '0 0 0'));
-                       e.onClick = InstantAction_LoadMap;
-                       e.onClickEntity = NULL;
+       me.TDempty(me, (me.columns - 3) / 2);
+       me.TD(me, 2, 3, e = makeXonoticBigButton(_("Instant action! (random map with bots)"), '0 0 0'));
+       e.onClick = InstantAction_LoadMap;
+       e.onClickEntity = NULL;
        me.TR(me);
        me.TR(me);
        me.TR(me);
-               me.TD(me, 1, 1, btnPrev = makeXonoticButton("<<", '0 0 0'));
-               me.TD(me, 1, me.columns - 2, lblTitle = makeXonoticTextLabel(0.5, _("???")));
-               me.TD(me, 1, 1, btnNext = makeXonoticButton(">>", '0 0 0'));
+       me.TD(me, 1, 1, btnPrev = makeXonoticButton("<<", '0 0 0'));
+       me.TD(me, 1, me.columns - 2, lblTitle = makeXonoticTextLabel(0.5, _("???")));
+       me.TD(me, 1, 1, btnNext = makeXonoticButton(">>", '0 0 0'));
        me.TR(me);
-               me.TD(me, me.rows - 6, me.columns, me.campaignBox = makeXonoticCampaignList());
-                       btnPrev.onClick = MultiCampaign_Prev;
-                       btnPrev.onClickEntity = me.campaignBox;
-                       btnNext.onClick = MultiCampaign_Next;
-                       btnNext.onClickEntity = me.campaignBox;
-                       me.campaignBox.buttonNext = btnNext;
-                       me.campaignBox.buttonPrev = btnPrev;
-                       me.campaignBox.labelTitle = lblTitle;
+       me.TD(me, me.rows - 6, me.columns, me.campaignBox = makeXonoticCampaignList());
+       btnPrev.onClick = MultiCampaign_Prev;
+       btnPrev.onClickEntity = me.campaignBox;
+       btnNext.onClick = MultiCampaign_Next;
+       btnNext.onClickEntity = me.campaignBox;
+       me.campaignBox.buttonNext = btnNext;
+       me.campaignBox.buttonPrev = btnPrev;
+       me.campaignBox.labelTitle = lblTitle;
 
        me.gotoRC(me, me.rows - 2, 0);
-               me.TD(me, 1, 2, e = makeXonoticTextLabel(0.5, _("Campaign Difficulty:")));
-               me.TD(me, 1, 1, e = makeXonoticRadioButton(1, "g_campaign_skill", "-2", ZCTX(_("CSKL^Easy"))));
-               me.TD(me, 1, 1, e = makeXonoticRadioButton(1, "g_campaign_skill", "-1", ZCTX(_("CSKL^Medium"))));
-               me.TD(me, 1, 1, e = makeXonoticRadioButton(1, "g_campaign_skill", "0", ZCTX(_("CSKL^Hard"))));
-               me.TR(me);
-               me.TD(me, 1, me.columns, e = makeXonoticButton(_("Start Singleplayer!"), '0 0 0'));
-                       e.onClick = CampaignList_LoadMap;
-                       e.onClickEntity = me.campaignBox;
+       me.TD(me, 1, 2, e = makeXonoticTextLabel(0.5, _("Campaign Difficulty:")));
+       me.TD(me, 1, 1, e = makeXonoticRadioButton(1, "g_campaign_skill", "-2", ZCTX(_("CSKL^Easy"))));
+       me.TD(me, 1, 1, e = makeXonoticRadioButton(1, "g_campaign_skill", "-1", ZCTX(_("CSKL^Medium"))));
+       me.TD(me, 1, 1, e = makeXonoticRadioButton(1, "g_campaign_skill", "0", ZCTX(_("CSKL^Hard"))));
+       me.TR(me);
+       me.TD(me, 1, me.columns, e = makeXonoticButton(_("Start Singleplayer!"), '0 0 0'));
+       e.onClick = CampaignList_LoadMap;
+       e.onClickEntity = me.campaignBox;
 }
index ff81d7d89355d3e45f536ea375030d656141d04f..3d4e91c845fdc1a6fd240db081916017428f5c8a 100644 (file)
@@ -8,12 +8,12 @@ void XonoticWinnerDialog_fill(entity me)
        entity e;
 
        me.TR(me);
-               me.TD(me, me.rows - 2, me.columns, e = makeXonoticImage("/gfx/winner", -1));
+       me.TD(me, me.rows - 2, me.columns, e = makeXonoticImage("/gfx/winner", -1));
 
        me.gotoRC(me, me.rows - 1, 0);
-               me.TD(me, 1, me.columns, e = makeXonoticButton(_("OK"), '0 0 0'));
-                       e.onClick = Dialog_Close;
-                       e.onClickEntity = me;
+       me.TD(me, 1, me.columns, e = makeXonoticButton(_("OK"), '0 0 0'));
+       e.onClick = Dialog_Close;
+       e.onClickEntity = me;
 }
 void XonoticWinnerDialog_focusEnter(entity me)
 {
index b12de7c2958b87d2a104b3845589f7b5c18104de..61c3e594a75f7e2a719adb2fb6a6ef26f9ba65c7 100644 (file)
@@ -19,26 +19,30 @@ void XonoticTeamSelectDialog_showNotify(entity me)
        float teams, nTeams;
        teams = cvar("_teams_available");
        nTeams = 0;
-       me.team1.disabled = !(teams & 1); nTeams += boolean(teams & 1);
-       me.team2.disabled = !(teams & 2); nTeams += boolean(teams & 2);
-       me.team3.disabled = !(teams & 4); nTeams += boolean(teams & 4);
-       me.team4.disabled = !(teams & 8); nTeams += boolean(teams & 8);
+       me.team1.disabled = !(teams & 1);
+       nTeams += boolean(teams & 1);
+       me.team2.disabled = !(teams & 2);
+       nTeams += boolean(teams & 2);
+       me.team3.disabled = !(teams & 4);
+       nTeams += boolean(teams & 4);
+       me.team4.disabled = !(teams & 8);
+       nTeams += boolean(teams & 8);
 }
 
 void XonoticTeamSelectDialog_fill(entity me)
 {
        entity e;
        me.TR(me);
-               me.TD(me, 2, 4, e = makeTeamButton_T(_("join 'best' team (auto-select)"), '0 0 0', "cmd selectteam auto; cmd join",
+       me.TD(me, 2, 4, e = makeTeamButton_T(_("join 'best' team (auto-select)"), '0 0 0', "cmd selectteam auto; cmd join",
                        _("Autoselect team (recommended)")));
-                       e.preferredFocusPriority = 1;
+       e.preferredFocusPriority = 1;
        me.TR(me);
        me.TR(me);
-               me.TD(me, 2, 1, e = me.team1 = makeTeamButton(_("red"), '1 0.5 0.5', "cmd selectteam red; cmd join"));
-               me.TD(me, 2, 1, e = me.team2 = makeTeamButton(_("blue"), '0.5 0.5 1', "cmd selectteam blue; cmd join"));
-               me.TD(me, 2, 1, e = me.team3 = makeTeamButton(_("yellow"), '1 1 0.5', "cmd selectteam yellow; cmd join"));
-               me.TD(me, 2, 1, e = me.team4 = makeTeamButton(_("pink"), '1 0.5 1', "cmd selectteam pink; cmd join"));
+       me.TD(me, 2, 1, e = me.team1 = makeTeamButton(_("red"), '1 0.5 0.5', "cmd selectteam red; cmd join"));
+       me.TD(me, 2, 1, e = me.team2 = makeTeamButton(_("blue"), '0.5 0.5 1', "cmd selectteam blue; cmd join"));
+       me.TD(me, 2, 1, e = me.team3 = makeTeamButton(_("yellow"), '1 1 0.5', "cmd selectteam yellow; cmd join"));
+       me.TD(me, 2, 1, e = me.team4 = makeTeamButton(_("pink"), '1 0.5 1', "cmd selectteam pink; cmd join"));
        me.TR(me);
        me.TR(me);
-               me.TD(me, 1, 4, makeXonoticCommandButton(_("spectate"), '0 0 0', "cmd spectate", 1));
+       me.TD(me, 1, 4, makeXonoticCommandButton(_("spectate"), '0 0 0', "cmd spectate", 1));
 }
index 1cd77b0cad92c1a7db21b8a4a6670705944a33fd..eccd0b1ea9daf17f18155e4778b1d30d4a18dd49 100644 (file)
@@ -7,12 +7,12 @@ void XonoticUid2NameDialog_fill(entity me)
 {
        entity e;
        me.TR(me);
-               me.TD(me, 1, 2, makeXonoticTextLabel(0.5, _("Allow player statistics to use your nickname?")));
+       me.TD(me, 1, 2, makeXonoticTextLabel(0.5, _("Allow player statistics to use your nickname?")));
        me.TR(me);
-               me.TD(me, 1, 2, makeXonoticTextLabel(0.5, _("Answering \"No\" you will appear as \"Anonymous player\"")));
+       me.TD(me, 1, 2, makeXonoticTextLabel(0.5, _("Answering \"No\" you will appear as \"Anonymous player\"")));
        me.TR(me);
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticCommandButton(_("Yes"), '0 0 0', "vyes; setreport cl_allow_uid2name 1", COMMANDBUTTON_CLOSE));
-                       e.preferredFocusPriority = 1;
-               me.TD(me, 1, 1, e = makeXonoticCommandButton(_("No"), '0 0 0', "vno; setreport cl_allow_uid2name 0", COMMANDBUTTON_CLOSE));
+       me.TD(me, 1, 1, e = makeXonoticCommandButton(_("Yes"), '0 0 0', "vyes; setreport cl_allow_uid2name 1", COMMANDBUTTON_CLOSE));
+       e.preferredFocusPriority = 1;
+       me.TD(me, 1, 1, e = makeXonoticCommandButton(_("No"), '0 0 0', "vno; setreport cl_allow_uid2name 0", COMMANDBUTTON_CLOSE));
 }
index a08e4dbbc5fa13dc4eb51680a1bb551a25780fc0..4bcea6a55a7bc54bd2b01cf4fc7ff24d07acbdb4 100644 (file)
@@ -15,10 +15,10 @@ void XonoticGametypeList_configureXonoticGametypeList(entity me)
        me.configureXonoticListBox(me);
        me.nItems = GameType_GetCount();
 
-       if(SKINBOOL_GAMETYPELIST_ICON_BLUR)
-       {
-               for(int i = 0; i < GameType_GetTotalCount(); ++i)
+       if (SKINBOOL_GAMETYPELIST_ICON_BLUR) {
+               for (int i = 0; i < GameType_GetTotalCount(); ++i) {
                        draw_PreloadPictureWithFlags(GameType_GetIcon(i), PRECACHE_PIC_MIPMAP);
+               }
        }
 
        me.loadCvars(me);
@@ -32,16 +32,20 @@ void XonoticGametypeList_loadCvars(entity me)
 {
        Gametype t = MapInfo_CurrentGametype();
        float i;
-       for(i = 0; i < GameType_GetCount(); ++i)
-               if(t == GameType_GetID(i))
+       for (i = 0; i < GameType_GetCount(); ++i) {
+               if (t == GameType_GetID(i)) {
                        break;
-       if(i >= GameType_GetCount())
-       {
-               for(i = 0; i < GameType_GetCount(); ++i)
-                       if(t == MAPINFO_TYPE_DEATHMATCH)
+               }
+       }
+       if (i >= GameType_GetCount()) {
+               for (i = 0; i < GameType_GetCount(); ++i) {
+                       if (t == MAPINFO_TYPE_DEATHMATCH) {
                                break;
-               if(i >= GameType_GetCount())
+                       }
+               }
+               if (i >= GameType_GetCount()) {
                        i = 0;
+               }
        }
        me.setSelected(me, i);
        // do we need this: me.parent.gameTypeChangeNotify(me.parent); // to make sure
@@ -60,8 +64,7 @@ void XonoticGametypeList_saveCvars(entity me)
 }
 void XonoticGametypeList_draw(entity me)
 {
-       if(me.nItems != GameType_GetCount())
-       {
+       if (me.nItems != GameType_GetCount()) {
                me.nItems = GameType_GetCount();
                me.setSelected(me, 0);
        }
@@ -71,10 +74,9 @@ void XonoticGametypeList_drawListBoxItem(entity me, int i, vector absSize, bool
 {
        string s1, s2;
 
-       if(isSelected)
+       if (isSelected) {
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
-       else if(isFocused)
-       {
+       } else if (isFocused) {
                me.focusedItemAlpha = getFadedAlpha(me.focusedItemAlpha, SKINALPHA_LISTBOX_FOCUSED, SKINFADEALPHA_LISTBOX_FOCUSED);
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_FOCUSED, me.focusedItemAlpha);
        }
@@ -82,10 +84,11 @@ void XonoticGametypeList_drawListBoxItem(entity me, int i, vector absSize, bool
        draw_Picture(me.columnIconOrigin * eX, GameType_GetIcon(i), me.columnIconSize * eX + eY, '1 1 1', SKINALPHA_LISTBOX_SELECTED);
        s1 = GameType_GetName(i);
 
-       if(_MapInfo_GetTeamPlayBool(GameType_GetID(i)))
+       if (_MapInfo_GetTeamPlayBool(GameType_GetID(i))) {
                s2 = _("teamplay");
-       else
+       } else {
                s2 = _("free for all");
+       }
 
        vector save_fontscale = draw_fontscale;
        float f = draw_CondensedFontFactor(strcat(s1, " ", s2), false, me.realFontSize, 1);
@@ -111,8 +114,7 @@ void XonoticGametypeList_resizeNotify(entity me, vector relOrigin, vector relSiz
 }
 float XonoticGametypeList_keyDown(entity me, float scan, float ascii, float shift)
 {
-       if(scan == K_ENTER || scan == K_KP_ENTER)
-       {
+       if (scan == K_ENTER || scan == K_KP_ENTER) {
                m_play_click_sound(MENU_SOUND_EXECUTE);
                me.parent.gameTypeSelectNotify(me.parent);
                return 1;
@@ -126,8 +128,9 @@ void XonoticGametypeList_clickListBoxItem(entity me, float i, vector where)
 }
 void XonoticGametypeList_focusedItemChangeNotify(entity me)
 {
-       if(me.focusedItem >= 0)
+       if (me.focusedItem >= 0) {
                setZonedTooltip(me, MapInfo_Type_Description(GameType_GetID(me.focusedItem)), string_null);
-       else
+       } else {
                clearTooltip(me);
+       }
 }
index 66c96046d88e9e4a2b156b2ed2d149188613ab22..2cf647f215e509e0c11bb158776414967be7425d 100644 (file)
@@ -42,34 +42,30 @@ string XonoticHUDSkinList_hudskinAuthor(entity me, float i)
 void getHUDSkinFiles(entity me, int sortbuf, string subdir)
 {
        string s;
-       if(me.filterString)
+       if (me.filterString) {
                s = me.filterString;
-       else
+       } else {
                s = "*";
+       }
        s = strcat(subdir, "hud_", s, ".cfg");
 
        int list = search_begin(s, false, true);
-       if(list >= 0)
-       {
+       if (list >= 0) {
                int n = search_getsize(list);
-               for(int i = 0; i < n; ++i)
-               {
+               for (int i = 0; i < n; ++i) {
                        string s = search_getfilename(list, i);
                        int subdir_ofs = strstrofs(s, "/", 0);
-                       if(subdir_ofs >= 0)
-                       {
+                       if (subdir_ofs >= 0) {
                                int ofs = subdir_ofs;
-                               while(ofs != -1)
-                               {
+                               while (ofs != -1) {
                                        subdir_ofs = ofs;
                                        ofs = strstrofs(s, "/", subdir_ofs + 1);
                                }
                        }
 
-                       if(subdir_ofs == -1)
+                       if (subdir_ofs == -1) {
                                bufstr_add(sortbuf, s, true);
-                       else
-                       {
+                       } else {
                                subdir = substring(s, 0, subdir_ofs);
                                string filename = substring(s, subdir_ofs + 1, -1);
                                // invert path and filename position so we can sort sortbuf by filename
@@ -83,34 +79,33 @@ void getHUDSkinFiles(entity me, int sortbuf, string subdir)
 void getAllHUDSkins(entity me, int sortbuf)
 {
        int n = buf_getsize(sortbuf);
-       for(int i = 0; i < n; ++i)
-       {
+       for (int i = 0; i < n; ++i) {
                string entry = bufstr_get(sortbuf, i);
                int ofs = strstrofs(entry, "/", 0);
                string s = "";
                string filename = entry;
-               if(ofs >= 0)
-               {
+               if (ofs >= 0) {
                        s = substring(entry, ofs + 1, -1); // skip initial "/"
                        s = strcat(s, "/");
                        bufstr_set(me.listHUDSkin, i * HUDSKINPARM_COUNT + HUDSKINPARM_PATH, s);
                        filename = strcat(s, substring(entry, 0, ofs));
-               }
-               else
+               } else {
                        ofs = strlen(entry);
+               }
                s = substring(entry, 4, ofs - 4 - 4); // remove "hud_" prefix and ".cfg" suffix
                bufstr_set(me.listHUDSkin, i * HUDSKINPARM_COUNT + HUDSKINPARM_NAME, s);
 
                int fh = fopen(filename, FILE_READ);
-               if(fh < 0)
+               if (fh < 0) {
                        continue;
-               while((s = fgets(fh)) && substring(s, 0, 2) == "//")
-               {
+               }
+               while ((s = fgets(fh)) && substring(s, 0, 2) == "//") {
                        tokenize_console(substring(s, 2, -1));
-                       if(argv(0) == "title")
+                       if (argv(0) == "title") {
                                bufstr_set(me.listHUDSkin, i * HUDSKINPARM_COUNT + HUDSKINPARM_TITLE, argv(1));
-                       else if(argv(0) == "author")
+                       } else if (argv(0) == "author") {
                                bufstr_set(me.listHUDSkin, i * HUDSKINPARM_COUNT + HUDSKINPARM_AUTHOR, argv(1));
+                       }
                }
                fclose(fh);
        }
@@ -118,11 +113,11 @@ void getAllHUDSkins(entity me, int sortbuf)
 
 void XonoticHUDSkinList_getHUDSkins(entity me)
 {
-       if (me.listHUDSkin >= 0)
+       if (me.listHUDSkin >= 0) {
                buf_del(me.listHUDSkin);
+       }
        me.listHUDSkin = buf_create();
-       if (me.listHUDSkin < 0)
-       {
+       if (me.listHUDSkin < 0) {
                me.nItems = 0;
                return;
        }
@@ -137,8 +132,9 @@ void XonoticHUDSkinList_getHUDSkins(entity me)
 
 void XonoticHUDSkinList_destroy(entity me)
 {
-       if(me.nItems > 0)
+       if (me.nItems > 0) {
                buf_del(me.listHUDSkin);
+       }
 }
 
 void XonoticHUDSkinList_resizeNotify(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize)
@@ -157,20 +153,21 @@ void XonoticHUDSkinList_resizeNotify(entity me, vector relOrigin, vector relSize
 void XonoticHUDSkinList_drawListBoxItem(entity me, int i, vector absSize, bool isSelected, bool isFocused)
 {
        string s, s2;
-       if(isSelected)
+       if (isSelected) {
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
-       else if(isFocused)
-       {
+       } else if (isFocused) {
                me.focusedItemAlpha = getFadedAlpha(me.focusedItemAlpha, SKINALPHA_LISTBOX_FOCUSED, SKINFADEALPHA_LISTBOX_FOCUSED);
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_FOCUSED, me.focusedItemAlpha);
        }
 
        s = me.hudskinTitle(me, i);
-       if(s == "")
+       if (s == "") {
                s = me.hudskinName(me, i);
+       }
        s2 = me.hudskinAuthor(me, i);
-       if(s2 != "")
+       if (s2 != "") {
                s = strcat(s, " (", s2, ")");
+       }
        s = draw_TextShortenToWidth(s, me.columnNameSize, 0, me.realFontSize);
        draw_Text(me.realUpperMargin * eY + (me.columnNameOrigin + 0.00 * (me.columnNameSize - draw_TextWidth(s, 0, me.realFontSize))) * eX, s, me.realFontSize, SKINCOLOR_TEXT, SKINALPHA_TEXT, 1);
 }
@@ -183,34 +180,37 @@ void XonoticHUDSkinList_showNotify(entity me)
 void HUDSkinList_Refresh_Click(entity btn, entity me)
 {
        me.getHUDSkins(me);
-       me.setSelected(me, 0); //always select the first element after a list update
+       me.setSelected(me, 0); // always select the first element after a list update
 }
 
 void HUDSkinList_SavedName_Change(entity box, entity me)
 {
-       if(me.savedName)
+       if (me.savedName) {
                strunzone(me.savedName);
+       }
 
-       if(box.text != "")
+       if (box.text != "") {
                me.savedName = strzone(box.text);
-       else
+       } else {
                me.savedName = string_null;
+       }
 }
 
 void HUDSkinList_Filter_Change(entity box, entity me)
 {
-       if(me.filterString)
+       if (me.filterString) {
                strunzone(me.filterString);
+       }
 
-       if(box.text != "")
-       {
-               if (strstrofs(box.text, "*", 0) >= 0 || strstrofs(box.text, "?", 0) >= 0)
+       if (box.text != "") {
+               if (strstrofs(box.text, "*", 0) >= 0 || strstrofs(box.text, "?", 0) >= 0) {
                        me.filterString = strzone(box.text);
-               else
+               } else {
                        me.filterString = strzone(strcat("*", box.text, "*"));
-       }
-       else
+               }
+       } else {
                me.filterString = string_null;
+       }
 
        me.getHUDSkins(me);
 }
@@ -218,16 +218,16 @@ void HUDSkinList_Filter_Change(entity box, entity me)
 void SaveHUDSkin_Click(entity btn, entity me)
 {
        string s = me.savedName;
-       if(s == "")
+       if (s == "") {
                s = "myconfig";
+       }
        localcmd(sprintf("hud save \"%s\"\n", s));
        me.delayedRefreshTime = time + 1;
 }
 
 void XonoticHUDSkinList_draw(entity me)
 {
-       if(me.delayedRefreshTime > 0 && me.delayedRefreshTime < time)
-       {
+       if (me.delayedRefreshTime > 0 && me.delayedRefreshTime < time) {
                HUDSkinList_Refresh_Click(NULL, me);
                me.delayedRefreshTime = 0;
        }
@@ -253,13 +253,10 @@ void XonoticHUDSkinList_doubleClickListBoxItem(entity me, float i, vector where)
 
 float XonoticHUDSkinList_keyDown(entity me, float scan, float ascii, float shift)
 {
-       if(scan == K_ENTER || scan == K_KP_ENTER)
-       {
+       if (scan == K_ENTER || scan == K_KP_ENTER) {
                me.setHUDSkin(me);
                return 1;
-       }
-       else
-       {
+       } else {
                return SUPER(XonoticHUDSkinList).keyDown(me, scan, ascii, shift);
        }
 }
index 22a7ce71741284dd91f7969c865ffe644a59e157..6645e64f8a0cd4039a92f141bc66b7bac772447b 100644 (file)
@@ -26,27 +26,30 @@ void XonoticInputBox_focusLeave(entity me)
 }
 void XonoticInputBox_setText(entity me, string val)
 {
-       if(me.text != val)
-       {
+       if (me.text != val) {
                SUPER(XonoticInputBox).setText(me, val);
-               if(me.onChange)
+               if (me.onChange) {
                        me.onChange(me, me.onChangeEntity);
-               if(me.saveImmediately)
+               }
+               if (me.saveImmediately) {
                        me.saveCvars(me);
-       }
-       else
+               }
+       } else {
                SUPER(XonoticInputBox).setText(me, val);
+       }
 }
 void XonoticInputBox_loadCvars(entity me)
 {
-       if (!me.cvarName)
+       if (!me.cvarName) {
                return;
+       }
        SUPER(XonoticInputBox).setText(me, cvar_string(me.cvarName));
 }
 void XonoticInputBox_saveCvars(entity me)
 {
-       if (!me.cvarName)
+       if (!me.cvarName) {
                return;
+       }
        cvar_set(me.cvarName, me.text);
        CheckSendCvars(me, me.cvarName);
 }
@@ -54,17 +57,17 @@ float XonoticInputBox_keyDown(entity me, float key, float ascii, float shift)
 {
        float r;
        r = 0;
-       if(key == K_ENTER || key == K_KP_ENTER)
-       {
-               if(me.cvarName)
-               {
+       if (key == K_ENTER || key == K_KP_ENTER) {
+               if (me.cvarName) {
                        me.saveCvars(me);
                        r = 1;
                }
-               if(me.onEnter)
+               if (me.onEnter) {
                        me.onEnter(me, me.onEnterEntity);
+               }
        }
-       if(SUPER(XonoticInputBox).keyDown(me, key, ascii, shift))
+       if (SUPER(XonoticInputBox).keyDown(me, key, ascii, shift)) {
                r = 1;
+       }
        return r;
 }
index 7be855cd9d4667c2f42d05d44561e51e63b14623..dcc301de692630bdfc5f8678ac7d6fac883569f8 100644 (file)
@@ -20,7 +20,7 @@ CLASS(XonoticInputBox, InputBox)
        ATTRIB(XonoticInputBox, alpha, float, SKINALPHA_TEXT);
 
        // Clear button attributes
-       ATTRIB(XonoticInputBox, cb_offset, float, SKINOFFSET_CLEARBUTTON);  // bound to range -1, 0
+       ATTRIB(XonoticInputBox, cb_offset, float, SKINOFFSET_CLEARBUTTON); // bound to range -1, 0
        ATTRIB(XonoticInputBox, cb_src, string, SKINGFX_CLEARBUTTON);
        ATTRIB(XonoticInputBox, cb_color, vector, SKINCOLOR_CLEARBUTTON_N);
        ATTRIB(XonoticInputBox, cb_colorF, vector, SKINCOLOR_CLEARBUTTON_F);
index 6840769d72eb8e63f36cc5a1a440e1a07b8745b6..308be3ba26543990c1b57729976c83bab6620913 100644 (file)
@@ -27,10 +27,9 @@ void XonoticLanguageList_configureXonoticLanguageList(entity me)
 void XonoticLanguageList_drawListBoxItem(entity me, int i, vector absSize, bool isSelected, bool isFocused)
 {
        string s, p;
-       if(isSelected)
+       if (isSelected) {
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
-       else if(isFocused)
-       {
+       } else if (isFocused) {
                me.focusedItemAlpha = getFadedAlpha(me.focusedItemAlpha, SKINALPHA_LISTBOX_FOCUSED, SKINFADEALPHA_LISTBOX_FOCUSED);
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_FOCUSED, me.focusedItemAlpha);
        }
@@ -46,8 +45,7 @@ void XonoticLanguageList_drawListBoxItem(entity me, int i, vector absSize, bool
        draw_fontscale = save_fontscale;
 
        p = me.languageParameter(me, i, LANGPARM_PERCENTAGE);
-       if(p != "")
-       {
+       if (p != "") {
                vector save_fontscale = draw_fontscale;
                float f = draw_CondensedFontFactor(p, false, me.realFontSize, 1);
                draw_fontscale.x *= f;
@@ -84,20 +82,16 @@ void XonoticLanguageList_loadCvars(entity me)
        n = me.nItems;
 
        // default to English
-       for(i = 0; i < n; ++i)
-       {
-               if(me.languageParameter(me, i, LANGPARM_ID) == "en")
-               {
+       for (i = 0; i < n; ++i) {
+               if (me.languageParameter(me, i, LANGPARM_ID) == "en") {
                        SUPER(XonoticLanguageList).setSelected(me, i);
                        break;
                }
        }
 
        // otherwise, find the language
-       for(i = 0; i < n; ++i)
-       {
-               if(me.languageParameter(me, i, LANGPARM_ID) == s)
-               {
+       for (i = 0; i < n; ++i) {
+               if (me.languageParameter(me, i, LANGPARM_ID) == s) {
                        SUPER(XonoticLanguageList).setSelected(me, i);
                        break;
                }
@@ -120,14 +114,13 @@ void XonoticLanguageList_doubleClickListBoxItem(entity me, float i, vector where
 
 float XonoticLanguageList_keyDown(entity me, float scan, float ascii, float shift)
 {
-       if(scan == K_ENTER || scan == K_KP_ENTER)
-       {
+       if (scan == K_ENTER || scan == K_KP_ENTER) {
                m_play_click_sound(MENU_SOUND_EXECUTE);
                me.setLanguage(me);
                return 1;
-       }
-       else
+       } else {
                return SUPER(XonoticLanguageList).keyDown(me, scan, ascii, shift);
+       }
 }
 
 void XonoticLanguageList_destroy(entity me)
@@ -144,17 +137,18 @@ void XonoticLanguageList_getLanguages(entity me)
 
        fh = fopen("languages.txt", FILE_READ);
        i = 0;
-       while((s = fgets(fh)))
-       {
+       while ((s = fgets(fh))) {
                n = tokenize_console(s);
-               if(n < 3)
+               if (n < 3) {
                        continue;
+               }
                bufstr_set(buf, i * LANGPARM_COUNT + LANGPARM_ID, argv(0));
                bufstr_set(buf, i * LANGPARM_COUNT + LANGPARM_NAME, argv(1));
                bufstr_set(buf, i * LANGPARM_COUNT + LANGPARM_NAME_LOCALIZED, argv(2));
                string percent = argv(3);
-               if(percent && percent != "100%")
+               if (percent && percent != "100%") {
                        bufstr_set(buf, i * LANGPARM_COUNT + LANGPARM_PERCENTAGE, percent);
+               }
                ++i;
        }
        fclose(fh);
@@ -165,12 +159,12 @@ void XonoticLanguageList_getLanguages(entity me)
 
 void XonoticLanguageList_setLanguage(entity me)
 {
-       if(prvm_language != cvar_string("_menu_prvm_language"))
-       {
-               if(!(gamestatus & GAME_CONNECTED))
+       if (prvm_language != cvar_string("_menu_prvm_language")) {
+               if (!(gamestatus & GAME_CONNECTED)) {
                        localcmd("\nprvm_language \"$_menu_prvm_language\"; menu_restart; menu_cmd languageselect\n");
-               else
+               } else {
                        DialogOpenButton_Click(me, main.languageWarningDialog);
+               }
        }
 }
 
index daf249e450069f22f6a184c27bab04781dab4f9c..8abd54e1a45e7e78ace216ee90fbca1ca5d623d9 100644 (file)
@@ -18,7 +18,7 @@ CLASS(XonoticLanguageList, XonoticListBox)
        ATTRIB(XonoticLanguageList, columnPercentageSize, float, 0);
 
        METHOD(XonoticLanguageList, doubleClickListBoxItem, void(entity, float, vector));
-       METHOD(XonoticLanguageList, keyDown, float(entity, float, float, float));  // enter handling
+       METHOD(XonoticLanguageList, keyDown, float(entity, float, float, float)); // enter handling
 
        METHOD(XonoticLanguageList, destroy, void(entity));
 
@@ -27,7 +27,7 @@ CLASS(XonoticLanguageList, XonoticListBox)
        METHOD(XonoticLanguageList, setLanguage, void(entity));
        METHOD(XonoticLanguageList, languageParameter, string(entity, float, float));
 
-       ATTRIB(XonoticLanguageList, name, string, "languageselector");  // change this to make it noninteractive (for first run dialog);
+       ATTRIB(XonoticLanguageList, name, string, "languageselector"); // change this to make it noninteractive (for first run dialog);
 ENDCLASS(XonoticLanguageList)
 
 entity makeXonoticLanguageList();
index 111744e9668da9e0b3909f7c97e15c8f01062e72..c7f07215b669ecdb13a89fce6e33ec03f940a88c 100644 (file)
@@ -47,39 +47,44 @@ void XonoticMapList_g_maplistCacheToggle(entity me, float i)
        string a, b, c, s, bspname;
        float n;
        s = me.g_maplistCache;
-       if (!s)
+       if (!s) {
                return;
+       }
        b = substring(s, i, 1);
-       if(b == "0")
+       if (b == "0") {
                b = "1";
-       else if(b == "1")
+       } else if (b == "1") {
                b = "0";
-       else
+       } else {
                return; // nothing happens
+       }
        a = substring(s, 0, i);
-       c = substring(s, i+1, strlen(s) - (i+1));
+       c = substring(s, i + 1, strlen(s) - (i + 1));
        strunzone(s);
        me.g_maplistCache = strzone(strcat(a, b, c));
        // TODO also update the actual cvar
-       if (!((bspname = MapInfo_BSPName_ByID(i))))
+       if (!((bspname = MapInfo_BSPName_ByID(i)))) {
                return;
-       if(b == "1")
+       }
+       if (b == "1") {
                cvar_set("g_maplist", strcat(bspname, " ", cvar_string("g_maplist")));
-       else
-       {
+       } else {
                s = "";
                n = tokenize_console(cvar_string("g_maplist"));
-               for(i = 0; i < n; ++i)
-                       if(argv(i) != bspname)
+               for (i = 0; i < n; ++i) {
+                       if (argv(i) != bspname) {
                                s = strcat(s, " ", argv(i));
+                       }
+               }
                cvar_set("g_maplist", substring(s, 1, strlen(s) - 1));
        }
 }
 
 void XonoticMapList_draw(entity me)
 {
-       if(me.startButton)
+       if (me.startButton) {
                me.startButton.disabled = ((me.selectedItem < 0) || (me.selectedItem >= me.nItems));
+       }
        SUPER(XonoticMapList).draw(me);
 }
 
@@ -104,24 +109,24 @@ void XonoticMapList_resizeNotify(entity me, vector relOrigin, vector relSize, ve
 
 void XonoticMapList_clickListBoxItem(entity me, float i, vector where)
 {
-       if(where.x <= me.columnPreviewOrigin + me.columnPreviewSize)
-               if(where.x >= 0)
-               {
+       if (where.x <= me.columnPreviewOrigin + me.columnPreviewSize) {
+               if (where.x >= 0) {
                        m_play_click_sound(MENU_SOUND_SELECT);
                        me.g_maplistCacheToggle(me, i);
                }
+       }
 }
 
 void XonoticMapList_doubleClickListBoxItem(entity me, float i, vector where)
 {
-       if(where.x >= me.columnNameOrigin)
-               if(where.x <= 1)
-               {
+       if (where.x >= me.columnNameOrigin) {
+               if (where.x <= 1) {
                        // pop up map info screen
                        m_play_click_sound(MENU_SOUND_OPEN);
                        main.mapInfoDialog.loadMapInfo(main.mapInfoDialog, i, me);
                        DialogOpenButton_Click_withCoords(NULL, main.mapInfoDialog, me.origin + eX * (me.columnNameOrigin * me.size.x) + eY * ((me.itemHeight * i - me.scrollPos) * me.size.y), eY * me.itemAbsSize.y + eX * (me.itemAbsSize.x * me.columnNameSize));
                }
+       }
 }
 
 void XonoticMapList_drawListBoxItem(entity me, int i, vector absSize, bool isSelected, bool isFocused)
@@ -131,35 +136,38 @@ void XonoticMapList_drawListBoxItem(entity me, int i, vector absSize, bool isSel
        float theAlpha;
        float included;
 
-       if(!MapInfo_Get_ByID(i))
+       if (!MapInfo_Get_ByID(i)) {
                return;
+       }
 
        included = me.g_maplistCacheQuery(me, i);
-       if(included || isSelected)
+       if (included || isSelected) {
                theAlpha = SKINALPHA_MAPLIST_INCLUDEDFG;
-       else
+       } else {
                theAlpha = SKINALPHA_MAPLIST_NOTINCLUDEDFG;
+       }
 
-       if(isSelected)
+       if (isSelected) {
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
-       else
-       {
-               if(included)
+       } else {
+               if (included) {
                        draw_Fill('0 0 0', '1 1 0', SKINCOLOR_MAPLIST_INCLUDEDBG, SKINALPHA_MAPLIST_INCLUDEDBG);
-               if(isFocused)
-               {
+               }
+               if (isFocused) {
                        me.focusedItemAlpha = getFadedAlpha(me.focusedItemAlpha, SKINALPHA_LISTBOX_FOCUSED, SKINFADEALPHA_LISTBOX_FOCUSED);
                        draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_FOCUSED, me.focusedItemAlpha);
                }
        }
 
-       if(draw_PictureSize(strcat("/maps/", MapInfo_Map_bspname)) == '0 0 0')
+       if (draw_PictureSize(strcat("/maps/", MapInfo_Map_bspname)) == '0 0 0') {
                draw_Picture(me.columnPreviewOrigin * eX, "nopreview_map", me.columnPreviewSize * eX + eY, '1 1 1', theAlpha);
-       else
+       } else {
                draw_Picture(me.columnPreviewOrigin * eX, strcat("/maps/", MapInfo_Map_bspname), me.columnPreviewSize * eX + eY, '1 1 1', theAlpha);
+       }
 
-       if(included)
+       if (included) {
                draw_Picture(me.checkMarkOrigin, "checkmark", me.checkMarkSize, '1 1 1', 1);
+       }
        s = draw_TextShortenToWidth(strdecolorize(MapInfo_Map_titlestring), me.columnNameSize, 0, me.realFontSize);
        draw_Text(me.realUpperMargin1 * eY + (me.columnNameOrigin + 0.00 * (me.columnNameSize - draw_TextWidth(s, 0, me.realFontSize))) * eX, s, me.realFontSize, SKINCOLOR_MAPLIST_TITLE, theAlpha, 0);
        s = draw_TextShortenToWidth(strdecolorize(MapInfo_Map_author), me.columnNameSize, 0,  me.realFontSize);
@@ -175,35 +183,37 @@ void XonoticMapList_refilter(entity me)
        Gametype gt = MapInfo_CurrentGametype();
        int f = MapInfo_CurrentFeatures();
        MapInfo_FilterGametype(gt, f, MapInfo_RequiredFlags(), MapInfo_ForbiddenFlags(), 0);
-       if (me.stringFilter)
+       if (me.stringFilter) {
                MapInfo_FilterString(me.stringFilter);
+       }
        me.nItems = MapInfo_count;
 
-       for(i = 0; i < MapInfo_count; ++i)
+       for (i = 0; i < MapInfo_count; ++i) {
                draw_PreloadPicture(strcat("/maps/", MapInfo_BSPName_ByID(i)));
-       if(me.g_maplistCache)
+       }
+       if (me.g_maplistCache) {
                strunzone(me.g_maplistCache);
+       }
        s = "0";
-       for(i = 1; i < MapInfo_count; i *= 2)
+       for (i = 1; i < MapInfo_count; i *= 2) {
                s = strcat(s, s);
+       }
        n = tokenize_console(cvar_string("g_maplist"));
-       for(i = 0; i < n; ++i)
-       {
+       for (i = 0; i < n; ++i) {
                j = MapInfo_FindName(argv(i));
-               if(j >= 0)
-               {
+               if (j >= 0) {
                        // double check that the two mapnames are "identical", not just share the same prefix
-                       if (strlen(MapInfo_BSPName_ByID(j)) == strlen(argv(i)))
+                       if (strlen(MapInfo_BSPName_ByID(j)) == strlen(argv(i))) {
                                s = strcat(
                                        substring(s, 0, j),
                                        "1",
-                                       substring(s, j+1, MapInfo_count - (j+1))
-                               );
+                                       substring(s, j + 1, MapInfo_count - (j + 1))
+                                       );
+                       }
                }
        }
        me.g_maplistCache = strzone(s);
-       if(gt != me.lastGametype || f != me.lastFeatures)
-       {
+       if (gt != me.lastGametype || f != me.lastFeatures) {
                me.lastGametype = gt;
                me.lastFeatures = f;
                me.setSelected(me, 0);
@@ -217,12 +227,14 @@ void XonoticMapList_refilterCallback(entity me, entity cb)
 
 void MapList_StringFilterBox_Change(entity box, entity me)
 {
-       if(me.stringFilter)
+       if (me.stringFilter) {
                strunzone(me.stringFilter);
-       if(box.text != "")
+       }
+       if (box.text != "") {
                me.stringFilter = strzone(box.text);
-       else
+       } else {
                me.stringFilter = string_null;
+       }
 
        me.refilter(me);
 }
@@ -231,10 +243,10 @@ void MapList_Add_Shown(entity btn, entity me)
 {
        float i, n;
        n = strlen(me.g_maplistCache);
-       for (i = 0 ; i < n; i++)
-       {
-               if (!me.g_maplistCacheQuery(me, i))
+       for (i = 0; i < n; i++) {
+               if (!me.g_maplistCacheQuery(me, i)) {
                        me.g_maplistCacheToggle(me, i);
+               }
        }
        me.refilter(me);
 }
@@ -243,10 +255,10 @@ void MapList_Remove_Shown(entity btn, entity me)
 {
        float i, n;
        n = strlen(me.g_maplistCache);
-       for (i = 0 ; i < n; i++)
-       {
-               if (me.g_maplistCacheQuery(me, i))
+       for (i = 0; i < n; i++) {
+               if (me.g_maplistCacheQuery(me, i)) {
                        me.g_maplistCacheToggle(me, i);
+               }
        }
        me.refilter(me);
 }
@@ -257,8 +269,9 @@ void MapList_Add_All(entity btn, entity me)
        string s;
        _MapInfo_FilterGametype(MAPINFO_TYPE_ALL, 0, 0, MapInfo_ForbiddenFlags(), 0); // all
        s = "";
-       for(i = 0; i < MapInfo_count; ++i)
+       for (i = 0; i < MapInfo_count; ++i) {
                s = strcat(s, " ", MapInfo_BSPName_ByID(i));
+       }
        cvar_set("g_maplist", substring(s, 1, strlen(s) - 1));
        me.refilter(me);
 }
@@ -276,31 +289,28 @@ void MapList_LoadMap(entity btn, entity me)
 
        i = me.selectedItem;
 
-       if(btn.parent.instanceOfXonoticMapInfoDialog)
-       {
+       if (btn.parent.instanceOfXonoticMapInfoDialog) {
                i = btn.parent.currentMapIndex;
                Dialog_Close(btn, btn.parent);
        }
 
-       if(i >= me.nItems || i < 0)
+       if (i >= me.nItems || i < 0) {
                return;
+       }
 
        m = MapInfo_BSPName_ByID(i);
-       if (!m)
-       {
+       if (!m) {
                LOG_INFO(_("Huh? Can't play this (m is NULL). Refiltering so this won't happen again."));
                me.refilter(me);
                return;
        }
-       if(MapInfo_CheckMap(m))
-       {
+       if (MapInfo_CheckMap(m)) {
                localcmd("\nmenu_loadmap_prepare\n");
-               if(cvar("menu_use_default_hostname"))
+               if (cvar("menu_use_default_hostname")) {
                        localcmd("hostname \"", sprintf(_("%s's Xonotic Server"), strdecolorize(cvar_string("_cl_name"))), "\"\n");
+               }
                MapInfo_LoadMap(m, 1);
-       }
-       else
-       {
+       } else {
                LOG_INFO(_("Huh? Can't play this (invalid game type). Refiltering so this won't happen again."));
                me.refilter(me);
                return;
@@ -310,79 +320,66 @@ void MapList_LoadMap(entity btn, entity me)
 float XonoticMapList_keyDown(entity me, float scan, float ascii, float shift)
 {
        string ch, save;
-       if(me.nItems <= 0)
+       if (me.nItems <= 0) {
                return SUPER(XonoticMapList).keyDown(me, scan, ascii, shift);
-       if(scan == K_MOUSE2 || scan == K_SPACE || scan == K_ENTER || scan == K_KP_ENTER)
-       {
+       }
+       if (scan == K_MOUSE2 || scan == K_SPACE || scan == K_ENTER || scan == K_KP_ENTER) {
                // pop up map info screen
                m_play_click_sound(MENU_SOUND_OPEN);
                main.mapInfoDialog.loadMapInfo(main.mapInfoDialog, me.selectedItem, me);
                DialogOpenButton_Click_withCoords(NULL, main.mapInfoDialog, me.origin + eX * (me.columnNameOrigin * me.size.x) + eY * ((me.itemHeight * me.selectedItem - me.scrollPos) * me.size.y), eY * me.itemAbsSize.y + eX * (me.itemAbsSize.x * me.columnNameSize));
-       }
-       else if(scan == K_MOUSE3 || scan == K_INS || scan == K_KP_INS)
-       {
+       } else if (scan == K_MOUSE3 || scan == K_INS || scan == K_KP_INS) {
                m_play_click_sound(MENU_SOUND_SELECT);
                me.g_maplistCacheToggle(me, me.selectedItem);
-       }
-       else if(ascii == 43) // +
-       {
-               if (!me.g_maplistCacheQuery(me, me.selectedItem))
-               {
+       } else if (ascii == 43) { // +
+               if (!me.g_maplistCacheQuery(me, me.selectedItem)) {
                        m_play_click_sound(MENU_SOUND_SELECT);
                        me.g_maplistCacheToggle(me, me.selectedItem);
                }
-       }
-       else if(ascii == 45) // -
-       {
-               if(me.g_maplistCacheQuery(me, me.selectedItem))
-               {
+       } else if (ascii == 45) { // -
+               if (me.g_maplistCacheQuery(me, me.selectedItem)) {
                        m_play_click_sound(MENU_SOUND_SELECT);
                        me.g_maplistCacheToggle(me, me.selectedItem);
                }
-       }
-       else if(scan == K_BACKSPACE)
-       {
-               if(time < me.typeToSearchTime)
-               {
+       } else if (scan == K_BACKSPACE) {
+               if (time < me.typeToSearchTime) {
                        save = substring(me.typeToSearchString, 0, strlen(me.typeToSearchString) - 1);
-                       if(me.typeToSearchString)
+                       if (me.typeToSearchString) {
                                strunzone(me.typeToSearchString);
+                       }
                        me.typeToSearchString = strzone(save);
                        me.typeToSearchTime = time + 0.5;
-                       if(strlen(me.typeToSearchString))
-                       {
+                       if (strlen(me.typeToSearchString)) {
                                MapInfo_FindName(me.typeToSearchString);
-                               if(MapInfo_FindName_firstResult >= 0)
+                               if (MapInfo_FindName_firstResult >= 0) {
                                        me.setSelected(me, MapInfo_FindName_firstResult);
+                               }
                        }
                }
-       }
-       else if(ascii >= 32 && ascii != 127)
-       {
+       } else if (ascii >= 32 && ascii != 127) {
                ch = chr(ascii);
-               if(time > me.typeToSearchTime)
+               if (time > me.typeToSearchTime) {
                        save = ch;
-               else
+               } else {
                        save = strcat(me.typeToSearchString, ch);
-               if(me.typeToSearchString)
+               }
+               if (me.typeToSearchString) {
                        strunzone(me.typeToSearchString);
+               }
                me.typeToSearchString = strzone(save);
                me.typeToSearchTime = time + 0.5;
                MapInfo_FindName(me.typeToSearchString);
-               if(MapInfo_FindName_firstResult >= 0)
+               if (MapInfo_FindName_firstResult >= 0) {
                        me.setSelected(me, MapInfo_FindName_firstResult);
-       }
-       else if(shift & S_CTRL && scan == 'f') // ctrl-f (as in "F"ind)
-       {
+               }
+       } else if (shift & S_CTRL && scan == 'f') { // ctrl-f (as in "F"ind)
                me.parent.setFocus(me.parent, me.stringFilterBox);
-       }
-       else if(shift & S_CTRL && scan == 'u') // ctrl-u (remove stringFilter line
-       {
+       } else if (shift & S_CTRL && scan == 'u') { // ctrl-u (remove stringFilter line
                me.stringFilterBox.setText(me.stringFilterBox, "");
                MapList_StringFilterBox_Change(me.stringFilterBox, me);
-       }
-       else
+       } else {
                return SUPER(XonoticMapList).keyDown(me, scan, ascii, shift);
+       }
        return 1;
 }
 
@@ -390,8 +387,7 @@ float MapList_StringFilterBox_keyDown(entity me, float scan, float ascii, float
 {
        // in this section, note that onChangeEntity has the ref to mapListBox
        // we make use of that, instead of extending a class to add one more attrib
-       switch(scan)
-       {
+       switch (scan) {
                case K_KP_ENTER:
                case K_ENTER:
                        // move the focus to the mapListBox
index 7c2bcacd9f9fcd25d5714db7a774571e1f1c4d8f..6a95a8588f41016f37aa5dd75354153a981e4d54 100644 (file)
@@ -9,8 +9,7 @@ entity makeXonoticNexposee()
 }
 
 void XonoticNexposee_configureXonoticNexposee(entity me)
-{
-}
+{}
 
 void XonoticNexposee_close(entity me)
 {
index c6033050ae6f45d9157b042039788773b67afa72..ef23acfca550bd57e468e632db36348413e6b845 100644 (file)
@@ -18,30 +18,25 @@ entity makeXonoticPlayerList()
 
 void XonoticPlayerList_setPlayerList(entity me, string plist)
 {
-       int buf,i,n;
+       int buf, i, n;
        string s;
 
        buf = buf_create();
        me.nItems = tokenizebyseparator(plist, "\n");
-       for(i = 0; i < me.nItems; ++i)
-       {
+       for (i = 0; i < me.nItems; ++i) {
                bufstr_set(buf, i * PLAYERPARM_COUNT + PLAYERPARM_NAME, argv(i)); // -666 100 "^4Nex ^2Player"
        }
 
-       for(i = 0; i < me.nItems; ++i)
-       {
+       for (i = 0; i < me.nItems; ++i) {
                s = bufstr_get(buf, i * PLAYERPARM_COUNT + PLAYERPARM_NAME);
                n = tokenize_console(s);
 
-               if(n == 4)
-               {
+               if (n == 4) {
                        bufstr_set(buf, i * PLAYERPARM_COUNT + PLAYERPARM_SCORE, argv(0)); // -666
                        bufstr_set(buf, i * PLAYERPARM_COUNT + PLAYERPARM_PING,  argv(1)); // 100
                        bufstr_set(buf, i * PLAYERPARM_COUNT + PLAYERPARM_TEAM,  argv(2)); // 0 for spec, else 1, 2, 3, 4
                        bufstr_set(buf, i * PLAYERPARM_COUNT + PLAYERPARM_NAME,  argv(3)); // ^4Nex ^2Player
-               }
-               else
-               {
+               } else {
                        bufstr_set(buf, i * PLAYERPARM_COUNT + PLAYERPARM_SCORE, argv(0)); // -666
                        bufstr_set(buf, i * PLAYERPARM_COUNT + PLAYERPARM_PING,  argv(1)); // 100
                        bufstr_set(buf, i * PLAYERPARM_COUNT + PLAYERPARM_TEAM,  "-1");
@@ -81,33 +76,34 @@ void XonoticPlayerList_drawListBoxItem(entity me, int i, vector absSize, bool is
        vector rgb;
 
        t = stof(me.getPlayerList(me, i, PLAYERPARM_TEAM));
-       if(t == 1)
+       if (t == 1) {
                rgb = colormapPaletteColor(4, 0);
-       else if(t == 2)
+       } else if (t == 2) {
                rgb = colormapPaletteColor(13, 0);
-       else if(t == 3)
+       } else if (t == 3) {
                rgb = colormapPaletteColor(12, 0);
-       else if(t == 4)
+       } else if (t == 4) {
                rgb = colormapPaletteColor(9, 0);
-       else
+       } else {
                rgb = SKINCOLOR_TEXT;
+       }
 
        s = me.getPlayerList(me, i, PLAYERPARM_NAME);
        score = me.getPlayerList(me, i, PLAYERPARM_SCORE);
 
-       if(substring(score, strlen(score) - 10, 10) == ":spectator")
-       {
+       if (substring(score, strlen(score) - 10, 10) == ":spectator") {
                score = _("spectator");
-       }
-       else
-       {
-               if((t = strstrofs(score, ":", 0)) >= 0)
+       } else {
+               if ((t = strstrofs(score, ":", 0)) >= 0) {
                        score = substring(score, 0, t);
-               if((t = strstrofs(score, ",", 0)) >= 0)
+               }
+               if ((t = strstrofs(score, ",", 0)) >= 0) {
                        score = substring(score, 0, t);
+               }
 
-               if(stof(score) == FRAGS_SPECTATOR)
+               if (stof(score) == FRAGS_SPECTATOR) {
                        score = _("spectator");
+               }
        }
 
        s = draw_TextShortenToWidth(s, me.columnNameSize, 1, me.realFontSize);
index c912ba3a72c49bf40ff49c24ee5eaa199a1efb5f..30175f92d1c13720b551c51d556389b83a93922a 100644 (file)
@@ -33,16 +33,15 @@ void XonoticPlayList_resizeNotify(entity me, vector relOrigin, vector relSize, v
 void XonoticPlayList_addToPlayList(entity me, string track)
 {
        me.nItems = tokenize_console(cvar_string("music_playlist_list0"));
-       if(me.nItems == 0)
-       {
+       if (me.nItems == 0) {
                cvar_set("music_playlist_list0", track);
                return;
        }
        float i;
-       for(i = 0; i < me.nItems; ++i)
-       {
-               if(argv(i) == track)
+       for (i = 0; i < me.nItems; ++i) {
+               if (argv(i) == track) {
                        return; // track is already in playlist
+               }
        }
        cvar_set("music_playlist_list0", strcat(cvar_string("music_playlist_list0"), " ", track));
 }
@@ -52,20 +51,20 @@ void XonoticPlayList_removeSelectedFromPlayList(entity me)
        float i, cpt = false;
        string s = "";
        me.nItems = tokenize_console(cvar_string("music_playlist_list0"));
-       if(me.nItems == 0)
+       if (me.nItems == 0) {
                return;
-       for(i = 0; i < me.nItems; ++i)
-       {
-               if(i == me.selectedItem)
-               {
-                       if(i == me.nItems - 1)
+       }
+       for (i = 0; i < me.nItems; ++i) {
+               if (i == me.selectedItem) {
+                       if (i == me.nItems - 1) {
                                me.setSelected(me, me.selectedItem - 1);
-                       if(cvar("music_playlist_index") == 0 || cvar("music_playlist_index") == 999)
-                       {
-                               if(cvar("music_playlist_current0") == i)
+                       }
+                       if (cvar("music_playlist_index") == 0 || cvar("music_playlist_index") == 999) {
+                               if (cvar("music_playlist_current0") == i) {
                                        cpt = true; // current playing track (we can't start next track here because startSound calls tokenize_console)
-                               else if(cvar("music_playlist_current0") > i)
+                               } else if (cvar("music_playlist_current0") > i) {
                                        cvar_set("music_playlist_current0", ftos(cvar("music_playlist_current0") - 1));
+                               }
                        }
                        continue;
                }
@@ -73,17 +72,16 @@ void XonoticPlayList_removeSelectedFromPlayList(entity me)
        }
        // we must stop the current playing track if it has been removed
        // otherwise pause/play button will resume from another track
-       if(s == "")
-       {
+       if (s == "") {
                cvar_set("music_playlist_list0", "");
-               if(cpt)
+               if (cpt) {
                        me.stopSound(me);
-       }
-       else
-       {
+               }
+       } else {
                cvar_set("music_playlist_list0", substring(s, 1, strlen(s))); // remove initial space
-               if(cpt)
+               if (cpt) {
                        me.startSound(me, 0);
+               }
        }
 }
 
@@ -105,16 +103,15 @@ float XonoticPlayList_mouseDrag(entity me, vector pos)
        i = me.selectedItem;
        f = SUPER(XonoticPlayList).mouseDrag(me, pos);
 
-       if(me.pressed != 1) // don't change priority if the person is just scrolling
-       {
-               if(me.selectedItem != i)
-               {
+       if (me.pressed != 1) { // don't change priority if the person is just scrolling
+               if (me.selectedItem != i) {
                        cvar_set("music_playlist_list0", swapInPriorityList(cvar_string("music_playlist_list0"), me.selectedItem, i));
                        float c = cvar("music_playlist_current0");
-                       if(c == i)
+                       if (c == i) {
                                cvar_set("music_playlist_current0", ftos(me.selectedItem));
-                       else if(c == me.selectedItem)
+                       } else if (c == me.selectedItem) {
                                cvar_set("music_playlist_current0", ftos(i));
+                       }
                }
        }
 
@@ -124,32 +121,32 @@ float XonoticPlayList_mouseDrag(entity me, vector pos)
 void XonoticPlayList_draw(entity me)
 {
        me.nItems = tokenize_console(cvar_string("music_playlist_list0"));
-       if(cvar("music_playlist_index") == 0 || cvar("music_playlist_index") == 999)
+       if (cvar("music_playlist_index") == 0 || cvar("music_playlist_index") == 999) {
                me.playingTrack = cvar("music_playlist_current0");
-       else
+       } else {
                me.playingTrack = -1;
+       }
        SUPER(XonoticPlayList).draw(me);
 }
 
 void XonoticPlayList_drawListBoxItem(entity me, int i, vector absSize, bool isSelected, bool isFocused)
 {
        string s;
-       if(isSelected)
+       if (isSelected) {
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
-       else if(isFocused)
-       {
+       } else if (isFocused) {
                me.focusedItemAlpha = getFadedAlpha(me.focusedItemAlpha, SKINALPHA_LISTBOX_FOCUSED, SKINFADEALPHA_LISTBOX_FOCUSED);
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_FOCUSED, me.focusedItemAlpha);
        }
 
-       if(i == me.playingTrack)
-       {
+       if (i == me.playingTrack) {
                float f = cvar("music_playlist_sampleposition0");
-               if(f <= 0 || (((time * 2) & 1) && f > 0))
+               if (f <= 0 || (((time * 2) & 1) && f > 0)) {
                        draw_Text(me.realUpperMargin * eY + (me.columnNumberOrigin + me.columnNumberSize) * eX, "\xE2\x96\xB6", me.realFontSize, '1 1 1', SKINALPHA_TEXT, 0);
+               }
        }
 
-       s = ftos(i+1);
+       s = ftos(i + 1);
        draw_CenterText(me.realUpperMargin * eY + (me.columnNumberOrigin + 0.5 * me.columnNumberSize) * eX, s, me.realFontSize, '1 1 1', SKINALPHA_TEXT, 0);
 
        s = draw_TextShortenToWidth(argv(i), me.columnNameSize, 0, me.realFontSize);
@@ -160,8 +157,7 @@ void XonoticPlayList_stopSound(entity me)
 {
        // STOP: list 0 is disabled by setting the index to -1
        // we set sampleposition0 to 0 to forget the position that the engine saves in this frame (for this reason we need to wait a frame)
-       if(cvar("music_playlist_index") == 0 || cvar("music_playlist_index") == 999)
-       {
+       if (cvar("music_playlist_index") == 0 || cvar("music_playlist_index") == 999) {
                cvar_set("music_playlist_index", "-1");
                localcmd("\nwait; music_playlist_sampleposition0 0\n");
                localcmd("\ndefer 3 \"cd play $menu_cdtrack\"\n");
@@ -177,23 +173,22 @@ void XonoticPlayList_startSound(entity me, float offset)
 {
        float f;
        me.nItems = tokenize_console(cvar_string("music_playlist_list0"));
-       if(offset)
-       {
-               if(cvar("music_playlist_index") == -1)
+       if (offset) {
+               if (cvar("music_playlist_index") == -1) {
                        return;
+               }
                f = bound(0, cvar("music_playlist_current0") + offset, me.nItems - 1);
-               if(f == cvar("music_playlist_current0"))
+               if (f == cvar("music_playlist_current0")) {
                        return;
-       }
-       else
-       {
+               }
+       } else {
                f = me.selectedItem;
                // if it was paused then resume
-               if(f == cvar("music_playlist_current0"))
-               if(cvar("music_playlist_index") == 999)
-               {
-                       me.resumeSound(me);
-                       return;
+               if (f == cvar("music_playlist_current0")) {
+                       if (cvar("music_playlist_index") == 999) {
+                               me.resumeSound(me);
+                               return;
+                       }
                }
                // if it was not paused then proceed with restart
        }
@@ -225,16 +220,17 @@ void XonoticPlayList_resumeSound(entity me)
 {
        // RESUME: list 0 is enabled by setting the index to 0
        // (we reset sampleposition0 to 0 to mark the track as in playing back state)
-       if(cvar("music_playlist_index") == 999)
+       if (cvar("music_playlist_index") == 999) {
                localcmd("\nmusic_playlist_index 0; wait; music_playlist_sampleposition0 0\n");
+       }
 }
 void XonoticPlayList_pauseSound(entity me)
 {
        // PAUSE: list 0 is disabled by setting the index to 999
        // (we know the track is paused because the engine sets sampleposition0 to remember current position)
-       if(cvar("music_playlist_index") == 0)
+       if (cvar("music_playlist_index") == 0) {
                localcmd("\nmusic_playlist_index 999\n");
-       else me.resumeSound(me);
+       } else { me.resumeSound(me); }
 }
 
 void PauseSound_Click(entity btn, entity me)
@@ -249,18 +245,16 @@ void XonoticPlayList_doubleClickListBoxItem(entity me, float i, vector where)
 
 float XonoticPlayList_keyDown(entity me, float scan, float ascii, float shift)
 {
-       if(scan == K_ENTER || scan == K_KP_ENTER) {
+       if (scan == K_ENTER || scan == K_KP_ENTER) {
                me.startSound(me, 0);
                return 1;
-       }
-       else if(scan == K_SPACE) {
+       } else if (scan == K_SPACE) {
                me.pauseSound(me);
                return 1;
-       }
-       else if(scan == K_DEL || scan == K_KP_DEL || scan == K_BACKSPACE || scan == K_MOUSE3) {
+       } else if (scan == K_DEL || scan == K_KP_DEL || scan == K_BACKSPACE || scan == K_MOUSE3) {
                me.removeSelectedFromPlayList(me);
                return 1;
-       }
-       else
+       } else {
                return SUPER(XonoticPlayList).keyDown(me, scan, ascii, shift);
+       }
 }
index 536ea4f154f1b07d4c9b17afe67f18a2ff176f4d..b17cb007401602cee18c9e84296b0c870214fb41 100644 (file)
@@ -21,32 +21,25 @@ void XonoticRadioButton_configureXonoticRadioButton(entity me, float theGroup, s
 }
 void XonoticRadioButton_setChecked(entity me, float val)
 {
-       if(val != me.checked)
-       {
+       if (val != me.checked) {
                me.checked = val;
                me.saveCvars(me);
        }
 }
 void XonoticRadioButton_loadCvars(entity me)
 {
-       if(me.cvarValue)
-       {
-               if(me.cvarName)
-               {
-                       if(me.cvarValueIsAnotherCvar)
+       if (me.cvarValue) {
+               if (me.cvarName) {
+                       if (me.cvarValueIsAnotherCvar) {
                                me.checked = (cvar_string(me.cvarName) == cvar_string(me.cvarValue));
-                       else
+                       } else {
                                me.checked = (cvar_string(me.cvarName) == me.cvarValue);
+                       }
                }
-       }
-       else
-       {
-               if(me.cvarName)
-               {
+       } else {
+               if (me.cvarName) {
                        me.checked = boolean(cvar(me.cvarName));
-               }
-               else
-               {
+               } else {
                        // this is difficult
                        // this is the "generic" selection... but at this time, not
                        // everything is constructed yet.
@@ -57,44 +50,43 @@ void XonoticRadioButton_loadCvars(entity me)
 }
 void XonoticRadioButton_draw(entity me)
 {
-       if (!me.cvarValue)
-               if (!me.cvarName)
-               {
+       if (!me.cvarValue) {
+               if (!me.cvarName) {
                        // this is the "other" option
                        // always select this if none other is
                        entity e;
                        float found;
                        found = 0;
-                       for(e = me.parent.firstChild; e; e = e.nextSibling)
-                               if(e.group == me.group)
-                                       if(e.checked)
+                       for (e = me.parent.firstChild; e; e = e.nextSibling) {
+                               if (e.group == me.group) {
+                                       if (e.checked) {
                                                found = 1;
-                       if(!found)
+                                       }
+                               }
+                       }
+                       if (!found) {
                                me.setChecked(me, 1);
+                       }
                }
+       }
        SUPER(XonoticRadioButton).draw(me);
 }
 void XonoticRadioButton_saveCvars(entity me)
 {
-       if(me.cvarValue)
-       {
-               if(me.cvarName)
-               {
-                       if(me.checked)
-                       {
-                               if(me.cvarValueIsAnotherCvar)
+       if (me.cvarValue) {
+               if (me.cvarName) {
+                       if (me.checked) {
+                               if (me.cvarValueIsAnotherCvar) {
                                        cvar_set(me.cvarName, cvar_string(me.cvarValue));
-                               else
+                               } else {
                                        cvar_set(me.cvarName, me.cvarValue);
-                       }
-                       else if(me.cvarOffValue)
+                               }
+                       } else if (me.cvarOffValue) {
                                cvar_set(me.cvarName, me.cvarOffValue);
+                       }
                }
-       }
-       else
-       {
-               if(me.cvarName)
-               {
+       } else {
+               if (me.cvarName) {
                        cvar_set(me.cvarName, ftos(me.checked));
                }
        }
index a948ce86f842dfb79d7bf85c631835fcc6bf751b..41a6b99836da0ce6ad4b32516590e8e6cc0dcdbb 100644 (file)
@@ -24,9 +24,9 @@ string XonoticScreenshotList_screenshotName(entity me, float i)
        string s;
        s = bufstr_get(me.listScreenshot, i);
 
-       if(substring(s, 0, 1) == "/")
-               s = substring(s, 1, strlen(s) - 1);  // remove the first forward slash
-
+       if (substring(s, 0, 1) == "/") {
+               s = substring(s, 1, strlen(s) - 1); // remove the first forward slash
+       }
        return s;
 }
 
@@ -34,47 +34,46 @@ string XonoticScreenshotList_screenshotName(entity me, float i)
 void getScreenshots_for_ext(entity me, string ext, float subdir)
 {
        string s;
-       if (subdir)
-               s="screenshots/*/";
-       else
-               s="screenshots/";
-       if(me.filterString)
-               s=strcat(s, me.filterString, ext);
-       else
-               s=strcat(s, "*", ext);
+       if (subdir) {
+               s = "screenshots/*/";
+       } else {
+               s = "screenshots/";
+       }
+       if (me.filterString) {
+               s = strcat(s, me.filterString, ext);
+       } else {
+               s = strcat(s, "*", ext);
+       }
 
        float list, i, n;
        list = search_begin(s, false, true);
-       if(list >= 0)
-       {
+       if (list >= 0) {
                n = search_getsize(list);
-               for(i = 0; i < n; ++i)
-               {
-                       s = search_getfilename(list, i); // get initial full file name
-                       s = substring(s, 12, (strlen(s) - 12 - 4)); // remove "screenshots/" prefix and ".<ext>" suffix
-                       s = strdecolorize(s); // remove any pre-existing colors
-                       if(subdir)
-                       {
-                               s = strreplace("/", "^7/", s); // clear colors at the forward slash
+               for (i = 0; i < n; ++i) {
+                       s = search_getfilename(list, i);                                          // get initial full file name
+                       s = substring(s, 12, (strlen(s) - 12 - 4));                               // remove "screenshots/" prefix and ".<ext>" suffix
+                       s = strdecolorize(s);                                                     // remove any pre-existing colors
+                       if (subdir) {
+                               s = strreplace("/", "^7/", s);                                        // clear colors at the forward slash
                                s = strcat("/", rgb_to_hexcolor(SKINCOLOR_SCREENSHOTLIST_SUBDIR), s); // add a forward slash for sorting, then color
                                bufstr_add(me.listScreenshot, s, true);
-                       }
-                       else { bufstr_add(me.listScreenshot, s, true); }
+                       } else { bufstr_add(me.listScreenshot, s, true); }
                }
                search_end(list);
        }
 
-       if (subdir)
+       if (subdir) {
                getScreenshots_for_ext(me, ext, false);
+       }
 }
 
 void XonoticScreenshotList_getScreenshots(entity me)
 {
-       if (me.listScreenshot >= 0)
+       if (me.listScreenshot >= 0) {
                buf_del(me.listScreenshot);
+       }
        me.listScreenshot = buf_create();
-       if (me.listScreenshot < 0)
-       {
+       if (me.listScreenshot < 0) {
                me.nItems = 0;
                return;
        }
@@ -82,14 +81,16 @@ void XonoticScreenshotList_getScreenshots(entity me)
        getScreenshots_for_ext(me, ".tga", true);
        getScreenshots_for_ext(me, ".png", true);
        me.nItems = buf_getsize(me.listScreenshot);
-       if(me.nItems > 0)
+       if (me.nItems > 0) {
                buf_sort(me.listScreenshot, 128, false);
+       }
 }
 
 void XonoticScreenshotList_destroy(entity me)
 {
-       if(me.nItems > 0)
+       if (me.nItems > 0) {
                buf_del(me.listScreenshot);
+       }
 }
 
 void XonoticScreenshotList_resizeNotify(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize)
@@ -107,17 +108,15 @@ void XonoticScreenshotList_resizeNotify(entity me, vector relOrigin, vector relS
 
 void XonoticScreenshotList_setSelected(entity me, float i)
 {
-       if (me.newSlideShowScreenshotTime)
+       if (me.newSlideShowScreenshotTime) {
                me.startSlideShow(me);
+       }
        float selectedItem_save = me.selectedItem;
        SUPER(XonoticScreenshotList).setSelected(me, i);
-       if (me.pressed && me.selectedItem != selectedItem_save)
-       {
+       if (me.pressed && me.selectedItem != selectedItem_save) {
                // avoid immediate image loading on quick repeated selection changes
                me.newScreenshotTime = time + 0.22;
-       }
-       else if (time > me.newScreenshotTime)
-       {
+       } else if (time > me.newScreenshotTime) {
                me.newScreenshotTime = 0;
                me.previewScreenshot(me); // load the preview on selection change
        }
@@ -126,15 +125,14 @@ void XonoticScreenshotList_setSelected(entity me, float i)
 void XonoticScreenshotList_drawListBoxItem(entity me, int i, vector absSize, bool isSelected, bool isFocused)
 {
        string s;
-       if(isSelected)
+       if (isSelected) {
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
-       else if(isFocused)
-       {
+       } else if (isFocused) {
                me.focusedItemAlpha = getFadedAlpha(me.focusedItemAlpha, SKINALPHA_LISTBOX_FOCUSED, SKINFADEALPHA_LISTBOX_FOCUSED);
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_FOCUSED, me.focusedItemAlpha);
        }
 
-       s = me.screenshotName(me,i);
+       s = me.screenshotName(me, i);
        s = draw_TextShortenToWidth(s, me.columnNameSize, 0, me.realFontSize);
        draw_Text(me.realUpperMargin * eY + (me.columnNameOrigin + 0.00 * (me.columnNameSize - draw_TextWidth(s, 0, me.realFontSize))) * eX, s, me.realFontSize, '1 1 1', SKINALPHA_TEXT, 1);
 }
@@ -148,23 +146,24 @@ void XonoticScreenshotList_showNotify(entity me)
 void ScreenshotList_Refresh_Click(entity btn, entity me)
 {
        me.getScreenshots(me);
-       me.setSelected(me, 0); //always select the first element after a list update
+       me.setSelected(me, 0); // always select the first element after a list update
 }
 
 void ScreenshotList_Filter_Change(entity box, entity me)
 {
-       if(me.filterString)
+       if (me.filterString) {
                strunzone(me.filterString);
+       }
 
-       if(box.text != "")
-       {
-               if (strstrofs(box.text, "*", 0) >= 0 || strstrofs(box.text, "?", 0) >= 0)
+       if (box.text != "") {
+               if (strstrofs(box.text, "*", 0) >= 0 || strstrofs(box.text, "?", 0) >= 0) {
                        me.filterString = strzone(box.text);
-               else
+               } else {
                        me.filterString = strzone(strcat("*", box.text, "*"));
-       }
-       else
+               }
+       } else {
                me.filterString = string_null;
+       }
 
        ScreenshotList_Refresh_Click(NULL, me);
 }
@@ -177,26 +176,21 @@ void ScreenshotList_Filter_Would_Change(entity box, entity me)
 
 void XonoticScreenshotList_draw(entity me)
 {
-       if (me.filterTime && time > me.filterTime)
-       {
+       if (me.filterTime && time > me.filterTime) {
                ScreenshotList_Filter_Change(me.filterBox, me);
                me.filterTime = 0;
        }
-       if (me.newScreenshotTime && time > me.newScreenshotTime)
-       {
+       if (me.newScreenshotTime && time > me.newScreenshotTime) {
                me.previewScreenshot(me);
                me.newScreenshotTime = 0;
-       }
-       else if (me.newSlideShowScreenshotTime && time > me.newSlideShowScreenshotTime)
-       {
-               if (me.selectedItem == me.nItems - 1) //last screenshot?
-               {
+       } else if (me.newSlideShowScreenshotTime && time > me.newSlideShowScreenshotTime) {
+               if (me.selectedItem == me.nItems - 1) { // last screenshot?
                        // restart from the first screenshot
                        me.setSelected(me, 0);
                        me.goScreenshot(me, +0);
-               }
-               else
+               } else {
                        me.goScreenshot(me, +1);
+               }
        }
        SUPER(XonoticScreenshotList).draw(me);
 }
@@ -213,27 +207,30 @@ void XonoticScreenshotList_stopSlideShow(entity me)
 
 void XonoticScreenshotList_goScreenshot(entity me, float d)
 {
-       if(!me.screenshotViewerDialog)
+       if (!me.screenshotViewerDialog) {
                return;
+       }
        me.setSelected(me, me.selectedItem + d);
-       me.screenshotViewerDialog.loadScreenshot(me.screenshotViewerDialog, strcat("/screenshots/", strdecolorize(me.screenshotName(me,me.selectedItem))));
+       me.screenshotViewerDialog.loadScreenshot(me.screenshotViewerDialog, strcat("/screenshots/", strdecolorize(me.screenshotName(me, me.selectedItem))));
 }
 
 void XonoticScreenshotList_startScreenshot(entity me)
 {
-       me.screenshotViewerDialog.loadScreenshot(me.screenshotViewerDialog, strcat("/screenshots/", strdecolorize(me.screenshotName(me,me.selectedItem))));
+       me.screenshotViewerDialog.loadScreenshot(me.screenshotViewerDialog, strcat("/screenshots/", strdecolorize(me.screenshotName(me, me.selectedItem))));
        // pop up screenshot
        DialogOpenButton_Click_withCoords(NULL, me.screenshotViewerDialog, me.origin + eX * (me.columnNameOrigin * me.size.x) + eY * ((me.itemHeight * me.selectedItem - me.scrollPos) * me.size.y), eY * me.itemAbsSize.y + eX * (me.itemAbsSize.x * me.columnNameSize));
 }
 
 void XonoticScreenshotList_previewScreenshot(entity me)
 {
-       if(!me.screenshotBrowserDialog)
+       if (!me.screenshotBrowserDialog) {
                return;
-       if (me.nItems <= 0)
+       }
+       if (me.nItems <= 0) {
                me.screenshotBrowserDialog.loadPreviewScreenshot(me.screenshotBrowserDialog, "");
-       else
-               me.screenshotBrowserDialog.loadPreviewScreenshot(me.screenshotBrowserDialog, strcat("/screenshots/", strdecolorize(me.screenshotName(me,me.selectedItem))));
+       } else {
+               me.screenshotBrowserDialog.loadPreviewScreenshot(me.screenshotBrowserDialog, strcat("/screenshots/", strdecolorize(me.screenshotName(me, me.selectedItem))));
+       }
 }
 
 void StartScreenshot_Click(entity btn, entity me)
@@ -248,7 +245,7 @@ void XonoticScreenshotList_doubleClickListBoxItem(entity me, float i, vector whe
 
 float XonoticScreenshotList_keyDown(entity me, float scan, float ascii, float shift)
 {
-       if(scan == K_ENTER || scan == K_KP_ENTER || scan == K_MOUSE2 || scan == K_SPACE) {
+       if (scan == K_ENTER || scan == K_KP_ENTER || scan == K_MOUSE2 || scan == K_SPACE) {
                me.startScreenshot(me);
                return 1;
        }
index 5e6a567b6af907de399757b63a265675d265d340..b3f44eab483471fd67db8c99ad2b9b8ef769aee5 100644 (file)
@@ -9,66 +9,59 @@
 void RegisterSLCategories()
 {
        entity cat;
-       #define SLIST_CATEGORY(name,enoverride,dioverride,str) \
-               SET_FIELD_COUNT(name, CATEGORY_FIRST, category_ent_count) \
-               CHECK_MAX_COUNT(name, MAX_CATEGORIES, category_ent_count, "SLIST_CATEGORY") \
-               cat = categories[name - 1] = new(slist_category); \
-               cat.cat_name = #name; \
-               cat.cat_enoverride_string = strzone(SLIST_CATEGORY_AUTOCVAR(name)); \
-               cat.cat_dioverride_string = strzone(dioverride); \
-               cat.cat_string = strzone(str);
+#define SLIST_CATEGORY(name, enoverride, dioverride, str) \
+       SET_FIELD_COUNT(name, CATEGORY_FIRST, category_ent_count) \
+       CHECK_MAX_COUNT(name, MAX_CATEGORIES, category_ent_count, "SLIST_CATEGORY") \
+       cat = categories[name - 1] = new(slist_category); \
+       cat.cat_name = #name; \
+       cat.cat_enoverride_string = strzone(SLIST_CATEGORY_AUTOCVAR(name)); \
+       cat.cat_dioverride_string = strzone(dioverride); \
+       cat.cat_string = strzone(str);
        SLIST_CATEGORIES
-       #undef SLIST_CATEGORY
+#undef SLIST_CATEGORY
 
        int i, x, catnum;
        string s;
 
-       #define PROCESS_OVERRIDE(override_string,override_field) \
-               for(i = 0; i < category_ent_count; ++i) \
-               { \
-                       s = categories[i].override_string; \
-                       if((s != "") && (s != categories[i].cat_name)) \
-                       { \
-                               catnum = 0; \
-                               for(x = 0; x < category_ent_count; ++x) \
-                               { if(categories[x].cat_name == s) { \
-                                       catnum = (x+1); \
+#define PROCESS_OVERRIDE(override_string, override_field) \
+       for (i = 0; i < category_ent_count; ++i) { \
+               s = categories[i].override_string; \
+               if ((s != "") && (s != categories[i].cat_name)) { \
+                       catnum = 0; \
+                       for (x = 0; x < category_ent_count; ++x) { \
+                               if (categories[x].cat_name == s) { \
+                                       catnum = (x + 1); \
                                        break; \
-                               } } \
-                               if(catnum) \
-                               { \
-                                       strunzone(categories[i].override_string); \
-                                       categories[i].override_string = string_null; \
-                                       categories[i].override_field = catnum; \
-                                       continue; \
-                               } \
-                               else \
-                               { \
-                                       LOG_INFOF( \
-                                               "RegisterSLCategories(): Improper override '%s' for category '%s'!", \
-                                               s, \
-                                               categories[i].cat_name \
-                                       ); \
                                } \
                        } \
-                       strunzone(categories[i].override_string); \
-                       categories[i].override_string = string_null; \
-                       categories[i].override_field = 0; \
-               }
+                       if (catnum) { \
+                               strunzone(categories[i].override_string); \
+                               categories[i].override_string = string_null; \
+                               categories[i].override_field = catnum; \
+                               continue; \
+                       } else { \
+                               LOG_INFOF( \
+                                       "RegisterSLCategories(): Improper override '%s' for category '%s'!", \
+                                       s, \
+                                       categories[i].cat_name \
+                               ); \
+                       } \
+               } \
+               strunzone(categories[i].override_string); \
+               categories[i].override_string = string_null; \
+               categories[i].override_field = 0; \
+       }
        PROCESS_OVERRIDE(cat_enoverride_string, cat_enoverride)
        PROCESS_OVERRIDE(cat_dioverride_string, cat_dioverride)
-       #undef PROCESS_OVERRIDE
+#undef PROCESS_OVERRIDE
 }
 
 // Supporting Functions
 entity RetrieveCategoryEnt(int catnum)
 {
-       if((catnum > 0) && (catnum <= category_ent_count))
-       {
+       if ((catnum > 0) && (catnum <= category_ent_count)) {
                return categories[catnum - 1];
-       }
-       else
-       {
+       } else {
                error(sprintf("RetrieveCategoryEnt(%d): Improper category number!\n", catnum));
                return NULL;
        }
@@ -78,25 +71,26 @@ bool IsServerInList(string list, string srv)
 {
        string p;
        int i, n;
-       if(srv == "")
+       if (srv == "") {
                return false;
+       }
        srv = netaddress_resolve(srv, 26000);
-       if(srv == "")
+       if (srv == "") {
                return false;
+       }
        p = crypto_getidfp(srv);
        n = tokenize_console(list);
-       for(i = 0; i < n; ++i)
-       {
-               if(substring(argv(i), 0, 1) != "[" && strlen(argv(i)) == 44 && strstrofs(argv(i), ".", 0) < 0)
-               {
-                       if(p)
-                               if(argv(i) == p)
+       for (i = 0; i < n; ++i) {
+               if (substring(argv(i), 0, 1) != "[" && strlen(argv(i)) == 44 && strstrofs(argv(i), ".", 0) < 0) {
+                       if (p) {
+                               if (argv(i) == p) {
                                        return true;
-               }
-               else
-               {
-                       if(srv == netaddress_resolve(argv(i), 26000))
+                               }
+                       }
+               } else {
+                       if (srv == netaddress_resolve(argv(i), 26000)) {
                                return true;
+                       }
                }
        }
        return false;
@@ -105,14 +99,10 @@ bool IsServerInList(string list, string srv)
 int CheckCategoryOverride(int cat)
 {
        entity catent = RetrieveCategoryEnt(cat);
-       if(catent)
-       {
+       if (catent) {
                int override = (autocvar_menu_slist_categories ? catent.cat_enoverride : catent.cat_dioverride);
-               if(override) { return override; }
-               else { return cat; }
-       }
-       else
-       {
+               if (override) { return override; } else { return cat; }
+       } else {
                error(sprintf("CheckCategoryOverride(%d): Improper category number!\n", cat));
                return cat;
        }
@@ -125,42 +115,46 @@ int CheckCategoryForEntry(int entry)
        s = gethostcachestring(SLIST_FIELD_QCSTATUS, entry);
        m = tokenizebyseparator(s, ":");
 
-       for(j = 2; j < m; ++j)
-       {
-               if(argv(j) == "") { break; }
+       for (j = 2; j < m; ++j) {
+               if (argv(j) == "") { break; }
                k = substring(argv(j), 0, 1);
                v = substring(argv(j), 1, -1);
-               switch(k)
-               {
-                       case "P": { impure = stof(v); break; }
-                       case "S": { freeslots = stof(v); break; }
-                       case "F": { sflags = stof(v); break; }
-                       case "M": { modtype = strtolower(v); break; }
+               switch (k) {
+                       case "P":
+                       { impure = stof(v);
+                         break;
+                       }
+                       case "S":
+                       { freeslots = stof(v);
+                         break;
+                       }
+                       case "F":
+                       { sflags = stof(v);
+                         break;
+                       }
+                       case "M":
+                       { modtype = strtolower(v);
+                         break;
+                       }
                }
        }
 
-       if(modtype != "xonotic") { impure += autocvar_menu_slist_modimpurity; }
+       if (modtype != "xonotic") { impure += autocvar_menu_slist_modimpurity; }
 
        // check if this server is favorited
-       if(gethostcachenumber(SLIST_FIELD_ISFAVORITE, entry)) { return CAT_FAVORITED; }
+       if (gethostcachenumber(SLIST_FIELD_ISFAVORITE, entry)) { return CAT_FAVORITED; }
 
        // now check if it's recommended
-       if(autocvar_menu_slist_recommendations)
-       {
+       if (autocvar_menu_slist_recommendations) {
                string cname = gethostcachestring(SLIST_FIELD_CNAME, entry);
 
-               if(IsPromoted(cname)) { return CAT_RECOMMENDED; }
-               else
-               {
+               if (IsPromoted(cname)) { return CAT_RECOMMENDED; } else {
                        float recommended = 0;
-                       if(autocvar_menu_slist_recommendations & 1)
-                       {
-                               if(IsRecommended(cname)) { ++recommended; }
-                               else { --recommended; }
+                       if (autocvar_menu_slist_recommendations & 1) {
+                               if (IsRecommended(cname)) { ++recommended; } else { --recommended; }
                        }
-                       if(autocvar_menu_slist_recommendations & 2)
-                       {
-                               if(
+                       if (autocvar_menu_slist_recommendations & 2) {
+                               if (
                                        ///// check for minimum free slots
                                        (freeslots >= autocvar_menu_slist_recommendations_minfreeslots)
 
@@ -185,39 +179,49 @@ int CheckCategoryForEntry(int entry)
                                                autocvar_menu_slist_recommendations_maxping
                                        )
                                )
-                                       { ++recommended; }
-                               else
-                                       { --recommended; }
+                               { ++recommended; } else
+                               { --recommended; }
                        }
-                       if(recommended > 0) { return CAT_RECOMMENDED; }
+                       if (recommended > 0) { return CAT_RECOMMENDED; }
                }
        }
 
        // if not favorited or recommended, check modname
-       if(modtype != "xonotic")
-       {
-               switch(modtype)
-               {
+       if (modtype != "xonotic") {
+               switch (modtype) {
                        // old servers which don't report their mod name are considered modified now
-                       case "": { return CAT_MODIFIED; }
+                       case "":
+                       { return CAT_MODIFIED;
+                       }
 
-                       case "xpm": { return CAT_XPM; }
+                       case "xpm":
+                       { return CAT_XPM;
+                       }
                        case "minstagib":
-                       case "instagib": { return CAT_INSTAGIB; }
-                       case "overkill": { return CAT_OVERKILL; }
-                       //case "nix": { return CAT_NIX; }
-                       //case "newtoys": { return CAT_NEWTOYS; }
+                       case "instagib":
+                       { return CAT_INSTAGIB;
+                       }
+                       case "overkill":
+                       { return CAT_OVERKILL;
+                       }
+                       // case "nix": { return CAT_NIX; }
+                       // case "newtoys": { return CAT_NEWTOYS; }
 
                        // "cts" is allowed as compat, xdf is replacement
                        case "cts":
-                       case "xdf": { return CAT_DEFRAG; }
+                       case "xdf":
+                       { return CAT_DEFRAG;
+                       }
 
-                       default: { LOG_TRACEF("Found strange mod type: %s", modtype); return CAT_MODIFIED; }
+                       default:
+                       { LOG_TRACEF("Found strange mod type: %s", modtype);
+                         return CAT_MODIFIED;
+                       }
                }
        }
 
        // must be normal or impure server
-       return ((impure > autocvar_menu_slist_purethreshold) ? CAT_MODIFIED : CAT_NORMAL);
+       return (impure > autocvar_menu_slist_purethreshold) ? CAT_MODIFIED : CAT_NORMAL;
 }
 
 METHOD(XonoticServerList, toggleFavorite, void(XonoticServerList this, string srv))
@@ -227,20 +231,16 @@ METHOD(XonoticServerList, toggleFavorite, void(XonoticServerList this, string sr
        string p = crypto_getidfp(srv_resolved);
        string s = cvar_string("net_slist_favorites");
        string ret = s;
-       for (int i = 0, n = tokenize_console(s); i < n; ++i)
-       {
+       for (int i = 0, n = tokenize_console(s); i < n; ++i) {
                bool match;
-               if (substring(argv(i), 0, 1) != "[" && strlen(argv(i)) == 44 && strstrofs(argv(i), ".", 0) < 0)
-               {
+               if (substring(argv(i), 0, 1) != "[" && strlen(argv(i)) == 44 && strstrofs(argv(i), ".", 0) < 0) {
                        // it's a pubkey hash
                        match = (p && p == argv(i));
-               }
-               else
-               {
+               } else {
                        // it's an ip
                        match = (srv_resolved == netaddress_resolve(argv(i), 26000));
                }
-               if (!match) continue;
+               if (!match) { continue; }
                // on match: remove
                adding = false;
                string before = (i > 0) ? substring(s, 0, argv_end_index(i - 1)) : "";
@@ -252,8 +252,7 @@ METHOD(XonoticServerList, toggleFavorite, void(XonoticServerList this, string sr
                n = tokenize_console(s);
                --i; // offset the increment that is about to happen
        }
-       if (adding)
-       {
+       if (adding) {
                ret = strcat(s, (s != "" ? " " : ""), p ? p : srv);
        }
        cvar_set("net_slist_favorites", ret);
@@ -263,13 +262,10 @@ METHOD(XonoticServerList, toggleFavorite, void(XonoticServerList this, string sr
 void ServerList_Update_favoriteButton(entity btn, entity me)
 {
        entity e = me.favoriteButton;
-       if(IsFavorite(me.ipAddressBox.text))
-       {
+       if (IsFavorite(me.ipAddressBox.text)) {
                e.setText(e, _("Remove"));
                clearTooltip(e);
-       }
-       else
-       {
+       } else {
                e.setText(e, _("Favorite"));
                setZonedTooltip(e, _("Bookmark the currently highlighted server so that it's faster to find in the future"), string_null);
        }
@@ -287,9 +283,9 @@ void XonoticServerList_configureXonoticServerList(entity me)
        me.configureXonoticListBox(me);
 
        // update field ID's
-       #define SLIST_FIELD(suffix,name) SLIST_FIELD_##suffix = gethostcacheindexforkey(name);
+#define SLIST_FIELD(suffix, name) SLIST_FIELD_##suffix = gethostcacheindexforkey(name);
        SLIST_FIELDS
-       #undef SLIST_FIELD
+#undef SLIST_FIELD
 
        // clear list
        me.nItems = 0;
@@ -297,19 +293,21 @@ void XonoticServerList_configureXonoticServerList(entity me)
 void XonoticServerList_setSelected(entity me, int i)
 {
        me.lockedSelectedItem = false;
-       //int save = me.selectedItem;
+       // int save = me.selectedItem;
        SUPER(XonoticServerList).setSelected(me, i);
        /*
        if(me.selectedItem == save)
-               return;
+           return;
        */
-       if(me.nItems == 0)
+       if (me.nItems == 0) {
                return;
-       if(gethostcachevalue(SLIST_HOSTCACHEVIEWCOUNT) != me.nItems)
+       }
+       if (gethostcachevalue(SLIST_HOSTCACHEVIEWCOUNT) != me.nItems) {
                return; // sorry, it would be wrong
-
-       if(me.selectedServer)
+       }
+       if (me.selectedServer) {
                strunzone(me.selectedServer);
+       }
        me.selectedServer = strzone(gethostcachestring(SLIST_FIELD_CNAME, me.selectedItem));
 
        me.ipAddressBox.setText(me.ipAddressBox, me.selectedServer);
@@ -318,10 +316,9 @@ void XonoticServerList_setSelected(entity me, int i)
 }
 void XonoticServerList_refreshServerList(entity me, int mode)
 {
-       //print("refresh of type ", ftos(mode), "\n");
+       // print("refresh of type ", ftos(mode), "\n");
 
-       if(mode >= REFRESHSERVERLIST_REFILTER)
-       {
+       if (mode >= REFRESHSERVERLIST_REFILTER) {
                float m;
                int i, n;
                int listflags = 0;
@@ -330,15 +327,15 @@ void XonoticServerList_refreshServerList(entity me, int mode)
                s = me.filterString;
 
                m = strstrofs(s, ":", 0);
-               if(m >= 0)
-               {
+               if (m >= 0) {
                        typestr = substring(s, 0, m);
                        s = substring(s, m + 1, strlen(s) - m - 1);
-                       while(substring(s, 0, 1) == " ")
+                       while (substring(s, 0, 1) == " ") {
                                s = substring(s, 1, strlen(s) - 1);
-               }
-               else
+                       }
+               } else {
                        typestr = "";
+               }
 
                modstr = cvar_string("menu_slist_modfilter");
 
@@ -349,38 +346,40 @@ void XonoticServerList_refreshServerList(entity me, int mode)
                sethostcachemasknumber(++m, SLIST_FIELD_PING, 0, SLIST_TEST_GREATEREQUAL);
 
                // show full button
-               if(!me.filterShowFull)
-               {
-                       sethostcachemasknumber(++m, SLIST_FIELD_FREESLOTS, 1, SLIST_TEST_GREATEREQUAL); // legacy
+               if (!me.filterShowFull) {
+                       sethostcachemasknumber(++m, SLIST_FIELD_FREESLOTS, 1, SLIST_TEST_GREATEREQUAL);   // legacy
                        sethostcachemaskstring(++m, SLIST_FIELD_QCSTATUS, ":S0:", SLIST_TEST_NOTCONTAIN); // g_maxplayers support
                }
 
                // show empty button
-               if(!me.filterShowEmpty)
+               if (!me.filterShowEmpty) {
                        sethostcachemasknumber(++m, SLIST_FIELD_NUMHUMANS, 1, SLIST_TEST_GREATEREQUAL);
+               }
 
                // gametype filtering
-               if(typestr != "")
+               if (typestr != "") {
                        sethostcachemaskstring(++m, SLIST_FIELD_QCSTATUS, strcat(typestr, ":"), SLIST_TEST_STARTSWITH);
+               }
 
                // mod filtering
-               if(modstr != "")
-               {
-                       if(substring(modstr, 0, 1) == "!")
+               if (modstr != "") {
+                       if (substring(modstr, 0, 1) == "!") {
                                sethostcachemaskstring(++m, SLIST_FIELD_MOD, resolvemod(substring(modstr, 1, strlen(modstr) - 1)), SLIST_TEST_NOTEQUAL);
-                       else
+                       } else {
                                sethostcachemaskstring(++m, SLIST_FIELD_MOD, resolvemod(modstr), SLIST_TEST_EQUAL);
+                       }
                }
 
                // server banning
                n = tokenizebyseparator(_Nex_ExtResponseSystem_BannedServers, " ");
-               for(i = 0; i < n; ++i)
-                       if(argv(i) != "")
+               for (i = 0; i < n; ++i) {
+                       if (argv(i) != "") {
                                sethostcachemaskstring(++m, SLIST_FIELD_CNAME, argv(i), SLIST_TEST_NOTSTARTSWITH);
+                       }
+               }
 
                m = SLIST_MASK_OR - 1;
-               if(s != "")
-               {
+               if (s != "") {
                        sethostcachemaskstring(++m, SLIST_FIELD_NAME, s, SLIST_TEST_CONTAINS);
                        sethostcachemaskstring(++m, SLIST_FIELD_MAP, s, SLIST_TEST_CONTAINS);
                        sethostcachemaskstring(++m, SLIST_FIELD_PLAYERS, s, SLIST_TEST_CONTAINS);
@@ -388,22 +387,22 @@ void XonoticServerList_refreshServerList(entity me, int mode)
                }
 
                // sorting flags
-               //listflags |= SLSF_FAVORITES;
+               // listflags |= SLSF_FAVORITES;
                listflags |= SLSF_CATEGORIES;
-               if(me.currentSortOrder < 0) { listflags |= SLSF_DESCENDING; }
+               if (me.currentSortOrder < 0) { listflags |= SLSF_DESCENDING; }
                sethostcachesort(me.currentSortField, listflags);
        }
 
        resorthostcache();
-       if(mode >= REFRESHSERVERLIST_ASK)
+       if (mode >= REFRESHSERVERLIST_ASK) {
                refreshhostcache(mode >= REFRESHSERVERLIST_RESET);
+       }
 }
 void XonoticServerList_focusEnter(entity me)
 {
        SUPER(XonoticServerList).focusEnter(me);
-       if(time < me.nextRefreshTime)
-       {
-               //print("sorry, no refresh yet\n");
+       if (time < me.nextRefreshTime) {
+               // print("sorry, no refresh yet\n");
                return;
        }
        me.nextRefreshTime = time + 10;
@@ -415,64 +414,59 @@ void XonoticServerList_draw(entity me)
        int i;
        bool found = false, owned;
 
-       if(_Nex_ExtResponseSystem_BannedServersNeedsRefresh)
-       {
-               if(!me.needsRefresh)
+       if (_Nex_ExtResponseSystem_BannedServersNeedsRefresh) {
+               if (!me.needsRefresh) {
                        me.needsRefresh = 2;
+               }
                _Nex_ExtResponseSystem_BannedServersNeedsRefresh = 0;
        }
 
-       if(_Nex_ExtResponseSystem_PromotedServersNeedsRefresh)
-       {
-               if(!me.needsRefresh)
+       if (_Nex_ExtResponseSystem_PromotedServersNeedsRefresh) {
+               if (!me.needsRefresh) {
                        me.needsRefresh = 3;
+               }
                _Nex_ExtResponseSystem_PromotedServersNeedsRefresh = 0;
        }
 
-       if(_Nex_ExtResponseSystem_RecommendedServersNeedsRefresh)
-       {
-               if(!me.needsRefresh)
+       if (_Nex_ExtResponseSystem_RecommendedServersNeedsRefresh) {
+               if (!me.needsRefresh) {
                        me.needsRefresh = 3;
+               }
                _Nex_ExtResponseSystem_RecommendedServersNeedsRefresh = 0;
        }
 
-       if(me.currentSortField == -1)
-       {
+       if (me.currentSortField == -1) {
                me.setSortOrder(me, SLIST_FIELD_PING, +1);
                me.refreshServerList(me, REFRESHSERVERLIST_RESET);
-       }
-       else if(me.needsRefresh == 1)
-       {
+       } else if (me.needsRefresh == 1) {
                me.needsRefresh = 2; // delay by one frame to make sure "slist" has been executed
-       }
-       else if(me.needsRefresh == 2)
-       {
+       } else if (me.needsRefresh == 2) {
                me.needsRefresh = 0;
                me.refreshServerList(me, REFRESHSERVERLIST_REFILTER);
-       }
-       else if(me.needsRefresh == 3)
-       {
+       } else if (me.needsRefresh == 3) {
                me.needsRefresh = 0;
                me.refreshServerList(me, REFRESHSERVERLIST_RESORT);
        }
 
        owned = ((me.selectedServer == me.ipAddressBox.text) && (me.ipAddressBox.text != ""));
 
-       for(i = 0; i < category_draw_count; ++i) { category_name[i] = -1; category_item[i] = -1; }
+       for (i = 0; i < category_draw_count; ++i) {
+               category_name[i] = -1;
+               category_item[i] = -1;
+       }
        category_draw_count = 0;
 
-       if(autocvar_menu_slist_categories >= 0) // if less than 0, don't even draw a category heading for favorites
-       {
+       if (autocvar_menu_slist_categories >= 0) { // if less than 0, don't even draw a category heading for favorites
                float itemcount = gethostcachevalue(SLIST_HOSTCACHEVIEWCOUNT);
                me.nItems = itemcount;
 
-               //float visible = floor(me.scrollPos / me.itemHeight);
+               // float visible = floor(me.scrollPos / me.itemHeight);
                // ^ unfortunately no such optimization can be made-- we must process through the
                // entire list, otherwise there is no way to know which item is first in its category.
 
                // binary search method suggested by div
                float begin = 0;
-               for(int j = 1; j <= category_ent_count; ++j) {
+               for (int j = 1; j <= category_ent_count; ++j) {
                        float first = begin;
                        float last = (itemcount - 1);
                        if (first > last) {
@@ -494,11 +488,14 @@ void XonoticServerList_draw(entity me)
                                // Starts at first. This breaks the loop
                                // invariant in the binary search and thus has
                                // to be handled separately.
-                               if(gethostcachenumber(SLIST_FIELD_CATEGORY, first) != j)
+                               if (gethostcachenumber(SLIST_FIELD_CATEGORY, first) != j) {
                                        error("Category mismatch I");
-                               if(first > 0)
-                                       if(gethostcachenumber(SLIST_FIELD_CATEGORY, first - 1) == j)
+                               }
+                               if (first > 0) {
+                                       if (gethostcachenumber(SLIST_FIELD_CATEGORY, first - 1) == j) {
                                                error("Category mismatch II");
+                                       }
+                               }
                                category_name[category_draw_count] = j;
                                category_item[category_draw_count] = first;
                                ++category_draw_count;
@@ -525,53 +522,48 @@ void XonoticServerList_draw(entity me)
                                        }
                                }
                                if (catl == j) {
-                                       if(gethostcachenumber(SLIST_FIELD_CATEGORY, last) != j)
+                                       if (gethostcachenumber(SLIST_FIELD_CATEGORY, last) != j) {
                                                error("Category mismatch III");
-                                       if(last > 0)
-                                               if(gethostcachenumber(SLIST_FIELD_CATEGORY, last - 1) == j)
+                                       }
+                                       if (last > 0) {
+                                               if (gethostcachenumber(SLIST_FIELD_CATEGORY, last - 1) == j) {
                                                        error("Category mismatch IV");
+                                               }
+                                       }
                                        category_name[category_draw_count] = j;
                                        category_item[category_draw_count] = last;
                                        ++category_draw_count;
                                        begin = last + 1; // already scanned through these, skip 'em
+                               } else {
+                                       begin = last;     // already scanned through these, skip 'em
                                }
-                               else
-                                       begin = last; // already scanned through these, skip 'em
                        }
                }
-               if(autocvar_menu_slist_categories_onlyifmultiple && (category_draw_count == 1))
-               {
+               if (autocvar_menu_slist_categories_onlyifmultiple && (category_draw_count == 1)) {
                        category_name[0] = -1;
                        category_item[0] = -1;
                        category_draw_count = 0;
                        me.nItems = itemcount;
                }
-       }
-       else { me.nItems = gethostcachevalue(SLIST_HOSTCACHEVIEWCOUNT); }
+       } else { me.nItems = gethostcachevalue(SLIST_HOSTCACHEVIEWCOUNT); }
 
        me.connectButton.disabled = ((me.nItems == 0) && (me.ipAddressBox.text == ""));
        me.infoButton.disabled = ((me.nItems == 0) || !owned);
        me.favoriteButton.disabled = ((me.nItems == 0) && (me.ipAddressBox.text == ""));
 
-       if(me.lockedSelectedItem)
-       {
-               if(me.nItems > 0)
-               {
-                       if(gethostcachestring(SLIST_FIELD_CNAME, me.selectedItem) != me.selectedServer)
-                       {
-                               if(me.selectedServer)
+       if (me.lockedSelectedItem) {
+               if (me.nItems > 0) {
+                       if (gethostcachestring(SLIST_FIELD_CNAME, me.selectedItem) != me.selectedServer) {
+                               if (me.selectedServer) {
                                        strunzone(me.selectedServer);
+                               }
                                me.selectedServer = strzone(gethostcachestring(SLIST_FIELD_CNAME, me.selectedItem));
                        }
                        found = true;
                }
-       }
-       else if(me.selectedServer)
-       {
-               for(i = 0; i < me.nItems; ++i)
-               {
-                       if(gethostcachestring(SLIST_FIELD_CNAME, i) == me.selectedServer)
-                       {
+       } else if (me.selectedServer) {
+               for (i = 0; i < me.nItems; ++i) {
+                       if (gethostcachestring(SLIST_FIELD_CNAME, i) == me.selectedServer) {
                                // don't follow the selected item with SUPER(XonoticServerList).setSelected(me, i);
                                me.selectedItem = i;
                                found = true;
@@ -579,33 +571,31 @@ void XonoticServerList_draw(entity me)
                        }
                }
        }
-       if(!found)
-       {
-               if(me.nItems > 0)
-               {
+       if (!found) {
+               if (me.nItems > 0) {
                        // selected server disappeared, select the last server (scrolling to it)
-                       if(me.selectedItem >= me.nItems)
+                       if (me.selectedItem >= me.nItems) {
                                SUPER(XonoticServerList).setSelected(me, me.nItems - 1);
-                       if(me.selectedServer)
+                       }
+                       if (me.selectedServer) {
                                strunzone(me.selectedServer);
+                       }
                        me.selectedServer = strzone(gethostcachestring(SLIST_FIELD_CNAME, me.selectedItem));
                }
        }
 
-       if(owned)
-       {
-               if(me.selectedServer != me.ipAddressBox.text)
-               {
+       if (owned) {
+               if (me.selectedServer != me.ipAddressBox.text) {
                        me.ipAddressBox.setText(me.ipAddressBox, me.selectedServer);
                        me.ipAddressBox.cursorPos = strlen(me.selectedServer);
                        me.ipAddressBoxFocused = -1;
                }
        }
 
-       if(me.ipAddressBoxFocused != me.ipAddressBox.focused)
-       {
-               if(me.ipAddressBox.focused || me.ipAddressBoxFocused < 0)
+       if (me.ipAddressBoxFocused != me.ipAddressBox.focused) {
+               if (me.ipAddressBox.focused || me.ipAddressBoxFocused < 0) {
                        ServerList_Update_favoriteButton(NULL, me);
+               }
                me.ipAddressBoxFocused = me.ipAddressBox.focused;
        }
 
@@ -631,23 +621,25 @@ void ServerList_TypeSort_Click(entity btn, entity me)
 {
        string s = me.filterString;
        int m = strstrofs(s, ":", 0);
-       if(m >= 0)
-       {
+       if (m >= 0) {
                s = substring(s, 0, m);
-               while(substring(s, m+1, 1) == " ") // skip spaces
+               while (substring(s, m + 1, 1) == " ") { // skip spaces
                        ++m;
-       }
-       else
+               }
+       } else {
                s = "";
+       }
 
-       Gametype first = NULL; FOREACH(Gametypes, !first, first = it; break);
+       Gametype first = NULL;
+       FOREACH(Gametypes, !first, first = it;
+               break);
        bool flag = false;
        FOREACH(Gametypes, s == MapInfo_Type_ToString(it), {
                // the type was found
                // choose the next one
                flag = true;
                s = MapInfo_Type_ToString(Gametypes_from(it.m_id + 1));
-               if (s == "") s = MapInfo_Type_ToString(first);
+               if (s == "") { s = MapInfo_Type_ToString(first); }
                break;
        });
        if (!flag) {
@@ -656,22 +648,24 @@ void ServerList_TypeSort_Click(entity btn, entity me)
                s = MapInfo_Type_ToString(first);
        }
 
-       if(s != "") s = strcat(s, ":");
-       s = strcat(s, substring(me.filterString, m+1, strlen(me.filterString) - m - 1));
+       if (s != "") { s = strcat(s, ":"); }
+       s = strcat(s, substring(me.filterString, m + 1, strlen(me.filterString) - m - 1));
 
        me.controlledTextbox.setText(me.controlledTextbox, s);
        me.controlledTextbox.keyDown(me.controlledTextbox, K_END, 0, 0);
        me.controlledTextbox.keyUp(me.controlledTextbox, K_END, 0, 0);
-       //ServerList_Filter_Change(me.controlledTextbox, me);
+       // ServerList_Filter_Change(me.controlledTextbox, me);
 }
 void ServerList_Filter_Change(entity box, entity me)
 {
-       if(me.filterString)
+       if (me.filterString) {
                strunzone(me.filterString);
-       if(box.text != "")
+       }
+       if (box.text != "") {
                me.filterString = strzone(box.text);
-       else
+       } else {
                me.filterString = string_null;
+       }
        me.refreshServerList(me, REFRESHSERVERLIST_REFILTER);
 
        me.ipAddressBox.setText(me.ipAddressBox, "");
@@ -707,8 +701,9 @@ void ServerList_ShowFull_Click(entity box, entity me)
 }
 void XonoticServerList_setSortOrder(entity me, int fld, int direction)
 {
-       if(me.currentSortField == fld)
+       if (me.currentSortField == fld) {
                direction = -me.currentSortOrder;
+       }
        me.currentSortOrder = direction;
        me.currentSortField = fld;
        me.sortButton1.forcePressed = (fld == SLIST_FIELD_PING);
@@ -717,8 +712,9 @@ void XonoticServerList_setSortOrder(entity me, int fld, int direction)
        me.sortButton4.forcePressed = 0;
        me.sortButton5.forcePressed = (fld == SLIST_FIELD_NUMHUMANS);
        me.selectedItem = 0;
-       if(me.selectedServer)
+       if (me.selectedServer) {
                strunzone(me.selectedServer);
+       }
        me.selectedServer = string_null;
        me.refreshServerList(me, REFRESHSERVERLIST_REFILTER);
 }
@@ -767,8 +763,7 @@ void XonoticServerList_resizeNotify(entity me, vector relOrigin, vector relSize,
        me.positionSortButton(me, me.sortButton5, me.columnPlayersOrigin, me.columnPlayersSize, _("Players"), ServerList_PlayerSort_Click);
 
        int f = me.currentSortField;
-       if(f >= 0)
-       {
+       if (f >= 0) {
                me.currentSortField = -1;
                me.setSortOrder(me, f, me.currentSortOrder); // force resetting the sort order
        }
@@ -776,24 +771,25 @@ void XonoticServerList_resizeNotify(entity me, vector relOrigin, vector relSize,
 void ServerList_Connect_Click(entity btn, entity me)
 {
        localcmd(sprintf("connect %s\n",
-               ((me.ipAddressBox.text != "") ?
-                       me.ipAddressBox.text : me.selectedServer
+               ((me.ipAddressBox.text != "")
+               ? me.ipAddressBox.text : me.selectedServer
                )
-       ));
+               ));
 }
 void ServerList_Favorite_Click(entity btn, entity this)
 {
        string addr = this.ipAddressBox.text;
        string ipstr = netaddress_resolve(addr, 26000);
-       if (ipstr == "") return;
+       if (ipstr == "") { return; }
        m_play_click_sound(MENU_SOUND_SELECT);
        this.toggleFavorite(this, addr);
        this.ipAddressBoxFocused = -1;
 }
 void ServerList_Info_Click(entity btn, entity me)
 {
-       if (me.nItems != 0)
+       if (me.nItems != 0) {
                main.serverInfoDialog.loadServerInfo(main.serverInfoDialog, me.selectedItem);
+       }
 
        vector org = boxToGlobal(eY * (me.selectedItem * me.itemHeight - me.scrollPos), me.origin, me.size);
        vector sz = boxToGlobalSize(eY * me.itemHeight + eX * (1 - me.controlWidth), me.size);
@@ -815,25 +811,24 @@ void XonoticServerList_drawListBoxItem(entity me, int i, vector absSize, bool is
        int freeslots = -1, sflags = -1, j, m;
        string s, typestr, versionstr, k, v, modname;
 
-       //printf("time: %f, i: %d, item: %d, nitems: %d\n", time, i, item, me.nItems);
+       // printf("time: %f, i: %d, item: %d, nitems: %d\n", time, i, item, me.nItems);
 
        vector oldscale = draw_scale;
        vector oldshift = draw_shift;
-#define SET_YRANGE(start,end) \
+#define SET_YRANGE(start, end) \
        draw_scale = boxToGlobalSize(eX * 1 + eY * (end - start), oldscale); \
        draw_shift = boxToGlobal(eY * start, oldshift, oldscale);
 
        for (j = 0; j < category_draw_count; ++j) {
                // Matches exactly the headings with increased height.
-               if (i == category_item[j])
+               if (i == category_item[j]) {
                        break;
+               }
        }
 
-       if (j < category_draw_count)
-       {
+       if (j < category_draw_count) {
                entity catent = RetrieveCategoryEnt(category_name[j]);
-               if(catent)
-               {
+               if (catent) {
                        SET_YRANGE(
                                (me.categoriesHeight - 1) / (me.categoriesHeight + 1),
                                me.categoriesHeight / (me.categoriesHeight + 1)
@@ -857,10 +852,9 @@ void XonoticServerList_drawListBoxItem(entity me, int i, vector absSize, bool is
                }
        }
 
-       if(isSelected)
+       if (isSelected) {
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
-       else if(isFocused)
-       {
+       } else if (isFocused) {
                me.focusedItemAlpha = getFadedAlpha(me.focusedItemAlpha, SKINALPHA_LISTBOX_FOCUSED, SKINFADEALPHA_LISTBOX_FOCUSED);
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_FOCUSED, me.focusedItemAlpha);
        }
@@ -868,35 +862,34 @@ void XonoticServerList_drawListBoxItem(entity me, int i, vector absSize, bool is
        s = gethostcachestring(SLIST_FIELD_QCSTATUS, i);
        m = tokenizebyseparator(s, ":");
        typestr = "";
-       if(m >= 2)
-       {
+       if (m >= 2) {
                typestr = argv(0);
                versionstr = argv(1);
        }
        freeslots = -1;
        modname = "";
-       for(j = 2; j < m; ++j)
-       {
-               if(argv(j) == "")
+       for (j = 2; j < m; ++j) {
+               if (argv(j) == "") {
                        break;
+               }
                k = substring(argv(j), 0, 1);
                v = substring(argv(j), 1, -1);
-               if(k == "P")
-               {
+               if (k == "P") {
                        pure = (stof(v) == 0);
                        pure_available = true;
-               }
-               else if(k == "S")
+               } else if (k == "S") {
                        freeslots = stof(v);
-               else if(k == "F")
+               } else if (k == "F") {
                        sflags = stoi(v);
-               else if(k == "M")
+               } else if (k == "M") {
                        modname = v;
+               }
        }
 
 #ifdef COMPAT_NO_MOD_IS_XONOTIC
-       if(modname == "")
+       if (modname == "") {
                modname = "Xonotic";
+       }
 #endif
 
        string original_modname = modname;
@@ -906,48 +899,50 @@ void XonoticServerList_drawListBoxItem(entity me, int i, vector absSize, bool is
        SLIST_FIELD_MOD = gethostcacheindexforkey("mod");
        s = gethostcachestring(SLIST_FIELD_MOD, i);
        if(s != "data")
-               if(modname == "xonotic")
-                       modname = s;
+           if(modname == "xonotic")
+               modname = s;
        */
 
        // list the mods here on which the pure server check actually works
-       if(modname != "xonotic")
-       if(modname != "instagib" || modname != "minstagib")
-       if(modname != "cts")
-       if(modname != "nix")
-       if(modname != "newtoys")
-               pure_available = false;
-
-       if(gethostcachenumber(SLIST_FIELD_FREESLOTS, i) <= 0)
+       if (modname != "xonotic") {
+               if (modname != "instagib" || modname != "minstagib") {
+                       if (modname != "cts") {
+                               if (modname != "nix") {
+                                       if (modname != "newtoys") {
+                                               pure_available = false;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       if (gethostcachenumber(SLIST_FIELD_FREESLOTS, i) <= 0) {
                theAlpha = SKINALPHA_SERVERLIST_FULL;
-       else if(freeslots == 0)
+       } else if (freeslots == 0) {
                theAlpha = SKINALPHA_SERVERLIST_FULL; // g_maxplayers support
-       else if (!gethostcachenumber(SLIST_FIELD_NUMHUMANS, i))
+       } else if (!gethostcachenumber(SLIST_FIELD_NUMHUMANS, i)) {
                theAlpha = SKINALPHA_SERVERLIST_EMPTY;
-       else
+       } else {
                theAlpha = 1;
+       }
 
        p = gethostcachenumber(SLIST_FIELD_PING, i);
        const int PING_LOW = 75;
        const int PING_MED = 200;
        const int PING_HIGH = 500;
-       if(p < PING_LOW)
+       if (p < PING_LOW) {
                theColor = SKINCOLOR_SERVERLIST_LOWPING + (SKINCOLOR_SERVERLIST_MEDPING - SKINCOLOR_SERVERLIST_LOWPING) * (p / PING_LOW);
-       else if(p < PING_MED)
+       } else if (p < PING_MED) {
                theColor = SKINCOLOR_SERVERLIST_MEDPING + (SKINCOLOR_SERVERLIST_HIGHPING - SKINCOLOR_SERVERLIST_MEDPING) * ((p - PING_LOW) / (PING_MED - PING_LOW));
-       else if(p < PING_HIGH)
-       {
+       } else if (p < PING_HIGH) {
                theColor = SKINCOLOR_SERVERLIST_HIGHPING;
                theAlpha *= 1 + (SKINALPHA_SERVERLIST_HIGHPING - 1) * ((p - PING_MED) / (PING_HIGH - PING_MED));
-       }
-       else
-       {
+       } else {
                theColor = eX;
                theAlpha *= SKINALPHA_SERVERLIST_HIGHPING;
        }
 
-       if(gethostcachenumber(SLIST_FIELD_ISFAVORITE, i))
-       {
+       if (gethostcachenumber(SLIST_FIELD_ISFAVORITE, i)) {
                theColor = theColor * (1 - SKINALPHA_SERVERLIST_FAVORITE) + SKINCOLOR_SERVERLIST_FAVORITE * SKINALPHA_SERVERLIST_FAVORITE;
                theAlpha = theAlpha * (1 - SKINALPHA_SERVERLIST_FAVORITE) + SKINALPHA_SERVERLIST_FAVORITE;
        }
@@ -955,38 +950,35 @@ void XonoticServerList_drawListBoxItem(entity me, int i, vector absSize, bool is
        s = gethostcachestring(SLIST_FIELD_CNAME, i);
 
        isv4 = isv6 = false;
-       if(substring(s, 0, 1) == "[")
-       {
+       if (substring(s, 0, 1) == "[") {
                isv6 = true;
                me.seenIPv6 += 1;
-       }
-       else if(IS_DIGIT(substring(s, 0, 1)))
-       {
+       } else if (IS_DIGIT(substring(s, 0, 1))) {
                isv4 = true;
                me.seenIPv4 += 1;
        }
 
        q = stof(substring(crypto_getencryptlevel(s), 0, 1));
-       if((q <= 0 && cvar("crypto_aeslevel") >= 3) || (q >= 3 && cvar("crypto_aeslevel") <= 0))
-       {
+       if ((q <= 0 && cvar("crypto_aeslevel") >= 3) || (q >= 3 && cvar("crypto_aeslevel") <= 0)) {
                theColor = SKINCOLOR_SERVERLIST_IMPOSSIBLE;
                theAlpha = SKINALPHA_SERVERLIST_IMPOSSIBLE;
        }
 
-       if(q == 1)
-       {
-               if(cvar("crypto_aeslevel") >= 2)
+       if (q == 1) {
+               if (cvar("crypto_aeslevel") >= 2) {
                        q |= 4;
+               }
        }
-       if(q == 2)
-       {
-               if(cvar("crypto_aeslevel") >= 1)
+       if (q == 2) {
+               if (cvar("crypto_aeslevel") >= 1) {
                        q |= 4;
+               }
        }
-       if(q == 3)
+       if (q == 3) {
                q = 5;
-       else if(q >= 3)
+       } else if (q >= 3) {
                q -= 2;
+       }
        // possible status:
        // 0: crypto off
        // 1: AES possible
@@ -1007,60 +999,63 @@ void XonoticServerList_drawListBoxItem(entity me, int i, vector absSize, bool is
        iconPos_y = (1 - iconSize.y) * 0.5;
 
        // IP
-       if(me.seenIPv4 && me.seenIPv6)
-       {
-               if(isv6)
+       if (me.seenIPv4 && me.seenIPv6) {
+               if (isv6) {
                        draw_Picture(iconPos, "icon_ipv6", iconSize, '1 1 1', 1);
-               else if(isv4)
+               } else if (isv4) {
                        draw_Picture(iconPos, "icon_ipv4", iconSize, '1 1 1', 1);
+               }
        }
 
        iconPos.x += iconSize.x;
 
        // AES
-       if(q > 0)
+       if (q > 0) {
                draw_Picture(iconPos, strcat("icon_aeslevel", ftos(q)), iconSize, '1 1 1', 1);
+       }
 
        iconPos.x += iconSize.x;
 
        // Mod
-       if(modname == "xonotic")
-       {
+       if (modname == "xonotic") {
                // Here, pure_available should always be set. If not, consider
                // it an impurity.
-               if(pure_available && pure)
+               if (pure_available && pure) {
                        draw_Picture(iconPos, "icon_pure1", iconSize, '1 1 1', 1);
-       }
-       else
-       {
+               }
+       } else {
                string icon = strcat("icon_mod_", modname);
-               if(draw_PictureSize(icon) == '0 0 0')
+               if (draw_PictureSize(icon) == '0 0 0') {
                        icon = "icon_mod_";
+               }
 
                // In mods, pure_available not being present indicates
                // non-support of the feature. Just show the mod icon as is
                // then.
-               if(pure_available && !pure)
+               if (pure_available && !pure) {
                        draw_Picture(iconPos, icon, iconSize, '1 1 1', SKINALPHA_SERVERLIST_ICON_NONPURE);
-               else
+               } else {
                        draw_Picture(iconPos, icon, iconSize, '1 1 1', 1);
+               }
        }
 
        iconPos.x += iconSize.x;
 
        // Stats
-       if(sflags >= 0 && (sflags & SERVERFLAG_PLAYERSTATS))
+       if (sflags >= 0 && (sflags & SERVERFLAG_PLAYERSTATS)) {
                draw_Picture(iconPos, "icon_stats1", iconSize, '1 1 1', 1);
+       }
 
-       if(isFocused && me.mouseOverIcons && !me.tooltip)
-       {
+       if (isFocused && me.mouseOverIcons && !me.tooltip) {
                string t = "";
-               if(me.seenIPv4 && me.seenIPv6)
+               if (me.seenIPv4 && me.seenIPv6) {
                        t = strcat(t, (isv6) ? "IPv6, " : "IPv4, ");
+               }
                t = strcat(t, _("encryption:"), " ", (q ? sprintf(_("AES level %d"), q) : ZCTX(_("ENC^none"))), ", ");
                t = strcat(t, sprintf(_("mod: %s"), ((modname == "xonotic") ? ZCTX(_("MOD^Default")) : original_modname)));
-               if(pure_available)
+               if (pure_available) {
                        t = strcat(t, sprintf(" (%s)", (pure) ? _("official settings") : _("modified settings")));
+               }
                t = strcat(t, ", ");
                t = strcat(t, ((sflags >= 0 && (sflags & SERVERFLAG_PLAYERSTATS)) ? _("stats enabled") : _("stats disabled")));
                setZonedTooltip(me, t, string_null);
@@ -1097,16 +1092,16 @@ void XonoticServerList_focusedItemChangeNotify(entity me)
 
 float XonoticServerList_mouseMove(entity me, vector pos)
 {
-       if(!SUPER(XonoticServerList).mouseMove(me, pos))
-       {
+       if (!SUPER(XonoticServerList).mouseMove(me, pos)) {
                me.mouseOverIcons = false;
                clearTooltip(me);
                return 1;
        }
 
        me.mouseOverIcons = (pos_x <= me.columnIconsSize);
-       if(!me.mouseOverIcons)
+       if (!me.mouseOverIcons) {
                clearTooltip(me);
+       }
        return 1;
 }
 
@@ -1117,38 +1112,31 @@ bool XonoticServerList_keyDown(entity me, int scan, bool ascii, bool shift)
        org = boxToGlobal(eY * (me.selectedItem * me.itemHeight - me.scrollPos), me.origin, me.size);
        sz = boxToGlobalSize(eY * me.itemHeight + eX * (1 - me.controlWidth), me.size);
 
-       if(scan == K_ENTER || scan == K_KP_ENTER)
-       {
+       if (scan == K_ENTER || scan == K_KP_ENTER) {
                ServerList_Connect_Click(NULL, me);
                return true;
-       }
-       else if(scan == K_MOUSE2 || scan == K_SPACE)
-       {
-               if(me.nItems != 0)
-               {
+       } else if (scan == K_MOUSE2 || scan == K_SPACE) {
+               if (me.nItems != 0) {
                        m_play_click_sound(MENU_SOUND_OPEN);
                        main.serverInfoDialog.loadServerInfo(main.serverInfoDialog, me.selectedItem);
                        DialogOpenButton_Click_withCoords(me, main.serverInfoDialog, org, sz);
                        return true;
                }
                return false;
-       }
-       else if(scan == K_INS || scan == K_MOUSE3 || scan == K_KP_INS)
-       {
-               if(me.nItems != 0)
-               {
+       } else if (scan == K_INS || scan == K_MOUSE3 || scan == K_KP_INS) {
+               if (me.nItems != 0) {
                        me.toggleFavorite(me, me.selectedServer);
                        me.ipAddressBoxFocused = -1;
                        return true;
                }
                return false;
-       }
-       else if(SUPER(XonoticServerList).keyDown(me, scan, ascii, shift))
+       } else if (SUPER(XonoticServerList).keyDown(me, scan, ascii, shift)) {
                return true;
-       else if(!me.controlledTextbox)
+       } else if (!me.controlledTextbox) {
                return false;
-       else
+       } else {
                return me.controlledTextbox.keyDown(me.controlledTextbox, scan, ascii, shift);
+       }
 }
 
 float XonoticServerList_getTotalHeight(entity me)
@@ -1164,10 +1152,12 @@ int XonoticServerList_getItemAtPos(entity me, float pos)
        for (i = category_draw_count - 1; i >= 0; --i) {
                int itemidx = category_item[i];
                float itempos = i * me.categoriesHeight + category_item[i];
-               if (pos >= itempos + me.categoriesHeight + 1)
+               if (pos >= itempos + me.categoriesHeight + 1) {
                        return itemidx + 1 + floor(pos - (itempos + me.categoriesHeight + 1));
-               if (pos >= itempos)
+               }
+               if (pos >= itempos) {
                        return itemidx;
+               }
        }
        // No category matches? Note that category 0 is... 0. Therefore no headings exist at all.
        return floor(pos);
@@ -1178,10 +1168,12 @@ float XonoticServerList_getItemStart(entity me, int item)
        for (i = category_draw_count - 1; i >= 0; --i) {
                int itemidx = category_item[i];
                float itempos = i * me.categoriesHeight + category_item[i];
-               if (item >= itemidx + 1)
+               if (item >= itemidx + 1) {
                        return (itempos + me.categoriesHeight + 1 + item - (itemidx + 1)) * me.itemHeight;
-               if (item >= itemidx)
+               }
+               if (item >= itemidx) {
                        return itempos * me.itemHeight;
+               }
        }
        // No category matches? Note that category 0 is... 0. Therefore no headings exist at all.
        return item * me.itemHeight;
@@ -1191,8 +1183,9 @@ float XonoticServerList_getItemHeight(entity me, int item)
        int i;
        for (i = 0; i < category_draw_count; ++i) {
                // Matches exactly the headings with increased height.
-               if (item == category_item[i])
+               if (item == category_item[i]) {
                        return me.itemHeight * (me.categoriesHeight + 1);
+               }
        }
        return me.itemHeight;
 }
index e45abfda33b528cce9e9e72035dd4ab1807d47c5..71e565efc5534a2d89b0dd67dc5abbf0b32db715 100644 (file)
@@ -30,9 +30,9 @@ CLASS(XonoticServerList, XonoticListBox)
        ATTRIB(XonoticServerList, columnTypeSize, float, 0);
        ATTRIB(XonoticServerList, columnPlayersOrigin, float, 0);
        ATTRIB(XonoticServerList, columnPlayersSize, float, 0);
-       ATTRIB(XonoticServerList, lockedSelectedItem, bool, true);      // initially keep selected the first item of the list, avoiding an unwanted scrolling
+       ATTRIB(XonoticServerList, lockedSelectedItem, bool, true); // initially keep selected the first item of the list, avoiding an unwanted scrolling
 
-       ATTRIB(XonoticServerList, selectedServer, string); // to restore selected server when needed
+       ATTRIB(XonoticServerList, selectedServer, string);         // to restore selected server when needed
        METHOD(XonoticServerList, setSelected, void(entity, float));
        METHOD(XonoticServerList, setSortOrder, void(entity, float, float));
        ATTRIB(XonoticServerList, filterShowEmpty, float, 1);
@@ -42,7 +42,7 @@ CLASS(XonoticServerList, XonoticListBox)
        ATTRIB(XonoticServerList, ipAddressBox, entity);
        ATTRIB(XonoticServerList, favoriteButton, entity);
        ATTRIB(XonoticServerList, nextRefreshTime, float, 0);
-       METHOD(XonoticServerList, refreshServerList, void(entity, float));  // refresh mode: REFRESHSERVERLIST_*
+       METHOD(XonoticServerList, refreshServerList, void(entity, float)); // refresh mode: REFRESHSERVERLIST_*
        ATTRIB(XonoticServerList, needsRefresh, float, 1);
        METHOD(XonoticServerList, focusEnter, void(entity));
        METHOD(XonoticServerList, positionSortButton, void(entity, entity, float, float, string, void(entity, entity)));
@@ -99,7 +99,7 @@ void ServerList_Info_Click(entity btn, entity me);
        SLIST_FIELD(CATEGORY,    "category") \
        SLIST_FIELD(ISFAVORITE,  "isfavorite")
 
-#define SLIST_FIELD(suffix,name) float SLIST_FIELD_##suffix;
+#define SLIST_FIELD(suffix, name) float SLIST_FIELD_##suffix;
 SLIST_FIELDS
 #undef SLIST_FIELD
 
@@ -113,10 +113,10 @@ float autocvar_menu_slist_recommendations_minfreeslots;
 float autocvar_menu_slist_recommendations_minhumans;
 float autocvar_menu_slist_recommendations_purethreshold;
 
-const float REFRESHSERVERLIST_RESORT = 0;    // sort the server list again to update for changes to e.g. favorite status, categories
-const float REFRESHSERVERLIST_REFILTER = 1;  // ..., also update filter and sort criteria
-const float REFRESHSERVERLIST_ASK = 2;       // ..., also suggest querying servers now
-const float REFRESHSERVERLIST_RESET = 3;     // ..., also clear the list first
+const float REFRESHSERVERLIST_RESORT = 0;   // sort the server list again to update for changes to e.g. favorite status, categories
+const float REFRESHSERVERLIST_REFILTER = 1; // ..., also update filter and sort criteria
+const float REFRESHSERVERLIST_ASK = 2;      // ..., also suggest querying servers now
+const float REFRESHSERVERLIST_RESET = 3;    // ..., also clear the list first
 
 // function declarations
 float IsServerInList(string list, string srv);
@@ -159,7 +159,7 @@ int category_draw_count;
        SLIST_CATEGORY(CAT_DEFRAG,       "",            "CAT_SERVERS",  CTX(_("SLCAT^Defrag Mode")))
 
 #define SLIST_CATEGORY_AUTOCVAR(name) autocvar_menu_slist_categories_##name##_override
-#define SLIST_CATEGORY(name,enoverride,dioverride,str) \
+#define SLIST_CATEGORY(name, enoverride, dioverride, str) \
        int name; \
        string SLIST_CATEGORY_AUTOCVAR(name) = enoverride;
 SLIST_CATEGORIES
index e72ca12e2409813c024fbca7dc98914a1c56da35..862de304e400c179c37c149c1fe60d9061f69b3b 100644 (file)
@@ -27,10 +27,8 @@ void XonoticSkinList_loadCvars(entity me)
        float i, n;
        s = cvar_string("menu_skin");
        n = me.nItems;
-       for(i = 0; i < n; ++i)
-       {
-               if(me.skinParameter(me, i, SKINPARM_NAME) == s)
-               {
+       for (i = 0; i < n; ++i) {
+               if (me.skinParameter(me, i, SKINPARM_NAME) == s) {
                        me.setSelected(me, i);
                        break;
                }
@@ -54,43 +52,40 @@ void XonoticSkinList_getSkins(entity me)
 
        buf = buf_create();
        glob = search_begin("gfx/menu/*/skinvalues.txt", true, true);
-       if(glob < 0)
-       {
+       if (glob < 0) {
                me.skinlist = buf;
                me.nItems = 0;
                return;
        }
 
        n = search_getsize(glob);
-       for(i = 0; i < n; ++i)
-       {
+       for (i = 0; i < n; ++i) {
                s = search_getfilename(glob, i);
                name = substring(s, 9, strlen(s) - 24); // the * part
                bufstr_set(buf, i * SKINPARM_COUNT + SKINPARM_NAME, name);
                bufstr_set(buf, i * SKINPARM_COUNT + SKINPARM_TITLE, _("<TITLE>"));
                bufstr_set(buf, i * SKINPARM_COUNT + SKINPARM_AUTHOR, _("<AUTHOR>"));
-               if(draw_PictureSize(strcat("/gfx/menu/", substring(s, 9, strlen(s) - 24), "/skinpreview")) == '0 0 0')
+               if (draw_PictureSize(strcat("/gfx/menu/", substring(s, 9, strlen(s) - 24), "/skinpreview")) == '0 0 0') {
                        bufstr_set(buf, i * SKINPARM_COUNT + SKINPARM_PREVIEW, "nopreview_menuskin");
-               else
+               } else {
                        bufstr_set(buf, i * SKINPARM_COUNT + SKINPARM_PREVIEW, strcat("/gfx/menu/", substring(s, 9, strlen(s) - 24), "/skinpreview"));
+               }
                fh = fopen(s, FILE_READ);
-               if(fh < 0)
-               {
+               if (fh < 0) {
                        LOG_INFO("Warning: can't open skinvalues.txt file");
                        continue;
                }
-               while((s = fgets(fh)))
-               {
+               while ((s = fgets(fh))) {
                        // these two are handled by skinlist.qc
-                       if(substring(s, 0, 6) == "title ")
-                       {
-                               if (name == cvar_defstring("menu_skin"))
+                       if (substring(s, 0, 6) == "title ") {
+                               if (name == cvar_defstring("menu_skin")) {
                                        bufstr_set(buf, i * SKINPARM_COUNT + SKINPARM_TITLE, strcat(substring(s, 6, strlen(s) - 6), " (", _("Default"), ")"));
-                               else
+                               } else {
                                        bufstr_set(buf, i * SKINPARM_COUNT + SKINPARM_TITLE, substring(s, 6, strlen(s) - 6));
-                       }
-                       else if(substring(s, 0, 7) == "author ")
+                               }
+                       } else if (substring(s, 0, 7) == "author ") {
                                bufstr_set(buf, i * SKINPARM_COUNT + SKINPARM_AUTHOR, substring(s, 7, strlen(s) - 7));
+                       }
                }
                fclose(fh);
        }
@@ -126,10 +121,9 @@ void XonoticSkinList_drawListBoxItem(entity me, int i, vector absSize, bool isSe
 {
        string s;
 
-       if(isSelected)
+       if (isSelected) {
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
-       else if(isFocused)
-       {
+       } else if (isFocused) {
                me.focusedItemAlpha = getFadedAlpha(me.focusedItemAlpha, SKINALPHA_LISTBOX_FOCUSED, SKINFADEALPHA_LISTBOX_FOCUSED);
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_FOCUSED, me.focusedItemAlpha);
        }
@@ -165,12 +159,11 @@ void XonoticSkinList_doubleClickListBoxItem(entity me, float i, vector where)
 
 float XonoticSkinList_keyDown(entity me, float scan, float ascii, float shift)
 {
-       if(scan == K_ENTER || scan == K_KP_ENTER)
-       {
+       if (scan == K_ENTER || scan == K_KP_ENTER) {
                m_play_click_sound(MENU_SOUND_EXECUTE);
                me.setSkin(me);
                return 1;
-       }
-       else
+       } else {
                return SUPER(XonoticSkinList).keyDown(me, scan, ascii, shift);
+       }
 }
index c8e057a641416aa922a9760b6cbaafa3072b881e..e369291db006fe52aa19fdb61e46dd8538ad873b 100644 (file)
@@ -15,48 +15,50 @@ void XonoticSlider_configureXonoticSlider(entity me, float theValueMin, float th
 {
        float vp;
        vp = theValueStep * 10;
-       while(fabs(vp) < fabs(theValueMax - theValueMin) / 40)
+       while (fabs(vp) < fabs(theValueMax - theValueMin) / 40) {
                vp *= 10;
+       }
 
        me.configureSliderVisuals(me, me.fontSize, me.align, me.valueSpace, me.image);
 
        me.cvarName = (theCvar) ? theCvar : string_null;
-       if(theCvar)
+       if (theCvar) {
                // Prevent flickering of the slider button by initialising the
                // slider out of bounds to hide the button before loading the cvar
-               me.configureSliderValues(me, theValueMin, theValueMin-theValueStep, theValueMax, theValueStep, theValueStep, vp);
-       else
+               me.configureSliderValues(me, theValueMin, theValueMin - theValueStep, theValueMax, theValueStep, theValueStep, vp);
+       } else {
                me.configureSliderValues(me, theValueMin, theValueMin, theValueMax, theValueStep, theValueStep, vp);
+       }
        me.loadCvars(me);
        setZonedTooltip(me, theTooltip, theCvar);
 }
 void XonoticSlider_setValue(entity me, float val)
 {
-       if(val != me.value)
-       {
-               SUPER(XonoticSlider).setValue( me, val );
+       if (val != me.value) {
+               SUPER(XonoticSlider).setValue(me, val);
                me.saveCvars(me);
        }
 }
 void XonoticSlider_setValue_noAnim(entity me, float val)
 {
-       if(val != me.value)
-       {
+       if (val != me.value) {
                SUPER(XonoticSlider).setValue_noAnim(me, val);
                me.saveCvars(me);
        }
 }
 void XonoticSlider_loadCvars(entity me)
 {
-       if (!me.cvarName)
+       if (!me.cvarName) {
                return;
+       }
 
        me.setValue_noAnim(me, cvar(me.cvarName));
 }
 void XonoticSlider_saveCvars(entity me)
 {
-       if (!me.cvarName)
+       if (!me.cvarName) {
                return;
+       }
 
        cvar_set(me.cvarName, ftos_mindecimals(me.value));
 
index e26076b658a8b80ab668a9fc8c675677a55c11af..b778b1a2197d01ccf46967e60ab2046e56ffa909 100644 (file)
@@ -3,13 +3,13 @@
 float toDecibelOfSquare(float f, float mi)
 {
        float A = log(10) / 20; // note: about 0.115; inverse: about 8.686
-       if(mi != 0)
-       {
+       if (mi != 0) {
                // linear scale part
                float t = 1 / A + mi;
                float u = exp(1 + A * mi);
-               if(f <= u)
+               if (f <= u) {
                        return mi + (t - mi) * (f / u);
+               }
        }
        return log(f) / A;
 }
@@ -17,13 +17,13 @@ float toDecibelOfSquare(float f, float mi)
 float fromDecibelOfSquare(float f, float mi)
 {
        float A = log(10) / 20; // note: about 0.115; inverse: about 8.686
-       if(mi != 0)
-       {
+       if (mi != 0) {
                // linear scale part
                float t = 1 / A + mi;
                float u = exp(1 + A * mi);
-               if(f <= t)
+               if (f <= t) {
                        return u * ((f - mi) / (t - mi));
+               }
        }
        return exp(A * f);
 }
@@ -43,51 +43,55 @@ void XonoticDecibelsSlider_loadCvars(entity me)
 {
        float v;
 
-       if (!me.cvarName)
+       if (!me.cvarName) {
                return;
+       }
 
        v = cvar(me.cvarName);
 
        // snapping
-       if(v > fromDecibelOfSquare(me.valueMax - 0.5 * me.valueStep, me.valueMin))
+       if (v > fromDecibelOfSquare(me.valueMax - 0.5 * me.valueStep, me.valueMin)) {
                Slider_setValue_noAnim(me, me.valueMax);
-       else
+       } else {
                Slider_setValue_noAnim(me, me.valueStep * floor(0.5 + toDecibelOfSquare(v, me.valueMin) / me.valueStep));
+       }
 }
 void XonoticDecibelsSlider_saveCvars(entity me)
 {
-       if (!me.cvarName)
+       if (!me.cvarName) {
                return;
+       }
 
-       if(me.value > me.valueMax - 0.5 * me.valueStep)
+       if (me.value > me.valueMax - 0.5 * me.valueStep) {
                cvar_set(me.cvarName, ftos(fromDecibelOfSquare(me.valueMax, me.valueMin)));
-       else
+       } else {
                cvar_set(me.cvarName, ftos(fromDecibelOfSquare(me.value, me.valueMin)));
+       }
 }
 
 float autocvar_menu_snd_sliderscale;
 string XonoticDecibelsSlider_valueToText(entity me, float v)
 {
-       if(v > me.valueMax - 0.5 * me.valueStep)
+       if (v > me.valueMax - 0.5 * me.valueStep) {
                return CTX(_("VOL^MAX"));
-       else if(v <= me.valueMin)
+       } else if (v <= me.valueMin) {
                return CTX(_("VOL^OFF"));
-       else if(autocvar_menu_snd_sliderscale == 3) // fake percent scale
+       } else if (autocvar_menu_snd_sliderscale == 3) { // fake percent scale
                return sprintf("%d %%", (v - me.valueMin) / (me.valueMax - me.valueMin) * 100);
-       else if(autocvar_menu_snd_sliderscale == 2) // 0..10 scale
+       } else if (autocvar_menu_snd_sliderscale == 2) { // 0..10 scale
                return sprintf("%.1f", (v - me.valueMin) / (me.valueMax - me.valueMin) * 10);
-       else if(autocvar_menu_snd_sliderscale == 1) // real percent scale
+       } else if (autocvar_menu_snd_sliderscale == 1) { // real percent scale
                return sprintf("%.2f %%", fromDecibelOfSquare(v, me.valueMin) * 100);
-       else // decibel scale
+       } else {                                         // decibel scale
                return sprintf(_("%s dB"), ftos_decimals(toDecibelOfSquare(fromDecibelOfSquare(v, me.valueMin), 0), me.valueDigits));
+       }
 }
 
 bool autocvar_test_XonoticDecibelsSlider = false;
 TEST(XonoticDecibelsSlider, SoundTest)
 {
        if (!autocvar_test_XonoticDecibelsSlider) { SUCCEED(); return; }
-       for (int i = -400; i < 0; ++i)
-       {
+       for (int i = -400; i < 0; ++i) {
                float db = i * 0.1;
                float v = fromDecibelOfSquare(db, -40);
                float dbv = toDecibelOfSquare(v, -40);
index 3a89b00a7b21a5cf102a93d951c2e685e8b4e120..16e9e661b0cf8e32b97d94ff733848cf9c4b618b 100644 (file)
@@ -11,13 +11,13 @@ void XonoticParticlesSlider_configureXonoticParticlesSlider(entity me)
 {
        me.configureXonoticTextSlider(me, "cl_particles_quality",
                _("Multiplier for amount of particles. Less means less particles, which in turn gives for better performance (default: 1)"));
-       if(cvar("developer")) { me.addValue(me, ZCTX(_("PART^OMG")),      "0.25 250 0"); }
+       if (cvar("developer")) { me.addValue(me, ZCTX(_("PART^OMG")),      "0.25 250 0"); }
        me.addValue(me,                         ZCTX(_("PART^Low")),      "0.5 500 0");
        me.addValue(me,                         ZCTX(_("PART^Medium")),   "0.75 750 0");
        me.addValue(me,                         ZCTX(_("PART^Normal")),   "1.0 1000 1");
        me.addValue(me,                         ZCTX(_("PART^High")),     "1.5 1500 1");
        me.addValue(me,                         ZCTX(_("PART^Ultra")),    "2.0 2000 2");
-       if(cvar("developer")) { me.addValue(me, ZCTX(_("PART^Ultimate")), "3.0 3000 2"); }
+       if (cvar("developer")) { me.addValue(me, ZCTX(_("PART^Ultimate")), "3.0 3000 2"); }
        me.configureXonoticTextSliderValues(me);
 }
 void XonoticParticlesSlider_loadCvars(entity me)
@@ -26,12 +26,11 @@ void XonoticParticlesSlider_loadCvars(entity me)
                cvar_string("cl_particles_quality"),
                cvar_string("r_drawparticles_drawdistance"),
                cvar_string("cl_damageeffect")
-       ));
+               ));
 }
 void XonoticParticlesSlider_saveCvars(entity me)
 {
-       if(me.value >= 0 || me.value < me.nValues)
-       {
+       if (me.value >= 0 || me.value < me.nValues) {
                tokenize_console(me.getIdentifier(me));
                cvar_set("cl_particles_quality", argv(0));
                cvar_set("r_drawparticles_drawdistance", argv(1));
index 5611079335c5930ceaf50e07180d0eb71a6464aa..024d766e9223e71aaa7dc431b244ef284871e82d 100644 (file)
@@ -16,23 +16,23 @@ void XonoticPicmipSlider_configureXonoticPicmipSlider(entity me)
 }
 float texmemsize(float s3tc)
 {
-       return
-       (
-                 2500 * POW(0.25, max(0, cvar("gl_picmip") + cvar("gl_picmip_other")))
+       return (
+               2500 * POW(0.25, max(0, cvar("gl_picmip") + cvar("gl_picmip_other")))
                + 1500 * POW(0.25, max(0, cvar("gl_picmip") + cvar("gl_picmip_world")))
        ) * ((s3tc && (cvar("r_texture_dds_load") || cvar("gl_texturecompression"))) ? 0.2 : 1.0); // TC: normalmaps 50%, other 25%, few incompressible, guessing 40% as conservative average
 }
 void XonoticPicmipSlider_autofix(entity me)
 {
        float max_hard, max_soft;
-       if(cvar("menu_picmip_bypass"))
+       if (cvar("menu_picmip_bypass")) {
                return;
+       }
        max_hard = cvar("sys_memsize_virtual");
        max_soft = cvar("sys_memsize_physical");
-       if(max_hard > 0)
-       {
-               while(me.value > 0 && texmemsize(me.have_s3tc) > max_hard)
+       if (max_hard > 0) {
+               while (me.value > 0 && texmemsize(me.have_s3tc) > max_hard) {
                        me.setValue(me, me.value - 1);
+               }
        }
        // TODO also check the soft limit!
        // TODO better handling than clamping the slider!
index 3661fd4936e13281d41d3d2a3237ecf30b849455..99574a4f9a29572781e1ae5b6b4aed2172125ff3 100644 (file)
@@ -7,4 +7,4 @@ CLASS(XonoticPicmipSlider, XonoticTextSlider)
        METHOD(XonoticPicmipSlider, autofix, void(entity));
        ATTRIB(XonoticPicmipSlider, have_s3tc, float, 0);
 ENDCLASS(XonoticPicmipSlider)
-entity makeXonoticPicmipSlider();  // note: you still need to call addValue and configureXonoticTextSliderValues!
+entity makeXonoticPicmipSlider(); // note: you still need to call addValue and configureXonoticTextSliderValues!
index 9a55f884030e25732d23cad43de801e4e6c22c13..1517b5eb47d9956afa8727c754d6e40a330d18ed 100644 (file)
@@ -10,9 +10,9 @@ float updateConwidths(float width, float height, float pixelheight)
        float sz, f;
 
        sz = cvar("menu_vid_scale");
-       if (sz < -1)
-               return 0;  // No recalculation.
-
+       if (sz < -1) {
+               return 0; // No recalculation.
+       }
        // Save off current settings.
        cvar_set("_menu_vid_width", ftos(width));
        cvar_set("_menu_vid_height", ftos(height));
@@ -27,27 +27,27 @@ float updateConwidths(float width, float height, float pixelheight)
        c_z = 0;
        c_x = 800;
        c_y = c.x * r.y * r.z / r.x;
-       if(c.y < 600)
-       {
+       if (c.y < 600) {
                c_y = 600;
                c_x = c.y * r.x / (r.y * r.z);
        }
 
        f = min(r.x / c.x, r.y / c.y);
-       if(f < 1)
-               c = c * f; // ensures that c_x <= r_x and c_y <= r_y
-
+       if (f < 1) {
+               c = c * f;                            // ensures that c_x <= r_x and c_y <= r_y
+       }
        minfactor = min(1, 640 / c.x);            // can be > 1 only if c_x is <640
        maxfactor = max(1, r.x / c.x, r.y / c.y); // can be < 1 only if r_x < c_x and r_y < c_y
        LOG_TRACE("min factor: ", ftos(minfactor));
        LOG_TRACE("max factor: ", ftos(maxfactor));
 
-       if(sz < 0)
+       if (sz < 0) {
                f = 1 - (maxfactor - 1) * sz;
-       else if(sz > 0)
+       } else if (sz > 0) {
                f = 1 + (minfactor - 1) * sz;
-       else
+       } else {
                f = 1;
+       }
        c = c * f; // fteqcc fail
 
        c_x = rint(c.x);
@@ -56,8 +56,7 @@ float updateConwidths(float width, float height, float pixelheight)
        // Please reload resolutions list and such stuff.
        XonoticResolutionSlider_DataHasChanged = true;
 
-       if (c.x != cvar("vid_conwidth") || c.y != cvar("vid_conheight"))
-       {
+       if (c.x != cvar("vid_conwidth") || c.y != cvar("vid_conheight")) {
                cvar_set("vid_conwidth", ftos(c.x));
                cvar_set("vid_conheight", ftos(c.y));
                return 1;
@@ -73,40 +72,39 @@ entity makeXonoticResolutionSlider()
 }
 void XonoticResolutionSlider_addResolution(entity me, float w, float h, float pixelheight)
 {
-       if (me.maxAllowedWidth && w > me.maxAllowedWidth)
+       if (me.maxAllowedWidth && w > me.maxAllowedWidth) {
                return;
-       if (me.maxAllowedHeight && h > me.maxAllowedHeight)
+       }
+       if (me.maxAllowedHeight && h > me.maxAllowedHeight) {
                return;
+       }
        float i;
-       for (i = 0; i < me.nValues; ++i)
-       {
+       for (i = 0; i < me.nValues; ++i) {
                tokenize_console(me.valueToIdentifier(me, i));
-               if (w > stof(argv(0))) continue;
-               if (w < stof(argv(0))) break;
-               if (h > stof(argv(1))) continue;
-               if (h < stof(argv(1))) break;
-               if (pixelheight > stof(argv(2)) + 0.01) continue;
-               if (pixelheight < stof(argv(2)) - 0.01) break;
-               return;  // already there
+               if (w > stof(argv(0))) { continue; }
+               if (w < stof(argv(0))) { break; }
+               if (h > stof(argv(1))) { continue; }
+               if (h < stof(argv(1))) { break; }
+               if (pixelheight > stof(argv(2)) + 0.01) { continue; }
+               if (pixelheight < stof(argv(2)) - 0.01) { break; }
+               return; // already there
        }
-       if (pixelheight != 1)
-       {
+       if (pixelheight != 1) {
                float aspect = w / (h * pixelheight);
                float bestdenom = rint(aspect);
                float bestnum = 1;
                float denom;
                for (denom = 2; denom < 10; ++denom) {
                        float num = rint(aspect * denom);
-                       if (fabs(num / denom - aspect) < fabs(bestnum / bestdenom - aspect))
-                       {
+                       if (fabs(num / denom - aspect) < fabs(bestnum / bestdenom - aspect)) {
                                bestnum = num;
                                bestdenom = denom;
                        }
                }
                me.insertValue(me, i, strzone(sprintf("%dx%d (%d:%d)", w, h, bestnum, bestdenom)), strzone(strcat(ftos(w), " ", ftos(h), " ", ftos(pixelheight))));
-       }
-       else
+       } else {
                me.insertValue(me, i, strzone(sprintf("%dx%d", w, h)), strzone(strcat(ftos(w), " ", ftos(h), " ", ftos(pixelheight))));
+       }
 }
 float autocvar_menu_vid_allowdualscreenresolution;
 void XonoticResolutionSlider_configureXonoticResolutionSlider(entity me)
@@ -122,8 +120,7 @@ void XonoticResolutionSlider_loadResolutions(entity me, float fullscreen)
 
        // HACK: text slider assumes the strings are constants, so clearValues
        // will not unzone them
-       for(i = 0; i < me.nValues; ++i)
-       {
+       for (i = 0; i < me.nValues; ++i) {
                strunzone(me.valueToIdentifier(me, i));
                strunzone(me.valueToText(me, i));
        }
@@ -132,58 +129,60 @@ void XonoticResolutionSlider_loadResolutions(entity me, float fullscreen)
        me.maxAllowedWidth = 0;
        me.maxAllowedHeight = 0;
 
-       if (fullscreen)
-       {
-               for(i = 0;; ++i)
-               {
+       if (fullscreen) {
+               for (i = 0; ; ++i) {
                        r = getresolution(i);
-                       if(r_x == 0 && r_y == 0)
+                       if (r_x == 0 && r_y == 0) {
                                break;
-                       if(r.x < 640 || r.y < 480)
+                       }
+                       if (r.x < 640 || r.y < 480) {
                                continue;
-                       if(r.x > 2 * r.y) // likely dualscreen resolution, skip this one
-                               if(autocvar_menu_vid_allowdualscreenresolution <= 0)
+                       }
+                       if (r.x > 2 * r.y) { // likely dualscreen resolution, skip this one
+                               if (autocvar_menu_vid_allowdualscreenresolution <= 0) {
                                        continue;
+                               }
+                       }
                        me.addResolution(me, r.x, r.y, r.z);
                }
                r = getresolution(-1);
-               if(r.x != 0 || r.y != 0)
+               if (r.x != 0 || r.y != 0) {
                        me.addResolution(me, r.x, r.y, r.z);
+               }
                LOG_TRACE("Added system resolutions.");
        }
 
-       if(me.nValues == 0)
-       {
+       if (me.nValues == 0) {
                // Get workarea.
                r = getresolution(-2);
                // If workarea is not supported, get desktop size.
-               if(r.x == 0 && r.y == 0)
+               if (r.x == 0 && r.y == 0) {
                        r = getresolution(-1);
+               }
 
                // Add it, and limit all other resolutions to the workarea/desktop size.
-               if(r.x != 0 || r.y != 0)
-               {
+               if (r.x != 0 || r.y != 0) {
                        me.maxAllowedWidth = r.x;
                        me.maxAllowedHeight = r.y;
                        me.addResolution(me, r.x, r.y, r.z);
                }
 
                // Add nice hardcoded defaults.
-               me.addResolution(me, 640, 480, 1); // pc res
+               me.addResolution(me, 640, 480, 1);        // pc res
 #if 0
-               me.addResolution(me, 720, 480, 1.125); // DVD NTSC 4:3
-               me.addResolution(me, 720, 576, 0.9375); // DVD PAL 4:3
-               me.addResolution(me, 720, 480, 0.84375); // DVD NTSC 16:9
+               me.addResolution(me, 720, 480, 1.125);    // DVD NTSC 4:3
+               me.addResolution(me, 720, 576, 0.9375);   // DVD PAL 4:3
+               me.addResolution(me, 720, 480, 0.84375);  // DVD NTSC 16:9
                me.addResolution(me, 720, 576, 0.703125); // DVD PAL 16:9
 #endif
-               me.addResolution(me, 800, 480, 1); // 480p at 1:1 pixel aspect
-               me.addResolution(me, 800, 600, 1); // pc res
-               me.addResolution(me, 1024, 600, 1); // notebook res
-               me.addResolution(me, 1024, 768, 1); // pc res
-               me.addResolution(me, 1280, 720, 1); // 720p
-               me.addResolution(me, 1280, 960, 1); // pc res
-               me.addResolution(me, 1280, 1024, 1); // pc res
-               me.addResolution(me, 1920, 1080, 1); // 1080p
+               me.addResolution(me, 800, 480, 1);        // 480p at 1:1 pixel aspect
+               me.addResolution(me, 800, 600, 1);        // pc res
+               me.addResolution(me, 1024, 600, 1);       // notebook res
+               me.addResolution(me, 1024, 768, 1);       // pc res
+               me.addResolution(me, 1280, 720, 1);       // 720p
+               me.addResolution(me, 1280, 960, 1);       // pc res
+               me.addResolution(me, 1280, 1024, 1);      // pc res
+               me.addResolution(me, 1920, 1080, 1);      // 1080p
                LOG_TRACE("Added default resolutions.");
        }
        LOG_TRACE("Total number of resolutions detected: ", ftos(me.nValues));
@@ -198,28 +197,26 @@ void XonoticResolutionSlider_loadCvars(entity me)
 }
 void XonoticResolutionSlider_saveCvars(entity me)
 {
-       if(me.value >= 0 || me.value < me.nValues)
-       {
+       if (me.value >= 0 || me.value < me.nValues) {
                tokenize_console(me.getIdentifier(me));
                cvar_set("_menu_vid_width", argv(0));
                cvar_set("_menu_vid_height", argv(1));
                cvar_set("_menu_vid_pixelheight", argv(2));
                vector r = getresolution(-1);
-               if (stof(argv(0)) == r.x && stof(argv(1)) == r.y && fabs(stof(argv(2)) - r.z) < 0.01)
+               if (stof(argv(0)) == r.x && stof(argv(1)) == r.y && fabs(stof(argv(2)) - r.z) < 0.01) {
                        cvar_set("_menu_vid_desktopfullscreen", "1");
-               else
+               } else {
                        cvar_set("_menu_vid_desktopfullscreen", "0");
+               }
        }
 }
 void XonoticResolutionSlider_draw(entity me)
 {
-       if (cvar("vid_fullscreen") != me.vid_fullscreen)
-       {
+       if (cvar("vid_fullscreen") != me.vid_fullscreen) {
                me.loadResolutions(me, cvar("vid_fullscreen"));
                XonoticResolutionSlider_DataHasChanged = true;
        }
-       if (XonoticResolutionSlider_DataHasChanged)
-       {
+       if (XonoticResolutionSlider_DataHasChanged) {
                XonoticResolutionSlider_DataHasChanged = false;
                me.loadCvars(me);
        }
index 048a42184c86c6b9ffadc3f0014414ca2dafc65d..5a10eccd2cb2cbf9bc6ea82100abb441ef813cce 100644 (file)
@@ -21,12 +21,11 @@ void XonoticScoreboardFadeTimeSlider_loadCvars(entity me)
        me.setValueFromIdentifier_noAnim(me, sprintf("%s %s",
                cvar_string("hud_panel_scoreboard_fadeinspeed"),
                cvar_string("hud_panel_scoreboard_fadeoutspeed")
-       ));
+               ));
 }
 void XonoticScoreboardFadeTimeSlider_saveCvars(entity me)
 {
-       if(me.value >= 0 || me.value < me.nValues)
-       {
+       if (me.value >= 0 || me.value < me.nValues) {
                tokenize_console(me.getIdentifier(me));
                cvar_set("hud_panel_scoreboard_fadeinspeed", argv(0));
                cvar_set("hud_panel_scoreboard_fadeoutspeed", argv(1));
index 13e6ba34c03395f74fbe2f7f6fccfa3c26fd16f6..e2af7c441ff8ca1bdde0f6da3b196edb650ce93b 100644 (file)
@@ -21,7 +21,7 @@ string XonoticSoundList_soundName(entity me, int i)
 {
        string s;
        s = search_getfilename(me.listSound, i);
-       s = substring(s, 15, strlen(s) - 15 - 4);  // sound/cdtracks/, .ogg
+       s = substring(s, 15, strlen(s) - 15 - 4); // sound/cdtracks/, .ogg
        return s;
 }
 
@@ -30,14 +30,16 @@ void XonoticSoundList_getSounds(entity me)
 {
        string s;
 
-       if(me.filterString)
-               //subdirectory in filterString allowed
+       if (me.filterString) {
+               // subdirectory in filterString allowed
                s = strcat("sound/cdtracks/*", me.filterString, "*.ogg");
-       else
+       } else {
                s = "sound/cdtracks/*.ogg";
+       }
 
-       if(me.listSound >= 0)
+       if (me.listSound >= 0) {
                search_end(me.listSound);
+       }
 
        me.listSound = search_begin(s, false, true);
 
@@ -46,8 +48,9 @@ void XonoticSoundList_getSounds(entity me)
 
 void XonoticSoundList_destroy(entity me)
 {
-       if(me.listSound >= 0)
+       if (me.listSound >= 0) {
                search_end(me.listSound);
+       }
 }
 
 void XonoticSoundList_resizeNotify(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize)
@@ -69,19 +72,19 @@ void XonoticSoundList_resizeNotify(entity me, vector relOrigin, vector relSize,
 void XonoticSoundList_drawListBoxItem(entity me, int i, vector absSize, bool isSelected, bool isFocused)
 {
        string s;
-       if(isSelected)
+       if (isSelected) {
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
-       else if(isFocused)
-       {
+       } else if (isFocused) {
                me.focusedItemAlpha = getFadedAlpha(me.focusedItemAlpha, SKINALPHA_LISTBOX_FOCUSED, SKINFADEALPHA_LISTBOX_FOCUSED);
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_FOCUSED, me.focusedItemAlpha);
        }
 
        s = me.soundName(me, i);
-       if(s == cvar_string("menu_cdtrack")) // current menu track
+       if (s == cvar_string("menu_cdtrack")) { // current menu track
                draw_CenterText((me.columnNumberOrigin + 0.5 * me.columnNumberSize) * eX + me.realUpperMargin * eY, "[C]", me.realFontSize, '1 1 1', SKINALPHA_TEXT, 0);
-       else if(s == cvar_defstring("menu_cdtrack")) // default menu track
+       } else if (s == cvar_defstring("menu_cdtrack")) { // default menu track
                draw_CenterText((me.columnNumberOrigin + 0.5 * me.columnNumberSize) * eX + me.realUpperMargin * eY, "[D]", me.realFontSize, '1 1 1', SKINALPHA_TEXT, 0);
+       }
 
        s = draw_TextShortenToWidth(s, me.columnNameSize, 0, me.realFontSize);
        draw_Text(me.realUpperMargin * eY + me.columnNameOrigin * eX, s, me.realFontSize, '1 1 1', SKINALPHA_TEXT, 0);
@@ -104,13 +107,15 @@ void SoundList_Menu_Track_Reset(entity box, entity me)
 
 void SoundList_Filter_Change(entity box, entity me)
 {
-       if(me.filterString)
+       if (me.filterString) {
                strunzone(me.filterString);
+       }
 
-       if(box.text != "")
+       if (box.text != "") {
                me.filterString = strzone(box.text);
-       else
+       } else {
                me.filterString = string_null;
+       }
 
        me.getSounds(me);
 }
@@ -123,8 +128,9 @@ void SoundList_Add(entity box, entity me)
 void SoundList_Add_All(entity box, entity me)
 {
        int i;
-       for(i = 0; i < me.nItems; ++i)
+       for (i = 0; i < me.nItems; ++i) {
                me.playlist.addToPlayList(me.playlist, me.soundName(me, i));
+       }
 }
 
 void XonoticSoundList_doubleClickListBoxItem(entity me, int i, vector where)
@@ -134,10 +140,10 @@ void XonoticSoundList_doubleClickListBoxItem(entity me, int i, vector where)
 
 float XonoticSoundList_keyDown(entity me, float scan, float ascii, float shift)
 {
-       if(scan == K_ENTER || scan == K_KP_ENTER || scan == K_SPACE) {
+       if (scan == K_ENTER || scan == K_KP_ENTER || scan == K_SPACE) {
                me.playlist.addToPlayList(me.playlist, me.soundName(me, me.selectedItem));
                return 1;
-       }
-       else
+       } else {
                return SUPER(XonoticSoundList).keyDown(me, scan, ascii, shift);
+       }
 }
index 3e94738a9ab500d89a162003be58ef67106e49f0..187029bb5299e8f66ffd9335be28dd16a5f914da 100644 (file)
@@ -19,25 +19,37 @@ string XonoticStatsList_convertDate(string input)
 {
        // 2013-12-21
        // 0123456789
-       if(strlen(input) != 10)
+       if (strlen(input) != 10) {
                return input;
+       }
 
        string monthname = "";
 
-       switch(stof(substring(input, 5, 2)))
-       {
-               case 1:  monthname = _("January");    break;
-               case 2:  monthname = _("February");   break;
-               case 3:  monthname = _("March");      break;
-               case 4:  monthname = _("April");      break;
-               case 5:  monthname = _("May");        break;
-               case 6:  monthname = _("June");       break;
-               case 7:  monthname = _("July");       break;
-               case 8:  monthname = _("August");     break;
-               case 9:  monthname = _("September");  break;
-               case 10: monthname = _("October");    break;
-               case 11: monthname = _("November");   break;
-               case 12: monthname = _("December");   break;
+       switch (stof(substring(input, 5, 2))) {
+               case 1:  monthname = _("January");
+                       break;
+               case 2:  monthname = _("February");
+                       break;
+               case 3:  monthname = _("March");
+                       break;
+               case 4:  monthname = _("April");
+                       break;
+               case 5:  monthname = _("May");
+                       break;
+               case 6:  monthname = _("June");
+                       break;
+               case 7:  monthname = _("July");
+                       break;
+               case 8:  monthname = _("August");
+                       break;
+               case 9:  monthname = _("September");
+                       break;
+               case 10: monthname = _("October");
+                       break;
+               case 11: monthname = _("November");
+                       break;
+               case 12: monthname = _("December");
+                       break;
                default: return input; // failed, why?
        }
 
@@ -53,16 +65,17 @@ void XonoticStatsList_getStats(entity me)
 {
        LOG_TRACE("XonoticStatsList_getStats() at time: ", ftos(time));
        // delete the old buffer if it exists
-       if(me.listStats >= 0)
+       if (me.listStats >= 0) {
                buf_del(me.listStats);
+       }
 
        // create the new buffer if we have a stats buffer
-       if(PS_D_IN_DB >= 0)
+       if (PS_D_IN_DB >= 0) {
                me.listStats = buf_create();
+       }
 
        // now confirmation, if we didn't create a buffer then just return now
-       if(me.listStats < 0)
-       {
+       if (me.listStats < 0) {
                me.nItems = 0;
                return;
        }
@@ -80,16 +93,14 @@ void XonoticStatsList_getStats(entity me)
        float out_total_kills = -1;
        float out_total_deaths = -1;
 
-       for(e = PS_D_IN_EVL; (en = db_get(PS_D_IN_DB, e)) != ""; e = en)
-       {
+       for (e = PS_D_IN_EVL; (en = db_get(PS_D_IN_DB, e)) != ""; e = en) {
                order = 0;
                outstr = "";
                orderstr = "";
                data = db_get(PS_D_IN_DB, sprintf("#%s", e));
 
                // non-gamemode specific stuff
-               switch(e)
-               {
+               switch (e) {
                        case "overall/joined_dt":
                        {
                                order = 1;
@@ -144,12 +155,10 @@ void XonoticStatsList_getStats(entity me)
                        }
                }
 
-               if((order == -1) && (out_total_matches >= 0) && (out_total_wins >= 0))
-               {
+               if ((order == -1) && (out_total_matches >= 0) && (out_total_wins >= 0)) {
                        bufstr_add(me.listStats, sprintf("003Matches: %d", out_total_matches), true);
 
-                       if(out_total_matches > 0) // don't show extra info if there are no matches played
-                       {
+                       if (out_total_matches > 0) { // don't show extra info if there are no matches played
                                out_total_losses = max(0, (out_total_matches - out_total_wins));
                                bufstr_add(me.listStats, sprintf("003Wins/Losses: %d/%d", out_total_wins, out_total_losses), true);
                                bufstr_add(me.listStats, sprintf("004Win_Percentage: %d%%", ((out_total_wins / out_total_matches) * 100)), true);
@@ -161,15 +170,15 @@ void XonoticStatsList_getStats(entity me)
                        continue;
                }
 
-               if((order == -1) && (out_total_kills >= 0) && (out_total_deaths >= 0))
-               {
+               if ((order == -1) && (out_total_kills >= 0) && (out_total_deaths >= 0)) {
                        bufstr_add(me.listStats, sprintf("005Kills/Deaths: %d/%d", out_total_kills, out_total_deaths), true);
 
                        // if there are no deaths, just show kill count
-                       if(out_total_deaths > 0)
+                       if (out_total_deaths > 0) {
                                bufstr_add(me.listStats, sprintf("006Kill_Ratio: %.2f", (out_total_kills / out_total_deaths)), true);
-                       else
+                       } else {
                                bufstr_add(me.listStats, sprintf("006Kill_Ratio: %.2f", out_total_kills), true);
+                       }
 
                        out_total_kills = -1;
                        out_total_deaths = -1;
@@ -177,29 +186,24 @@ void XonoticStatsList_getStats(entity me)
                }
 
                // game mode specific stuff
-               if(order > 0)
-               {
+               if (order > 0) {
                        orderstr = sprintf("%03d", order);
-               }
-               else
-               {
+               } else {
                        float dividerpos = strstrofs(e, "/", 0);
 
                        string gametype = substring(e, 0, dividerpos);
-                       if(gametype == "overall") { continue; }
+                       if (gametype == "overall") { continue; }
 
                        string event = substring(e, (dividerpos + 1), strlen(e) - (dividerpos + 1));
 
                        // if we are ranked, read these sets of possible options
-                       if(stof(db_get(PS_D_IN_DB, sprintf("#%s/rank", gametype))))
-                       {
-                               switch(event)
-                               {
+                       if (stof(db_get(PS_D_IN_DB, sprintf("#%s/rank", gametype)))) {
+                               switch (event) {
                                        case "matches":
                                        {
                                                order = 1;
                                                outstr = sprintf(_("%s_Matches:"), strtoupper(gametype));
-                                               //data = sprintf(_("%d (unranked)"), data);
+                                               // data = sprintf(_("%d (unranked)"), data);
                                                break;
                                        }
                                        case "elo":
@@ -224,45 +228,44 @@ void XonoticStatsList_getStats(entity me)
                                                break;
                                        }
 
-                                       #if 0
+#if 0
                                        case "favorite-map":
                                        {
                                                order = 5;
                                                outstr = sprintf(_("%s_Favorite_Map:"), strtoupper(gametype));
-                                               //data = sprintf(_("%d (unranked)"), data);
+                                               // data = sprintf(_("%d (unranked)"), data);
                                                break;
                                        }
-                                       #endif
+#endif
 
                                        default: continue; // nothing to see here
                                }
 
                                // now set up order for sorting later
                                orderstr = sprintf("%2.2s%d", gametype, order);
-                       }
-                       else if(event == "matches")
-                       {
+                       } else if (event == "matches") {
                                outstr = sprintf(_("%s_Matches:"), strtoupper(gametype));
                                data = sprintf(_("%d (unranked)"), stof(data));
 
                                // unranked game modes ALWAYS get put last
                                orderstr = "zzz";
-                       }
-                       else { continue; }
+                       } else { continue; }
                }
 
                bufstr_add(me.listStats, sprintf("%s%s %s", orderstr, outstr, data), true);
        }
 
        me.nItems = buf_getsize(me.listStats);
-       if(me.nItems > 0)
+       if (me.nItems > 0) {
                buf_sort(me.listStats, 128, false);
+       }
 }
 
 void XonoticStatsList_destroy(entity me)
 {
-       if(me.nItems > 0)
+       if (me.nItems > 0) {
                buf_del(me.listStats);
+       }
 }
 
 void XonoticStatsList_resizeNotify(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize)
@@ -276,7 +279,7 @@ void XonoticStatsList_resizeNotify(entity me, vector relOrigin, vector relSize,
 
 #if 0
        me.columnNameOrigin = me.realFontSize.x;
-       me.columnNameSize = 0.5 - me.realFontSize.x; // end halfway at maximum length
+       me.columnNameSize = 0.5 - me.realFontSize.x;                   // end halfway at maximum length
        me.columnDataOrigin = me.columnNameOrigin + me.columnNameSize;
        me.columnDataSize = 1 - me.columnNameSize - me.realFontSize.x; // fill the rest of the control
 #else
@@ -287,8 +290,7 @@ void XonoticStatsList_resizeNotify(entity me, vector relOrigin, vector relSize,
 
 void XonoticStatsList_drawListBoxItem(entity me, int i, vector absSize, bool isSelected, bool isFocused)
 {
-       if(isFocused)
-       {
+       if (isFocused) {
                me.focusedItemAlpha = getFadedAlpha(me.focusedItemAlpha, SKINALPHA_LISTBOX_FOCUSED, SKINFADEALPHA_LISTBOX_FOCUSED);
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_FOCUSED, me.focusedItemAlpha);
        }
@@ -313,18 +315,15 @@ void XonoticStatsList_showNotify(entity me)
 
 void XonoticStatsList_doubleClickListBoxItem(entity me, float i, vector where)
 {
-       //DemoConfirm_ListClick_Check_Gamestatus(me);
+       // DemoConfirm_ListClick_Check_Gamestatus(me);
 }
 
 float XonoticStatsList_keyDown(entity me, float scan, float ascii, float shift)
 {
-       if(scan == K_ENTER || scan == K_KP_ENTER)
-       {
-               //DemoConfirm_ListClick_Check_Gamestatus(me);
+       if (scan == K_ENTER || scan == K_KP_ENTER) {
+               // DemoConfirm_ListClick_Check_Gamestatus(me);
                return 1;
-       }
-       else
-       {
+       } else {
                return SUPER(XonoticStatsList).keyDown(me, scan, ascii, shift);
        }
 }
index 01fb93645bf6aeb92991805cb4d642e1b2bed5b1..4da72c61b7a6af20d1ad01c249a2ee61e082ace1 100644 (file)
@@ -20,5 +20,5 @@ CLASS(XonoticStatsList, XonoticListBox)
        ATTRIB(XonoticStatsList, columnNameSize, float, 0);
 ENDCLASS(XonoticStatsList)
 
-entity statslist;  // for reference elsewhere
+entity statslist; // for reference elsewhere
 entity makeXonoticStatsList();
index fe6941723a121ac93f56ca9b8af51a2176150cd0..c03c297ec628c7a9bb05f9b2a08b1d7cfe918d66 100644 (file)
@@ -16,10 +16,11 @@ void XonoticTabController_configureXonoticTabController(entity me, float theRows
 entity XonoticTabController_makeTabButton_T(entity me, string theTitle, entity tab, string theTooltip)
 {
        entity b;
-       if(me.rows != tab.rows)
+       if (me.rows != tab.rows) {
                error("Tab dialog height mismatch!");
+       }
        b = makeXonoticButton_T(theTitle, '0 0 0', theTooltip);
-               me.addTab(me, tab, b);
+       me.addTab(me, tab, b);
        // TODO make this real tab buttons (with color parameters, and different gfx)
        return b;
 }
index 54c7e5fb1238788e7e8d2a21fa2aac67e0e85676..088a530d9b30d587ead88ff7b213d6cf859a59b8 100644 (file)
@@ -20,78 +20,72 @@ void XonoticTextSlider_configureXonoticTextSlider(entity me, string theCvar, str
 }
 void XonoticTextSlider_setValue(entity me, float val)
 {
-       if(val != me.value)
-       {
-               SUPER(XonoticTextSlider).setValue( me, val );
+       if (val != me.value) {
+               SUPER(XonoticTextSlider).setValue(me, val);
                me.saveCvars(me);
        }
 }
 void XonoticTextSlider_setValue_noAnim(entity me, float val)
 {
-       if(val != me.value)
-       {
+       if (val != me.value) {
                SUPER(XonoticTextSlider).setValue_noAnim(me, val);
                me.saveCvars(me);
        }
 }
 void XonoticTextSlider_loadCvars(entity me)
 {
-       if (!me.cvarName)
+       if (!me.cvarName) {
                return;
+       }
 
        float n = tokenize_console(me.cvarName);
        string s = cvar_string(argv(0));
        float i;
-       for(i = 1; i < n; ++i)
+       for (i = 1; i < n; ++i) {
                s = strcat(s, " ", cvar_string(argv(i)));
+       }
        me.setValueFromIdentifier_noAnim(me, s);
-       if(me.value < 0 && n > 1)
-       {
+       if (me.value < 0 && n > 1) {
                // if it failed: check if all cvars have the same value
                // if yes, try its value as 1-word identifier
-               for(i = 1; i < n; ++i)
-                       if(cvar_string(argv(i)) != cvar_string(argv(i-1)))
+               for (i = 1; i < n; ++i) {
+                       if (cvar_string(argv(i)) != cvar_string(argv(i - 1))) {
                                break;
-               if(i >= n)
+                       }
+               }
+               if (i >= n) {
                        me.setValueFromIdentifier_noAnim(me, cvar_string(argv(0)));
+               }
        }
 }
 void XonoticTextSlider_saveCvars(entity me)
 {
-       if (!me.cvarName)
+       if (!me.cvarName) {
                return;
+       }
 
-       if(me.value >= 0 && me.value < me.nValues)
-       {
+       if (me.value >= 0 && me.value < me.nValues) {
                float n = tokenize_console(me.cvarName);
-               if(n == 1)
-               {
+               if (n == 1) {
                        // this is a special case to allow spaces in the identifiers
                        cvar_set(argv(0), me.getIdentifier(me));
                        CheckSendCvars(me, argv(0));
-               }
-               else
-               {
+               } else {
                        float i;
                        float m = tokenize_console(strcat(me.cvarName, " ", me.getIdentifier(me)));
-                       if(m == n + 1)
-                       {
-                               for(i = 0; i < n; ++i)
-                               {
+                       if (m == n + 1) {
+                               for (i = 0; i < n; ++i) {
                                        cvar_set(argv(i), argv(n));
                                        CheckSendCvars(me, argv(i));
                                }
-                       }
-                       else if(m == n * 2)
-                       {
-                               for(i = 0; i < n; ++i)
-                               {
+                       } else if (m == n * 2) {
+                               for (i = 0; i < n; ++i) {
                                        cvar_set(argv(i), argv(i + n));
                                        CheckSendCvars(me, argv(i));
                                }
-                       }
-                       else
+                       } else {
                                error("XonoticTextSlider: invalid identifier ", me.getIdentifier(me), " does not match cvar list ", me.cvarName);
+                       }
                }
        }
 }
index 58fe8e86bbe4a0becaac10ea463fe493f50b2d72..1de3eec2197eb1fbfc0c9de04896051df473e98b 100644 (file)
@@ -26,4 +26,4 @@ CLASS(XonoticTextSlider, TextSlider)
        ATTRIB(XonoticTextSlider, disabledAlpha, float, SKINALPHA_DISABLED);
 ENDCLASS(XonoticTextSlider)
 entity makeXonoticTextSlider_T(string, string theTooltip);
-entity makeXonoticTextSlider(string);  // note: you still need to call addValue and configureXonoticTextSliderValues!
+entity makeXonoticTextSlider(string); // note: you still need to call addValue and configureXonoticTextSliderValues!
index 96fef2ad4006f553a3bd8a5b22dd594b684df5c3..5fc79600b3ff6fbca40963e6b381d2be82182911 100644 (file)
@@ -32,7 +32,7 @@ void UpdateNotification_URI_Get_Callback(float id, float status, string data);
 entity GameType_GetID(int cnt);
 string GameType_GetName(int cnt);
 string GameType_GetIcon(int cnt);
-//string GameType_GetTeams(float cnt);
+// string GameType_GetTeams(float cnt);
 int GameType_GetCount();
 int GameType_GetTotalCount();
 
@@ -41,7 +41,7 @@ void dialog_hudpanel_common_notoggle(entity me, string panelname);
        dialog_hudpanel_common_notoggle(me, panelname)
 #define DIALOG_HUDPANEL_COMMON() \
        me.TR(me); \
-               me.TD(me, 1, 4, e = makeXonoticCheckBox(0, strzone(strcat("hud_panel_", panelname)), _("Enable panel"))); \
+       me.TD(me, 1, 4, e = makeXonoticCheckBox(0, strzone(strcat("hud_panel_", panelname)), _("Enable panel"))); \
        DIALOG_HUDPANEL_COMMON_NOTOGGLE()
 
 float getFadedAlpha(float currentAlpha, float startAlpha, float targetAlpha);
index fd4f51385bb898cf74fd498b1bc13b3673c02805..76ff7cb5f09bc0aeaa8b228568836e718cf9e2cc 100644 (file)
@@ -23,10 +23,8 @@ void XonoticWeaponarenaCheckBox_loadCvars(entity me)
 {
        float n = tokenize_console(cvar_string("menu_weaponarena"));
        float i;
-       for(i=0; i<n; ++i)
-       {
-               if(argv(i) == me.netname)
-               {
+       for (i = 0; i < n; ++i) {
+               if (argv(i) == me.netname) {
                        me.checked = true;
                        break;
                }
@@ -35,9 +33,10 @@ void XonoticWeaponarenaCheckBox_loadCvars(entity me)
 
 void XonoticWeaponarenaCheckBox_saveCvars(entity me)
 {
-       if(me.checked)
+       if (me.checked) {
                localcmd(strcat("\nmenu_cmd addtolist menu_weaponarena ", me.netname, "\n"));
-       else
+       } else {
                localcmd(strcat("\nmenu_cmd removefromlist menu_weaponarena ", me.netname, "\n"));
+       }
        localcmd("\ng_weaponarena \"$menu_weaponarena\"\n");
 }
index 7b3d7375b7760018cf4ab267e3f8d2daab6bc137..9d33bb1c4042ee428f79b1c9f45df6f017d3fba9 100644 (file)
@@ -21,23 +21,22 @@ void XonoticWeaponsList_draw(entity me)
        string s, t;
        s = W_NumberWeaponOrder(cvar_string("cl_weaponpriority"));
        t = W_FixWeaponOrder(s, 1);
-       if(t != s)
+       if (t != s) {
                cvar_set("cl_weaponpriority", W_NameWeaponOrder(t));
+       }
        me.nItems = tokenize_console(t);
        SUPER(XonoticWeaponsList).draw(me);
 }
 void WeaponsList_MoveUp_Click(entity box, entity me)
 {
-       if(me.selectedItem > 0)
-       {
+       if (me.selectedItem > 0) {
                cvar_set("cl_weaponpriority", swapInPriorityList(cvar_string("cl_weaponpriority"), me.selectedItem - 1, me.selectedItem));
                me.setSelected(me, me.selectedItem - 1);
        }
 }
 void WeaponsList_MoveDown_Click(entity box, entity me)
 {
-       if(me.selectedItem < me.nItems - 1)
-       {
+       if (me.selectedItem < me.nItems - 1) {
                cvar_set("cl_weaponpriority", swapInPriorityList(cvar_string("cl_weaponpriority"), me.selectedItem, me.selectedItem + 1));
                me.setSelected(me, me.selectedItem + 1);
        }
@@ -55,12 +54,11 @@ float XonoticWeaponsList_mouseDrag(entity me, vector pos)
        int i = me.selectedItem;
        float f = SUPER(XonoticWeaponsList).mouseDrag(me, pos);
 
-       if(me.pressed != 1) // don't change priority if the person is just scrolling
-       {
-               if(me.selectedItem != i)
-               {
-                       if(me.applyButton)
+       if (me.pressed != 1) { // don't change priority if the person is just scrolling
+               if (me.selectedItem != i) {
+                       if (me.applyButton) {
                                me.applyButton.disabled = false;
+                       }
                        cvar_set("cl_weaponpriority", swapInPriorityList(cvar_string("cl_weaponpriority"), me.selectedItem, i));
                }
        }
@@ -74,8 +72,7 @@ string XonoticWeaponsList_toString(entity me)
        entity e;
        n = tokenize_console(W_NumberWeaponOrder(cvar_string("cl_weaponpriority")));
        s = "";
-       for(i = 0; i < n; ++i)
-       {
+       for (i = 0; i < n; ++i) {
                e = Weapons_from(stof(argv(i)));
                s = strcat(s, e.m_name, ", ");
        }
@@ -84,17 +81,17 @@ string XonoticWeaponsList_toString(entity me)
 void XonoticWeaponsList_drawListBoxItem(entity me, int i, vector absSize, bool isSelected, bool isFocused)
 {
        entity e;
-       if(isSelected)
+       if (isSelected) {
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
-       else if(isFocused)
-       {
+       } else if (isFocused) {
                me.focusedItemAlpha = getFadedAlpha(me.focusedItemAlpha, SKINALPHA_LISTBOX_FOCUSED, SKINFADEALPHA_LISTBOX_FOCUSED);
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_FOCUSED, me.focusedItemAlpha);
        }
        e = Weapons_from(stof(argv(i)));
        string msg = e.m_name;
-       if(e.spawnflags & WEP_FLAG_MUTATORBLOCKED)
+       if (e.spawnflags & WEP_FLAG_MUTATORBLOCKED) {
                msg = strcat(msg, "*");
+       }
 
        vector save_fontscale = draw_fontscale;
        float f = draw_CondensedFontFactor(msg, false, me.realFontSize, 1);
@@ -107,17 +104,14 @@ void XonoticWeaponsList_drawListBoxItem(entity me, int i, vector absSize, bool i
 
 float XonoticWeaponsList_keyDown(entity me, float scan, float ascii, float shift)
 {
-       if(ascii == 43) // +
-       {
+       if (ascii == 43) { // +
                WeaponsList_MoveUp_Click(NULL, me);
                return 1;
-       }
-       else if(ascii == 45) // -
-       {
+       } else if (ascii == 45) { // -
                WeaponsList_MoveDown_Click(NULL, me);
                return 1;
-       }
-       else if(SUPER(XonoticWeaponsList).keyDown(me, scan, ascii, shift))
+       } else if (SUPER(XonoticWeaponsList).keyDown(me, scan, ascii, shift)) {
                return 1;
+       }
        return 0;
 }
index 1735e1c11335f4e672c7908de65bd12ca6a231cb..4582f2684df67b968b1d7fe878306569b7c48ec9 100644 (file)
@@ -9,10 +9,11 @@ spawnfunc(worldspawn)
        float r;
        LOG_TRACE("TESTCASE: START");
        r = test();
-       if(r == 1)
+       if (r == 1) {
                error("TESTCASE: PASS");
-       else if(r == 0)
+       } else if (r == 0) {
                error("TESTCASE: FAIL");
-       else
+       } else {
                error("TESTCASE: INVALID");
+       }
 }
index 46c871876108005a0a69978681454bf1a9446f09..8d7fbad52db948bdd49813ce8c03200a30417396 100644 (file)
@@ -2,10 +2,10 @@
 #if defined(CSQC)
 #elif defined(MENUQC)
 #elif defined(SVQC)
-    #include <server/defs.qh>
-    #include <common/state.qh>
-    #include <common/vehicles/all.qh>
-    #include "antilag.qh"
+#include <server/defs.qh>
+#include <common/state.qh>
+#include <common/vehicles/all.qh>
+#include "antilag.qh"
 #endif
 
 const int ANTILAG_MAX_ORIGINS = 64;
@@ -19,38 +19,48 @@ const int ANTILAG_MAX_ORIGINS = 64;
 
 void antilag_record(entity e, entity store, float t)
 {
-    if (e.vehicle) {
-        if (e.vehicle.vehicle_flags == VHF_PLAYERSLOT) return;
-        antilag_record(e.vehicle, e.vehicle, t);
-    }
+       if (e.vehicle) {
+               if (e.vehicle.vehicle_flags == VHF_PLAYERSLOT) { return; }
+               antilag_record(e.vehicle, e.vehicle, t);
+       }
 
-       if (time < store.antilag_times[store.antilag_index]) return;
+       if (time < store.antilag_times[store.antilag_index]) { return; }
        store.antilag_index += 1;
-       if (store.antilag_index >= ANTILAG_MAX_ORIGINS)
+       if (store.antilag_index >= ANTILAG_MAX_ORIGINS) {
                store.antilag_index = 0;
+       }
        store.antilag_times[store.antilag_index] = t;
        store.antilag_origins[store.antilag_index] = e.origin;
 
-       if (store.antilag_debug)
+       if (store.antilag_debug) {
                te_spark(antilag_takebackorigin(e, store, t - store.antilag_debug), '0 0 0', 32);
+       }
 }
 
 // finds the index BEFORE t
 float antilag_find(entity e, entity store, float t)
 {
-       for(int i = store.antilag_index; i > 0; --i)
-               if(store.antilag_times[i] >= t)
-                       if(store.antilag_times[i - 1] < t)
+       for (int i = store.antilag_index; i > 0; --i) {
+               if (store.antilag_times[i] >= t) {
+                       if (store.antilag_times[i - 1] < t) {
                                return i - 1;
+                       }
+               }
+       }
 
-       if(store.antilag_times[0] >= t)
-               if(store.antilag_times[ANTILAG_MAX_ORIGINS - 1] < t)
+       if (store.antilag_times[0] >= t) {
+               if (store.antilag_times[ANTILAG_MAX_ORIGINS - 1] < t) {
                        return ANTILAG_MAX_ORIGINS - 1;
+               }
+       }
 
-       for(int i = ANTILAG_MAX_ORIGINS - 1; i > store.antilag_index + 1; --i)
-               if(store.antilag_times[i] >= t)
-                       if(store.antilag_times[i - 1] < t)
+       for (int i = ANTILAG_MAX_ORIGINS - 1; i > store.antilag_index + 1; --i) {
+               if (store.antilag_times[i] >= t) {
+                       if (store.antilag_times[i - 1] < t) {
                                return i - 1;
+                       }
+               }
+       }
 
        // if we get here, t is sandwiched nowhere, so let's assume it's in the present
        return -1;
@@ -59,24 +69,25 @@ float antilag_find(entity e, entity store, float t)
 vector antilag_takebackorigin(entity e, entity store, float t)
 {
        int i0 = antilag_find(e, store, t);
-       if (i0 < 0)
-       {
+       if (i0 < 0) {
                // IN THE PRESENT
-               if(store.antilag_takenback)
+               if (store.antilag_takenback) {
                        return store.antilag_saved_origin;
-               else
+               } else {
                        return e.origin;
+               }
        }
        int i1 = i0 + 1;
-       if (i1 >= ANTILAG_MAX_ORIGINS)
+       if (i1 >= ANTILAG_MAX_ORIGINS) {
                i1 = 0;
+       }
 
        return lerpv(store.antilag_times[i0], store.antilag_origins[i0], store.antilag_times[i1], store.antilag_origins[i1], t);
 }
 
 vector antilag_takebackavgvelocity(entity e, entity store, float t0, float t1)
 {
-       if (t0 >= t1) return '0 0 0';
+       if (t0 >= t1) { return '0 0 0'; }
        vector o0 = antilag_takebackorigin(e, store, t0);
        vector o1 = antilag_takebackorigin(e, store, t1);
        return (o1 - o0) * (1 / (t1 - t0));
@@ -85,12 +96,13 @@ vector antilag_takebackavgvelocity(entity e, entity store, float t0, float t1)
 void antilag_takeback(entity e, entity store, float t)
 {
        if (e.vehicle) {
-           if (e.vehicle.vehicle_flags == VHF_PLAYERSLOT) return;
+               if (e.vehicle.vehicle_flags == VHF_PLAYERSLOT) { return; }
                antilag_takeback(e.vehicle, e.vehicle, t);
-    }
+       }
 
-       if (!store.antilag_takenback)
+       if (!store.antilag_takenback) {
                store.antilag_saved_origin = e.origin;
+       }
 
        vector org = antilag_takebackorigin(e, store, t);
        setorigin(e, org);
@@ -100,11 +112,11 @@ void antilag_takeback(entity e, entity store, float t)
 void antilag_restore(entity e, entity store)
 {
        if (e.vehicle) {
-           if (e.vehicle.vehicle_flags == VHF_PLAYERSLOT) return;
+               if (e.vehicle.vehicle_flags == VHF_PLAYERSLOT) { return; }
                antilag_restore(e.vehicle, e.vehicle);
        }
 
-       if (!store.antilag_takenback) return;
+       if (!store.antilag_takenback) { return; }
 
        setorigin(e, store.antilag_saved_origin);
        store.antilag_takenback = false;
index e7c60758aec2eca3c46fe3c588a8cce4e635551e..393889fd143fb4b2ac196bd39b6caa8ef3cfe6ad 100644 (file)
@@ -8,7 +8,6 @@ entity tracetossfaketarget;
 vector findtrajectory_velocity;
 
 
-
 vector shotorg;
 vector shotdir;
 
@@ -74,8 +73,8 @@ vector shotdir;
 .vector bot_5th_order_aimfilter;
 .vector bot_olddesiredang;
 
-//.vector bot_aimorigin;
-//.vector bot_aimvelocity;
+// .vector bot_aimorigin;
+// .vector bot_aimvelocity;
 .vector bot_aimtargorigin;
 .vector bot_aimtargvelocity;
 
index 3d9aa50d356d4fb02bd0a7fc0207b0f1121330cc..a73b094640b8c9c6e22bb7ba8656aafaf5f4f06b 100644 (file)
@@ -19,8 +19,9 @@
 
 void bot_clearqueue(entity bot)
 {
-       if(!bot.bot_cmdqueuebuf_allocated)
+       if (!bot.bot_cmdqueuebuf_allocated) {
                return;
+       }
        buf_del(bot.bot_cmdqueuebuf);
        bot.bot_cmdqueuebuf_allocated = false;
        LOG_TRACE("bot ", bot.netname, " queue cleared");
@@ -28,8 +29,7 @@ void bot_clearqueue(entity bot)
 
 void bot_queuecommand(entity bot, string cmdstring)
 {
-       if(!bot.bot_cmdqueuebuf_allocated)
-       {
+       if (!bot.bot_cmdqueuebuf_allocated) {
                bot.bot_cmdqueuebuf = buf_create();
                bot.bot_cmdqueuebuf_allocated = true;
                bot.bot_cmdqueuebuf_start = 0;
@@ -46,18 +46,16 @@ void bot_queuecommand(entity bot, string cmdstring)
                string cmdstr;
 
                sp = strstrofs(cmdstring, " ", 0);
-               if(sp >= 0)
-               {
+               if (sp >= 0) {
                        parm = substring(cmdstring, sp + 1, -1);
                        cmdstr = substring(cmdstring, 0, sp);
-                       if(cmdstr == "sound")
-                       {
+                       if (cmdstr == "sound") {
                                // find the LAST word
-                               for (;;)
-                               {
+                               for ( ; ; ) {
                                        sp = strstrofs(parm, " ", 0);
-                                       if(sp < 0)
+                                       if (sp < 0) {
                                                break;
+                                       }
                                        parm = substring(parm, sp + 1, -1);
                                }
                                precache_sound(parm);
@@ -70,38 +68,49 @@ void bot_queuecommand(entity bot, string cmdstring)
 
 void bot_dequeuecommand(entity bot, float idx)
 {
-       if(!bot.bot_cmdqueuebuf_allocated)
+       if (!bot.bot_cmdqueuebuf_allocated) {
                error("dequeuecommand but no queue allocated");
-       if(idx < bot.bot_cmdqueuebuf_start)
+       }
+       if (idx < bot.bot_cmdqueuebuf_start) {
                error("dequeueing a command in the past");
-       if(idx >= bot.bot_cmdqueuebuf_end)
+       }
+       if (idx >= bot.bot_cmdqueuebuf_end) {
                error("dequeueing a command in the future");
+       }
        bufstr_set(bot.bot_cmdqueuebuf, idx, "");
-       if(idx == bot.bot_cmdqueuebuf_start)
+       if (idx == bot.bot_cmdqueuebuf_start) {
                bot.bot_cmdqueuebuf_start += 1;
-       if(bot.bot_cmdqueuebuf_start >= bot.bot_cmdqueuebuf_end)
+       }
+       if (bot.bot_cmdqueuebuf_start >= bot.bot_cmdqueuebuf_end) {
                bot_clearqueue(bot);
+       }
 }
 
 string bot_readcommand(entity bot, float idx)
 {
-       if(!bot.bot_cmdqueuebuf_allocated)
+       if (!bot.bot_cmdqueuebuf_allocated) {
                error("readcommand but no queue allocated");
-       if(idx < bot.bot_cmdqueuebuf_start)
+       }
+       if (idx < bot.bot_cmdqueuebuf_start) {
                error("reading a command in the past");
-       if(idx >= bot.bot_cmdqueuebuf_end)
+       }
+       if (idx >= bot.bot_cmdqueuebuf_end) {
                error("reading a command in the future");
+       }
        return bufstr_get(bot.bot_cmdqueuebuf, idx);
 }
 
 bool bot_havecommand(entity this, int idx)
 {
-       if(!this.bot_cmdqueuebuf_allocated)
+       if (!this.bot_cmdqueuebuf_allocated) {
                return false;
-       if(idx < this.bot_cmdqueuebuf_start)
+       }
+       if (idx < this.bot_cmdqueuebuf_start) {
                return false;
-       if(idx >= this.bot_cmdqueuebuf_end)
+       }
+       if (idx >= this.bot_cmdqueuebuf_end) {
                return false;
+       }
        return true;
 }
 
@@ -112,40 +121,39 @@ const int MAX_BOT_PLACES = 4;
 entity bot_getplace(entity this, string placename)
 {
        entity e;
-       if(substring(placename, 0, 1) == "@")
-       {
+       if (substring(placename, 0, 1) == "@") {
                int i, p;
                placename = substring(placename, 1, -1);
                string s, s2;
-               for(i = 0; i < this.bot_places_count; ++i)
-                       if(this.(bot_placenames[i]) == placename)
+               for (i = 0; i < this.bot_places_count; ++i) {
+                       if (this.(bot_placenames[i]) == placename) {
                                return this.(bot_places[i]);
+                       }
+               }
                // now: i == this.bot_places_count
                s = s2 = cvar_string(placename);
                p = strstrofs(s2, " ", 0);
-               if(p >= 0)
-               {
+               if (p >= 0) {
                        s = substring(s2, 0, p);
-                       //print("places: ", placename, " -> ", cvar_string(placename), "\n");
-                       cvar_set(placename, strcat(substring(s2, p+1, -1), " ", s));
-                       //print("places: ", placename, " := ", cvar_string(placename), "\n");
+                       // print("places: ", placename, " -> ", cvar_string(placename), "\n");
+                       cvar_set(placename, strcat(substring(s2, p + 1, -1), " ", s));
+                       // print("places: ", placename, " := ", cvar_string(placename), "\n");
                }
                e = find(NULL, targetname, s);
-               if(!e)
+               if (!e) {
                        LOG_INFO("invalid place ", s);
-               if(i < MAX_BOT_PLACES)
-               {
+               }
+               if (i < MAX_BOT_PLACES) {
                        this.(bot_placenames[i]) = strzone(placename);
                        this.(bot_places[i]) = e;
                        this.bot_places_count += 1;
                }
                return e;
-       }
-       else
-       {
+       } else {
                e = find(NULL, targetname, placename);
-               if(!e)
+               if (!e) {
                        LOG_INFO("invalid place ", placename);
+               }
                return e;
        }
 }
@@ -247,16 +255,16 @@ entity find_bot_by_number(float number)
        entity bot;
        float c = 0;
 
-       if(!number)
+       if (!number) {
                return NULL;
+       }
 
        bot = findchainflags(flags, FL_CLIENT); // TODO: doesn't findchainflags loop backwards through entities?
-       while (bot)
-       {
-               if(IS_BOT_CLIENT(bot))
-               {
-                       if(++c==number)
+       while (bot) {
+               if (IS_BOT_CLIENT(bot)) {
+                       if (++c == number) {
                                return bot;
+                       }
                }
                bot = bot.chain;
        }
@@ -271,29 +279,26 @@ float bot_decodecommand(string cmdstring)
        string parm;
 
        sp = strstrofs(cmdstring, " ", 0);
-       if(sp < 0)
-       {
+       if (sp < 0) {
                parm = "";
-       }
-       else
-       {
+       } else {
                parm = substring(cmdstring, sp + 1, -1);
                cmdstring = substring(cmdstring, 0, sp);
        }
 
-       if(!bot_cmds_initialized)
+       if (!bot_cmds_initialized) {
                bot_commands_init();
+       }
 
        int i;
-       for(i=1;i<BOT_CMD_COUNTER;++i)
-       {
-               if(bot_cmd_string[i]!=cmdstring)
+       for (i = 1; i < BOT_CMD_COUNTER; ++i) {
+               if (bot_cmd_string[i] != cmdstring) {
                        continue;
+               }
 
                cmd_parm_type = bot_cmd_parm_type[i];
 
-               if(cmd_parm_type!=BOT_CMD_PARAMETER_NONE&&parm=="")
-               {
+               if (cmd_parm_type != BOT_CMD_PARAMETER_NONE && parm == "") {
                        LOG_INFO("ERROR: A parameter is required for this command");
                        return 0;
                }
@@ -302,19 +307,18 @@ float bot_decodecommand(string cmdstring)
                bot_cmd.bot_cmd_type = i;
 
                // Attach parameter
-               switch(cmd_parm_type)
-               {
+               switch (cmd_parm_type) {
                        case BOT_CMD_PARAMETER_FLOAT:
                                bot_cmd.bot_cmd_parm_float = stof(parm);
                                break;
                        case BOT_CMD_PARAMETER_STRING:
-                               if(bot_cmd.bot_cmd_parm_string)
+                               if (bot_cmd.bot_cmd_parm_string) {
                                        strunzone(bot_cmd.bot_cmd_parm_string);
+                               }
                                bot_cmd.bot_cmd_parm_string = strzone(parm);
                                break;
                        case BOT_CMD_PARAMETER_VECTOR:
-                               if(substring(parm, 0, 1) != "\'")
-                               {
+                               if (substring(parm, 0, 1) != "\'") {
                                        LOG_INFOF("ERROR: expected vector type \'x y z\', got %s", parm);
                                        return 0;
                                }
@@ -334,18 +338,18 @@ void bot_cmdhelp(string scmd)
        int i, ntype;
        string stype;
 
-       if(!bot_cmds_initialized)
+       if (!bot_cmds_initialized) {
                bot_commands_init();
+       }
 
-       for(i=1;i<BOT_CMD_COUNTER;++i)
-       {
-               if(bot_cmd_string[i]!=scmd)
+       for (i = 1; i < BOT_CMD_COUNTER; ++i) {
+               if (bot_cmd_string[i] != scmd) {
                        continue;
+               }
 
                ntype = bot_cmd_parm_type[i];
 
-               switch(ntype)
-               {
+               switch (ntype) {
                        case BOT_CMD_PARAMETER_FLOAT:
                                stype = "float number";
                                break;
@@ -361,12 +365,11 @@ void bot_cmdhelp(string scmd)
                }
 
                string prelude = strcat(
-                   "Command: ", bot_cmd_string[i], "\n",
-                   "Parameter: <", stype, ">", "\n",
-                   "Description: "
-        );
-               switch(i)
-               {
+                       "Command: ", bot_cmd_string[i], "\n",
+                       "Parameter: <", stype, ">", "\n",
+                       "Description: "
+                       );
+               switch (i) {
                        case BOT_CMD_PAUSE:
                                LOG_INFO(prelude, "Stops the bot completely. Any command other than 'continue' will be ignored.");
                                break;
@@ -399,18 +402,18 @@ void bot_cmdhelp(string scmd)
                                break;
                        case BOT_CMD_IF:
                                LOG_INFO(prelude, "Perform simple conditional execution.\n"
-                    "Syntax: \n"
-                    "        sv_cmd .. if \"condition\"\n"
-                    "        sv_cmd ..         <instruction if true>\n"
-                    "        sv_cmd ..         <instruction if true>\n"
-                    "        sv_cmd .. else\n"
-                    "        sv_cmd ..         <instruction if false>\n"
-                    "        sv_cmd ..         <instruction if false>\n"
-                    "        sv_cmd .. fi\n"
-                    "Conditions: a=b, a>b, a<b, a\t\t(spaces not allowed)\n"
-                    "            Values in conditions can be numbers, cvars in the form cvar.cvar_string or special fields\n"
-                    "Fields: health, speed, flagcarrier\n"
-                    "Examples: if health>50; if health>cvar.g_balance_laser_primary_damage; if flagcarrier;"
+                               "Syntax: \n"
+                               "        sv_cmd .. if \"condition\"\n"
+                               "        sv_cmd ..  <instruction if true>\n"
+                               "        sv_cmd ..  <instruction if true>\n"
+                               "        sv_cmd .. else\n"
+                               "        sv_cmd ..  <instruction if false>\n"
+                               "        sv_cmd ..  <instruction if false>\n"
+                               "        sv_cmd .. fi\n"
+                               "Conditions: a=b, a>b, a<b, a\t\t(spaces not allowed)\n"
+                               "            Values in conditions can be numbers, cvars in the form cvar.cvar_string or special fields\n"
+                               "Fields: health, speed, flagcarrier\n"
+                               "Examples: if health>50; if health>cvar.g_balance_laser_primary_damage; if flagcarrier;"
                                );
                                break;
                        case BOT_CMD_RESETAIM:
@@ -418,9 +421,9 @@ void bot_cmdhelp(string scmd)
                                break;
                        case BOT_CMD_AIM:
                                LOG_INFO(prelude, "Move the aim x/y (horizontal/vertical) degrees relatives to the bot\n"
-                                       "There is a 3rd optional parameter telling in how many seconds the aim has to reach the new position\n"
-                                       "Examples: aim \"90 0\" // Turn 90 degrees inmediately (positive numbers move to the left/up)\n"
-                                       "          aim \"0 90 2\"       // Will gradually look to the sky in the next two seconds"
+                               "There is a 3rd optional parameter telling in how many seconds the aim has to reach the new position\n"
+                               "Examples: aim \"90 0\" // Turn 90 degrees inmediately (positive numbers move to the left/up)\n"
+                               "          aim \"0 90 2\"       // Will gradually look to the sky in the next two seconds"
                                );
                                break;
                        case BOT_CMD_AIMTARGET:
@@ -452,18 +455,17 @@ void bot_list_commands()
        int i;
        string ptype;
 
-       if(!bot_cmds_initialized)
+       if (!bot_cmds_initialized) {
                bot_commands_init();
+       }
 
        LOG_INFO(
-           "List of all available commands:\n"
-           "  Command - Parameter Type\n"
-    );
+               "List of all available commands:\n"
+               "  Command - Parameter Type\n"
+       );
 
-       for(i=1;i<BOT_CMD_COUNTER;++i)
-       {
-               switch(bot_cmd_parm_type[i])
-               {
+       for (i = 1; i < BOT_CMD_COUNTER; ++i) {
+               switch (bot_cmd_parm_type[i]) {
                        case BOT_CMD_PARAMETER_FLOAT:
                                ptype = "float number";
                                break;
@@ -477,7 +479,7 @@ void bot_list_commands()
                                ptype = "none";
                                break;
                }
-               LOG_INFO("  ", bot_cmd_string[i]," - <", ptype, ">");
+               LOG_INFO("  ", bot_cmd_string[i], " - <", ptype, ">");
        }
 }
 
@@ -506,15 +508,13 @@ float bot_cmd_continue(entity this)
 .float bot_cmd_wait_time;
 float bot_cmd_wait(entity this)
 {
-       if(this.bot_exec_status & BOT_EXEC_STATUS_WAITING)
-       {
-               if(time>=this.bot_cmd_wait_time)
-               {
+       if (this.bot_exec_status & BOT_EXEC_STATUS_WAITING) {
+               if (time >= this.bot_cmd_wait_time) {
                        this.bot_exec_status &= ~BOT_EXEC_STATUS_WAITING;
                        return CMD_STATUS_FINISHED;
-               }
-               else
+               } else {
                        return CMD_STATUS_EXECUTING;
+               }
        }
 
        this.bot_cmd_wait_time = time + bot_cmd.bot_cmd_parm_float;
@@ -524,8 +524,7 @@ float bot_cmd_wait(entity this)
 
 float bot_cmd_wait_until(entity this)
 {
-       if(time < bot_cmd.bot_cmd_parm_float + bot_barriertime)
-       {
+       if (time < bot_cmd.bot_cmd_parm_float + bot_barriertime) {
                this.bot_exec_status |= BOT_EXEC_STATUS_WAITING;
                return CMD_STATUS_EXECUTING;
        }
@@ -537,25 +536,26 @@ float bot_cmd_barrier(entity this)
 {
        // 0 = no barrier, 1 = waiting, 2 = waiting finished
 
-       if(this.bot_barrier == 0) // initialization
-       {
+       if (this.bot_barrier == 0) { // initialization
                this.bot_barrier = 1;
 
-               //this.colormod = '4 4 0';
+               // this.colormod = '4 4 0';
        }
 
-       if(this.bot_barrier == 1) // find other bots
-       {
+       if (this.bot_barrier == 1) { // find other bots
                FOREACH_CLIENT(it.isbot, {
-                       if(it.bot_cmdqueuebuf_allocated)
-                       if(it.bot_barrier != 1)
-                               return CMD_STATUS_EXECUTING; // not all are at the barrier yet
+                       if (it.bot_cmdqueuebuf_allocated) {
+                               if (it.bot_barrier != 1) {
+                                       return CMD_STATUS_EXECUTING; // not all are at the barrier yet
+                               }
+                       }
                });
 
                // all bots hit the barrier!
 
                // acknowledge barrier
-               FOREACH_CLIENT(it.isbot, { it.bot_barrier = 2; });
+               FOREACH_CLIENT(it.isbot, { it.bot_barrier = 2;
+                       });
 
                bot_barriertime = time;
        }
@@ -563,7 +563,7 @@ float bot_cmd_barrier(entity this)
        // if we get here, the barrier is finished
        // so end it...
        this.bot_barrier = 0;
-       //this.colormod = '0 0 0';
+       // this.colormod = '0 0 0';
 
        return CMD_STATUS_FINISHED;
 }
@@ -579,26 +579,27 @@ float bot_cmd_select_weapon(entity this)
 {
        float id = bot_cmd.bot_cmd_parm_float;
 
-       if(id < WEP_FIRST || id > WEP_LAST)
+       if (id < WEP_FIRST || id > WEP_LAST) {
                return CMD_STATUS_ERROR;
+       }
 
        bool success = false;
 
-       for(int slot = 0; slot < MAX_WEAPONSLOTS; ++slot)
-       {
+       for (int slot = 0; slot < MAX_WEAPONSLOTS; ++slot) {
                .entity weaponentity = weaponentities[slot];
-               if(this.(weaponentity).m_weapon == WEP_Null && slot != 0)
+               if (this.(weaponentity).m_weapon == WEP_Null && slot != 0) {
                        continue;
+               }
 
-               if(client_hasweapon(this, Weapons_from(id), weaponentity, true, false))
-               {
+               if (client_hasweapon(this, Weapons_from(id), weaponentity, true, false)) {
                        success = true;
                        this.(weaponentity).m_switchweapon = Weapons_from(id);
                }
        }
 
-       if(!success)
+       if (!success) {
                return CMD_STATUS_ERROR;
+       }
 
        return CMD_STATUS_FINISHED;
 }
@@ -614,22 +615,23 @@ const int CMD_CONDITION_false_BLOCK = 8;
 float bot_cmd_eval(entity this, string expr)
 {
        // Search for numbers
-       if(IS_DIGIT(substring(expr, 0, 1)))
+       if (IS_DIGIT(substring(expr, 0, 1))) {
                return stof(expr);
+       }
 
        // Search for cvars
-       if(substring(expr, 0, 5)=="cvar.")
+       if (substring(expr, 0, 5) == "cvar.") {
                return cvar(substring(expr, 5, strlen(expr)));
+       }
 
        // Search for fields
-       switch(expr)
-       {
+       switch (expr) {
                case "health":
                        return this.health;
                case "speed":
                        return vlen(this.velocity);
                case "flagcarrier":
-                       return ((this.flagcarried!=NULL));
+                       return (this.flagcarried != NULL);
        }
 
        LOG_INFO("ERROR: Unable to convert the expression '", expr, "' into a numeric value");
@@ -641,8 +643,7 @@ float bot_cmd_if(entity this)
        string expr, val_a, val_b;
        float cmpofs;
 
-       if(this.bot_cmd_condition_status != CMD_CONDITION_NONE)
-       {
+       if (this.bot_cmd_condition_status != CMD_CONDITION_NONE) {
                // Only one "if" block is allowed at time
                LOG_INFO("ERROR: Only one conditional block can be processed at time");
                bot_clearqueue(this);
@@ -654,57 +655,58 @@ float bot_cmd_if(entity this)
        // search for operators
        expr = bot_cmd.bot_cmd_parm_string;
 
-       cmpofs = strstrofs(expr,"=",0);
+       cmpofs = strstrofs(expr, "=", 0);
 
-       if(cmpofs>0)
-       {
-               val_a = substring(expr,0,cmpofs);
-               val_b = substring(expr,cmpofs+1,strlen(expr));
+       if (cmpofs > 0) {
+               val_a = substring(expr, 0, cmpofs);
+               val_b = substring(expr, cmpofs + 1, strlen(expr));
 
-               if(bot_cmd_eval(this, val_a)==bot_cmd_eval(this, val_b))
+               if (bot_cmd_eval(this, val_a) == bot_cmd_eval(this, val_b)) {
                        this.bot_cmd_condition_status |= CMD_CONDITION_true;
-               else
+               } else {
                        this.bot_cmd_condition_status |= CMD_CONDITION_false;
+               }
 
-               return CMD_STATUS_FINISHED;
+               return CMD_STATUS_FINISHED;
        }
 
-       cmpofs = strstrofs(expr,">",0);
+       cmpofs = strstrofs(expr, ">", 0);
 
-       if(cmpofs>0)
-       {
-               val_a = substring(expr,0,cmpofs);
-               val_b = substring(expr,cmpofs+1,strlen(expr));
+       if (cmpofs > 0) {
+               val_a = substring(expr, 0, cmpofs);
+               val_b = substring(expr, cmpofs + 1, strlen(expr));
 
-               if(bot_cmd_eval(this, val_a)>bot_cmd_eval(this, val_b))
+               if (bot_cmd_eval(this, val_a) > bot_cmd_eval(this, val_b)) {
                        this.bot_cmd_condition_status |= CMD_CONDITION_true;
-               else
+               } else {
                        this.bot_cmd_condition_status |= CMD_CONDITION_false;
+               }
 
                return CMD_STATUS_FINISHED;
        }
 
-       cmpofs = strstrofs(expr,"<",0);
+       cmpofs = strstrofs(expr, "<", 0);
 
-       if(cmpofs>0)
-       {
-               val_a = substring(expr,0,cmpofs);
-               val_b = substring(expr,cmpofs+1,strlen(expr));
+       if (cmpofs > 0) {
+               val_a = substring(expr, 0, cmpofs);
+               val_b = substring(expr, cmpofs + 1, strlen(expr));
 
-               if(bot_cmd_eval(this, val_a)<bot_cmd_eval(this, val_b))
+               if (bot_cmd_eval(this, val_a) < bot_cmd_eval(this, val_b)) {
                        this.bot_cmd_condition_status |= CMD_CONDITION_true;
-               else
+               } else {
                        this.bot_cmd_condition_status |= CMD_CONDITION_false;
+               }
 
-               return CMD_STATUS_FINISHED;
+               return CMD_STATUS_FINISHED;
        }
 
-       if(bot_cmd_eval(this, expr))
+       if (bot_cmd_eval(this, expr)) {
                this.bot_cmd_condition_status |= CMD_CONDITION_true;
-       else
+       } else {
                this.bot_cmd_condition_status |= CMD_CONDITION_false;
+       }
 
-       return CMD_STATUS_FINISHED;
+       return CMD_STATUS_FINISHED;
 }
 
 float bot_cmd_else(entity this)
@@ -734,20 +736,18 @@ float bot_cmd_resetaim(entity this)
 float bot_cmd_aim(entity this)
 {
        // Current direction
-       if(this.bot_cmd_aim_endtime)
-       {
+       if (this.bot_cmd_aim_endtime) {
                float progress;
 
-               progress = min(1 - (this.bot_cmd_aim_endtime - time) / (this.bot_cmd_aim_endtime - this.bot_cmd_aim_begintime),1);
+               progress = min(1 - (this.bot_cmd_aim_endtime - time) / (this.bot_cmd_aim_endtime - this.bot_cmd_aim_begintime), 1);
                this.v_angle = this.bot_cmd_aim_begin + ((this.bot_cmd_aim_end - this.bot_cmd_aim_begin) * progress);
 
-               if(time>=this.bot_cmd_aim_endtime)
-               {
+               if (time >= this.bot_cmd_aim_endtime) {
                        this.bot_cmd_aim_endtime = 0;
                        return CMD_STATUS_FINISHED;
-               }
-               else
+               } else {
                        return CMD_STATUS_EXECUTING;
+               }
        }
 
        // New aiming direction
@@ -758,13 +758,13 @@ float bot_cmd_aim(entity this)
 
        tokens = tokenizebyseparator(parms, " ");
 
-       if(tokens<2||tokens>3)
+       if (tokens < 2 || tokens > 3) {
                return CMD_STATUS_ERROR;
+       }
 
        step = (tokens == 3) ? stof(argv(2)) : 0;
 
-       if(step == 0)
-       {
+       if (step == 0) {
                this.v_angle_x -= stof(argv(1));
                this.v_angle_y += stof(argv(0));
                return CMD_STATUS_FINISHED;
@@ -784,8 +784,7 @@ float bot_cmd_aim(entity this)
 
 float bot_cmd_aimtarget(entity this)
 {
-       if(this.bot_cmd_aim_endtime)
-       {
+       if (this.bot_cmd_aim_endtime) {
                return bot_cmd_aim(this);
        }
 
@@ -799,20 +798,21 @@ float bot_cmd_aimtarget(entity this)
        tokens = tokenizebyseparator(parms, " ");
 
        e = bot_getplace(this, argv(0));
-       if(!e)
+       if (!e) {
                return CMD_STATUS_ERROR;
+       }
 
        v = e.origin + (e.mins + e.maxs) * 0.5;
 
-       if(tokens==1)
-       {
+       if (tokens == 1) {
                this.v_angle = vectoangles(v - (this.origin + this.view_ofs));
                this.v_angle_x = -this.v_angle.x;
                return CMD_STATUS_FINISHED;
        }
 
-       if(tokens<1||tokens>2)
+       if (tokens < 1 || tokens > 2) {
                return CMD_STATUS_ERROR;
+       }
 
        step = stof(argv(1));
 
@@ -828,18 +828,18 @@ float bot_cmd_aimtarget(entity this)
 
 .int bot_cmd_keys;
 
-const int BOT_CMD_KEY_NONE             = 0;
-const int BOT_CMD_KEY_FORWARD  = BIT(0);
-const int BOT_CMD_KEY_BACKWARD         = BIT(1);
-const int BOT_CMD_KEY_RIGHT    = BIT(2);
-const int BOT_CMD_KEY_LEFT             = BIT(3);
-const int BOT_CMD_KEY_JUMP             = BIT(4);
-const int BOT_CMD_KEY_ATTACK1  = BIT(5);
-const int BOT_CMD_KEY_ATTACK2  = BIT(6);
-const int BOT_CMD_KEY_USE              = BIT(7);
-const int BOT_CMD_KEY_HOOK             = BIT(8);
-const int BOT_CMD_KEY_CROUCH   = BIT(9);
-const int BOT_CMD_KEY_CHAT             = BIT(10);
+const int BOT_CMD_KEY_NONE      = 0;
+const int BOT_CMD_KEY_FORWARD   = BIT(0);
+const int BOT_CMD_KEY_BACKWARD  = BIT(1);
+const int BOT_CMD_KEY_RIGHT     = BIT(2);
+const int BOT_CMD_KEY_LEFT      = BIT(3);
+const int BOT_CMD_KEY_JUMP      = BIT(4);
+const int BOT_CMD_KEY_ATTACK1   = BIT(5);
+const int BOT_CMD_KEY_ATTACK2   = BIT(6);
+const int BOT_CMD_KEY_USE       = BIT(7);
+const int BOT_CMD_KEY_HOOK      = BIT(8);
+const int BOT_CMD_KEY_CROUCH    = BIT(9);
+const int BOT_CMD_KEY_CHAT      = BIT(10);
 
 bool bot_presskeys(entity this)
 {
@@ -852,39 +852,49 @@ bool bot_presskeys(entity this)
        PHYS_INPUT_BUTTON_HOOK(this) = false;
        PHYS_INPUT_BUTTON_CHAT(this) = false;
 
-       if(this.bot_cmd_keys == BOT_CMD_KEY_NONE)
+       if (this.bot_cmd_keys == BOT_CMD_KEY_NONE) {
                return false;
+       }
 
-       if(this.bot_cmd_keys & BOT_CMD_KEY_FORWARD)
+       if (this.bot_cmd_keys & BOT_CMD_KEY_FORWARD) {
                CS(this).movement_x = autocvar_sv_maxspeed;
-       else if(this.bot_cmd_keys & BOT_CMD_KEY_BACKWARD)
+       } else if (this.bot_cmd_keys & BOT_CMD_KEY_BACKWARD) {
                CS(this).movement_x = -autocvar_sv_maxspeed;
+       }
 
-       if(this.bot_cmd_keys & BOT_CMD_KEY_RIGHT)
+       if (this.bot_cmd_keys & BOT_CMD_KEY_RIGHT) {
                CS(this).movement_y = autocvar_sv_maxspeed;
-       else if(this.bot_cmd_keys & BOT_CMD_KEY_LEFT)
+       } else if (this.bot_cmd_keys & BOT_CMD_KEY_LEFT) {
                CS(this).movement_y = -autocvar_sv_maxspeed;
+       }
 
-       if(this.bot_cmd_keys & BOT_CMD_KEY_JUMP)
+       if (this.bot_cmd_keys & BOT_CMD_KEY_JUMP) {
                PHYS_INPUT_BUTTON_JUMP(this) = true;
+       }
 
-       if(this.bot_cmd_keys & BOT_CMD_KEY_CROUCH)
+       if (this.bot_cmd_keys & BOT_CMD_KEY_CROUCH) {
                PHYS_INPUT_BUTTON_CROUCH(this) = true;
+       }
 
-       if(this.bot_cmd_keys & BOT_CMD_KEY_ATTACK1)
+       if (this.bot_cmd_keys & BOT_CMD_KEY_ATTACK1) {
                PHYS_INPUT_BUTTON_ATCK(this) = true;
+       }
 
-       if(this.bot_cmd_keys & BOT_CMD_KEY_ATTACK2)
+       if (this.bot_cmd_keys & BOT_CMD_KEY_ATTACK2) {
                PHYS_INPUT_BUTTON_ATCK2(this) = true;
+       }
 
-       if(this.bot_cmd_keys & BOT_CMD_KEY_USE)
+       if (this.bot_cmd_keys & BOT_CMD_KEY_USE) {
                PHYS_INPUT_BUTTON_USE(this) = true;
+       }
 
-       if(this.bot_cmd_keys & BOT_CMD_KEY_HOOK)
+       if (this.bot_cmd_keys & BOT_CMD_KEY_HOOK) {
                PHYS_INPUT_BUTTON_HOOK(this) = true;
+       }
 
-       if(this.bot_cmd_keys & BOT_CMD_KEY_CHAT)
+       if (this.bot_cmd_keys & BOT_CMD_KEY_CHAT) {
                PHYS_INPUT_BUTTON_CHAT(this) = true;
+       }
 
        return true;
 }
@@ -892,90 +902,93 @@ bool bot_presskeys(entity this)
 
 float bot_cmd_keypress_handler(entity this, string key, float enabled)
 {
-       switch(key)
-       {
+       switch (key) {
                case "all":
-                       if(enabled)
+                       if (enabled) {
                                this.bot_cmd_keys = POW(2, 20) - 1; // >:)
-                       else
+                       } else {
                                this.bot_cmd_keys = BOT_CMD_KEY_NONE;
+                       }
                case "forward":
-                       if(enabled)
-                       {
+                       if (enabled) {
                                this.bot_cmd_keys |= BOT_CMD_KEY_FORWARD;
                                this.bot_cmd_keys &= ~BOT_CMD_KEY_BACKWARD;
-                       }
-                       else
+                       } else {
                                this.bot_cmd_keys &= ~BOT_CMD_KEY_FORWARD;
+                       }
                        break;
                case "backward":
-                       if(enabled)
-                       {
+                       if (enabled) {
                                this.bot_cmd_keys |= BOT_CMD_KEY_BACKWARD;
                                this.bot_cmd_keys &= ~BOT_CMD_KEY_FORWARD;
-                       }
-                       else
+                       } else {
                                this.bot_cmd_keys &= ~BOT_CMD_KEY_BACKWARD;
+                       }
                        break;
                case "left":
-                       if(enabled)
-                       {
+                       if (enabled) {
                                this.bot_cmd_keys |= BOT_CMD_KEY_LEFT;
                                this.bot_cmd_keys &= ~BOT_CMD_KEY_RIGHT;
-                       }
-                       else
+                       } else {
                                this.bot_cmd_keys &= ~BOT_CMD_KEY_LEFT;
+                       }
                        break;
                case "right":
-                       if(enabled)
-                       {
+                       if (enabled) {
                                this.bot_cmd_keys |= BOT_CMD_KEY_RIGHT;
                                this.bot_cmd_keys &= ~BOT_CMD_KEY_LEFT;
-                       }
-                       else
+                       } else {
                                this.bot_cmd_keys &= ~BOT_CMD_KEY_RIGHT;
+                       }
                        break;
                case "jump":
-                       if(enabled)
+                       if (enabled) {
                                this.bot_cmd_keys |= BOT_CMD_KEY_JUMP;
-                       else
+                       } else {
                                this.bot_cmd_keys &= ~BOT_CMD_KEY_JUMP;
+                       }
                        break;
                case "crouch":
-                       if(enabled)
+                       if (enabled) {
                                this.bot_cmd_keys |= BOT_CMD_KEY_CROUCH;
-                       else
+                       } else {
                                this.bot_cmd_keys &= ~BOT_CMD_KEY_CROUCH;
+                       }
                        break;
                case "attack1":
-                       if(enabled)
+                       if (enabled) {
                                this.bot_cmd_keys |= BOT_CMD_KEY_ATTACK1;
-                       else
+                       } else {
                                this.bot_cmd_keys &= ~BOT_CMD_KEY_ATTACK1;
+                       }
                        break;
                case "attack2":
-                       if(enabled)
+                       if (enabled) {
                                this.bot_cmd_keys |= BOT_CMD_KEY_ATTACK2;
-                       else
+                       } else {
                                this.bot_cmd_keys &= ~BOT_CMD_KEY_ATTACK2;
+                       }
                        break;
                case "use":
-                       if(enabled)
+                       if (enabled) {
                                this.bot_cmd_keys |= BOT_CMD_KEY_USE;
-                       else
+                       } else {
                                this.bot_cmd_keys &= ~BOT_CMD_KEY_USE;
+                       }
                        break;
                case "hook":
-                       if(enabled)
+                       if (enabled) {
                                this.bot_cmd_keys |= BOT_CMD_KEY_HOOK;
-                       else
+                       } else {
                                this.bot_cmd_keys &= ~BOT_CMD_KEY_HOOK;
+                       }
                        break;
                case "chat":
-                       if(enabled)
+                       if (enabled) {
                                this.bot_cmd_keys |= BOT_CMD_KEY_CHAT;
-                       else
+                       } else {
                                this.bot_cmd_keys &= ~BOT_CMD_KEY_CHAT;
+                       }
                        break;
                default:
                        break;
@@ -990,7 +1003,7 @@ float bot_cmd_presskey(entity this)
 
        key = bot_cmd.bot_cmd_parm_string;
 
-       bot_cmd_keypress_handler(this, key,true);
+       bot_cmd_keypress_handler(this, key, true);
 
        return CMD_STATUS_FINISHED;
 }
@@ -1001,7 +1014,7 @@ float bot_cmd_releasekey(entity this)
 
        key = bot_cmd.bot_cmd_parm_string;
 
-       return bot_cmd_keypress_handler(this, key,false);
+       return bot_cmd_keypress_handler(this, key, false);
 }
 
 float bot_cmd_pause(entity this)
@@ -1032,8 +1045,9 @@ float bot_cmd_movetotarget(entity this)
 {
        entity e;
        e = bot_getplace(this, bot_cmd.bot_cmd_parm_string);
-       if(!e)
+       if (!e) {
                return CMD_STATUS_ERROR;
+       }
        return this.cmd_moveto(this, e.origin + (e.mins + e.maxs) * 0.5);
 }
 
@@ -1055,14 +1069,18 @@ float bot_cmd_sound(entity this)
        float vol = VOL_BASE;
        float atten = ATTEN_MIN;
 
-       if(n >= 1)
+       if (n >= 1) {
                sample = argv(n - 1);
-       if(n >= 2)
+       }
+       if (n >= 2) {
                chan = stof(argv(0));
-       if(n >= 3)
+       }
+       if (n >= 3) {
                vol = stof(argv(1));
-       if(n >= 4)
+       }
+       if (n >= 4) {
                atten = stof(argv(2));
+       }
 
        precache_sound(f);
        _sound(this, chan, sample, vol, atten);
@@ -1077,34 +1095,23 @@ float bot_cmd_debug_assert_canfire(entity this)
 
        int slot = 0; // TODO: unhardcode?
        .entity weaponentity = weaponentities[slot];
-       if(this.(weaponentity).state != WS_READY)
-       {
-               if(f)
-               {
+       if (this.(weaponentity).state != WS_READY) {
+               if (f) {
                        this.colormod = '0 8 8';
                        LOG_INFO("Bot ", this.netname, " using ", this.(weaponentity).weaponname, " wants to fire, inhibited by weaponentity state");
                }
-       }
-       else if(ATTACK_FINISHED(this, slot) > time)
-       {
-               if(f)
-               {
+       } else if (ATTACK_FINISHED(this, slot) > time) {
+               if (f) {
                        this.colormod = '8 0 8';
                        LOG_INFO("Bot ", this.netname, " using ", this.(weaponentity).weaponname, " wants to fire, inhibited by ATTACK_FINISHED (", ftos(ATTACK_FINISHED(this, slot) - time), " seconds left)");
                }
-       }
-       else if(this.(weaponentity).tuba_note)
-       {
-               if(f)
-               {
+       } else if (this.(weaponentity).tuba_note) {
+               if (f) {
                        this.colormod = '8 0 0';
                        LOG_INFO("Bot ", this.netname, " using ", this.(weaponentity).weaponname, " wants to fire, bot still has an active tuba note");
                }
-       }
-       else
-       {
-               if(!f)
-               {
+       } else {
+               if (!f) {
                        this.colormod = '8 8 0';
                        LOG_INFO("Bot ", this.netname, " using ", this.(weaponentity).weaponname, " thinks it has fired, but apparently did not; ATTACK_FINISHED says ", ftos(ATTACK_FINISHED(this, slot) - time), " seconds left");
                }
@@ -1121,8 +1128,9 @@ void bot_command_executed(entity this, bool rm)
 
        cmd = bot_cmd;
 
-       if(rm)
+       if (rm) {
                bot_dequeuecommand(this, this.bot_cmd_execution_index);
+       }
 
        this.bot_cmd_execution_index++;
 }
@@ -1131,33 +1139,27 @@ void bot_setcurrentcommand(entity this)
 {
        bot_cmd = NULL;
 
-       if(!this.bot_cmd_current)
-       {
+       if (!this.bot_cmd_current) {
                this.bot_cmd_current = new_pure(bot_cmd);
        }
 
        bot_cmd = this.bot_cmd_current;
-       if(bot_cmd.bot_cmd_index != this.bot_cmd_execution_index || this.bot_cmd_execution_index == 0)
-       {
-               if(bot_havecommand(this, this.bot_cmd_execution_index))
-               {
+       if (bot_cmd.bot_cmd_index != this.bot_cmd_execution_index || this.bot_cmd_execution_index == 0) {
+               if (bot_havecommand(this, this.bot_cmd_execution_index)) {
                        string cmdstring;
                        cmdstring = bot_readcommand(this, this.bot_cmd_execution_index);
-                       if(bot_decodecommand(cmdstring))
-                       {
+                       if (bot_decodecommand(cmdstring)) {
                                bot_cmd.owner = this;
                                bot_cmd.bot_cmd_index = this.bot_cmd_execution_index;
-                       }
-                       else
-                       {
+                       } else {
                                // Invalid command, remove from queue
                                bot_cmd = NULL;
                                bot_dequeuecommand(this, this.bot_cmd_execution_index);
                                this.bot_cmd_execution_index++;
                        }
-               }
-               else
+               } else {
                        bot_cmd = NULL;
+               }
        }
 }
 
@@ -1168,8 +1170,7 @@ void bot_resetqueues()
                bot_clearqueue(it);
                // also, cancel all barriers
                it.bot_barrier = 0;
-               for(int i = 0; i < it.bot_places_count; ++i)
-               {
+               for (int i = 0; i < it.bot_places_count; ++i) {
                        strunzone(it.(bot_placenames[i]));
                        it.(bot_placenames[i]) = string_null;
                }
@@ -1189,19 +1190,16 @@ float bot_execute_commands_once(entity this)
        bot_setcurrentcommand(this);
 
        // Ignore all commands except continue when the bot is paused
-       if(!(this.bot_exec_status & BOT_EXEC_STATUS_PAUSED))
-       {
+       if (!(this.bot_exec_status & BOT_EXEC_STATUS_PAUSED)) {
                // if we have no bot command, better return
                // old logic kept pressing previously pressed keys, but that has problems
                // (namely, it means you cannot make a bot "normal" ever again)
                // to keep a bot walking for a while, use the "wait" bot command
-               if(bot_cmd == world)
+               if (bot_cmd == world) {
                        return 0;
-       }
-       else if(bot_cmd.bot_cmd_type != BOT_CMD_CONTINUE)
-       {
-               if(bot_cmd.bot_cmd_type!=BOT_CMD_NULL)
-               {
+               }
+       } else if (bot_cmd.bot_cmd_type != BOT_CMD_CONTINUE) {
+               if (bot_cmd.bot_cmd_type != BOT_CMD_NULL) {
                        bot_command_executed(this, true);
                        LOG_INFO("WARNING: Commands are ignored while the bot is paused. Use the command 'continue' instead.");
                }
@@ -1212,24 +1210,21 @@ float bot_execute_commands_once(entity this)
        ispressingkey = boolean(bot_presskeys(this));
 
        // Handle conditions
-       if (!(bot_cmd.bot_cmd_type==BOT_CMD_FI||bot_cmd.bot_cmd_type==BOT_CMD_ELSE))
-       if(this.bot_cmd_condition_status & CMD_CONDITION_true && this.bot_cmd_condition_status & CMD_CONDITION_false_BLOCK)
-       {
-               bot_command_executed(this, true);
-               return -1;
-       }
-       else if(this.bot_cmd_condition_status & CMD_CONDITION_false && this.bot_cmd_condition_status & CMD_CONDITION_true_BLOCK)
-       {
-               bot_command_executed(this, true);
-               return -1;
+       if (!(bot_cmd.bot_cmd_type == BOT_CMD_FI || bot_cmd.bot_cmd_type == BOT_CMD_ELSE)) {
+               if (this.bot_cmd_condition_status & CMD_CONDITION_true && this.bot_cmd_condition_status & CMD_CONDITION_false_BLOCK) {
+                       bot_command_executed(this, true);
+                       return -1;
+               } else if (this.bot_cmd_condition_status & CMD_CONDITION_false && this.bot_cmd_condition_status & CMD_CONDITION_true_BLOCK) {
+                       bot_command_executed(this, true);
+                       return -1;
+               }
        }
 
        // Map commands to functions
-       switch(bot_cmd.bot_cmd_type)
-       {
+       switch (bot_cmd.bot_cmd_type) {
                case BOT_CMD_NULL:
                        return ispressingkey;
-                       //break;
+               // break;
                case BOT_CMD_PAUSE:
                        status = bot_cmd_pause(this);
                        break;
@@ -1305,22 +1300,18 @@ float bot_execute_commands_once(entity this)
                        return 0;
        }
 
-       if (status==CMD_STATUS_ERROR)
+       if (status == CMD_STATUS_ERROR) {
                LOG_INFOF("ERROR: The command '%s' returned an error status", bot_cmd_string[bot_cmd.bot_cmd_type]);
+       }
 
        // Move execution pointer
-       if(status==CMD_STATUS_EXECUTING)
-       {
+       if (status == CMD_STATUS_EXECUTING) {
                return 1;
-       }
-       else
-       {
-               if(autocvar_g_debug_bot_commands)
-               {
+       } else {
+               if (autocvar_g_debug_bot_commands) {
                        string parms;
 
-                       switch(bot_cmd_parm_type[bot_cmd.bot_cmd_type])
-                       {
+                       switch (bot_cmd_parm_type[bot_cmd.bot_cmd_type]) {
                                case BOT_CMD_PARAMETER_FLOAT:
                                        parms = ftos(bot_cmd.bot_cmd_parm_float);
                                        break;
@@ -1334,14 +1325,15 @@ float bot_execute_commands_once(entity this)
                                        parms = "";
                                        break;
                        }
-                       clientcommand(this,strcat("say ^7", bot_cmd_string[bot_cmd.bot_cmd_type]," ",parms,"\n"));
+                       clientcommand(this, strcat("say ^7", bot_cmd_string[bot_cmd.bot_cmd_type], " ", parms, "\n"));
                }
 
                bot_command_executed(this, true);
        }
 
-       if(status == CMD_STATUS_FINISHED)
+       if (status == CMD_STATUS_FINISHED) {
                return -1;
+       }
 
        return CMD_STATUS_ERROR;
 }
@@ -1350,10 +1342,8 @@ float bot_execute_commands_once(entity this)
 int bot_execute_commands(entity this)
 {
        int f;
-       do
-       {
+       do {
                f = bot_execute_commands_once(this);
-       }
-       while(f < 0);
+       } while (f < 0);
        return f;
 }
index cb5bf625f6cb0c37a71f445e33683f4cbfa70239..44854fda2f59e0275631727a06cbf40f73b41eb7 100644 (file)
 
 
 // NOTE: New commands should be added here. Do not forget to update BOT_CMD_COUNTER
-const int BOT_CMD_NULL                         = 0;
-const int BOT_CMD_PAUSE                = 1;
-const int BOT_CMD_CONTINUE             = 2;
-const int BOT_CMD_WAIT                         = 3;
-const int BOT_CMD_TURN                         = 4;
-const int BOT_CMD_MOVETO               = 5;
-const int BOT_CMD_RESETGOAL    = 6;    // Not implemented yet
-const int BOT_CMD_CC                   = 7;
-const int BOT_CMD_IF                   = 8;
-const int BOT_CMD_ELSE                         = 9;
-const int BOT_CMD_FI                   = 10;
-const int BOT_CMD_RESETAIM             = 11;
-const int BOT_CMD_AIM                  = 12;
-const int BOT_CMD_PRESSKEY             = 13;
-const int BOT_CMD_RELEASEKEY   = 14;
-const int BOT_CMD_SELECTWEAPON         = 15;
-const int BOT_CMD_IMPULSE              = 16;
-const int BOT_CMD_WAIT_UNTIL   = 17;
-const int BOT_CMD_MOVETOTARGET         = 18;
-const int BOT_CMD_AIMTARGET    = 19;
-const int BOT_CMD_BARRIER              = 20;
-const int BOT_CMD_CONSOLE              = 21;
-const int BOT_CMD_SOUND                = 22;
+const int BOT_CMD_NULL          = 0;
+const int BOT_CMD_PAUSE         = 1;
+const int BOT_CMD_CONTINUE      = 2;
+const int BOT_CMD_WAIT          = 3;
+const int BOT_CMD_TURN          = 4;
+const int BOT_CMD_MOVETO        = 5;
+const int BOT_CMD_RESETGOAL     = 6; // Not implemented yet
+const int BOT_CMD_CC            = 7;
+const int BOT_CMD_IF            = 8;
+const int BOT_CMD_ELSE          = 9;
+const int BOT_CMD_FI            = 10;
+const int BOT_CMD_RESETAIM      = 11;
+const int BOT_CMD_AIM           = 12;
+const int BOT_CMD_PRESSKEY      = 13;
+const int BOT_CMD_RELEASEKEY    = 14;
+const int BOT_CMD_SELECTWEAPON  = 15;
+const int BOT_CMD_IMPULSE       = 16;
+const int BOT_CMD_WAIT_UNTIL    = 17;
+const int BOT_CMD_MOVETOTARGET  = 18;
+const int BOT_CMD_AIMTARGET     = 19;
+const int BOT_CMD_BARRIER       = 20;
+const int BOT_CMD_CONSOLE       = 21;
+const int BOT_CMD_SOUND         = 22;
 const int BOT_CMD_DEBUG_ASSERT_CANFIRE = 23;
-//const int BOT_CMD_WHILE              = 24;   // TODO: Not implemented yet
-//const int BOT_CMD_WEND                       = 25;   // TODO: Not implemented yet
-//const int BOT_CMD_CHASE              = 26;   // TODO: Not implemented yet
+// const int BOT_CMD_WHILE      = 24;  // TODO: Not implemented yet
+// const int BOT_CMD_WEND           = 25;      // TODO: Not implemented yet
+// const int BOT_CMD_CHASE      = 26;  // TODO: Not implemented yet
 
-const int BOT_CMD_COUNTER              = 24;   // Update this value if you add/remove a command
+const int BOT_CMD_COUNTER       = 24; // Update this value if you add/remove a command
 
 // NOTE: Following commands should be implemented on the bot ai
 //              If a new command should be handled by the target ai(s) please declare it here
@@ -56,19 +56,19 @@ int bot_cmd_parm_type[BOT_CMD_COUNTER];
 string bot_cmd_string[BOT_CMD_COUNTER];
 
 // Bots command queue
-entity bot_cmd;        // global current command
-.entity bot_cmd_current; // current command of this bot
+entity bot_cmd;              // global current command
+.entity bot_cmd_current;     // current command of this bot
 
-.float bot_cmd_index;                  // Position of the command in the queue
-.int bot_cmd_type;                     // If of command (see the BOT_CMD_* defines)
-.float bot_cmd_parm_float;             // Field to store a float parameter
-.string bot_cmd_parm_string;           // Field to store a string parameter
-.vector bot_cmd_parm_vector;           // Field to store a vector parameter
+.float bot_cmd_index;        // Position of the command in the queue
+.int bot_cmd_type;           // If of command (see the BOT_CMD_* defines)
+.float bot_cmd_parm_float;   // Field to store a float parameter
+.string bot_cmd_parm_string; // Field to store a string parameter
+.vector bot_cmd_parm_vector; // Field to store a vector parameter
 
 float bot_barriertime;
 .float bot_barrier;
 
-.float bot_cmd_execution_index;                // Position in the queue of the command to be executed
+.float bot_cmd_execution_index; // Position in the queue of the command to be executed
 
 
 void bot_resetqueues();
index e80769cc2783edabcca7b1952aafbb5f9b06a256..7351b01d27de1eb745e494b59f0ba125d6ba322d 100644 (file)
 // campaign cvars:
 //   _campaign_index: index of CURRENT map
 //   _campaign_name: name of the current campaign
-//   g_campaign(name)_index: index of current LAST map (saved)
+//   g_campaign(name) _index: index of current LAST map (saved)
 //   g_campaign_skill: bot skill offset
 
 float campaign_level;
 float campaign_won;
 string campaign_index_var;
-//float checkrules_equality;
+// float checkrules_equality;
 
 float CampaignBailout(string s)
 {
@@ -26,8 +26,9 @@ float CampaignBailout(string s)
        cvar_set = cvar_set_normal;
        cvar_set("g_campaign", "0");
        LOG_INFO("^4campaign initialization failed: ", s);
-       if(autocvar__campaign_testrun)
+       if (autocvar__campaign_testrun) {
                error("CAMPAIGN FAIL AHAHAHAHAHAHAHAHAH))");
+       }
        return 1;
 }
 
@@ -36,12 +37,14 @@ string cvar_string_campaignwrapper(string theCvar)
 {
        float p, q;
        p = strstrofs(cvar_campaignwrapper_list, strcat("; ", theCvar, " "), 0);
-       if(p < 0)
+       if (p < 0) {
                return cvar_defstring(theCvar);
+       }
        p += strlen(theCvar) + 3;
        q = strstrofs(cvar_campaignwrapper_list, ";", p);
-       if(q < 0)
+       if (q < 0) {
                return cvar_defstring(theCvar);
+       }
        return substring(cvar_campaignwrapper_list, p, q - p);
 }
 float cvar_campaignwrapper(string theCvar)
@@ -50,13 +53,14 @@ float cvar_campaignwrapper(string theCvar)
 }
 void cvar_set_campaignwrapper(string theCvar, string theValue)
 {
-       if(cvar_string_campaignwrapper(theCvar) == theValue)
+       if (cvar_string_campaignwrapper(theCvar) == theValue) {
                return;
+       }
        string s;
        s = cvar_campaignwrapper_list;
        cvar_campaignwrapper_list = strzone(strcat("; ", theCvar, " ", theValue, s));
        strunzone(s);
-       //print(cvar_campaignwrapper_list, "\n");
+       // print(cvar_campaignwrapper_list, "\n");
 }
 
 float Campaign_Invalid()
@@ -64,11 +68,13 @@ float Campaign_Invalid()
        string thismapname, wantedmapname;
        thismapname = GetMapname();
        wantedmapname = campaign_gametype[0];
-       if(MapInfo_CurrentGametype() != MapInfo_Type_FromString(wantedmapname))
+       if (MapInfo_CurrentGametype() != MapInfo_Type_FromString(wantedmapname)) {
                return CampaignBailout("wrong game type!");
+       }
        wantedmapname = campaign_mapname[0];
-       if(wantedmapname != thismapname)
+       if (wantedmapname != thismapname) {
                return CampaignBailout(strcat("wrong map: ", wantedmapname, " != ", thismapname));
+       }
        return 0;
 }
 
@@ -81,14 +87,12 @@ void CampaignPreInit()
        campaign_index_var = strzone(strcat("g_campaign", campaign_name, "_index"));
        CampaignFile_Load(campaign_level, 2);
 
-       if(campaign_entries < 1)
-       {
+       if (campaign_entries < 1) {
                CampaignBailout("unknown map");
                return;
        }
 
-       if(autocvar_sv_cheats)
-       {
+       if (autocvar_sv_cheats) {
                MapInfo_SwitchGameType(MapInfo_Type_FromString(campaign_gametype[0]));
                CampaignFile_Unload();
                CampaignBailout("JOLLY CHEATS AHAHAHAHAHAHAH))");
@@ -97,8 +101,9 @@ void CampaignPreInit()
 
        baseskill = autocvar_g_campaign_skill;
        baseskill = baseskill + campaign_botskill[0];
-       if(baseskill < 0)
+       if (baseskill < 0) {
                baseskill = 0;
+       }
 
        cvar_set("sv_public", "0");
        cvar_set("pausable", "1");
@@ -119,8 +124,9 @@ void CampaignPreInit()
        // with the menu a little still...)
        cvar_set_normal("sv_gravity", ftos(autocvar_sv_gravity));
 
-       if(Campaign_Invalid())
+       if (Campaign_Invalid()) {
                return;
+       }
 
        title = campaign_shortdesc[0];
        title = strzone(strcat("Level ", ftos(campaign_level + 1), ": ", title));
@@ -131,17 +137,15 @@ void CampaignPreInit()
 void CampaignPostInit()
 {
        // now some sanity checks
-       if(Campaign_Invalid())
+       if (Campaign_Invalid()) {
                return;
-       if(autocvar__campaign_testrun)
-       {
+       }
+       if (autocvar__campaign_testrun) {
                cvar_set("fraglimit", "0");
                cvar_set("timelimit", "0.01");
                cvar_set_normal("fraglimit", "0");
                cvar_set_normal("timelimit", "0.01");
-       }
-       else
-       {
+       } else {
                cvar_set("fraglimit", ftos(campaign_fraglimit[0]));
                cvar_set("timelimit", ftos(campaign_timelimit[0]));
                cvar_set_normal("fraglimit", ftos(campaign_fraglimit[0]));
@@ -162,29 +166,27 @@ void CampaignSaveCvar(string cvarname, float value)
 
        fh = fopen("campaign.cfg", FILE_READ);
        contents = "";
-       if(fh >= 0)
-       {
-               while((l = fgets(fh)))
-               {
+       if (fh >= 0) {
+               while ((l = fgets(fh))) {
                        len = tokenize_console(l);
-                       if(len != 3)
+                       if (len != 3) {
                                continue;
-                       if(argv(0) != "set")
+                       }
+                       if (argv(0) != "set") {
                                continue;
-                       if(argv(1) == cvarname)
+                       }
+                       if (argv(1) == cvarname) {
                                continue;
+                       }
                        contents = strcat(contents, "set ", argv(1), " ", argv(2), "\n");
                }
                fclose(fh);
        }
        contents = strcat(contents, "set ", cvarname,  " ", ftos(value), "\n");
        fh = fopen("campaign.cfg", FILE_WRITE);
-       if(fh >= 0)
-       {
+       if (fh >= 0) {
                fputs(fh, contents);
-       }
-       else
-       {
+       } else {
                error("Cannot write to campaign file");
        }
 }
@@ -196,59 +198,45 @@ void CampaignPreIntermission()
        string savevar;
 
        FOREACH_CLIENT(IS_PLAYER(it) && IS_REAL_CLIENT(it), {
-               if(it.winning)
+               if (it.winning) {
                        won += 1;
-               else
+               } else {
                        lost += 1;
+               }
        });
 
-       if(autocvar__campaign_testrun)
-       {
+       if (autocvar__campaign_testrun) {
                campaign_won = 1;
                bprint("Campaign test run, advancing level.\n");
-       }
-       else if(won == 1 && lost == 0 && checkrules_equality == 0)
-       {
-               if(autocvar_timelimit != 0 && autocvar_fraglimit != 0 && time > autocvar_timelimit * 60) // checks if the timelimit has expired.
-               {
+       } else if (won == 1 && lost == 0 && checkrules_equality == 0) {
+               if (autocvar_timelimit != 0 && autocvar_fraglimit != 0 && time > autocvar_timelimit * 60) { // checks if the timelimit has expired.
                        campaign_won = 0;
                        bprint("Time's up! The current level has been LOST.\n");
                        // sound!
-               }
-               else
-               {
+               } else {
                        campaign_won = 1;
                        bprint("The current level has been WON.\n");
                        // sound!
                }
-       }
-       else if(autocvar_timelimit != 0 && time > autocvar_timelimit * 60)
-       {
+       } else if (autocvar_timelimit != 0 && time > autocvar_timelimit * 60) {
                campaign_won = 0;
                bprint("Time's up! The current level has been LOST.\n");
                // sound!
-       }
-       else
-       {
+       } else {
                campaign_won = 0;
                bprint("The current level has been LOST.\n");
                // sound!
        }
 
-       if(campaign_won && cheatcount_total == 0 && !autocvar__campaign_testrun)
-       {
-               if(campaign_level == cvar_normal(campaign_index_var))
-               {
-                       if(campaign_entries < 2)
-                       {
+       if (campaign_won && cheatcount_total == 0 && !autocvar__campaign_testrun) {
+               if (campaign_level == cvar_normal(campaign_index_var)) {
+                       if (campaign_entries < 2) {
                                // I have won
                                savevar = strcat("g_campaign", campaign_name, "_won");
                                CampaignSaveCvar(savevar, 1);
                                // advance level (for menu to show it right)
                                CampaignSaveCvar(campaign_index_var, campaign_level + 1);
-                       }
-                       else
-                       {
+                       } else {
                                // advance level
                                CampaignSaveCvar(campaign_index_var, campaign_level + 1);
                        }
@@ -260,8 +248,7 @@ void CampaignPostIntermission()
 {
        // NOTE: campaign_won is 0 or 1, that is, points to the next level
 
-       if(campaign_won && campaign_entries < 2)
-       {
+       if (campaign_won && campaign_entries < 2) {
                // last map won!
                LOG_DEBUG("^2test run: campaign looks GOOD");
                localcmd("togglemenu 1\n");
@@ -278,17 +265,17 @@ void CampaignPostIntermission()
 }
 
 
-
 void CampaignLevelWarp(float n)
 {
-       if(n < 0)
+       if (n < 0) {
                n = campaign_level + 1;
+       }
        CampaignFile_Unload();
        CampaignFile_Load(n, 1);
-       if(campaign_entries)
+       if (campaign_entries) {
                CampaignSetup(0);
-       else
+       } else {
                error("Sorry, cheater. You are NOT WELCOME.");
+       }
        CampaignFile_Unload();
 }
-
index 1bf08064106c410874df00f9607d9222929ab1c0..03f13f5fc03f4c29f6dddab872c59d4a56deb690 100644 (file)
@@ -2,7 +2,7 @@
 
 #include <common/impulses/all.qh>
 
-//float autocvar_sv_cheats; // must... declare... global
+// float autocvar_sv_cheats; // must... declare... global
 
 float cheatcount_total;
 .float cheatcount;
index 2282c09cbb1cafd54e3a667886430b98b554c342..fb5b89a29807e0bafa3be9de04c931d7bd5c6441 100644 (file)
 void ClientState_attach(entity this);
 
 IntrusiveList g_players;
-STATIC_INIT(g_players) { g_players = IL_NEW(); }
+STATIC_INIT(g_players)
+{
+       g_players = IL_NEW();
+}
 
 CLASS(Client, Object)
-    /** Client name */
-    ATTRIB(Client, netname, string, this.netname);
-    ATTRIB(Client, colormap, int, this.colormap);
-    ATTRIB(Client, team, int, this.team);
-    ATTRIB(Client, clientcolors, int, this.clientcolors);
-    /** Client IP */
-    ATTRIB(Client, netaddress, string, this.netaddress);
-    ATTRIB(Client, playermodel, string, this.playermodel);
-    ATTRIB(Client, playerskin, int, this.playerskin);
-
-    /** fingerprint of CA key the player used to authenticate */
-    ATTRIB(Client, crypto_keyfp, string, this.crypto_keyfp);
-    /** fingerprint of CA key the server used to authenticate to the player */
-    ATTRIB(Client, crypto_mykeyfp, string, this.crypto_mykeyfp);
-    /** fingerprint of ID used by the player entity, or string_null if not identified */
-    ATTRIB(Client, crypto_idfp, string, this.crypto_idfp);
-    /** set if the player's ID has been signed */
-    ATTRIB(Client, crypto_idfp_signed, bool, this.crypto_idfp_signed);
-    /** the string "AES128" if encrypting, and string_null if plaintext */
-    ATTRIB(Client, crypto_encryptmethod, string, this.crypto_encryptmethod);
-    /** the string "HMAC-SHA256" if signing, and string_null if plaintext */
-    ATTRIB(Client, crypto_signmethod, string, this.crypto_signmethod);
-
-    // engine client fields
-    ATTRIB(Client, impulse, int, this.impulse);
-
-    ATTRIB(Client, button0, int, this.button0);
-    ATTRIB(Client, button2, int, this.button2);
-    ATTRIB(Client, button3, int, this.button3);
-    ATTRIB(Client, button4, int, this.button4);
-    ATTRIB(Client, button5, int, this.button5);
-    ATTRIB(Client, button6, int, this.button6);
-    ATTRIB(Client, button7, int, this.button7);
-    ATTRIB(Client, button8, int, this.button8);
-    ATTRIB(Client, button9, int, this.button9);
-    ATTRIB(Client, button10, int, this.button10);
-    ATTRIB(Client, button11, int, this.button11);
-    ATTRIB(Client, button12, int, this.button12);
-    ATTRIB(Client, button13, int, this.button13);
-    ATTRIB(Client, button14, int, this.button14);
-    ATTRIB(Client, button15, int, this.button15);
-    ATTRIB(Client, button16, int, this.button16);
-    ATTRIB(Client, buttonuse, int, this.buttonuse);
-    ATTRIB(Client, buttonchat, int, this.buttonchat);
-
-    ATTRIB(Client, cursor_active, int, this.cursor_active);
-    ATTRIB(Client, cursor_screen, vector, this.cursor_screen);
-    ATTRIB(Client, cursor_trace_start, vector, this.cursor_trace_start);
-    ATTRIB(Client, cursor_trace_endpos, vector, this.cursor_trace_endpos);
-    ATTRIB(Client, cursor_trace_ent, entity, this.cursor_trace_ent);
-
-    ATTRIB(Client, ping, float, this.ping);
-    ATTRIB(Client, ping_packetloss, float, this.ping_packetloss);
-    ATTRIB(Client, ping_movementloss, float, this.ping_movementloss);
-
-    ATTRIB(Client, v_angle, vector, this.v_angle);
-    ATTRIB(Client, movement, vector, this.movement);
-
-    // custom
-
-    ATTRIB(Client, playerid, int, this.playerid);
-
-    ATTRIB(Client, parm_idlesince, int, this.parm_idlesince);
-    ATTRIB(Client, muted, bool, this.muted);
-    ATTRIB(Client, killindicator_teamchange, int, this.killindicator_teamchange);
-    ATTRIB(Client, idlekick_lasttimeleft, float, this.idlekick_lasttimeleft);
-    ATTRIB(Client, pm_frametime, float, this.pm_frametime);
-    ATTRIB(Client, pressedkeys, int, this.pressedkeys);
-    ATTRIB(Client, movement_old, vector, this.movement_old);
-    ATTRIB(Client, buttons_old, int, this.buttons_old);
-    ATTRIB(Client, teamkill_complain, float, this.teamkill_complain);
-    ATTRIB(Client, teamkill_soundtime, float, this.teamkill_soundtime);
-    ATTRIB(Client, teamkill_soundsource, entity, this.teamkill_soundsource);
-    ATTRIB(Client, usekeypressed, bool, this.usekeypressed);
-    ATTRIB(Client, motd_actived_time, float, this.motd_actived_time);
-    ATTRIB(Client, jointime, float, this.jointime);
-    ATTRIB(Client, spectatortime, float, this.spectatortime);
-    ATTRIB(Client, version_nagtime, float, this.version_nagtime);
-    ATTRIB(Client, netname_previous, string, this.netname_previous);
-    ATTRIB(Client, allowed_timeouts, int, this.allowed_timeouts);
-    ATTRIB(Client, active_minigame, entity, this.active_minigame);
-    ATTRIB(Client, taunt_soundtime, float, this.taunt_soundtime);
-    ATTRIB(Client, killcount, int, this.killcount);
-    ATTRIB(Client, version_mismatch, bool, this.version_mismatch);
-    ATTRIB(Client, version, int, this.version);
-    ATTRIB(Client, spectatee_status, int, this.spectatee_status);
-    ATTRIB(Client, zoomstate, bool, this.zoomstate);
-    ATTRIB(Client, just_joined, bool, this.just_joined);
-    ATTRIB(Client, race_completed, bool, this.race_completed);
-    ATTRIBARRAY(Client, msg_choice_choices, int, 50); // TODO: actually NOTIF_CHOICE_MAX
-    ATTRIB(Client, latency_sum, float, this.latency_sum);
-    ATTRIB(Client, latency_cnt, int, this.latency_cnt);
-    ATTRIB(Client, latency_time, float, this.latency_time);
-    ATTRIB(Client, v_angle_old, vector, this.v_angle_old);
-    ATTRIB(Client, model_randomizer, float, this.model_randomizer);
-    ATTRIB(Client, accuracy, entity, this.accuracy);
-    ATTRIB(Client, hasweapon_complain_spam, float, this.hasweapon_complain_spam);
-    ATTRIB(Client, scorekeeper, entity, this.scorekeeper);
-    ATTRIB(Client, specialcommand_pos, int, this.specialcommand_pos);
-    ATTRIB(Client, hitplotfh, int, this.hitplotfh);
-    ATTRIB(Client, clientdata, entity, this.clientdata);
-    ATTRIB(Client, cmd_floodcount, int, this.cmd_floodcount);
-    ATTRIB(Client, cmd_floodtime, float, this.cmd_floodtime);
-    ATTRIB(Client, wasplayer, bool, this.wasplayer);
-
-    // networked cvars
-
-    ATTRIB(Client, cvar_cl_allow_uid2name, int, this.cvar_cl_allow_uid2name);
-    ATTRIB(Client, cvar_cl_allow_uidtracking, int, this.cvar_cl_allow_uidtracking);
-    ATTRIB(Client, cvar_cl_autotaunt, float, this.cvar_cl_autotaunt);
-    ATTRIB(Client, cvar_cl_voice_directional, int, this.cvar_cl_voice_directional);
-    ATTRIB(Client, cvar_cl_voice_directional_taunt_attenuation, float, this.cvar_cl_voice_directional_taunt_attenuation);
-    ATTRIB(Client, cvar_cl_physics, string, this.cvar_cl_physics);
-    ATTRIB(Client, cvar_cl_buffs_autoreplace, bool, this.cvar_cl_buffs_autoreplace);
-    ATTRIB(Client, cvar_cl_nade_type, int, this.cvar_cl_nade_type);
-    ATTRIB(Client, cvar_cl_pokenade_type, string, this.cvar_cl_pokenade_type);
-    ATTRIB(Client, cvar_cl_spawn_near_teammate, bool, this.cvar_cl_spawn_near_teammate);
-    ATTRIB(Client, cvar_cl_gunalign, int, this.cvar_cl_gunalign);
-    ATTRIB(Client, cvar_cl_handicap, float, this.cvar_cl_handicap);
-    ATTRIB(Client, cvar_cl_clippedspectating, bool, this.cvar_cl_clippedspectating);
-    ATTRIB(Client, cvar_cl_autoscreenshot, int, this.cvar_cl_autoscreenshot);
-    ATTRIB(Client, cvar_cl_jetpack_jump, bool, this.cvar_cl_jetpack_jump);
-    ATTRIB(Client, cvar_cl_newusekeysupported, bool, this.cvar_cl_newusekeysupported);
-    ATTRIB(Client, cvar_cl_noantilag, bool, this.cvar_cl_noantilag);
-    ATTRIB(Client, cvar_cl_movement_track_canjump, bool, this.cvar_cl_movement_track_canjump);
-    ATTRIB(Client, cvar_cl_weaponimpulsemode, int, this.cvar_cl_weaponimpulsemode);
-    ATTRIB(Client, cvar_g_xonoticversion, string, this.cvar_g_xonoticversion);
-    ATTRIB(Client, autoswitch, bool, this.autoswitch);
-    ATTRIB(Client, cvar_cl_dodging_timeout, float, this.cvar_cl_dodging_timeout);
-    ATTRIB(Client, cvar_cl_multijump, bool, this.cvar_cl_multijump);
-    ATTRIB(Client, cvar_cl_accuracy_data_share, bool, this.cvar_cl_accuracy_data_share);
-    ATTRIB(Client, cvar_cl_accuracy_data_receive, bool, this.cvar_cl_accuracy_data_receive);
-    ATTRIBARRAY(Client, cvar_cl_weaponpriorities, string, 10);
-    ATTRIB(Client, cvar_cl_weaponpriority, string, this.cvar_cl_weaponpriority);
-
-    METHOD(Client, m_unwind, bool(Client this));
-
-    STATIC_METHOD(Client, Add, void(Client this, int _team));
-    STATIC_METHOD(Client, Remove, void(Client this));
-
-    INIT(Client) {
-        if (this.m_unwind(this)) return this;
-        make_impure(this);
-        this.classname = "player_joining";
-        static int playerid_last;
-        this.playerid = ++playerid_last;
-        ClientState_attach(this);
-    }
-    DESTRUCTOR(Client) {
-        Client_Remove(this);
-    }
-    CONSTRUCTOR(Client, string name) {
-        CONSTRUCT(Client);
-        this.netname = name;
-        this.netaddress = "local";
-        this.playermodel = cvar_defstring("sv_defaultplayermodel");
-    }
+       /** Client name */
+       ATTRIB(Client, netname, string, this.netname);
+       ATTRIB(Client, colormap, int, this.colormap);
+       ATTRIB(Client, team, int, this.team);
+       ATTRIB(Client, clientcolors, int, this.clientcolors);
+       /** Client IP */
+       ATTRIB(Client, netaddress, string, this.netaddress);
+       ATTRIB(Client, playermodel, string, this.playermodel);
+       ATTRIB(Client, playerskin, int, this.playerskin);
+
+       /** fingerprint of CA key the player used to authenticate */
+       ATTRIB(Client, crypto_keyfp, string, this.crypto_keyfp);
+       /** fingerprint of CA key the server used to authenticate to the player */
+       ATTRIB(Client, crypto_mykeyfp, string, this.crypto_mykeyfp);
+       /** fingerprint of ID used by the player entity, or string_null if not identified */
+       ATTRIB(Client, crypto_idfp, string, this.crypto_idfp);
+       /** set if the player's ID has been signed */
+       ATTRIB(Client, crypto_idfp_signed, bool, this.crypto_idfp_signed);
+       /** the string "AES128" if encrypting, and string_null if plaintext */
+       ATTRIB(Client, crypto_encryptmethod, string, this.crypto_encryptmethod);
+       /** the string "HMAC-SHA256" if signing, and string_null if plaintext */
+       ATTRIB(Client, crypto_signmethod, string, this.crypto_signmethod);
+
+       // engine client fields
+       ATTRIB(Client, impulse, int, this.impulse);
+
+       ATTRIB(Client, button0, int, this.button0);
+       ATTRIB(Client, button2, int, this.button2);
+       ATTRIB(Client, button3, int, this.button3);
+       ATTRIB(Client, button4, int, this.button4);
+       ATTRIB(Client, button5, int, this.button5);
+       ATTRIB(Client, button6, int, this.button6);
+       ATTRIB(Client, button7, int, this.button7);
+       ATTRIB(Client, button8, int, this.button8);
+       ATTRIB(Client, button9, int, this.button9);
+       ATTRIB(Client, button10, int, this.button10);
+       ATTRIB(Client, button11, int, this.button11);
+       ATTRIB(Client, button12, int, this.button12);
+       ATTRIB(Client, button13, int, this.button13);
+       ATTRIB(Client, button14, int, this.button14);
+       ATTRIB(Client, button15, int, this.button15);
+       ATTRIB(Client, button16, int, this.button16);
+       ATTRIB(Client, buttonuse, int, this.buttonuse);
+       ATTRIB(Client, buttonchat, int, this.buttonchat);
+
+       ATTRIB(Client, cursor_active, int, this.cursor_active);
+       ATTRIB(Client, cursor_screen, vector, this.cursor_screen);
+       ATTRIB(Client, cursor_trace_start, vector, this.cursor_trace_start);
+       ATTRIB(Client, cursor_trace_endpos, vector, this.cursor_trace_endpos);
+       ATTRIB(Client, cursor_trace_ent, entity, this.cursor_trace_ent);
+
+       ATTRIB(Client, ping, float, this.ping);
+       ATTRIB(Client, ping_packetloss, float, this.ping_packetloss);
+       ATTRIB(Client, ping_movementloss, float, this.ping_movementloss);
+
+       ATTRIB(Client, v_angle, vector, this.v_angle);
+       ATTRIB(Client, movement, vector, this.movement);
+
+       // custom
+
+       ATTRIB(Client, playerid, int, this.playerid);
+
+       ATTRIB(Client, parm_idlesince, int, this.parm_idlesince);
+       ATTRIB(Client, muted, bool, this.muted);
+       ATTRIB(Client, killindicator_teamchange, int, this.killindicator_teamchange);
+       ATTRIB(Client, idlekick_lasttimeleft, float, this.idlekick_lasttimeleft);
+       ATTRIB(Client, pm_frametime, float, this.pm_frametime);
+       ATTRIB(Client, pressedkeys, int, this.pressedkeys);
+       ATTRIB(Client, movement_old, vector, this.movement_old);
+       ATTRIB(Client, buttons_old, int, this.buttons_old);
+       ATTRIB(Client, teamkill_complain, float, this.teamkill_complain);
+       ATTRIB(Client, teamkill_soundtime, float, this.teamkill_soundtime);
+       ATTRIB(Client, teamkill_soundsource, entity, this.teamkill_soundsource);
+       ATTRIB(Client, usekeypressed, bool, this.usekeypressed);
+       ATTRIB(Client, motd_actived_time, float, this.motd_actived_time);
+       ATTRIB(Client, jointime, float, this.jointime);
+       ATTRIB(Client, spectatortime, float, this.spectatortime);
+       ATTRIB(Client, version_nagtime, float, this.version_nagtime);
+       ATTRIB(Client, netname_previous, string, this.netname_previous);
+       ATTRIB(Client, allowed_timeouts, int, this.allowed_timeouts);
+       ATTRIB(Client, active_minigame, entity, this.active_minigame);
+       ATTRIB(Client, taunt_soundtime, float, this.taunt_soundtime);
+       ATTRIB(Client, killcount, int, this.killcount);
+       ATTRIB(Client, version_mismatch, bool, this.version_mismatch);
+       ATTRIB(Client, version, int, this.version);
+       ATTRIB(Client, spectatee_status, int, this.spectatee_status);
+       ATTRIB(Client, zoomstate, bool, this.zoomstate);
+       ATTRIB(Client, just_joined, bool, this.just_joined);
+       ATTRIB(Client, race_completed, bool, this.race_completed);
+       ATTRIBARRAY(Client, msg_choice_choices, int, 50); // TODO: actually NOTIF_CHOICE_MAX
+       ATTRIB(Client, latency_sum, float, this.latency_sum);
+       ATTRIB(Client, latency_cnt, int, this.latency_cnt);
+       ATTRIB(Client, latency_time, float, this.latency_time);
+       ATTRIB(Client, v_angle_old, vector, this.v_angle_old);
+       ATTRIB(Client, model_randomizer, float, this.model_randomizer);
+       ATTRIB(Client, accuracy, entity, this.accuracy);
+       ATTRIB(Client, hasweapon_complain_spam, float, this.hasweapon_complain_spam);
+       ATTRIB(Client, scorekeeper, entity, this.scorekeeper);
+       ATTRIB(Client, specialcommand_pos, int, this.specialcommand_pos);
+       ATTRIB(Client, hitplotfh, int, this.hitplotfh);
+       ATTRIB(Client, clientdata, entity, this.clientdata);
+       ATTRIB(Client, cmd_floodcount, int, this.cmd_floodcount);
+       ATTRIB(Client, cmd_floodtime, float, this.cmd_floodtime);
+       ATTRIB(Client, wasplayer, bool, this.wasplayer);
+
+       // networked cvars
+
+       ATTRIB(Client, cvar_cl_allow_uid2name, int, this.cvar_cl_allow_uid2name);
+       ATTRIB(Client, cvar_cl_allow_uidtracking, int, this.cvar_cl_allow_uidtracking);
+       ATTRIB(Client, cvar_cl_autotaunt, float, this.cvar_cl_autotaunt);
+       ATTRIB(Client, cvar_cl_voice_directional, int, this.cvar_cl_voice_directional);
+       ATTRIB(Client, cvar_cl_voice_directional_taunt_attenuation, float, this.cvar_cl_voice_directional_taunt_attenuation);
+       ATTRIB(Client, cvar_cl_physics, string, this.cvar_cl_physics);
+       ATTRIB(Client, cvar_cl_buffs_autoreplace, bool, this.cvar_cl_buffs_autoreplace);
+       ATTRIB(Client, cvar_cl_nade_type, int, this.cvar_cl_nade_type);
+       ATTRIB(Client, cvar_cl_pokenade_type, string, this.cvar_cl_pokenade_type);
+       ATTRIB(Client, cvar_cl_spawn_near_teammate, bool, this.cvar_cl_spawn_near_teammate);
+       ATTRIB(Client, cvar_cl_gunalign, int, this.cvar_cl_gunalign);
+       ATTRIB(Client, cvar_cl_handicap, float, this.cvar_cl_handicap);
+       ATTRIB(Client, cvar_cl_clippedspectating, bool, this.cvar_cl_clippedspectating);
+       ATTRIB(Client, cvar_cl_autoscreenshot, int, this.cvar_cl_autoscreenshot);
+       ATTRIB(Client, cvar_cl_jetpack_jump, bool, this.cvar_cl_jetpack_jump);
+       ATTRIB(Client, cvar_cl_newusekeysupported, bool, this.cvar_cl_newusekeysupported);
+       ATTRIB(Client, cvar_cl_noantilag, bool, this.cvar_cl_noantilag);
+       ATTRIB(Client, cvar_cl_movement_track_canjump, bool, this.cvar_cl_movement_track_canjump);
+       ATTRIB(Client, cvar_cl_weaponimpulsemode, int, this.cvar_cl_weaponimpulsemode);
+       ATTRIB(Client, cvar_g_xonoticversion, string, this.cvar_g_xonoticversion);
+       ATTRIB(Client, autoswitch, bool, this.autoswitch);
+       ATTRIB(Client, cvar_cl_dodging_timeout, float, this.cvar_cl_dodging_timeout);
+       ATTRIB(Client, cvar_cl_multijump, bool, this.cvar_cl_multijump);
+       ATTRIB(Client, cvar_cl_accuracy_data_share, bool, this.cvar_cl_accuracy_data_share);
+       ATTRIB(Client, cvar_cl_accuracy_data_receive, bool, this.cvar_cl_accuracy_data_receive);
+       ATTRIBARRAY(Client, cvar_cl_weaponpriorities, string, 10);
+       ATTRIB(Client, cvar_cl_weaponpriority, string, this.cvar_cl_weaponpriority);
+
+       METHOD(Client, m_unwind, bool(Client this));
+
+       STATIC_METHOD(Client, Add, void(Client this, int _team));
+       STATIC_METHOD(Client, Remove, void(Client this));
+
+       INIT(Client)
+       {
+               if (this.m_unwind(this)) { return this; }
+               make_impure(this);
+               this.classname = "player_joining";
+               static int playerid_last;
+               this.playerid = ++playerid_last;
+               ClientState_attach(this);
+       }
+       DESTRUCTOR(Client)
+       {
+               Client_Remove(this);
+       }
+       CONSTRUCTOR(Client, string name)
+       {
+               CONSTRUCT(Client);
+               this.netname = name;
+               this.netaddress = "local";
+               this.playermodel = cvar_defstring("sv_defaultplayermodel");
+       }
 ENDCLASS(Client)
 
 CLASS(Observer, Client)
-    INIT(Observer) {
-        this.classname = STR_OBSERVER;
-    }
-    DESTRUCTOR(Observer) { }
+       INIT(Observer)
+       {
+               this.classname = STR_OBSERVER;
+       }
+       DESTRUCTOR(Observer) {}
 ENDCLASS(Observer)
 
 CLASS(Spectator, Client)
-    INIT(Spectator) {
-        this.classname = STR_SPECTATOR;
-    }
-    DESTRUCTOR(Spectator) { }
+       INIT(Spectator)
+       {
+               this.classname = STR_SPECTATOR;
+       }
+       DESTRUCTOR(Spectator) {}
 ENDCLASS(Spectator)
 
 CLASS(Player, Client)
 
-    // custom
-
-    ATTRIB(Player, dual_weapons, vector, this.dual_weapons); // TODO: actually WepSet!
-    ATTRIB(Player, itemkeys, int, this.itemkeys);
-    ATTRIB(Player, ballistics_density, float, this.ballistics_density);
-    ATTRIB(Player, prevstrengthsound, float, this.prevstrengthsound);
-    ATTRIB(Player, prevstrengthsoundattempt, float, this.prevstrengthsoundattempt);
-    ATTRIB(Player, buff_shield, float, this.buff_shield);
-
-    INIT(Player) {
-        this.classname = STR_PLAYER;
-        IL_PUSH(g_players, this);
-    }
-    DESTRUCTOR(Player) {
-        IL_REMOVE(g_players, this);
-    }
+       // custom
+
+       ATTRIB(Player, dual_weapons, vector, this.dual_weapons); // TODO: actually WepSet!
+       ATTRIB(Player, itemkeys, int, this.itemkeys);
+       ATTRIB(Player, ballistics_density, float, this.ballistics_density);
+       ATTRIB(Player, prevstrengthsound, float, this.prevstrengthsound);
+       ATTRIB(Player, prevstrengthsoundattempt, float, this.prevstrengthsoundattempt);
+       ATTRIB(Player, buff_shield, float, this.buff_shield);
+
+       INIT(Player)
+       {
+               this.classname = STR_PLAYER;
+               IL_PUSH(g_players, this);
+       }
+       DESTRUCTOR(Player)
+       {
+               IL_REMOVE(g_players, this);
+       }
 ENDCLASS(Player)
 
 METHOD(Client, m_unwind, bool(Client this))
 {
-    TC(Client, this);
-    #define UNWIND(class) MACRO_BEGIN if (this.instanceOf##class) { METHOD_REFERENCE(class, dtorimpl)(this); } MACRO_END
-    switch (this.classname) {
-        case "Observer":
-            UNWIND(Spectator);
-            UNWIND(Player);
-            return true;
-        case "Spectator":
-            UNWIND(Observer);
-            UNWIND(Player);
-            return true;
-        case "Player":
-            UNWIND(Observer);
-            UNWIND(Spectator);
-            return true;
-    }
-    #undef UNWIND
-    return false;
+       TC(Client, this);
+#define UNWIND(class) MACRO_BEGIN if (this.instanceOf##class) { METHOD_REFERENCE(class, dtorimpl)(this); } MACRO_END
+       switch (this.classname) {
+               case "Observer":
+                       UNWIND(Spectator);
+                       UNWIND(Player);
+                       return true;
+               case "Spectator":
+                       UNWIND(Observer);
+                       UNWIND(Player);
+                       return true;
+               case "Player":
+                       UNWIND(Observer);
+                       UNWIND(Spectator);
+                       return true;
+       }
+#undef UNWIND
+       return false;
 }
 
 void play_countdown(entity this, float finished, Sound samp);
@@ -231,4 +241,8 @@ float CalcRotRegen(float current, float regenstable, float regenfactor, float re
 bool Spectate(entity this, entity pl);
 
 #define SPECTATE_COPY() [[accumulate]] void SpectateCopy(entity this, entity spectatee)
-#define SPECTATE_COPYFIELD(fld) SPECTATE_COPY() { this.(fld) = spectatee.(fld); }
+#define SPECTATE_COPYFIELD(fld) \
+       SPECTATE_COPY() \
+       { \
+               this.(fld) = spectatee.(fld); \
+       }
index da495f7962f89210697c4dead7802da99df03d78..f1f2f9fde3c4bac09b9936dbf95ba50391388e96 100644 (file)
 
 void BanCommand_ban(float request, float argc, string command)
 {
-       switch (request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
-                       if (argc >= 2)
-                       {
+                       if (argc >= 2) {
                                string ip = argv(1);
                                float reason_arg, bantime;
                                string reason;
@@ -56,8 +54,7 @@ void BanCommand_ban(float request, float argc, string command)
 
 void BanCommand_banlist(float request)
 {
-       switch (request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
                        Ban_View();
@@ -77,19 +74,16 @@ void BanCommand_banlist(float request)
 
 void BanCommand_kickban(float request, float argc, string command)
 {
-       switch (request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
-                       if (argc >= 2)
-                       {
+                       if (argc >= 2) {
                                entity client = GetIndexedEntity(argc, 1);
                                float accepted = VerifyKickableEntity(client);
                                float reason_arg, bantime, masksize;
                                string reason;
 
-                               if (accepted > 0)
-                               {
+                               if (accepted > 0) {
                                        reason_arg = next_token;
 
                                        GET_BAN_ARG(bantime, autocvar_g_ban_default_bantime);
@@ -99,9 +93,7 @@ void BanCommand_kickban(float request, float argc, string command)
                                        Ban_KickBanClient(client, bantime, masksize, reason);
 
                                        return;
-                               }
-                               else
-                               {
+                               } else {
                                        LOG_INFO("kickban: ", GetClientErrorString(accepted, argv(1)), ".");
                                }
                        }
@@ -122,24 +114,19 @@ void BanCommand_kickban(float request, float argc, string command)
        }
 }
 
-void BanCommand_mute(float request, float argc, string command)  // TODO: Add a sort of mute-"ban" which allows players to be muted based on IP/cryptokey
+void BanCommand_mute(float request, float argc, string command) // TODO: Add a sort of mute-"ban" which allows players to be muted based on IP/cryptokey
 {
-       switch (request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
-                       if (argc >= 2)
-                       {
+                       if (argc >= 2) {
                                entity client = GetFilteredEntity(argv(1));
                                float accepted = VerifyClientEntity(client, true, false);
 
-                               if (accepted > 0)
-                               {
+                               if (accepted > 0) {
                                        CS(client).muted = true;
                                        return;
-                               }
-                               else
-                               {
+                               } else {
                                        LOG_INFO("mute: ", GetClientErrorString(accepted, argv(1)), ".");
                                }
                        }
@@ -159,33 +146,27 @@ void BanCommand_mute(float request, float argc, string command)  // TODO: Add a
 
 void BanCommand_unban(float request, float argc)
 {
-       switch (request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
-                       if (argv(1))
-                       {
+                       if (argv(1)) {
                                float tmp_number = -1;
                                string tmp_string;
 
-                               if (substring(argv(1), 0, 1) == "#")
-                               {
+                               if (substring(argv(1), 0, 1) == "#") {
                                        tmp_string = substring(argv(1), 1, -1);
 
-                                       if (tmp_string != "") // is it all one token? like #1
+                                       if (tmp_string != "") // is it all one token? like #1
                                                tmp_number = stof(tmp_string);
-                                       else if (argc > 2)    // no, it's two tokens? # 1
+                                       } else if (argc > 2) { // no, it's two tokens? # 1
                                                tmp_number = stof(argv(2));
-                                       else tmp_number = -1;
-                               }
-                               else  // maybe it's ONLY a number?
-                               {
+                                       } else { tmp_number = -1; }
+                               } else { // maybe it's ONLY a number?
                                        tmp_number = stof(argv(1));
 
-                                       if ((tmp_number == 0) && (argv(1) != "0")) tmp_number = -1; }
+                                       if ((tmp_number == 0) && (argv(1) != "0")) { tmp_number = -1; } }
 
-                               if (tmp_number >= 0)
-                               {
+                               if (tmp_number >= 0) {
                                        Ban_Delete(tmp_number);
                                        return;
                                }
@@ -205,22 +186,17 @@ void BanCommand_unban(float request, float argc)
 
 void BanCommand_unmute(float request, float argc)
 {
-       switch (request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
-                       if (argc >= 2)
-                       {
+                       if (argc >= 2) {
                                entity client = GetFilteredEntity(argv(1));
                                float accepted = VerifyClientEntity(client, true, false);
 
-                               if (accepted > 0)
-                               {
+                               if (accepted > 0) {
                                        CS(client).muted = false;
                                        return;
-                               }
-                               else
-                               {
+                               } else {
                                        LOG_INFO("unmute: ", GetClientErrorString(accepted, argv(1)), ".");
                                }
                        }
@@ -278,8 +254,8 @@ void BanCommand_(float request)
 
 void BanCommand_macro_help()
 {
-       #define BAN_COMMAND(name, function, description) \
-               { if (strtolower(description) != "") { LOG_INFO("  ^2", name, "^7: ", description); } }
+#define BAN_COMMAND(name, function, description) \
+       { if (strtolower(description) != "") { LOG_INFO("  ^2", name, "^7: ", description); } }
 
        BAN_COMMANDS(0, 0, "");
 #undef BAN_COMMAND
@@ -287,8 +263,8 @@ void BanCommand_macro_help()
 
 float BanCommand_macro_command(float argc, string command)
 {
-       #define BAN_COMMAND(name, function, description) \
-               { if (name == strtolower(argv(0))) { function; return true; } }
+#define BAN_COMMAND(name, function, description) \
+       { if (name == strtolower(argv(0))) { function; return true; } }
 
        BAN_COMMANDS(CMD_REQUEST_COMMAND, argc, command);
 #undef BAN_COMMAND
@@ -298,8 +274,8 @@ float BanCommand_macro_command(float argc, string command)
 
 float BanCommand_macro_usage(float argc)
 {
-       #define BAN_COMMAND(name, function, description) \
-               { if (name == strtolower(argv(1))) { function; return true; } }
+#define BAN_COMMAND(name, function, description) \
+       { if (name == strtolower(argv(1))) { function; return true; } }
 
        BAN_COMMANDS(CMD_REQUEST_USAGE, argc, "");
 #undef BAN_COMMAND
@@ -309,8 +285,8 @@ float BanCommand_macro_usage(float argc)
 
 void BanCommand_macro_write_aliases(float fh)
 {
-       #define BAN_COMMAND(name, function, description) \
-               { if (strtolower(description) != "") { CMD_Write_Alias("qc_cmd_sv", name, description); } }
+#define BAN_COMMAND(name, function, description) \
+       { if (strtolower(description) != "") { CMD_Write_Alias("qc_cmd_sv", name, description); } }
 
        BAN_COMMANDS(0, 0, "");
 #undef BAN_COMMAND
@@ -325,8 +301,8 @@ float BanCommand(string command)
        // argv:   0    - 1      - 2     - 3
        // cmd     vote - master - login - password
 
-       if (BanCommand_macro_command(argc, command)) // continue as usual and scan for normal commands
-               return true;                             // handled by one of the above GenericCommand_* functions
-
+       if (BanCommand_macro_command(argc, command)) // continue as usual and scan for normal commands
+               return true; // handled by one of the above GenericCommand_* functions
+       }
        return false;
 }
index d6b1ae60f0f779511ca65dd6830323c134c91fe3..bb8c163f5fd066b512ed0f5f7c5bc0ad0959fe29 100644 (file)
@@ -5,8 +5,8 @@
 //  Last updated: December 29th, 2011
 // =====================================
 
-#define GET_BAN_ARG(v, d) if (argc > reason_arg) { if ((v = stof(argv(reason_arg))) != 0) ++reason_arg; else v = d; } else { v = d; }
-#define GET_BAN_REASON(v, d) if (argc > reason_arg) v = substring(command, argv_start_index(reason_arg), strlen(command) - argv_start_index(reason_arg)); else v = d;
+#define GET_BAN_ARG(v, d) if (argc > reason_arg) { if ((v = stof(argv(reason_arg))) != 0) { ++reason_arg; } else { v = d; } } else { v = d; }
+#define GET_BAN_REASON(v, d) if (argc > reason_arg) { v = substring(command, argv_start_index(reason_arg), strlen(command) - argv_start_index(reason_arg)); } else { v = d; }
 
 void Ban_KickBanClient(entity client, float bantime, float masksize, string reason);
 void Ban_View();
index 46d1d2b6f86fd1c888b3b730593179552625f2d3..e5546127db860641c8dacd194815c79004515ee0 100644 (file)
 // select the proper prefix for usage and other messages
 string GetCommandPrefix(entity caller)
 {
-       if (caller) return "cmd";
-       else return "sv_cmd";
+       if (caller) { return "cmd"; } else { return "sv_cmd"; }
 }
 
 // if client return player nickname, or if server return admin nickname
 string GetCallerName(entity caller)
 {
-       if (caller) return playername(caller, false);
-       else return ((autocvar_sv_adminnick != "") ? autocvar_sv_adminnick : "SERVER ADMIN"); // autocvar_hostname
+       if (caller) { return playername(caller, false); } else {
+               return (autocvar_sv_adminnick != "") ? autocvar_sv_adminnick : "SERVER ADMIN"; // autocvar_hostname
+       }
 }
 
 // verify that the client provided is acceptable for kicking
 float VerifyKickableEntity(entity client)
 {
-       if (!IS_REAL_CLIENT(client)) return CLIENT_NOT_REAL;
+       if (!IS_REAL_CLIENT(client)) { return CLIENT_NOT_REAL; }
        return CLIENT_ACCEPTABLE;
 }
 
 // verify that the client provided is acceptable for use
 float VerifyClientEntity(entity client, float must_be_real, float must_be_bots)
 {
-       if (!IS_CLIENT(client)) return CLIENT_DOESNT_EXIST;
-       else if (must_be_real && !IS_REAL_CLIENT(client)) return CLIENT_NOT_REAL;
-       else if (must_be_bots && !IS_BOT_CLIENT(client)) return CLIENT_NOT_BOT;
+       if (!IS_CLIENT(client)) { return CLIENT_DOESNT_EXIST; } else if (must_be_real && !IS_REAL_CLIENT(client)) {
+               return CLIENT_NOT_REAL;
+       } else if (must_be_bots && !IS_BOT_CLIENT(client)) {
+               return CLIENT_NOT_BOT;
+       }
 
        return CLIENT_ACCEPTABLE;
 }
@@ -52,8 +54,7 @@ float VerifyClientEntity(entity client, float must_be_real, float must_be_bots)
 // if the client is not acceptable, return a string to be used for error messages
 string GetClientErrorString_color(float clienterror, string original_input, string col)
 {
-       switch (clienterror)
-       {
+       switch (clienterror) {
                case CLIENT_DOESNT_EXIST:
                { return strcat(col, "Client '", original_input, col, "' doesn't exist");
                }
@@ -72,8 +73,7 @@ string GetClientErrorString_color(float clienterror, string original_input, stri
 // is this entity number even in the possible range of entities?
 float VerifyClientNumber(float tmp_number)
 {
-       if ((tmp_number < 1) || (tmp_number > maxclients)) return false;
-       else return true;
+       if ((tmp_number < 1) || (tmp_number > maxclients)) { return false; } else { return true; }
 }
 
 entity GetIndexedEntity(float argc, float start_index)
@@ -86,42 +86,29 @@ entity GetIndexedEntity(float argc, float start_index)
        index = start_index;
        selection = NULL;
 
-       if (argc > start_index)
-       {
-               if (substring(argv(index), 0, 1) == "#")
-               {
+       if (argc > start_index) {
+               if (substring(argv(index), 0, 1) == "#") {
                        tmp_string = substring(argv(index), 1, -1);
                        ++index;
 
-                       if (tmp_string != "")  // is it all one token? like #1
-                       {
+                       if (tmp_string != "") { // is it all one token? like #1
                                tmp_number = stof(tmp_string);
-                       }
-                       else if (argc > index)  // no, it's two tokens? # 1
-                       {
+                       } else if (argc > index) { // no, it's two tokens? # 1
                                tmp_number = stof(argv(index));
                                ++index;
-                       }
-                       else
-                       {
+                       } else {
                                tmp_number = 0;
                        }
-               }
-               else  // maybe it's ONLY a number?
-               {
+               } else { // maybe it's ONLY a number?
                        tmp_number = stof(argv(index));
                        ++index;
                }
 
-               if (VerifyClientNumber(tmp_number))
-               {
-                       selection = edict_num(tmp_number);  // yes, it was a number
-               }
-               else  // no, maybe it's a name?
-               {
+               if (VerifyClientNumber(tmp_number)) {
+                       selection = edict_num(tmp_number); // yes, it was a number
+               } else { // no, maybe it's a name?
                        FOREACH_CLIENT(true, {
-                               if(strdecolorize(it.netname) == strdecolorize(argv(start_index)))
-                               {
+                               if (strdecolorize(it.netname) == strdecolorize(argv(start_index))) {
                                        selection = it;
                                        break; // no reason to keep looking
                                }
@@ -142,19 +129,14 @@ entity GetFilteredEntity(string input)
        entity selection;
        float tmp_number;
 
-       if (substring(input, 0, 1) == "#") tmp_number = stof(substring(input, 1, -1));
-       else tmp_number = stof(input);
+       if (substring(input, 0, 1) == "#") { tmp_number = stof(substring(input, 1, -1)); } else { tmp_number = stof(input); }
 
-       if (VerifyClientNumber(tmp_number))
-       {
+       if (VerifyClientNumber(tmp_number)) {
                selection = edict_num(tmp_number);
-       }
-       else
-       {
+       } else {
                selection = NULL;
                FOREACH_CLIENT(true, {
-                       if(strdecolorize(it.netname) == strdecolorize(input))
-                       {
+                       if (strdecolorize(it.netname) == strdecolorize(input)) {
                                selection = it;
                                break; // no reason to keep looking
                        }
@@ -178,8 +160,7 @@ float GetFilteredNumber(string input)
 // switch between sprint and print depending on whether the receiver is the server or a player
 void print_to(entity to, string input)
 {
-       if (to) sprint(to, strcat(input, "\n"));
-       else print(input, "\n");
+       if (to) { sprint(to, strcat(input, "\n")); } else { print(input, "\n"); }
 }
 
 // ==========================================
@@ -198,22 +179,19 @@ void timeout_handler_reset(entity this)
 
 void timeout_handler_think(entity this)
 {
-       switch (timeout_status)
-       {
+       switch (timeout_status) {
                case TIMEOUT_ACTIVE:
                {
-                       if (timeout_time > 0)  // countdown is still going
-                       {
+                       if (timeout_time > 0) { // countdown is still going
                                Send_Notification(NOTIF_ALL, NULL, MSG_CENTER, CENTER_TIMEOUT_ENDING, timeout_time);
 
-                               if (timeout_time == autocvar_sv_timeout_resumetime) // play a warning sound when only <sv_timeout_resumetime> seconds are left
+                               if (timeout_time == autocvar_sv_timeout_resumetime) // play a warning sound when only <sv_timeout_resumetime> seconds are left
                                        Send_Notification(NOTIF_ALL, NULL, MSG_ANNCE, ANNCE_PREPARE);
+                               }
 
-                               this.nextthink = time + TIMEOUT_SLOWMO_VALUE;       // think again in one second
-                               timeout_time -= 1;                                  // decrease the time counter
-                       }
-                       else  // time to end the timeout
-                       {
+                               this.nextthink = time + TIMEOUT_SLOWMO_VALUE; // think again in one second
+                               timeout_time -= 1;                            // decrease the time counter
+                       } else { // time to end the timeout
                                Kill_Notification(NOTIF_ALL, NULL, MSG_CENTER, CPID_TIMEIN);
                                timeout_status = TIMEOUT_INACTIVE;
 
@@ -233,15 +211,12 @@ void timeout_handler_think(entity this)
 
                case TIMEOUT_LEADTIME:
                {
-                       if (timeout_leadtime > 0)  // countdown is still going
-                       {
+                       if (timeout_leadtime > 0) {    // countdown is still going
                                Send_Notification(NOTIF_ALL, NULL, MSG_CENTER, CENTER_TIMEOUT_BEGINNING, timeout_leadtime);
 
                                this.nextthink = time + 1; // think again in one second
                                timeout_leadtime -= 1;     // decrease the time counter
-                       }
-                       else  // time to begin the timeout
-                       {
+                       } else { // time to begin the timeout
                                timeout_status = TIMEOUT_ACTIVE;
 
                                // set the slowmo value to the timeout default slowmo value
@@ -250,8 +225,8 @@ void timeout_handler_think(entity this)
                                // reset all the flood variables
                                FOREACH_CLIENT(true, {
                                        it.nickspamcount = it.nickspamtime = it.floodcontrol_chat =
-                                               it.floodcontrol_chatteam = it.floodcontrol_chattell =
-                                                       it.floodcontrol_voice = it.floodcontrol_voiceteam = 0;
+                                       it.floodcontrol_chatteam = it.floodcontrol_chattell =
+                                       it.floodcontrol_voice = it.floodcontrol_voiceteam = 0;
                                });
 
                                // copy .v_angle to .lastV_angle for every player in order to fix their view during pause (see PlayerPreThink)
@@ -259,7 +234,7 @@ void timeout_handler_think(entity this)
                                        it.lastV_angle = it.v_angle;
                                });
 
-                               this.nextthink = time;  // think again next frame to handle it under TIMEOUT_ACTIVE code
+                               this.nextthink = time; // think again next frame to handle it under TIMEOUT_ACTIVE code
                        }
 
                        return;
@@ -282,12 +257,11 @@ void timeout_handler_think(entity this)
 
 void CommonCommand_cvar_changes(float request, entity caller)
 {
-       switch (request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
                        print_to(caller, cvar_changes);
-                       return;  // never fall through to usage
+                       return; // never fall through to usage
                }
 
                default:
@@ -303,12 +277,11 @@ void CommonCommand_cvar_changes(float request, entity caller)
 
 void CommonCommand_cvar_purechanges(float request, entity caller)
 {
-       switch (request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
                        print_to(caller, cvar_purechanges);
-                       return;  // never fall through to usage
+                       return; // never fall through to usage
                }
 
                default:
@@ -324,15 +297,13 @@ void CommonCommand_cvar_purechanges(float request, entity caller)
 
 void CommonCommand_editmob(int request, entity caller, int argc)
 {
-       switch (request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
                        if (autocvar_g_campaign) { print_to(caller, "Monster editing is disabled in singleplayer"); return; }
                        // no checks for g_monsters here, as it may be toggled mid match which existing monsters
 
-                       if (caller)
-                       {
+                       if (caller) {
                                makevectors(caller.v_angle);
                                WarpZone_TraceLine(caller.origin + caller.view_ofs, caller.origin + caller.view_ofs + v_forward * 100, MOVE_NORMAL, caller);
                        }
@@ -341,12 +312,13 @@ void CommonCommand_editmob(int request, entity caller, int argc)
                        bool is_visible = IS_MONSTER(mon);
                        string argument = argv(2);
 
-                       switch (argv(1))
-                       {
+                       switch (argv(1)) {
                                case "name":
                                {
                                        if (!caller) { print_to(caller, "Only players can edit monsters"); return; }
-                                       if (!argument)   break;  // escape to usage
+                                       if (!argument) {
+                                               break; // escape to usage
+                                       }
                                        if (!autocvar_g_monsters_edit) { print_to(caller, "Monster editing is disabled"); return; }
                                        if (mon.realowner != caller && autocvar_g_monsters_edit < 2) { print_to(caller, "This monster does not belong to you"); return; }
                                        if (!is_visible) { print_to(caller, "You must look at your monster to edit it"); return; }
@@ -354,18 +326,19 @@ void CommonCommand_editmob(int request, entity caller, int argc)
                                        string mon_oldname = mon.monster_name;
 
                                        mon.monster_name = argument;
-                                       if (mon.sprite)   WaypointSprite_UpdateSprites(mon.sprite, WP_Monster, WP_Null, WP_Null);
+                                       if (mon.sprite) { WaypointSprite_UpdateSprites(mon.sprite, WP_Monster, WP_Null, WP_Null); }
                                        print_to(caller, sprintf("Your pet '%s' is now known as '%s'", mon_oldname, mon.monster_name));
                                        return;
                                }
                                case "spawn":
                                {
                                        if (!caller) { print_to(caller, "Only players can spawn monsters"); return; }
-                                       if (!argv(2))   break;  // escape to usage
-
+                                       if (!argv(2)) {
+                                               break; // escape to usage
+                                       }
                                        int moveflag, tmp_moncount = 0;
                                        string arg_lower = strtolower(argument);
-                                       moveflag = (argv(3)) ? stof(argv(3)) : 1;  // follow owner if not defined
+                                       moveflag = (argv(3)) ? stof(argv(3)) : 1; // follow owner if not defined
 
                                        if (arg_lower == "list") { print_to(caller, monsterlist_reply); return; }
 
@@ -412,11 +385,13 @@ void CommonCommand_editmob(int request, entity caller, int argc)
                                case "skin":
                                {
                                        if (!caller) { print_to(caller, "Only players can edit monsters"); return; }
-                                       if (!argument)   break;  // escape to usage
+                                       if (!argument) {
+                                               break; // escape to usage
+                                       }
                                        if (!autocvar_g_monsters_edit) { print_to(caller, "Monster editing is disabled"); return; }
                                        if (!is_visible) { print_to(caller, "You must look at your monster to edit it"); return; }
                                        if (mon.realowner != caller && autocvar_g_monsters_edit < 2) { print_to(caller, "This monster does not belong to you"); return; }
-                                       if (mon.monsterid == MON_MAGE.monsterid) { print_to(caller, "Mage skins can't be changed"); return; }  // TODO
+                                       if (mon.monsterid == MON_MAGE.monsterid) { print_to(caller, "Mage skins can't be changed"); return; } // TODO
 
                                        mon.skin = stof(argument);
                                        print_to(caller, strcat("Monster skin successfully changed to ", ftos(mon.skin)));
@@ -425,7 +400,9 @@ void CommonCommand_editmob(int request, entity caller, int argc)
                                case "movetarget":
                                {
                                        if (!caller) { print_to(caller, "Only players can edit monsters"); return; }
-                                       if (!argument)   break;  // escape to usage
+                                       if (!argument) {
+                                               break; // escape to usage
+                                       }
                                        if (!autocvar_g_monsters_edit) { print_to(caller, "Monster editing is disabled"); return; }
                                        if (!is_visible) { print_to(caller, "You must look at your monster to edit it"); return; }
                                        if (mon.realowner != caller && autocvar_g_monsters_edit < 2) { print_to(caller, "This monster does not belong to you"); return; }
@@ -471,16 +448,14 @@ void CommonCommand_editmob(int request, entity caller, int argc)
 
 void CommonCommand_info(float request, entity caller, float argc)
 {
-       switch (request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
                        string command = builtin_cvar_string(strcat("sv_info_", argv(1)));
 
-                       if (command) wordwrap_sprint(caller, command, 1000);
-                       else print_to(caller, "ERROR: unsupported info command");
+                       if (command) { wordwrap_sprint(caller, command, 1000); } else { print_to(caller, "ERROR: unsupported info command"); }
 
-                       return;  // never fall through to usage
+                       return; // never fall through to usage
                }
 
                default:
@@ -495,12 +470,11 @@ void CommonCommand_info(float request, entity caller, float argc)
 
 void CommonCommand_ladder(float request, entity caller)
 {
-       switch (request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
                        print_to(caller, ladder_reply);
-                       return;  // never fall through to usage
+                       return; // never fall through to usage
                }
 
                default:
@@ -515,12 +489,11 @@ void CommonCommand_ladder(float request, entity caller)
 
 void CommonCommand_lsmaps(float request, entity caller)
 {
-       switch (request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
                        print_to(caller, lsmaps_reply);
-                       return;  // never fall through to usage
+                       return; // never fall through to usage
                }
 
                default:
@@ -535,12 +508,11 @@ void CommonCommand_lsmaps(float request, entity caller)
 
 void CommonCommand_printmaplist(float request, entity caller)
 {
-       switch (request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
                        print_to(caller, maplist_reply);
-                       return;  // never fall through to usage
+                       return; // never fall through to usage
                }
 
                default:
@@ -555,12 +527,11 @@ void CommonCommand_printmaplist(float request, entity caller)
 
 void CommonCommand_rankings(float request, entity caller)
 {
-       switch (request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
                        print_to(caller, rankings_reply);
-                       return;  // never fall through to usage
+                       return; // never fall through to usage
                }
 
                default:
@@ -575,20 +546,18 @@ void CommonCommand_rankings(float request, entity caller)
 
 void CommonCommand_records(float request, entity caller)
 {
-       switch (request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
                        int num = stoi(argv(1));
-                       if(num > 0 && num <= 10 && records_reply[num - 1] != "")
+                       if (num > 0 && num <= 10 && records_reply[num - 1] != "") {
                                print_to(caller, records_reply[num - 1]);
-                       else
-                       {
-                               for (int i = 0; i < 10; ++i)
-                                       if (records_reply[i] != "") print_to(caller, records_reply[i]);
+                       } else {
+                               for (int i = 0; i < 10; ++i) {
+                                       if (records_reply[i] != "") { print_to(caller, records_reply[i]); } }
                        }
 
-                       return;  // never fall through to usage
+                       return; // never fall through to usage
                }
 
                default:
@@ -603,12 +572,11 @@ void CommonCommand_records(float request, entity caller)
 
 void CommonCommand_teamstatus(float request, entity caller)
 {
-       switch (request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
                        Score_NicePrint(caller);
-                       return;  // never fall through to usage
+                       return; // never fall through to usage
                }
 
                default:
@@ -623,8 +591,7 @@ void CommonCommand_teamstatus(float request, entity caller)
 
 void CommonCommand_time(float request, entity caller)
 {
-       switch (request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
                        print_to(caller, strcat("time = ", ftos(time)));
@@ -649,27 +616,19 @@ void CommonCommand_time(float request, entity caller)
 
 void CommonCommand_timein(float request, entity caller)
 {
-       switch (request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
-                       if (!caller || autocvar_sv_timeout)
-                       {
-                               if (!timeout_status) { print_to(caller, "^7Error: There is no active timeout called."); }
-                               else if (caller && (caller != timeout_caller))
-                               {
+                       if (!caller || autocvar_sv_timeout) {
+                               if (!timeout_status) { print_to(caller, "^7Error: There is no active timeout called."); } else if (caller && (caller != timeout_caller)) {
                                        print_to(caller, "^7Error: You are not allowed to stop the active timeout.");
-                               }
-
-                               else  // everything should be okay, continue aborting timeout
-                               {
-                                       switch (timeout_status)
-                                       {
+                               } else { // everything should be okay, continue aborting timeout
+                                       switch (timeout_status) {
                                                case TIMEOUT_LEADTIME:
                                                {
                                                        timeout_status = TIMEOUT_INACTIVE;
                                                        timeout_time = 0;
-                                                       timeout_handler.nextthink = time;  // timeout_handler has to take care of it immediately
+                                                       timeout_handler.nextthink = time; // timeout_handler has to take care of it immediately
                                                        bprint(strcat("^7The timeout was aborted by ", GetCallerName(caller), " !\n"));
                                                        return;
                                                }
@@ -677,7 +636,7 @@ void CommonCommand_timein(float request, entity caller)
                                                case TIMEOUT_ACTIVE:
                                                {
                                                        timeout_time = autocvar_sv_timeout_resumetime;
-                                                       timeout_handler.nextthink = time;  // timeout_handler has to take care of it immediately
+                                                       timeout_handler.nextthink = time; // timeout_handler has to take care of it immediately
                                                        bprint(strcat("^1Attention: ^7", GetCallerName(caller), " resumed the game! Prepare for battle!\n"));
                                                        return;
                                                }
@@ -686,10 +645,9 @@ void CommonCommand_timein(float request, entity caller)
                                                        return;
                                        }
                                }
-                       }
-                       else { print_to(caller, "^1Timeins are not allowed to be called, enable them with sv_timeout 1.\n"); }
+                       } else { print_to(caller, "^1Timeins are not allowed to be called, enable them with sv_timeout 1.\n"); }
 
-                       return;  // never fall through to usage
+                       return; // never fall through to usage
                }
 
                default:
@@ -702,45 +660,28 @@ void CommonCommand_timein(float request, entity caller)
        }
 }
 
-void CommonCommand_timeout(float request, entity caller)  // DEAR GOD THIS COMMAND IS TERRIBLE.
+void CommonCommand_timeout(float request, entity caller) // DEAR GOD THIS COMMAND IS TERRIBLE.
 {
-       switch (request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
-                       if (!caller || autocvar_sv_timeout)
-                       {
+                       if (!caller || autocvar_sv_timeout) {
                                float last_possible_timeout = ((autocvar_timelimit * 60) - autocvar_sv_timeout_leadtime - 1);
 
-                               if (timeout_status) { print_to(caller, "^7Error: A timeout is already active."); }
-                               else if (vote_called)
-                               {
+                               if (timeout_status) { print_to(caller, "^7Error: A timeout is already active."); } else if (vote_called) {
                                        print_to(caller, "^7Error: You can not call a timeout while a vote is active.");
-                               }
-                               else if (warmup_stage && !g_warmup_allow_timeout)
-                               {
+                               } else if (warmup_stage && !g_warmup_allow_timeout) {
                                        print_to(caller, "^7Error: You can not call a timeout in warmup-stage.");
-                               }
-                               else if (time < game_starttime)
-                               {
+                               } else if (time < game_starttime) {
                                        print_to(caller, "^7Error: You can not call a timeout while the map is being restarted.");
-                               }
-                               else if (caller && (CS(caller).allowed_timeouts < 1))
-                               {
+                               } else if (caller && (CS(caller).allowed_timeouts < 1)) {
                                        print_to(caller, "^7Error: You already used all your timeout calls for this map.");
-                               }
-                               else if (caller && !IS_PLAYER(caller))
-                               {
+                               } else if (caller && !IS_PLAYER(caller)) {
                                        print_to(caller, "^7Error: You must be a player to call a timeout.");
-                               }
-                               else if ((autocvar_timelimit) && (last_possible_timeout < time - game_starttime))
-                               {
+                               } else if ((autocvar_timelimit) && (last_possible_timeout < time - game_starttime)) {
                                        print_to(caller, "^7Error: It is too late to call a timeout now!");
-                               }
-
-                               else  // everything should be okay, proceed with starting the timeout
-                               {
-                                       if (caller)   CS(caller).allowed_timeouts -= 1;
+                               } else { // everything should be okay, proceed with starting the timeout
+                                       if (caller) { CS(caller).allowed_timeouts -= 1; }
                                        // write a bprint who started the timeout (and how many they have left)
                                        bprint(GetCallerName(caller), " ^7called a timeout", (caller ? strcat(" (", ftos(CS(caller).allowed_timeouts), " timeout(s) left)") : ""), "!\n");
 
@@ -751,14 +692,13 @@ void CommonCommand_timeout(float request, entity caller)  // DEAR GOD THIS COMMA
 
                                        timeout_handler = spawn();
                                        setthink(timeout_handler, timeout_handler_think);
-                                       timeout_handler.nextthink = time;  // always let the entity think asap
+                                       timeout_handler.nextthink = time; // always let the entity think asap
 
                                        Send_Notification(NOTIF_ALL, NULL, MSG_ANNCE, ANNCE_TIMEOUT);
                                }
-                       }
-                       else { print_to(caller, "^1Timeouts are not allowed to be called, enable them with sv_timeout 1.\n"); }
+                       } else { print_to(caller, "^1Timeouts are not allowed to be called, enable them with sv_timeout 1.\n"); }
 
-                       return;  // never fall through to usage
+                       return; // never fall through to usage
                }
 
                default:
@@ -773,8 +713,7 @@ void CommonCommand_timeout(float request, entity caller)  // DEAR GOD THIS COMMA
 
 void CommonCommand_who(float request, entity caller, float argc)
 {
-       switch (request)
-       {
+       switch (request) {
                case CMD_REQUEST_COMMAND:
                {
                        float total_listed_players, is_bot;
@@ -791,37 +730,32 @@ void CommonCommand_who(float request, entity caller, float argc)
                        FOREACH_CLIENT(true, {
                                is_bot = (IS_BOT_CLIENT(it));
 
-                               if (is_bot)
-                               {
+                               if (is_bot) {
                                        tmp_netaddress = "null/botclient";
                                        tmp_crypto_idfp = "null/botclient";
-                               }
-                               else if (privacy)
-                               {
+                               } else if (privacy) {
                                        tmp_netaddress = "hidden";
                                        tmp_crypto_idfp = "hidden";
-                               }
-                               else
-                               {
+                               } else {
                                        tmp_netaddress = it.netaddress;
                                        tmp_crypto_idfp = it.crypto_idfp;
                                }
 
                                print_to(caller, sprintf(strreplace(" ", separator, " #%-3d %-20.20s %-5d %-3d %-9s %-16s %s "),
-                                       etof(it),
-                                       it.netname,
-                                       CS(it).ping,
-                                       CS(it).ping_packetloss,
-                                       process_time(1, time - CS(it).jointime),
-                                       tmp_netaddress,
-                                       tmp_crypto_idfp));
+                               etof(it),
+                               it.netname,
+                               CS(it).ping,
+                               CS(it).ping_packetloss,
+                               process_time(1, time - CS(it).jointime),
+                               tmp_netaddress,
+                               tmp_crypto_idfp));
 
                                ++total_listed_players;
                        });
 
                        print_to(caller, strcat("Finished listing ", ftos(total_listed_players), " client(s) out of ", ftos(maxclients), " slots."));
 
-                       return;  // never fall through to usage
+                       return; // never fall through to usage
                }
 
                default:
index 13cbfe49e127ece70856a11fcd58f670c5750fa6..1b9bc8c9a0272159af5f2292dd0f8ad57c900d52 100644 (file)
@@ -9,13 +9,15 @@ REGISTRY_SORT(COMMON_COMMANDS)
 #define COMMON_COMMAND(id, description) \
        CLASS(commoncommand_##id, Command) \
                ATTRIB(commoncommand_##id, m_name, string, #id); \
-       ATTRIB(commoncommand_##id, m_description, string, description); \
+               ATTRIB(commoncommand_##id, m_description, string, description); \
        ENDCLASS(commoncommand_##id) \
-    REGISTER(COMMON_COMMANDS, CMD_SV, id, m_id, NEW(commoncommand_##id)); \
+       REGISTER(COMMON_COMMANDS, CMD_SV, id, m_id, NEW(commoncommand_##id)); \
        METHOD(commoncommand_##id, m_invokecmd, void(commoncommand_##id this, int request, entity caller, int arguments, string command))
 
-STATIC_INIT(COMMON_COMMANDS_aliases) {
-       FOREACH(COMMON_COMMANDS, true, { localcmd(sprintf("alias %1$s \"%2$s %1$s ${* ?}\"\n", it.m_name, "qc_cmd_svcmd")); });
+STATIC_INIT(COMMON_COMMANDS_aliases)
+{
+       FOREACH(COMMON_COMMANDS, true, { localcmd(sprintf("alias %1$s \"%2$s %1$s ${* ?}\"\n", it.m_name, "qc_cmd_svcmd"));
+               });
 }
 
 #include "vote.qh"
@@ -139,25 +141,71 @@ void CommonCommand_who(float request, entity caller, float argc);
 // ==================================
 
 // Do not hard code aliases for these, instead create them in commands.cfg... also: keep in alphabetical order, please ;)
-COMMON_COMMAND(cvar_changes, "Prints a list of all changed server cvars") { CommonCommand_cvar_changes(request, caller); }
-COMMON_COMMAND(cvar_purechanges, "Prints a list of all changed gameplay cvars") { CommonCommand_cvar_purechanges(request, caller); }
-COMMON_COMMAND(editmob, "Modifies a monster or all monsters") { CommonCommand_editmob(request, caller, arguments); }
-COMMON_COMMAND(info, "Request for unique server information set up by admin") { CommonCommand_info(request, caller, arguments); }
-COMMON_COMMAND(ladder, "Get information about top players if supported") { CommonCommand_ladder(request, caller); }
-COMMON_COMMAND(lsmaps, "List maps which can be used with the current game mode") { CommonCommand_lsmaps(request, caller); }
-COMMON_COMMAND(printmaplist, "Display full server maplist reply") { CommonCommand_printmaplist(request, caller); }
-COMMON_COMMAND(rankings, "Print information about rankings") { CommonCommand_rankings(request, caller); }
-COMMON_COMMAND(records, "List top 10 records for the current map") { CommonCommand_records(request, caller); }
-COMMON_COMMAND(teamstatus, "Show information about player and team scores") { CommonCommand_teamstatus(request, caller); }
-COMMON_COMMAND(time, "Print different formats/readouts of time") { CommonCommand_time(request, caller); }
-COMMON_COMMAND(timein, "Resume the game from being paused with a timeout") { CommonCommand_timein(request, caller); }
-COMMON_COMMAND(timeout, "Call a timeout which pauses the game for certain amount of time unless unpaused") { CommonCommand_timeout(request, caller); }
-COMMON_COMMAND(vote, "Request an action to be voted upon by players") { VoteCommand(request, caller, arguments, command); }
-COMMON_COMMAND(who, "Display detailed client information about all players") { CommonCommand_who(request, caller, arguments);}
+COMMON_COMMAND(cvar_changes, "Prints a list of all changed server cvars")
+{
+       CommonCommand_cvar_changes(request, caller);
+}
+COMMON_COMMAND(cvar_purechanges, "Prints a list of all changed gameplay cvars")
+{
+       CommonCommand_cvar_purechanges(request, caller);
+}
+COMMON_COMMAND(editmob, "Modifies a monster or all monsters")
+{
+       CommonCommand_editmob(request, caller, arguments);
+}
+COMMON_COMMAND(info, "Request for unique server information set up by admin")
+{
+       CommonCommand_info(request, caller, arguments);
+}
+COMMON_COMMAND(ladder, "Get information about top players if supported")
+{
+       CommonCommand_ladder(request, caller);
+}
+COMMON_COMMAND(lsmaps, "List maps which can be used with the current game mode")
+{
+       CommonCommand_lsmaps(request, caller);
+}
+COMMON_COMMAND(printmaplist, "Display full server maplist reply")
+{
+       CommonCommand_printmaplist(request, caller);
+}
+COMMON_COMMAND(rankings, "Print information about rankings")
+{
+       CommonCommand_rankings(request, caller);
+}
+COMMON_COMMAND(records, "List top 10 records for the current map")
+{
+       CommonCommand_records(request, caller);
+}
+COMMON_COMMAND(teamstatus, "Show information about player and team scores")
+{
+       CommonCommand_teamstatus(request, caller);
+}
+COMMON_COMMAND(time, "Print different formats/readouts of time")
+{
+       CommonCommand_time(request, caller);
+}
+COMMON_COMMAND(timein, "Resume the game from being paused with a timeout")
+{
+       CommonCommand_timein(request, caller);
+}
+COMMON_COMMAND(timeout, "Call a timeout which pauses the game for certain amount of time unless unpaused")
+{
+       CommonCommand_timeout(request, caller);
+}
+COMMON_COMMAND(vote, "Request an action to be voted upon by players")
+{
+       VoteCommand(request, caller, arguments, command);
+}
+COMMON_COMMAND(who, "Display detailed client information about all players")
+{
+       CommonCommand_who(request, caller, arguments);
+}
 
 void CommonCommand_macro_help(entity caller)
 {
-       FOREACH(COMMON_COMMANDS, true, { print_to(caller, sprintf("  ^2%s^7: %s", it.m_name, it.m_description)); });
+       FOREACH(COMMON_COMMANDS, true, { print_to(caller, sprintf("  ^2%s^7: %s", it.m_name, it.m_description));
+               });
 }
 
 float CommonCommand_macro_command(float argc, entity caller, string command)
@@ -182,5 +230,6 @@ float CommonCommand_macro_usage(float argc, entity caller)
 
 void CommonCommand_macro_write_aliases(float fh)
 {
-       FOREACH(COMMON_COMMANDS, true, { CMD_Write_Alias("qc_cmd_svcmd", it.m_name, it.m_description); });
+       FOREACH(COMMON_COMMANDS, true, { CMD_Write_Alias("qc_cmd_svcmd", it.m_name, it.m_description);
+               });
 }
index e67625a307caac26580d06c7491f3299f8f5e255..b0e776d36292ab94fc2dda38dd3a70cce21bfb50 100644 (file)
@@ -27,7 +27,7 @@
 
 // See common.qc for their proper commands
 
-string getrecords(int page)  // 50 records per page
+string getrecords(int page) // 50 records per page
 {
        string s = "";
 
@@ -36,8 +36,7 @@ string getrecords(int page)  // 50 records per page
 
        MapInfo_ClearTemps();
 
-       if (s == "" && page == 0) return "No records are available on this server.\n";
-       else return s;
+       if (s == "" && page == 0) { return "No records are available on this server.\n"; } else { return s; }
 }
 
 string getrankings()
@@ -48,11 +47,10 @@ string getrankings()
        map = GetMapname();
 
        s = "";
-       for (i = 1; i <= RANKINGS_CNT; ++i)
-       {
+       for (i = 1; i <= RANKINGS_CNT; ++i) {
                t = race_readTime(map, i);
 
-               if (t == 0) continue;
+               if (t == 0) { continue; }
 
                n = race_readName(map, i);
                p = count_ordinal(i);
@@ -61,8 +59,7 @@ string getrankings()
 
        MapInfo_ClearTemps();
 
-       if (s == "") return strcat("No records are available for the map: ", map, "\n");
-       else return strcat("Records for ", map, ":\n", s);
+       if (s == "") { return strcat("No records are available for the map: ", map, "\n"); } else { return strcat("Records for ", map, ":\n", s); }
 }
 
 string getladder()
@@ -72,21 +69,15 @@ string getladder()
 
        rr = (g_cts) ? CTS_RECORD : RACE_RECORD;
 
-       for (k = 0; k < MapInfo_count; ++k)
-       {
-               if (MapInfo_Get_ByID(k))
-               {
-                       for (i = 0; i <= LADDER_CNT; ++i) // i = 0 because it is the speed award
-                       {
-                               if (i == 0)                   // speed award
-                               {
-                                       if (stof(db_get(ServerProgsDB, strcat(MapInfo_Map_bspname, rr, "speed/speed"))) == 0) continue;
+       for (k = 0; k < MapInfo_count; ++k) {
+               if (MapInfo_Get_ByID(k)) {
+                       for (i = 0; i <= LADDER_CNT; ++i) { // i = 0 because it is the speed award
+                               if (i == 0) { // speed award
+                                       if (stof(db_get(ServerProgsDB, strcat(MapInfo_Map_bspname, rr, "speed/speed"))) == 0) { continue; }
 
                                        myuid = db_get(ServerProgsDB, strcat(MapInfo_Map_bspname, rr, "speed/crypto_idfp"));
-                               }
-                               else  // normal record, if it exists (else break)
-                               {
-                                       if (race_readTime(MapInfo_Map_bspname, i) == 0) continue;
+                               } else { // normal record, if it exists (else break)
+                                       if (race_readTime(MapInfo_Map_bspname, i) == 0) { continue; }
 
                                        myuid = race_readUID(MapInfo_Map_bspname, i);
                                }
@@ -100,38 +91,35 @@ string getladder()
 
                                temp_s = db_get(TemporaryDB, strcat("ladder", myuid));
 
-                               if (temp_s == "")
-                               {
+                               if (temp_s == "") {
                                        db_put(TemporaryDB, strcat("uid", ftos(uidcnt)), myuid);
                                        ++uidcnt;
 
-                                       for (j = 0; j <= LADDER_CNT + 1; ++j)
-                                       {
-                                               if (j != LADDER_CNT + 1) temp_s = strcat(temp_s, "0 ");
-                                               else temp_s = strcat(temp_s, "0");
+                                       for (j = 0; j <= LADDER_CNT + 1; ++j) {
+                                               if (j != LADDER_CNT + 1) { temp_s = strcat(temp_s, "0 "); } else { temp_s = strcat(temp_s, "0"); }
                                        }
                                }
 
                                tokenize_console(temp_s);
                                s = "";
 
-                               if (i == 0)                                         // speed award
-                               {
-                                       for (j = 0; j <= LADDER_CNT; ++j)               // loop over each arg in the string
-                                       {
-                                               if (j == 0)                                 // speed award
+                               if (i == 0) {                                       // speed award
+                                       for (j = 0; j <= LADDER_CNT; ++j) {             // loop over each arg in the string
+                                               if (j == 0) {                               // speed award
                                                        s = strcat(s, ftos(stof(argv(j)) + 1)); // add 1 to speed rec count and write
-                                               else s = strcat(s, " ", argv(j));           // just copy over everything else
+                                               } else {
+                                                       s = strcat(s, " ", argv(j));            // just copy over everything else
+                                               }
                                        }
-                               }
-                               else  // record
-                               {
-                                       for (j = 0; j <= LADDER_CNT; ++j)                    // loop over each arg in the string
-                                       {
-                                               if (j == 0) s = strcat(s, argv(j));              // speed award, dont prefix with " "
-                                               else if (j == i)                                 // wanted rec!
+                               } else { // record
+                                       for (j = 0; j <= LADDER_CNT; ++j) {                  // loop over each arg in the string
+                                               if (j == 0) {
+                                                       s = strcat(s, argv(j));                      // speed award, dont prefix with " "
+                                               } else if (j == i) { // wanted rec!
                                                        s = strcat(s, " ", ftos(stof(argv(j)) + 1)); // update argv(j)
-                                               else s = strcat(s, " ", argv(j));                // just copy over everything else
+                                               } else {
+                                                       s = strcat(s, " ", argv(j));                 // just copy over everything else
+                                               }
                                        }
                                }
 
@@ -144,29 +132,26 @@ string getladder()
                                // 5th place = floor(100 / 5) = 20 points
                                // ... etc
 
-                               if (i == 0) s = strcat(s, " ", ftos(stof(argv(LADDER_CNT + 1)) + LADDER_FIRSTPOINT / 10)); // speed award, add LADDER_FIRSTPOINT / 10 points
-                               else s = strcat(s, " ", ftos(stof(argv(LADDER_CNT + 1)) + floor(LADDER_FIRSTPOINT / i)));  // record, add LADDER_FIRSTPOINT / i points
-
+                               if (i == 0) {
+                                       s = strcat(s, " ", ftos(stof(argv(LADDER_CNT + 1)) + LADDER_FIRSTPOINT / 10));       // speed award, add LADDER_FIRSTPOINT / 10 points
+                               } else {
+                                       s = strcat(s, " ", ftos(stof(argv(LADDER_CNT + 1)) + floor(LADDER_FIRSTPOINT / i))); // record, add LADDER_FIRSTPOINT / i points
+                               }
                                db_put(TemporaryDB, strcat("ladder", myuid), s);
                        }
                }
        }
 
-       for (i = 0; i <= uidcnt; ++i)  // for each known uid
-       {
+       for (i = 0; i <= uidcnt; ++i) { // for each known uid
                thisuid = db_get(TemporaryDB, strcat("uid", ftos(i)));
                temp_s = db_get(TemporaryDB, strcat("ladder", thisuid));
                tokenize_console(temp_s);
                thiscnt = stof(argv(LADDER_CNT + 1));
 
-               if (thiscnt > top_scores[LADDER_SIZE - 1])
-               {
-                       for (j = 0; j < LADDER_SIZE; ++j)  // for each place in ladder
-                       {
-                               if (thiscnt > top_scores[j])
-                               {
-                                       for (k = LADDER_SIZE - 1; k >= j; --k)
-                                       {
+               if (thiscnt > top_scores[LADDER_SIZE - 1]) {
+                       for (j = 0; j < LADDER_SIZE; ++j) { // for each place in ladder
+                               if (thiscnt > top_scores[j]) {
+                                       for (k = LADDER_SIZE - 1; k >= j; --k) {
                                                top_uids[k] = top_uids[k - 1];
                                                top_scores[k] = top_scores[k - 1];
                                        }
@@ -184,47 +169,50 @@ string getladder()
        s = strcat(s, "Pos ^3|");
        s = strcat(s, " ^7Total  ^3|");
 
-       for (i = 1; i <= LADDER_CNT; ++i)
+       for (i = 1; i <= LADDER_CNT; ++i) {
                s = strcat(s, " ^7", count_ordinal(i), " ^3|");
+       }
        s = strcat(s, " ^7Speed awards ^3| ^7Name");
        s = strcat(s, "\n^3----+--------");
 
-       for (i = 1; i <= min(9, LADDER_CNT); ++i)
+       for (i = 1; i <= min(9, LADDER_CNT); ++i) {
                s = strcat(s, "+-----");
+       }
 #if LADDER_CNT > 9
-               for (i = 1; i <= LADDER_CNT - 9; ++i)
-                       s = strcat(s, "+------");
+       for (i = 1; i <= LADDER_CNT - 9; ++i) {
+               s = strcat(s, "+------");
+       }
 #endif
 
        s = strcat(s, "+--------------+--------------------\n");
 
-       for (i = 0; i < LADDER_SIZE; ++i)
-       {
+       for (i = 0; i < LADDER_SIZE; ++i) {
                temp_s = db_get(TemporaryDB, strcat("ladder", top_uids[i]));
                tokenize_console(temp_s);
 
-               if (argv(LADDER_CNT + 1) == "")                           // total is 0, skip
+               if (argv(LADDER_CNT + 1) == "") { // total is 0, skip
                        continue;
+               }
 
                s = strcat(s, strpad(4, count_ordinal(i + 1)), "^3| ^7"); // pos
                s = strcat(s, strpad(7, argv(LADDER_CNT + 1)), "^3| ^7"); // total
 
-               for (j = 1; j <= min(9, LADDER_CNT); ++j)
+               for (j = 1; j <= min(9, LADDER_CNT); ++j) {
                        s = strcat(s, strpad(4, argv(j)), "^3| ^7");          // 1st, 2nd, 3rd etc cnt
-
+               }
 #if LADDER_CNT > 9
-                       for (j = 10; j <= LADDER_CNT; ++j)
-                               s = strcat(s, strpad(4, argv(j)), " ^3| ^7"); // 1st, 2nd, 3rd etc cnt
+               for (j = 10; j <= LADDER_CNT; ++j) {
+                       s = strcat(s, strpad(4, argv(j)), " ^3| ^7"); // 1st, 2nd, 3rd etc cnt
+               }
 #endif
 
-               s = strcat(s, strpad(13, argv(0)), "^3| ^7");         // speed award cnt
-               s = strcat(s, uid2name(top_uids[i]), "\n");           // name
+               s = strcat(s, strpad(13, argv(0)), "^3| ^7"); // speed award cnt
+               s = strcat(s, uid2name(top_uids[i]), "\n");   // name
        }
 
        MapInfo_ClearTemps();
 
-       if (s == "") return "No ladder on this server!\n";
-       else return strcat("Top ", ftos(LADDER_SIZE), " ladder rankings:\n", s);
+       if (s == "") { return "No ladder on this server!\n"; } else { return strcat("Top ", ftos(LADDER_SIZE), " ladder rankings:\n", s); }
 }
 
 string getmaplist()
@@ -233,11 +221,9 @@ string getmaplist()
        int i, argc;
 
        argc = tokenize_console(autocvar_g_maplist);
-       for (i = 0; i < argc; ++i)
-       {
-               if (MapInfo_CheckMap(argv(i)))
-               {
-                       if (i % 2) col = "^2"; else col = "^3";
+       for (i = 0; i < argc; ++i) {
+               if (MapInfo_CheckMap(argv(i))) {
+                       if (i % 2) { col = "^2"; } else { col = "^3"; }
                        maplist = sprintf("%s%s%s ", maplist, col, argv(i));
                }
        }
@@ -253,32 +239,28 @@ string getlsmaps()
        bool newmaps = false;
        int added = 0;
 
-       for (int i = 0; i < MapInfo_count; ++i)
-       {
-               if ((MapInfo_Get_ByID(i)) && !(MapInfo_Map_flags & MapInfo_ForbiddenFlags()))
-               {
+       for (int i = 0; i < MapInfo_count; ++i) {
+               if ((MapInfo_Get_ByID(i)) && !(MapInfo_Map_flags & MapInfo_ForbiddenFlags())) {
                        ++added;
 
-                       if(added > LSMAPS_MAX)
+                       if (added > LSMAPS_MAX) {
                                continue; // we still get the added count, but skip the actual processing
-
+                       }
                        // todo: Check by play count of maps for other game types?
-                       if((g_race || g_cts) && !race_readTime(MapInfo_Map_bspname, 1))
-                       {
+                       if ((g_race || g_cts) && !race_readTime(MapInfo_Map_bspname, 1)) {
                                newmaps = true;
-                               if (i % 2) col = "^4*"; else col = "^5*";
-                       }
-                       else
-                       {
-                               if (i % 2) col = "^2"; else col = "^3";
+                               if (i % 2) { col = "^4*"; } else { col = "^5*"; }
+                       } else {
+                               if (i % 2) { col = "^2"; } else { col = "^3"; }
                        }
 
                        lsmaps = sprintf("%s%s%s ", lsmaps, col, MapInfo_Map_bspname);
                }
        }
 
-       if(added > LSMAPS_MAX)
+       if (added > LSMAPS_MAX) {
                lsmaps = sprintf("%s^7(%d not listed)", lsmaps, added - LSMAPS_MAX);
+       }
 
        MapInfo_ClearTemps();
        return sprintf("^7Maps available (%d)%s: %s\n", added, (newmaps ? " (New maps have asterisks marked in blue)" : ""), lsmaps);
index 6c31af72c853d54cdef08fd5d723940efe6baecf..5a42b8188254cd9b562c9e6cedeac7d259d33872 100644 (file)
@@ -27,15 +27,13 @@ float FullTraceFraction(vector a, vector mi, vector ma, vector b)
        float n, m;
        n = m = 0;
 
-       while (vdist(c - b, >, 1))
-       {
+       while (vdist(c - b, >, 1)) {
                ++m;
 
                tracebox(c, mi, ma, b, MOVE_WORLDONLY, NULL);
                ++n;
 
-               if (!trace_startsolid)
-               {
+               if (!trace_startsolid) {
                        black += vlen(trace_endpos - c);
                        c = trace_endpos;
                }
@@ -46,7 +44,7 @@ float FullTraceFraction(vector a, vector mi, vector ma, vector b)
                c = trace_endpos;
        }
 
-       if (n > 200) LOG_TRACE("HOLY SHIT! FullTraceFraction: ", ftos(n), " total traces, ", ftos(m), " iterations");
+       if (n > 200) { LOG_TRACE("HOLY SHIT! FullTraceFraction: ", ftos(n), " total traces, ", ftos(m), " iterations"); }
 
        return white / (black + white);
 }
@@ -75,14 +73,13 @@ float RadarMapAtPoint_LineBlock(float e, float f, float w, float h, float zmin,
        ma = '1 0 0' * w + '0 1 0' * h + dz;
        o = '1 0 0' * e + '0 1 0' * f + '0 0 1' * zmin;
 
-       if (e < world.absmin.x - w) return 0;
-       if (f < world.absmin.y - h) return 0;
-       if (e > world.absmax.x) return 0;
-       if (f > world.absmax.y) return 0;
+       if (e < world.absmin.x - w) { return 0; }
+       if (f < world.absmin.y - h) { return 0; }
+       if (e > world.absmax.x) { return 0; }
+       if (f > world.absmax.y) { return 0; }
 
        r = 0;
-       for (i = 0; i < q; ++i)
-       {
+       for (i = 0; i < q; ++i) {
                vector v1, v2;
                v1 = v2 = o + dz * i + mi;
                v1_x += random() * (ma.x - mi.x);
@@ -92,7 +89,7 @@ float RadarMapAtPoint_LineBlock(float e, float f, float w, float h, float zmin,
                v2_y += random() * (ma.y - mi.y);
                v2_z += random() * (ma.z - mi.z);
                traceline(v1, v2, MOVE_WORLDONLY, NULL);
-               if (trace_startsolid || trace_fraction < 1) ++r;
+               if (trace_startsolid || trace_fraction < 1) { ++r; }
        }
        return r / q;
 }
@@ -110,16 +107,15 @@ float RadarMapAtPoint_Block(float e, float f, float w, float h, float zmin, floa
        ma = '1 0 0' * w + '0 1 0' * h + dz;
        o = '1 0 0' * e + '0 1 0' * f + '0 0 1' * zmin;
 
-       if (e < world.absmin.x - w) return 0;
-       if (f < world.absmin.y - h) return 0;
-       if (e > world.absmax.x) return 0;
-       if (f > world.absmax.y) return 0;
+       if (e < world.absmin.x - w) { return 0; }
+       if (f < world.absmin.y - h) { return 0; }
+       if (e > world.absmax.x) { return 0; }
+       if (f > world.absmax.y) { return 0; }
 
        r = 0;
-       for (i = 0; i < q; ++i)
-       {
+       for (i = 0; i < q; ++i) {
                tracebox(o + dz * i, mi, ma, o + dz * i, MOVE_WORLDONLY, NULL);
-               if (trace_startsolid) ++r;
+               if (trace_startsolid) { ++r; }
        }
        return r / q;
 }
@@ -127,7 +123,7 @@ float RadarMapAtPoint_Sample(float e, float f, float w, float h, float zmin, flo
 {
        vector a, b, mi, ma;
 
-       q *= 4;  // choose q so it matches the regular algorithm in speed
+       q *= 4; // choose q so it matches the regular algorithm in speed
 
        q = 256 * q - 1;
        // 256q-1 is the ideal sample count to map equal amount of sample values to one pixel value
@@ -140,14 +136,13 @@ float RadarMapAtPoint_Sample(float e, float f, float w, float h, float zmin, flo
        float c, i;
        c = 0;
 
-       for (i = 0; i < q; ++i)
-       {
+       for (i = 0; i < q; ++i) {
                vector v;
                v.x = a.x + random() * b.x;
                v.y = a.y + random() * b.y;
                v.z = a.z + random() * b.z;
                traceline(v, v, MOVE_WORLDONLY, NULL);
-               if (trace_startsolid) ++c;
+               if (trace_startsolid) { ++c; }
        }
 
        return c / q;
@@ -158,16 +153,16 @@ void sharpen_set(int b, float v)
 }
 float sharpen_getpixel(int b, int c)
 {
-       if (b < 0) return 0;
-       if (b >= RADAR_WIDTH_MAX) return 0;
-       if (c < 0) return 0;
-       if (c > 2) return 0;
+       if (b < 0) { return 0; }
+       if (b >= RADAR_WIDTH_MAX) { return 0; }
+       if (c < 0) { return 0; }
+       if (c > 2) { return 0; }
        return sharpen_buffer[b + c * RADAR_WIDTH_MAX];
 }
 float sharpen_get(float b, float a)
 {
        float sum = sharpen_getpixel(b, 1);
-       if (a == 0) return sum;
+       if (a == 0) { return sum; }
        sum *= (8 + 1 / a);
        sum -= sharpen_getpixel(b - 1, 0);
        sum -= sharpen_getpixel(b - 1, 1);
@@ -181,8 +176,7 @@ float sharpen_get(float b, float a)
 }
 void sharpen_shift(int w)
 {
-       for (int i = 0; i < w; ++i)
-       {
+       for (int i = 0; i < w; ++i) {
                sharpen_buffer[i] = sharpen_buffer[i + RADAR_WIDTH_MAX];
                sharpen_buffer[i + RADAR_WIDTH_MAX] = sharpen_buffer[i + 2 * RADAR_WIDTH_MAX];
                sharpen_buffer[i + 2 * RADAR_WIDTH_MAX] = 0;
@@ -190,8 +184,7 @@ void sharpen_shift(int w)
 }
 void sharpen_init(int w)
 {
-       for (int i = 0; i < w; ++i)
-       {
+       for (int i = 0; i < w; ++i) {
                sharpen_buffer[i] = 0;
                sharpen_buffer[i + RADAR_WIDTH_MAX] = 0;
                sharpen_buffer[i + 2 * RADAR_WIDTH_MAX] = 0;
@@ -199,12 +192,9 @@ void sharpen_init(int w)
 }
 void RadarMap_Next()
 {
-       if (radarmapper.count & 4)
-       {
+       if (radarmapper.count & 4) {
                localcmd("quit\n");
-       }
-       else if (radarmapper.count & 2)
-       {
+       } else if (radarmapper.count & 2) {
                localcmd(strcat("defer 1 \"sv_cmd radarmap --flags ", ftos(radarmapper.count), strcat(" --res ", ftos(radarmapper.size.x), " ", ftos(radarmapper.size.y), " --sharpen ", ftos(radarmapper.ltime), " --qual ", ftos(radarmapper.size.z)), "\"\n"));
                GotoNextMap(0);
        }
@@ -222,8 +212,7 @@ void RadarMap_Think(entity this)
        float i, x, l;
        string si;
 
-       if (this.frame == 0)
-       {
+       if (this.frame == 0) {
                // initialize
                get_mi_min_max_texcoords(1);
                this.mins = mi_picmin;
@@ -232,17 +221,15 @@ void RadarMap_Think(entity this)
                this.maxs_z = mi_max.z - mi_min.z;
                LOG_INFO("Picture mins/maxs: ", ftos(this.maxs.x), " and ", ftos(this.maxs.y), " should match");
                this.netname = strzone(strcat("gfx/", mi_shortname, "_radar.xpm"));
-               if (!(this.count & 1))
-               {
+               if (!(this.count & 1)) {
                        this.cnt = fopen(this.netname, FILE_READ);
-                       if (this.cnt < 0) this.cnt = fopen(strcat("gfx/", mi_shortname, "_radar.tga"), FILE_READ);
-                       if (this.cnt < 0) this.cnt = fopen(strcat("gfx/", mi_shortname, "_radar.png"), FILE_READ);
-                       if (this.cnt < 0) this.cnt = fopen(strcat("gfx/", mi_shortname, "_radar.jpg"), FILE_READ);
-                       if (this.cnt < 0) this.cnt = fopen(strcat("gfx/", mi_shortname, "_mini.tga"), FILE_READ);
-                       if (this.cnt < 0) this.cnt = fopen(strcat("gfx/", mi_shortname, "_mini.png"), FILE_READ);
-                       if (this.cnt < 0) this.cnt = fopen(strcat("gfx/", mi_shortname, "_mini.jpg"), FILE_READ);
-                       if (this.cnt >= 0)
-                       {
+                       if (this.cnt < 0) { this.cnt = fopen(strcat("gfx/", mi_shortname, "_radar.tga"), FILE_READ); }
+                       if (this.cnt < 0) { this.cnt = fopen(strcat("gfx/", mi_shortname, "_radar.png"), FILE_READ); }
+                       if (this.cnt < 0) { this.cnt = fopen(strcat("gfx/", mi_shortname, "_radar.jpg"), FILE_READ); }
+                       if (this.cnt < 0) { this.cnt = fopen(strcat("gfx/", mi_shortname, "_mini.tga"), FILE_READ); }
+                       if (this.cnt < 0) { this.cnt = fopen(strcat("gfx/", mi_shortname, "_mini.png"), FILE_READ); }
+                       if (this.cnt < 0) { this.cnt = fopen(strcat("gfx/", mi_shortname, "_mini.jpg"), FILE_READ); }
+                       if (this.cnt >= 0) {
                                fclose(this.cnt);
 
                                LOG_INFO(this.netname, " already exists, aborting (you may want to specify --force)");
@@ -251,8 +238,7 @@ void RadarMap_Think(entity this)
                        }
                }
                this.cnt = fopen(this.netname, FILE_WRITE);
-               if (this.cnt < 0)
-               {
+               if (this.cnt < 0) {
                        LOG_INFO("Error writing ", this.netname);
                        delete(this);
                        radarmapper = NULL;
@@ -263,48 +249,40 @@ void RadarMap_Think(entity this)
                fputs(this.cnt, "static char *RadarMap[] = {\n");
                fputs(this.cnt, "/* columns rows colors chars-per-pixel */\n");
                fputs(this.cnt, strcat("\"", ftos(this.size.x), " ", ftos(this.size.y), " 256 2\",\n"));
-               for (i = 0; i < 256; ++i)
-               {
+               for (i = 0; i < 256; ++i) {
                        si = substring(doublehex, i * 2, 2);
                        fputs(this.cnt, strcat("\"", si, " c #", si, si, si, "\",\n"));
                }
                this.frame += 1;
                this.nextthink = time;
                sharpen_init(this.size.x);
-       }
-       else if (this.frame <= this.size.y)
-       {
+       } else if (this.frame <= this.size.y) {
                // fill the sharpen buffer with this line
                sharpen_shift(this.size.x);
                i = this.count & 24;
 
-               switch (i)
-               {
+               switch (i) {
                        case 0:
                        default:
-                               for (x = 0; x < this.size.x; ++x)
-                               {
+                               for (x = 0; x < this.size.x; ++x) {
                                        l = RadarMapAtPoint_Block(this.mins.x + x * this.maxs.x, this.mins.y + (this.size.y - this.frame) * this.maxs.y, this.maxs.x, this.maxs.y, this.mins.z, this.maxs.z, this.size.z);
                                        sharpen_set(x, l);
                                }
                                break;
                        case 8:
-                               for (x = 0; x < this.size.x; ++x)
-                               {
+                               for (x = 0; x < this.size.x; ++x) {
                                        l = RadarMapAtPoint_Trace(this.mins.x + x * this.maxs.x, this.mins.y + (this.size.y - this.frame) * this.maxs.y, this.maxs.x, this.maxs.y, this.mins.z, this.maxs.z, this.size.z);
                                        sharpen_set(x, l);
                                }
                                break;
                        case 16:
-                               for (x = 0; x < this.size.x; ++x)
-                               {
+                               for (x = 0; x < this.size.x; ++x) {
                                        l = RadarMapAtPoint_Sample(this.mins.x + x * this.maxs.x, this.mins.y + (this.size.y - this.frame) * this.maxs.y, this.maxs.x, this.maxs.y, this.mins.z, this.maxs.z, this.size.z);
                                        sharpen_set(x, l);
                                }
                                break;
                        case 24:
-                               for (x = 0; x < this.size.x; ++x)
-                               {
+                               for (x = 0; x < this.size.x; ++x) {
                                        l = RadarMapAtPoint_LineBlock(this.mins.x + x * this.maxs.x, this.mins.y + (this.size.y - this.frame) * this.maxs.y, this.maxs.x, this.maxs.y, this.mins.z, this.maxs.z, this.size.z);
                                        sharpen_set(x, l);
                                }
@@ -312,43 +290,33 @@ void RadarMap_Think(entity this)
                }
 
                // do we have enough lines?
-               if (this.frame >= 2)
-               {
+               if (this.frame >= 2) {
                        // write a pixel line
                        fputs(this.cnt, "\"");
-                       for (x = 0; x < this.size.x; ++x)
-                       {
+                       for (x = 0; x < this.size.x; ++x) {
                                l = sharpen_get(x, this.ltime);
                                fputs(this.cnt, substring(doublehex, 2 * floor(l * 256.0), 2));
                        }
-                       if (this.frame == this.size.y)
-                       {
+                       if (this.frame == this.size.y) {
                                fputs(this.cnt, "\"\n");
-                       }
-                       else
-                       {
+                       } else {
                                fputs(this.cnt, "\",\n");
                                LOG_INFO(ftos(this.size.y - this.frame), " lines left");
                        }
                }
 
                // is this the last line? then write back the missing line
-               if (this.frame == this.size.y)
-               {
+               if (this.frame == this.size.y) {
                        sharpen_shift(this.size.x);
                        // write a pixel line
                        fputs(this.cnt, "\"");
-                       for (x = 0; x < this.size.x; ++x)
-                       {
+                       for (x = 0; x < this.size.x; ++x) {
                                l = sharpen_get(x, this.ltime);
                                fputs(this.cnt, substring(doublehex, 2 * floor(l * 256.0), 2));
                        }
-                       if (this.frame == this.size.y)
-                       {
+                       if (this.frame == this.size.y) {
                                fputs(this.cnt, "\"\n");
-                       }
-                       else
-                       {
+                       } else {
                                fputs(this.cnt, "\",\n");
                                LOG_INFO(ftos(this.size.y - this.frame), " lines left");
                        }
@@ -356,9 +324,7 @@ void RadarMap_Think(entity this)
 
                this.frame += 1;
                this.nextthink = time;
-       }
-       else
-       {
+       } else {
                // close the file
                fputs(this.cnt, "};\n");
                fclose(this.cnt);
@@ -371,18 +337,15 @@ bool RadarMap_Make(float argc)
 {
        float i;
 
-       if (!radarmapper)
-       {
+       if (!radarmapper) {
                radarmapper = new(radarmapper);
                setthink(radarmapper, RadarMap_Think);
                radarmapper.nextthink = time;
-               radarmapper.count = 8;  // default to the --trace method, as it is faster now
+               radarmapper.count = 8; // default to the --trace method, as it is faster now
                radarmapper.ltime = 1;
                radarmapper.size = '512 512 1';
-               for (i = 1; i < argc; ++i)
-               {
-                       switch (argv(i))
-                       {
+               for (i = 1; i < argc; ++i) {
+                       switch (argv(i)) {
                                case "--force":
                                { radarmapper.count |= 1;
                                  break;
@@ -417,13 +380,13 @@ bool RadarMap_Make(float argc)
                                { ++i;
                                  radarmapper.count = stof(argv(i));
                                  break;
-                               }  // for the recursive call
+                               } // for the recursive call
                                case "--sharpen":
                                { ++i;
                                  radarmapper.ltime = stof(argv(i));
                                  break;
-                               }  // for the recursive call
-                               case "--res":  // minor alias
+                               } // for the recursive call
+                               case "--res": // minor alias
                                case "--resolution":
                                { ++i;
                                  radarmapper.size_x = stof(argv(i));
@@ -431,7 +394,7 @@ bool RadarMap_Make(float argc)
                                  radarmapper.size_y = stof(argv(i));
                                  break;
                                }
-                               case "--qual":  // minor alias
+                               case "--qual": // minor alias
                                case "--quality":
                                { ++i;
                                  radarmapper.size_z = stof(argv(i));
@@ -446,10 +409,9 @@ bool RadarMap_Make(float argc)
                        }
                }
 
-               if (radarmapper)  // after doing the arguments, see if we successfully went forward.
-               {
+               if (radarmapper) { // after doing the arguments, see if we successfully went forward.
                        LOG_INFO("Radarmap entity spawned.");
-                       return true;  // if so, don't print usage.
+                       return true;   // if so, don't print usage.
                }
        }
 
index 8115d712ebe9f46b39f131a9c1dce48f74250377..6dea8ed77b64038c96f132b00dcf817c7047c210 100644 (file)
@@ -8,11 +8,13 @@ REGISTRY_SORT(SERVER_COMMANDS)
 #define SERVER_COMMAND(id, description) \
        CLASS(servercommand_##id, Command) \
                ATTRIB(servercommand_##id, m_name, string, #id); \
-       ATTRIB(servercommand_##id, m_description, string, description); \
+               ATTRIB(servercommand_##id, m_description, string, description); \
        ENDCLASS(servercommand_##id) \
-    REGISTER(SERVER_COMMANDS, CMD_SV, id, m_id, NEW(servercommand_##id)); \
+       REGISTER(SERVER_COMMANDS, CMD_SV, id, m_id, NEW(servercommand_##id)); \
        METHOD(servercommand_##id, m_invokecmd, void(servercommand_##id this, int request, entity caller, int arguments, string command))
 
-STATIC_INIT(SERVER_COMMANDS_aliases) {
-       FOREACH(SERVER_COMMANDS, true, { localcmd(sprintf("alias %1$s \"%2$s %1$s ${* ?}\"\n", it.m_name, "qc_cmd_sv")); });
+STATIC_INIT(SERVER_COMMANDS_aliases)
+{
+       FOREACH(SERVER_COMMANDS, true, { localcmd(sprintf("alias %1$s \"%2$s %1$s ${* ?}\"\n", it.m_name, "qc_cmd_sv"));
+               });
 }
index 74e50137fd175dc9c14768a840997ad85bf1efec..322b4d9efe6112c6103e90ddac8d199e94e960ae 100644 (file)
@@ -24,7 +24,7 @@ void ammo_9mmAR() {}
 spawnfunc(ammo_357) {}
 spawnfunc(weapon_gauss) {}
 spawnfunc(weapon_hornetgun) {}
-//spawnfunc(weapon_shotgun) {}
+// spawnfunc(weapon_shotgun) {}
 spawnfunc(item_healthkit) {}
 spawnfunc(item_longjump) {}
 spawnfunc(item_antidote) {}
index 126a0f6f6e7a98fc357917b8707f0c34ebf7dc8b..48157e65dcdb5fc720af9a10136e2e0270e283c2 100644 (file)
@@ -12,21 +12,43 @@ spawnfunc(item_armor_mega);
 spawnfunc(item_health_mega);
 spawnfunc(item_health_medium);
 
-//***********************
-//QUAKE 1 ENTITIES - So people can play quake1 maps with the xonotic weapons
-//***********************
-spawnfunc(weapon_nailgun) {spawnfunc_weapon_electro(this);}
-spawnfunc(weapon_supernailgun) {spawnfunc_weapon_hagar(this);}
-spawnfunc(weapon_supershotgun) {spawnfunc_weapon_machinegun(this);}
-
-spawnfunc(item_spikes) {spawnfunc_item_bullets(this);}
-//spawnfunc(item_armor1) {spawnfunc_item_armor_medium(this);}  // FIXME: in Quake this is green armor, in Xonotic maps it is an armor shard
-spawnfunc(item_armor2) {spawnfunc_item_armor_mega(this);}
-spawnfunc(item_armorInv) {spawnfunc_item_armor_mega(this);} // TODO: make sure we actually want this
-spawnfunc(item_health) {if (this.spawnflags & 2) spawnfunc_item_health_mega(this);else spawnfunc_item_health_medium(this);}
-
-//spawnfunc_item_spikes
-//spawnfunc_item_health
-
-
-
+// ***********************
+// QUAKE 1 ENTITIES - So people can play quake1 maps with the xonotic weapons
+// ***********************
+spawnfunc(weapon_nailgun)
+{
+       spawnfunc_weapon_electro(this);
+}
+spawnfunc(weapon_supernailgun)
+{
+       spawnfunc_weapon_hagar(this);
+}
+spawnfunc(weapon_supershotgun)
+{
+       spawnfunc_weapon_machinegun(this);
+}
+
+spawnfunc(item_spikes)
+{
+       spawnfunc_item_bullets(this);
+}
+// spawnfunc(item_armor1) {spawnfunc_item_armor_medium(this);}  // FIXME: in Quake this is green armor, in Xonotic maps it is an armor shard
+spawnfunc(item_armor2)
+{
+       spawnfunc_item_armor_mega(this);
+}
+spawnfunc(item_armorInv)
+{
+       spawnfunc_item_armor_mega(this);
+} // TODO: make sure we actually want this
+spawnfunc(item_health)
+{
+       if (this.spawnflags & 2) {
+               spawnfunc_item_health_mega(this);
+       } else {
+               spawnfunc_item_health_medium(this);
+       }
+}
+
+// spawnfunc_item_spikes
+// spawnfunc_item_health
index df99f1570388c1a92bdcc6300d80b81027c83262..6a9c97a06e7ffb11a5314200e8dae9f65a14ffa8 100644 (file)
@@ -5,11 +5,17 @@ spawnfunc(item_armor_medium);
 spawnfunc(item_invincible);
 
 
-//***********************
-//QUAKE 2 ENTITIES - So people can play quake2 maps with the xonotic weapons
-//***********************
-spawnfunc(item_armor_jacket) {spawnfunc_item_armor_medium(this);}
+// ***********************
+// QUAKE 2 ENTITIES - So people can play quake2 maps with the xonotic weapons
+// ***********************
+spawnfunc(item_armor_jacket)
+{
+       spawnfunc_item_armor_medium(this);
+}
 
-spawnfunc(item_invulnerability) {spawnfunc_item_invincible(this);}
+spawnfunc(item_invulnerability)
+{
+       spawnfunc_item_invincible(this);
+}
 
 // rest of the quake 2 entities are handled by q1 and q3 compat
index 2e2301d0bdec150704ae2b6f297beddbda5870a2..b17c7b50ceafad0142a4f20ce24e97f8c396b729 100644 (file)
@@ -28,58 +28,121 @@ spawnfunc(item_armor_small);
 spawnfunc(item_health_medium);
 spawnfunc(item_health_mega);
 
-//***********************
-//QUAKE 3 ENTITIES - So people can play quake3 maps with the xonotic weapons
-//***********************
+// ***********************
+// QUAKE 3 ENTITIES - So people can play quake3 maps with the xonotic weapons
+// ***********************
 
 // NOTE: for best experience, you need to swap MGs with SGs in the map or it won't have a MG
 
 // SG -> SG
-spawnfunc(ammo_shells)         { spawnfunc_item_shells(this);         }
+spawnfunc(ammo_shells)
+{
+       spawnfunc_item_shells(this);
+}
 
 // MG -> MG
-spawnfunc(ammo_bullets)        { spawnfunc_item_bullets(this);        }
+spawnfunc(ammo_bullets)
+{
+       spawnfunc_item_bullets(this);
+}
 
 // GL -> Mortar
-spawnfunc(ammo_grenades)       { spawnfunc_item_rockets(this);        }
+spawnfunc(ammo_grenades)
+{
+       spawnfunc_item_rockets(this);
+}
 
 // Mines -> Rockets
-spawnfunc(weapon_prox_launcher) { spawnfunc_weapon_minelayer(this);   }
-spawnfunc(ammo_mines)           { spawnfunc_item_rockets(this);       }
+spawnfunc(weapon_prox_launcher)
+{
+       spawnfunc_weapon_minelayer(this);
+}
+spawnfunc(ammo_mines)
+{
+       spawnfunc_item_rockets(this);
+}
 
 // LG -> Lightning
-spawnfunc(weapon_lightning)    { spawnfunc_weapon_electro(this);      }
-spawnfunc(ammo_lightning)      { spawnfunc_item_cells(this);          }
+spawnfunc(weapon_lightning)
+{
+       spawnfunc_weapon_electro(this);
+}
+spawnfunc(ammo_lightning)
+{
+       spawnfunc_item_cells(this);
+}
 
 // Plasma -> Hagar
-spawnfunc(weapon_plasmagun)    { spawnfunc_weapon_hagar(this);        }
-spawnfunc(ammo_cells)          { spawnfunc_item_rockets(this);        }
+spawnfunc(weapon_plasmagun)
+{
+       spawnfunc_weapon_hagar(this);
+}
+spawnfunc(ammo_cells)
+{
+       spawnfunc_item_rockets(this);
+}
 
 // Rail -> Vortex
-spawnfunc(weapon_railgun)      { spawnfunc_weapon_vortex(this);       }
-spawnfunc(ammo_slugs)          { spawnfunc_item_cells(this);          }
+spawnfunc(weapon_railgun)
+{
+       spawnfunc_weapon_vortex(this);
+}
+spawnfunc(ammo_slugs)
+{
+       spawnfunc_item_cells(this);
+}
 
 // BFG -> Crylink
-spawnfunc(weapon_bfg)          { spawnfunc_weapon_crylink(this);      }
-spawnfunc(ammo_bfg)            { spawnfunc_item_cells(this);          }
+spawnfunc(weapon_bfg)
+{
+       spawnfunc_weapon_crylink(this);
+}
+spawnfunc(ammo_bfg)
+{
+       spawnfunc_item_cells(this);
+}
 
 // grappling hook -> hook
-spawnfunc(weapon_grapplinghook) { spawnfunc_weapon_hook(this);        }
+spawnfunc(weapon_grapplinghook)
+{
+       spawnfunc_weapon_hook(this);
+}
 
 // RL -> RL
-spawnfunc(ammo_rockets)        { spawnfunc_item_rockets(this);        }
+spawnfunc(ammo_rockets)
+{
+       spawnfunc_item_rockets(this);
+}
 
 // Armor
-spawnfunc(item_armor_body)     { spawnfunc_item_armor_mega(this);     }
-spawnfunc(item_armor_combat)   { spawnfunc_item_armor_big(this);      }
-spawnfunc(item_armor_shard)    { spawnfunc_item_armor_small(this);    }
-spawnfunc(item_enviro)         { spawnfunc_item_invincible(this);     }
+spawnfunc(item_armor_body)
+{
+       spawnfunc_item_armor_mega(this);
+}
+spawnfunc(item_armor_combat)
+{
+       spawnfunc_item_armor_big(this);
+}
+spawnfunc(item_armor_shard)
+{
+       spawnfunc_item_armor_small(this);
+}
+spawnfunc(item_enviro)
+{
+       spawnfunc_item_invincible(this);
+}
 
 // medkit -> armor (we have no holdables)
-spawnfunc(holdable_medkit)        { spawnfunc_item_armor_mega(this);     }
+spawnfunc(holdable_medkit)
+{
+       spawnfunc_item_armor_mega(this);
+}
 
 // doubler -> strength
-spawnfunc(item_doubler)        { spawnfunc_item_strength(this); }
+spawnfunc(item_doubler)
+{
+       spawnfunc_item_strength(this);
+}
 
 .float wait;
 .float delay;
@@ -88,24 +151,25 @@ spawnfunc(item_doubler)        { spawnfunc_item_strength(this); }
 void target_init_verify(entity this)
 {
        entity trigger, targ;
-       for(trigger = NULL; (trigger = find(trigger, classname, "trigger_multiple")); )
-               for(targ = NULL; (targ = find(targ, targetname, trigger.target)); )
-                       if (targ.classname == "target_init" || targ.classname == "target_give" || targ.classname == "target_items")
-                       {
+       for (trigger = NULL; (trigger = find(trigger, classname, "trigger_multiple")); ) {
+               for (targ = NULL; (targ = find(targ, targetname, trigger.target)); ) {
+                       if (targ.classname == "target_init" || targ.classname == "target_give" || targ.classname == "target_items") {
                                trigger.wait = 0;
                                trigger.delay = 0;
                                targ.wait = 0;
                                targ.delay = 0;
 
-                               //setsize(targ, trigger.mins, trigger.maxs);
-                               //setorigin(targ, trigger.origin);
-                               //remove(trigger);
+                               // setsize(targ, trigger.mins, trigger.maxs);
+                               // setorigin(targ, trigger.origin);
+                               // remove(trigger);
                        }
+               }
+       }
 }
 
 spawnfunc(target_init)
 {
-       this.spawnflags = 0; // remove all weapons except the ones listed below
+       this.spawnflags = 0;      // remove all weapons except the ones listed below
        this.netname = "shotgun"; // keep these weapons through the remove trigger
        spawnfunc_target_items(this);
        InitializeEntity(this, target_init_verify, INITPRIO_FINDTARGET);
@@ -119,30 +183,26 @@ void target_give_init(entity this)
                if (it.classname == "weapon_rocketlauncher" || it.classname == "weapon_devastator") {
                        this.ammo_rockets += it.count * WEP_CVAR(devastator, ammo);
                        this.netname = cons(this.netname, "devastator");
-               }
-               else if (it.classname == "weapon_lightning") {
+               } else if (it.classname == "weapon_lightning") {
                        this.ammo_cells += it.count * WEP_CVAR_PRI(electro, ammo); // WEAPONTODO
                        this.netname = cons(this.netname, "electro");
-               }
-               else if (it.classname == "weapon_plasmagun") {
+               } else if (it.classname == "weapon_plasmagun") {
                        this.ammo_rockets += it.count * WEP_CVAR_PRI(hagar, ammo); // WEAPONTODO
                        this.netname = cons(this.netname, "hagar");
-               }
-               else if (it.classname == "weapon_bfg") {
+               } else if (it.classname == "weapon_bfg") {
                        this.ammo_cells += it.count * WEP_CVAR_PRI(crylink, ammo);
                        this.netname = cons(this.netname, "crylink");
-               }
-               else if (it.classname == "weapon_grenadelauncher" || it.classname == "weapon_mortar") {
+               } else if (it.classname == "weapon_grenadelauncher" || it.classname == "weapon_mortar") {
                        this.ammo_rockets += it.count * WEP_CVAR_PRI(mortar, ammo); // WEAPONTODO
                        this.netname = cons(this.netname, "mortar");
-               }
-               else if (it.classname == "item_armor_body")
+               } else if (it.classname == "item_armor_body") {
                        this.armorvalue = 100;
-               else if (it.classname == "item_health_mega")
+               } else if (it.classname == "item_health_mega") {
                        this.health = 200;
-               //remove(it); // removing ents in init functions causes havoc, workaround:
-        setthink(it, SUB_Remove);
-        it.nextthink = time;
+               }
+               // remove(it); // removing ents in init functions causes havoc, workaround:
+               setthink(it, SUB_Remove);
+               it.nextthink = time;
        });
        this.spawnflags = 2;
        this.spawnfunc_checked = true;
@@ -155,14 +215,14 @@ spawnfunc(target_give)
        InitializeEntity(this, target_give_init, INITPRIO_FINDTARGET);
 }
 
-//spawnfunc(item_flight)       /* handled by buffs mutator */
-//spawnfunc(item_haste)        /* handled by buffs mutator */
-//spawnfunc(item_health)       /* handled in t_quake.qc */
-//spawnfunc(item_health_large) /* handled in t_items.qc */
-//spawnfunc(item_health_small) /* handled in t_items.qc */
-//spawnfunc(item_health_mega)  /* handled in t_items.qc */
-//spawnfunc(item_invis)        /* handled by buffs mutator */
-//spawnfunc(item_regen)        /* handled by buffs mutator */
+// spawnfunc(item_flight)       /* handled by buffs mutator */
+// spawnfunc(item_haste)        /* handled by buffs mutator */
+// spawnfunc(item_health)       /* handled in t_quake.qc */
+// spawnfunc(item_health_large) /* handled in t_items.qc */
+// spawnfunc(item_health_small) /* handled in t_items.qc */
+// spawnfunc(item_health_mega)  /* handled in t_items.qc */
+// spawnfunc(item_invis)        /* handled by buffs mutator */
+// spawnfunc(item_regen)        /* handled by buffs mutator */
 
 // CTF spawnfuncs handled in mutators/gamemode_ctf.qc now
 
@@ -176,40 +236,53 @@ bool DoesQ3ARemoveThisEntity(entity this)
 {
        // Q3 style filters (DO NOT USE, THIS IS COMPAT ONLY)
 
-       if(this.notq3a)
-               if(!teamplay || g_tdm || g_ctf)
+       if (this.notq3a) {
+               if (!teamplay || g_tdm || g_ctf) {
                        return true;
+               }
+       }
 
-       if(this.notta)
-               if (!(!teamplay || g_tdm || g_ctf))
+       if (this.notta) {
+               if (!(!teamplay || g_tdm || g_ctf)) {
                        return true;
+               }
+       }
 
-       if(this.notsingle)
-               if(maxclients == 1)
+       if (this.notsingle) {
+               if (maxclients == 1) {
                        return true;
+               }
+       }
 
-       if(this.notteam)
-               if(teamplay)
+       if (this.notteam) {
+               if (teamplay) {
                        return true;
+               }
+       }
 
-       if(this.notfree)
-               if(!teamplay)
+       if (this.notfree) {
+               if (!teamplay) {
                        return true;
+               }
+       }
 
-       if(this.gametype)
-       {
+       if (this.gametype) {
                string gametypename;
                // static char *gametypeNames[] = {"ffa", "tournament", "single", "team", "ctf", "oneflag", "obelisk", "harvester", "teamtournament"}
                gametypename = "ffa";
-               if(teamplay)
+               if (teamplay) {
                        gametypename = "team";
-               if(g_ctf)
+               }
+               if (g_ctf) {
                        gametypename = "ctf";
-               if(maxclients == 1)
+               }
+               if (maxclients == 1) {
                        gametypename = "single";
+               }
                // we do not have the other types (oneflag, obelisk, harvester, teamtournament)
-               if(strstrofs(this.gametype, gametypename, 0) < 0)
+               if (strstrofs(this.gametype, gametypename, 0) < 0) {
                        return true;
+               }
        }
 
        return false;
index 6c69859fdfe0c6e748acc5b227227f49d5e9626c..0245677471ca701eb9d88fa1d8431c348cc10a82 100644 (file)
@@ -32,35 +32,101 @@ spawnfunc(item_health_medium);
 spawnfunc(item_health_mega);
 spawnfunc(item_invis);
 
-//***********************
-//WORD OF PADMAN ENTITIES - So people can play wop maps with the xonotic weapons
-//***********************
+// ***********************
+// WORD OF PADMAN ENTITIES - So people can play wop maps with the xonotic weapons
+// ***********************
 
-//spawnfunc(item_revival)     /* handled by buffs mutator */
-//spawnfunc(item_jumper)      /* handled by buffs mutator */
+// spawnfunc(item_revival)     /* handled by buffs mutator */
+// spawnfunc(item_jumper)      /* handled by buffs mutator */
 
-spawnfunc(weapon_punchy)       { spawnfunc_weapon_arc(this);                   }
-spawnfunc(weapon_nipper)       { spawnfunc_weapon_machinegun(this);    }
-spawnfunc(weapon_pumper)       { spawnfunc_weapon_shotgun(this);               }
-spawnfunc(weapon_boaster)      { spawnfunc_weapon_electro(this);               }
-spawnfunc(weapon_splasher)     { spawnfunc_weapon_vortex(this);                }
-spawnfunc(weapon_bubbleg)      { spawnfunc_weapon_hagar(this);                 }
-spawnfunc(weapon_balloony)     { spawnfunc_weapon_mortar(this);                }
-spawnfunc(weapon_betty)                { spawnfunc_weapon_devastator(this);    }
-spawnfunc(weapon_imperius)     { spawnfunc_weapon_crylink(this);               }
+spawnfunc(weapon_punchy)
+{
+       spawnfunc_weapon_arc(this);
+}
+spawnfunc(weapon_nipper)
+{
+       spawnfunc_weapon_machinegun(this);
+}
+spawnfunc(weapon_pumper)
+{
+       spawnfunc_weapon_shotgun(this);
+}
+spawnfunc(weapon_boaster)
+{
+       spawnfunc_weapon_electro(this);
+}
+spawnfunc(weapon_splasher)
+{
+       spawnfunc_weapon_vortex(this);
+}
+spawnfunc(weapon_bubbleg)
+{
+       spawnfunc_weapon_hagar(this);
+}
+spawnfunc(weapon_balloony)
+{
+       spawnfunc_weapon_mortar(this);
+}
+spawnfunc(weapon_betty)
+{
+       spawnfunc_weapon_devastator(this);
+}
+spawnfunc(weapon_imperius)
+{
+       spawnfunc_weapon_crylink(this);
+}
 
-spawnfunc(ammo_pumper)         { spawnfunc_item_shells(this);                  }
-spawnfunc(ammo_nipper)         { spawnfunc_item_bullets(this);                 }
-spawnfunc(ammo_balloony)       { spawnfunc_item_rockets(this);                 }
-spawnfunc(ammo_bubbleg)                { spawnfunc_item_rockets(this);                 }
-spawnfunc(ammo_boaster)                { spawnfunc_item_cells(this);                   }
-spawnfunc(ammo_betty)          { spawnfunc_item_rockets(this);                 }
-spawnfunc(ammo_imperius)       { spawnfunc_item_cells(this);                   }
+spawnfunc(ammo_pumper)
+{
+       spawnfunc_item_shells(this);
+}
+spawnfunc(ammo_nipper)
+{
+       spawnfunc_item_bullets(this);
+}
+spawnfunc(ammo_balloony)
+{
+       spawnfunc_item_rockets(this);
+}
+spawnfunc(ammo_bubbleg)
+{
+       spawnfunc_item_rockets(this);
+}
+spawnfunc(ammo_boaster)
+{
+       spawnfunc_item_cells(this);
+}
+spawnfunc(ammo_betty)
+{
+       spawnfunc_item_rockets(this);
+}
+spawnfunc(ammo_imperius)
+{
+       spawnfunc_item_cells(this);
+}
 
-spawnfunc(item_padpower)       { spawnfunc_item_quad(this);                    }
-spawnfunc(item_climber)                { spawnfunc_item_invincible(this);              }
-spawnfunc(item_speedy)         { spawnfunc_item_haste(this);                   }
-spawnfunc(item_visionless)     { spawnfunc_item_invis(this);                   }
-spawnfunc(item_armor_padshield)        { spawnfunc_item_armor_mega(this);      }
+spawnfunc(item_padpower)
+{
+       spawnfunc_item_quad(this);
+}
+spawnfunc(item_climber)
+{
+       spawnfunc_item_invincible(this);
+}
+spawnfunc(item_speedy)
+{
+       spawnfunc_item_haste(this);
+}
+spawnfunc(item_visionless)
+{
+       spawnfunc_item_invis(this);
+}
+spawnfunc(item_armor_padshield)
+{
+       spawnfunc_item_armor_mega(this);
+}
 
-spawnfunc(holdable_floater)            { spawnfunc_item_jetpack(this);         }
+spawnfunc(holdable_floater)
+{
+       spawnfunc_item_jetpack(this);
+}
index aee4a93df80da7cecde86899592331cd79b55777..b6a5b863a071531c04b0c3ef0732baf460f0a8a3 100644 (file)
@@ -3,30 +3,30 @@
 #if defined(CSQC)
 #elif defined(MENUQC)
 #elif defined(SVQC)
-    #include <server/defs.qh>
-    #include <server/miscfunctions.qh>
-    #include <lib/warpzone/common.qh>
-    #include <common/constants.qh>
-    #include <common/teams.qh>
-    #include <common/util.qh>
-    #include <common/weapons/_all.qh>
-    #include "weapons/accuracy.qh"
-    #include "weapons/csqcprojectile.qh"
-    #include "weapons/selection.qh"
-    #include <common/t_items.qh>
-    #include "autocvars.qh"
-    #include "constants.qh"
-    #include "defs.qh"
-    #include <common/notifications/all.qh>
-    #include <common/deathtypes/all.qh>
-    #include "mutators/_mod.qh"
-    #include <common/turrets/sv_turrets.qh>
-    #include <common/vehicles/all.qh>
-    #include <lib/csqcmodel/sv_model.qh>
-    #include <common/playerstats.qh>
-    #include "g_hook.qh"
-    #include "scores.qh"
-    #include "spawnpoints.qh"
+#include <server/defs.qh>
+#include <server/miscfunctions.qh>
+#include <lib/warpzone/common.qh>
+#include <common/constants.qh>
+#include <common/teams.qh>
+#include <common/util.qh>
+#include <common/weapons/_all.qh>
+#include "weapons/accuracy.qh"
+#include "weapons/csqcprojectile.qh"
+#include "weapons/selection.qh"
+#include <common/t_items.qh>
+#include "autocvars.qh"
+#include "constants.qh"
+#include "defs.qh"
+#include <common/notifications/all.qh>
+#include <common/deathtypes/all.qh>
+#include "mutators/_mod.qh"
+#include <common/turrets/sv_turrets.qh>
+#include <common/vehicles/all.qh>
+#include <lib/csqcmodel/sv_model.qh>
+#include <common/playerstats.qh>
+#include "g_hook.qh"
+#include "scores.qh"
+#include "spawnpoints.qh"
 #endif
 
 .float dmg;
@@ -59,42 +59,32 @@ void UpdateFrags(entity player, int f);
 // NOTE: f=0 means still count as a (positive) kill, but count no frags for it
 void W_SwitchWeapon_Force(Player this, Weapon w, .entity weaponentity);
 entity GiveFrags_randomweapons;
-void GiveFrags (entity attacker, entity targ, float f, int deathtype);
+void GiveFrags(entity attacker, entity targ, float f, int deathtype);
 
 string AppendItemcodes(string s, entity player);
 
 void LogDeath(string mode, int deathtype, entity killer, entity killed);
 
-void Obituary_SpecialDeath(
-       entity notif_target,
-       float murder,
-       int deathtype,
-       string s1, string s2, string s3,
-       float f1, float f2, float f3);
+void Obituary_SpecialDeath(entity notif_target, float murder, int deathtype, string s1, string s2, string s3, float f1, float f2, float f3);
 
 float w_deathtype;
-float Obituary_WeaponDeath(
-       entity notif_target,
-       float murder,
-       int deathtype,
-       string s1, string s2, string s3,
-       float f1, float f2);
+float Obituary_WeaponDeath(entity notif_target, float murder, int deathtype, string s1, string s2, string s3, float f1, float f2);
 
 void Obituary(entity attacker, entity inflictor, entity targ, int deathtype);
 
 void Ice_Think(entity this);
 
-void Freeze (entity targ, float freeze_time, float frozen_type, float show_waypoint);
+void Freeze(entity targ, float freeze_time, float frozen_type, float show_waypoint);
 
-void Unfreeze (entity targ);
+void Unfreeze(entity targ);
 
-void Damage (entity targ, entity inflictor, entity attacker, float damage, int deathtype, vector hitloc, vector force);
+void Damage(entity targ, entity inflictor, entity attacker, float damage, int deathtype, vector hitloc, vector force);
 
 float RadiusDamage_running;
-float RadiusDamageForSource (entity inflictor, vector inflictororigin, vector inflictorvelocity, entity attacker, float coredamage, float edgedamage, float rad, entity cantbe, entity mustbe, float inflictorselfdamage, float forceintensity, int deathtype, entity directhitentity);
-       // Returns total damage applies to creatures
+float RadiusDamageForSource(entity inflictor, vector inflictororigin, vector inflictorvelocity, entity attacker, float coredamage, float edgedamage, float rad, entity cantbe, entity mustbe, float inflictorselfdamage, float forceintensity, int deathtype, entity directhitentity);
+// Returns total damage applies to creatures
 
-float RadiusDamage (entity inflictor, entity attacker, float coredamage, float edgedamage, float rad, entity cantbe, entity mustbe, float forceintensity, int deathtype, entity directhitentity);
+float RadiusDamage(entity inflictor, entity attacker, float coredamage, float edgedamage, float rad, entity cantbe, entity mustbe, float forceintensity, int deathtype, entity directhitentity);
 
 .float fire_damagepersec;
 .float fire_endtime;
index 0fc60b2cdc1ffef3f4a2bac6832822e2a0c91db3..8c52a2999e33b11826ec282b02a519a70545f872 100644 (file)
@@ -53,16 +53,16 @@ const float GRAPHOOK_RELEASE                = 21;
 
 4. Open client.c and add this to the top of PutClientInServer():
 
-       RemoveGrapplingHook(this); // Wazat's Grappling Hook
+    RemoveGrapplingHook(this); // Wazat's Grappling Hook
 
 5. Find ClientConnect() (in client.c) and add these lines to the bottom:
 
-       // Wazat's grappling hook
-       SetGrappleHookBindings();
+    // Wazat's grappling hook
+    SetGrappleHookBindings();
 
 6. Still in client.c, find PlayerPreThink and add this line just above the call to W_WeaponFrame:
 
-       GrapplingHookFrame();
+    GrapplingHookFrame();
 
 7. Build and test the mod.  You'll want to bind a key to "+hook" like this:
 bind ctrl "+hook"
@@ -76,33 +76,37 @@ And you should be done!
 
 void RemoveGrapplingHooks(entity pl)
 {
-       if(pl.move_movetype == MOVETYPE_FLY)
+       if (pl.move_movetype == MOVETYPE_FLY) {
                set_movetype(pl, MOVETYPE_WALK);
+       }
 
-       for(int slot = 0; slot < MAX_WEAPONSLOTS; ++slot)
-    {
-       .entity weaponentity = weaponentities[slot];
-       if(!pl.(weaponentity))
-               continue; // continue incase other slots exist?
-       if(pl.(weaponentity).hook)
-               delete(pl.(weaponentity).hook);
-       pl.(weaponentity).hook = NULL;
-    }
-
-       //pl.disableclientprediction = false;
+       for (int slot = 0; slot < MAX_WEAPONSLOTS; ++slot) {
+               .entity weaponentity = weaponentities[slot];
+               if (!pl.(weaponentity)) {
+                       continue; // continue incase other slots exist?
+               }
+               if (pl.(weaponentity).hook) {
+                       delete(pl.(weaponentity).hook);
+               }
+               pl.(weaponentity).hook = NULL;
+       }
+
+       // pl.disableclientprediction = false;
 }
 
 void RemoveHook(entity this)
 {
        entity player = this.realowner;
-    .entity weaponentity = this.weaponentity_fld;
+       .entity weaponentity = this.weaponentity_fld;
 
-    if(player.(weaponentity).hook == this)
-       player.(weaponentity).hook = NULL;
+       if (player.(weaponentity).hook == this) {
+               player.(weaponentity).hook = NULL;
+       }
 
-    if(player.move_movetype == MOVETYPE_FLY)
-       set_movetype(player, MOVETYPE_WALK);
-    delete(this);
+       if (player.move_movetype == MOVETYPE_FLY) {
+               set_movetype(player, MOVETYPE_WALK);
+       }
+       delete(this);
 }
 
 void GrapplingHookReset(entity this)
@@ -114,7 +118,7 @@ void GrapplingHookThink(entity this);
 void GrapplingHook_Stop(entity this)
 {
        Send_Effect(EFFECT_HOOK_IMPACT, this.origin, '0 0 0', 1);
-       sound (this, CH_SHOTS, SND_HOOK_IMPACT, VOL_BASE, ATTEN_NORM);
+       sound(this, CH_SHOTS, SND_HOOK_IMPACT, VOL_BASE, ATTEN_NORM);
 
        this.state = 1;
        setthink(this, GrapplingHookThink);
@@ -130,22 +134,20 @@ bool GrapplingHookSend(entity this, entity to, int sf)
 {
        WriteHeader(MSG_ENTITY, ENT_CLIENT_HOOK);
        sf = sf & 0x7F;
-       if(sound_allowed(MSG_BROADCAST, this.realowner))
+       if (sound_allowed(MSG_BROADCAST, this.realowner)) {
                sf |= 0x80;
+       }
        WriteByte(MSG_ENTITY, sf);
-       if(sf & 1)
-       {
+       if (sf & 1) {
                WriteByte(MSG_ENTITY, etof(this.realowner));
                WriteByte(MSG_ENTITY, weaponslot(this.weaponentity_fld));
        }
-       if(sf & 2)
-       {
+       if (sf & 2) {
                WriteCoord(MSG_ENTITY, this.hook_start.x);
                WriteCoord(MSG_ENTITY, this.hook_start.y);
                WriteCoord(MSG_ENTITY, this.hook_start.z);
        }
-       if(sf & 4)
-       {
+       if (sf & 4) {
                WriteCoord(MSG_ENTITY, this.hook_end.x);
                WriteCoord(MSG_ENTITY, this.hook_end.y);
                WriteCoord(MSG_ENTITY, this.hook_end.z);
@@ -160,18 +162,17 @@ void GrapplingHookThink(entity this)
        float spd, dist, minlength, pullspeed, ropestretch, ropeairfriction, rubberforce, newlength, rubberforce_overstretch;
        vector dir, org, end, v0, dv, v, myorg, vs;
        .entity weaponentity = this.weaponentity_fld;
-       if(this.realowner.(weaponentity).hook != this)  // how did that happen?
-       {
+       if (this.realowner.(weaponentity).hook != this) { // how did that happen?
                error("Owner lost the hook!\n");
                return;
        }
-       if(LostMovetypeFollow(this) || game_stopped || (round_handler_IsActive() && !round_handler_IsRoundStarted()) || ((this.aiment.flags & FL_PROJECTILE) && this.aiment.classname != "nade"))
-       {
+       if (LostMovetypeFollow(this) || game_stopped || (round_handler_IsActive() && !round_handler_IsRoundStarted()) || ((this.aiment.flags & FL_PROJECTILE) && this.aiment.classname != "nade")) {
                RemoveHook(this);
                return;
        }
-       if(this.aiment)
+       if (this.aiment) {
                WarpZone_RefSys_AddIncrementally(this, this.aiment);
+       }
 
        this.nextthink = time;
 
@@ -182,8 +183,9 @@ void GrapplingHookThink(entity this)
        org = this.realowner.origin + this.realowner.view_ofs + v_forward * vs.x + v_right * -vs.y + v_up * vs.z;
        myorg = WarpZone_RefSys_TransformOrigin(this.realowner, this, org);
 
-       if(this.hook_length < 0)
+       if (this.hook_length < 0) {
                this.hook_length = vlen(myorg - this.origin);
+       }
 
        int tarzan = autocvar_g_grappling_hook_tarzan;
        entity pull_entity = this.realowner;
@@ -193,26 +195,25 @@ void GrapplingHookThink(entity this)
        pull_entity = M_ARGV(2, entity);
        velocity_multiplier = M_ARGV(3, float);
 
-       if(this.state == 1)
-       {
-               pullspeed = autocvar_g_balance_grapplehook_speed_pull;//2000;
+       if (this.state == 1) {
+               pullspeed = autocvar_g_balance_grapplehook_speed_pull;                             // 2000;
                // speed the rope is pulled with
 
-               rubberforce = autocvar_g_balance_grapplehook_force_rubber;//2000;
+               rubberforce = autocvar_g_balance_grapplehook_force_rubber;                         // 2000;
                // force the rope will use if it is stretched
 
-               rubberforce_overstretch = autocvar_g_balance_grapplehook_force_rubber_overstretch;//1000;
+               rubberforce_overstretch = autocvar_g_balance_grapplehook_force_rubber_overstretch; // 1000;
                // force the rope will use if it is stretched
 
-               minlength = autocvar_g_balance_grapplehook_length_min;//100;
+               minlength = autocvar_g_balance_grapplehook_length_min;                             // 100;
                // minimal rope length
                // if the rope goes below this length, it isn't pulled any more
 
-               ropestretch = autocvar_g_balance_grapplehook_stretch;//400;
+               ropestretch = autocvar_g_balance_grapplehook_stretch; // 400;
                // if the rope is stretched by more than this amount, more rope is
                // given to you again
 
-               ropeairfriction = autocvar_g_balance_grapplehook_airfriction;//0.2
+               ropeairfriction = autocvar_g_balance_grapplehook_airfriction; // 0.2
                // while hanging on the rope, this friction component will help you a
                // bit to control the rope
 
@@ -222,57 +223,52 @@ void GrapplingHookThink(entity this)
                dist = vlen(dir);
                dir = normalize(dir);
 
-               if(tarzan)
-               {
+               if (tarzan) {
                        v = v0 = WarpZone_RefSys_TransformVelocity(pull_entity, this, pull_entity.velocity);
 
                        // first pull the rope...
-                       if(this.realowner.(weaponentity).hook_state & HOOK_PULLING)
-                       {
+                       if (this.realowner.(weaponentity).hook_state & HOOK_PULLING) {
                                newlength = this.hook_length;
                                newlength = max(newlength - pullspeed * frametime, minlength);
 
-                               if(newlength < dist - ropestretch) // overstretched?
-                               {
+                               if (newlength < dist - ropestretch) { // overstretched?
                                        newlength = dist - ropestretch;
-                                       if(v * dir < 0) // only if not already moving in hook direction
+                                       if (v * dir < 0) { // only if not already moving in hook direction
                                                v = v + frametime * dir * rubberforce_overstretch;
+                                       }
                                }
 
                                this.hook_length = newlength;
                        }
 
-                       if(pull_entity.move_movetype == MOVETYPE_FLY)
+                       if (pull_entity.move_movetype == MOVETYPE_FLY) {
                                set_movetype(pull_entity, MOVETYPE_WALK);
+                       }
 
-                       if(this.realowner.(weaponentity).hook_state & HOOK_RELEASING)
-                       {
+                       if (this.realowner.(weaponentity).hook_state & HOOK_RELEASING) {
                                newlength = dist;
                                this.hook_length = newlength;
-                       }
-                       else
-                       {
+                       } else {
                                // then pull the player
                                spd = bound(0, (dist - this.hook_length) / ropestretch, 1);
                                v = v * (1 - frametime * ropeairfriction);
                                v = v + frametime * dir * spd * rubberforce;
 
                                dv = ((v - v0) * dir) * dir;
-                               if(tarzan >= 2)
-                               {
-                                       if(this.aiment.move_movetype == MOVETYPE_WALK || this.aiment.classname == "nade")
-                                       {
+                               if (tarzan >= 2) {
+                                       if (this.aiment.move_movetype == MOVETYPE_WALK || this.aiment.classname == "nade") {
                                                entity aim_ent = ((IS_VEHICLE(this.aiment) && this.aiment.owner) ? this.aiment.owner : this.aiment);
                                                v = v - dv * 0.5;
-                                               if((frozen_pulling && STAT(FROZEN, this.aiment)) || !frozen_pulling)
-                                               {
+                                               if ((frozen_pulling && STAT(FROZEN, this.aiment)) || !frozen_pulling) {
                                                        this.aiment.velocity = this.aiment.velocity - dv * 0.5;
                                                        UNSET_ONGROUND(this.aiment);
-                                                       if(this.aiment.flags & FL_PROJECTILE)
+                                                       if (this.aiment.flags & FL_PROJECTILE) {
                                                                UpdateCSQCProjectile(this.aiment);
+                                                       }
                                                }
-                                               if(this.aiment.classname == "nade")
+                                               if (this.aiment.classname == "nade") {
                                                        this.aiment.nextthink = time + autocvar_g_balance_grapplehook_nade_time; // set time after letting go?
+                                               }
                                                aim_ent.pusher = this.realowner;
                                                aim_ent.pushltime = time + autocvar_g_maxpushtime;
                                                aim_ent.istypefrag = PHYS_INPUT_BUTTON_CHAT(aim_ent);
@@ -282,26 +278,26 @@ void GrapplingHookThink(entity this)
                                UNSET_ONGROUND(pull_entity);
                        }
 
-                       if(!frozen_pulling && !(this.aiment.flags & FL_PROJECTILE))
+                       if (!frozen_pulling && !(this.aiment.flags & FL_PROJECTILE)) {
                                pull_entity.velocity = WarpZone_RefSys_TransformVelocity(this, pull_entity, v * velocity_multiplier);
+                       }
 
-                       if(frozen_pulling && autocvar_g_balance_grapplehook_pull_frozen == 2 && !STAT(FROZEN, this.aiment))
-                       {
+                       if (frozen_pulling && autocvar_g_balance_grapplehook_pull_frozen == 2 && !STAT(FROZEN, this.aiment)) {
                                RemoveHook(this);
                                return;
                        }
-               }
-               else
-               {
-                       end = this.origin - dir*50;
+               } else {
+                       end = this.origin - dir * 50;
                        dist = vlen(end - myorg);
-                       if(dist < 200)
+                       if (dist < 200) {
                                spd = dist * (pullspeed / 200);
-                       else
+                       } else {
                                spd = pullspeed;
-                       if(spd < 50)
+                       }
+                       if (spd < 50) {
                                spd = 0;
-                       this.realowner.velocity = dir*spd;
+                       }
+                       this.realowner.velocity = dir * spd;
                        set_movetype(this.realowner, MOVETYPE_FLY);
 
                        UNSET_ONGROUND(this.realowner);
@@ -311,13 +307,11 @@ void GrapplingHookThink(entity this)
        makevectors(this.angles.x * '-1 0 0' + this.angles.y * '0 1 0');
        myorg = WarpZone_RefSys_TransformOrigin(this, this.realowner, this.origin); // + v_forward * (-9);
 
-       if(myorg != this.hook_start)
-       {
+       if (myorg != this.hook_start) {
                this.SendFlags |= 2;
                this.hook_start = myorg;
        }
-       if(org != this.hook_end)
-       {
+       if (org != this.hook_end) {
                this.SendFlags |= 4;
                this.hook_end = org;
        }
@@ -325,36 +319,36 @@ void GrapplingHookThink(entity this)
 
 void GrapplingHookTouch(entity this, entity toucher)
 {
-       if(toucher.move_movetype == MOVETYPE_FOLLOW)
+       if (toucher.move_movetype == MOVETYPE_FOLLOW) {
                return;
+       }
        PROJECTILE_TOUCH(this, toucher);
 
        GrapplingHook_Stop(this);
 
-       if(toucher)
-               if(toucher.move_movetype != MOVETYPE_NONE)
-               {
+       if (toucher) {
+               if (toucher.move_movetype != MOVETYPE_NONE) {
                        SetMovetypeFollow(this, toucher);
                        WarpZone_RefSys_BeginAddingIncrementally(this, this.aiment);
                }
+       }
 
-       //this.realowner.disableclientprediction = true;
+       // this.realowner.disableclientprediction = true;
 }
 
 void GrapplingHook_Damage(entity this, entity inflictor, entity attacker, float damage, int deathtype, vector hitloc, vector force)
 {
-       if(this.health <= 0)
+       if (this.health <= 0) {
                return;
+       }
 
-       if (!W_CheckProjectileDamage(inflictor.realowner, this.realowner, deathtype, -1)) // no exceptions
+       if (!W_CheckProjectileDamage(inflictor.realowner, this.realowner, deathtype, -1)) // no exceptions
                return; // g_balance_projectiledamage says to halt
-
+       }
        this.health = this.health - damage;
 
-       if (this.health <= 0)
-       {
-               if(attacker != this.realowner)
-               {
+       if (this.health <= 0) {
+               if (attacker != this.realowner) {
                        this.realowner.pusher = attacker;
                        this.realowner.pushltime = time + autocvar_g_maxpushtime;
                        this.realowner.istypefrag = PHYS_INPUT_BUTTON_CHAT(this.realowner);
@@ -365,8 +359,8 @@ void GrapplingHook_Damage(entity this, entity inflictor, entity attacker, float
 
 void FireGrapplingHook(entity actor, .entity weaponentity)
 {
-       if(forbidWeaponUse(actor)) return;
-       if(actor.vehicle) return;
+       if (forbidWeaponUse(actor)) { return; }
+       if (actor.vehicle) { return; }
 
        makevectors(actor.v_angle);
 
@@ -374,7 +368,7 @@ void FireGrapplingHook(entity actor, .entity weaponentity)
        vector vs = hook_shotorigin[s];
 
        // UGLY WORKAROUND: play this on CH_WEAPON_B so it can't cut off fire sounds
-       sound (actor, CH_WEAPON_B, SND_HOOK_FIRE, VOL_BASE, ATTEN_NORM);
+       sound(actor, CH_WEAPON_B, SND_HOOK_FIRE, VOL_BASE, ATTEN_NORM);
        vector org = actor.origin + actor.view_ofs + v_forward * vs.x + v_right * -vs.y + v_up * vs.z;
 
        tracebox(actor.origin + actor.view_ofs, '-3 -3 -3', '3 3 3', org, MOVE_NORMAL, actor);
@@ -395,30 +389,31 @@ void FireGrapplingHook(entity actor, .entity weaponentity)
        set_movetype(missile, ((autocvar_g_balance_grapplehook_gravity) ? MOVETYPE_TOSS : MOVETYPE_FLY));
        PROJECTILE_MAKETRIGGER(missile);
 
-       //setmodel (missile, MDL_HOOK); // precision set below
-       setsize (missile, '-3 -3 -3', '3 3 3');
+       // setmodel (missile, MDL_HOOK); // precision set below
+       setsize(missile, '-3 -3 -3', '3 3 3');
        setorigin(missile, org);
 
        missile.state = 0; // not latched onto anything
 
        W_SetupProjVelocity_Explicit(missile, v_forward, v_up, autocvar_g_balance_grapplehook_speed_fly, 0, 0, 0, false);
 
-       missile.angles = vectoangles (missile.velocity);
-       //missile.glow_color = 250; // 244, 250
-       //missile.glow_size = 120;
+       missile.angles = vectoangles(missile.velocity);
+       // missile.glow_color = 250; // 244, 250
+       // missile.glow_size = 120;
        settouch(missile, GrapplingHookTouch);
        setthink(missile, GrapplingHookThink);
        missile.nextthink = time;
 
        missile.effects = /*EF_FULLBRIGHT | EF_ADDITIVE |*/ EF_LOWPRECISION;
 
-       missile.health = autocvar_g_balance_grapplehook_health;//120
+       missile.health = autocvar_g_balance_grapplehook_health; // 120
        missile.event_damage = GrapplingHook_Damage;
        missile.takedamage = DAMAGE_AIM;
        missile.damageforcescale = 0;
        missile.damagedbycontents = (autocvar_g_balance_grapplehook_damagedbycontents);
-       if(missile.damagedbycontents)
+       if (missile.damagedbycontents) {
                IL_PUSH(g_damagedbycontents, missile);
+       }
 
        missile.hook_start = missile.hook_end = missile.origin;
 
@@ -427,15 +422,12 @@ void FireGrapplingHook(entity actor, .entity weaponentity)
 
 void GrappleHookInit()
 {
-       if(g_grappling_hook)
-       {
+       if (g_grappling_hook) {
                hook_shotorigin[0] = '8 8 -12';
                hook_shotorigin[1] = '8 8 -12';
                hook_shotorigin[2] = '8 8 -12';
                hook_shotorigin[3] = '8 8 -12';
-       }
-       else
-       {
+       } else {
                Weapon w = WEP_HOOK;
                w.wr_init(w);
                hook_shotorigin[0] = shotorg_adjust_values(CL_Weapon_GetShotOrg(WEP_HOOK.m_id), false, false, 1);
index 719bf5b605bdbfc1832761610f0f0ac8a3c88670..3d04416b53e68daa1e4067baa1d1030bcb616d3f 100644 (file)
@@ -1,7 +1,7 @@
 #pragma once
 
 // Wazat's grappling hook
-.entity                hook;
+.entity     hook;
 void RemoveGrapplingHooks(entity pl);
 void RemoveHook(entity this);
 // (note: you can change the hook impulse #'s to whatever you please)
index 852f1efc01d70cda4a73a3d903a67c20a67e1601..e7714d9ab283910290b84ca695710db323707562 100644 (file)
@@ -39,16 +39,18 @@ flags:
 */
 void dynlight_think(entity this)
 {
-       if(!this.owner)
+       if (!this.owner) {
                delete(this);
+       }
 
        this.nextthink = time + 0.1;
 }
 void dynlight_find_aiment(entity this)
 {
        entity targ;
-       if (!this.target)
-               objerror (this, "dynlight: no target to follow");
+       if (!this.target) {
+               objerror(this, "dynlight: no target to follow");
+       }
 
        targ = find(NULL, targetname, this.target);
        set_movetype(this, MOVETYPE_FOLLOW);
@@ -63,8 +65,9 @@ void dynlight_find_aiment(entity this)
 void dynlight_find_path(entity this)
 {
        entity targ;
-       if (!this.target)
-               objerror (this, "dynlight: no target to follow");
+       if (!this.target) {
+               objerror(this, "dynlight: no target to follow");
+       }
 
        targ = find(NULL, targetname, this.target);
        this.target = targ.target;
@@ -75,8 +78,9 @@ void dynlight_find_path(entity this)
 void dynlight_find_target(entity this)
 {
        entity targ;
-       if (!this.target)
-               objerror (this, "dynlight: no target to follow");
+       if (!this.target) {
+               objerror(this, "dynlight: no target to follow");
+       }
 
        targ = find(NULL, targetname, this.target);
        setattachment(this, targ, this.dtagname);
@@ -86,49 +90,50 @@ void dynlight_find_target(entity this)
 }
 void dynlight_use(entity this, entity actor, entity trigger)
 {
-       if (this.light_lev == 0)
+       if (this.light_lev == 0) {
                this.light_lev = this.lefty;
-       else
+       } else {
                this.light_lev = 0;
+       }
 }
 spawnfunc(dynlight)
 {
-       if (!this.light_lev)
+       if (!this.light_lev) {
                this.light_lev = 200;
-       if (!this.color)
+       }
+       if (!this.color) {
                this.color = '1 1 1';
+       }
        this.lefty = this.light_lev;
        this.use = dynlight_use;
-       setsize (this, '0 0 0', '0 0 0');
+       setsize(this, '0 0 0', '0 0 0');
        setorigin(this, this.origin);
-       //this.pflags = PFLAGS_FULLDYNAMIC;
+       // this.pflags = PFLAGS_FULLDYNAMIC;
        this.solid = SOLID_NOT;
-       //this.blocked = func_null;
-       //if (this.spawnflags & DNOSHADOW)
+       // this.blocked = func_null;
+       // if (this.spawnflags & DNOSHADOW)
        //      this.pflags = this.pflags + PFLAGS_NOSHADOW;
-       //if (this.spawnflags & START_OFF)
+       // if (this.spawnflags & START_OFF)
        //      this.light_lev = 0;
 
-//tag attaching
-       if (this.dtagname)
-       {
+// tag attaching
+       if (this.dtagname) {
                InitializeEntity(this, dynlight_find_target, INITPRIO_FINDTARGET);
                return;
        }
 
 // entity following
-       if (this.spawnflags & DFOLLOW)
-       {
+       if (this.spawnflags & DFOLLOW) {
                InitializeEntity(this, dynlight_find_aiment, INITPRIO_FINDTARGET);
                return;
        }
 // path following
-       if (this.target)
+       if (this.target) {
 //     if (!(this.spawnflags & DFOLLOW))
-       {
                set_movetype(this, MOVETYPE_NOCLIP);
-               if (!this.speed)
+               if (!this.speed) {
                        this.speed = 100;
+               }
                InitializeEntity(this, dynlight_find_path, INITPRIO_FINDTARGET);
                return;
        }
index 713577fad17beb0c5d46932b7d845cea4b18cd7e..0b3202019ec9c5f6127c0f6bcd5650ad85ad7e93 100644 (file)
@@ -21,10 +21,8 @@ main
 unused but required by the engine
 ==================
 */
-void main ()
-{
-
-}
+void main()
+{}
 
 // Misc
 
@@ -36,21 +34,22 @@ A version of traceline that must be used by SOLID_SLIDEBOX things that want to h
 Additionally it moves players back into the past before the trace and restores them afterward.
 ==================
 */
-void tracebox_antilag_force_wz (entity source, vector v1, vector mi, vector ma, vector v2, float nomonst, entity forent, float lag, float wz)
+void tracebox_antilag_force_wz(entity source, vector v1, vector mi, vector ma, vector v2, float nomonst, entity forent, float lag, float wz)
 {
        // check whether antilagged traces are enabled
-       if (lag < 0.001)
+       if (lag < 0.001) {
                lag = 0;
-       if (!IS_REAL_CLIENT(forent))
+       }
+       if (!IS_REAL_CLIENT(forent)) {
                lag = 0; // only antilag for clients
-
+       }
        // change shooter to SOLID_BBOX so the shot can hit corpses
        int oldsolid = source.dphitcontentsmask;
-       if(source)
+       if (source) {
                source.dphitcontentsmask = DPCONTENTS_SOLID | DPCONTENTS_BODY | DPCONTENTS_CORPSE;
+       }
 
-       if (lag)
-       {
+       if (lag) {
                // take players back into the past
                FOREACH_CLIENT(IS_PLAYER(it) && it != forent, antilag_takeback(it, CS(it), time - lag));
                IL_EACH(g_monsters, it != forent,
@@ -60,14 +59,14 @@ void tracebox_antilag_force_wz (entity source, vector v1, vector mi, vector ma,
        }
 
        // do the trace
-       if(wz)
-               WarpZone_TraceBox (v1, mi, ma, v2, nomonst, forent);
-       else
-               tracebox (v1, mi, ma, v2, nomonst, forent);
+       if (wz) {
+               WarpZone_TraceBox(v1, mi, ma, v2, nomonst, forent);
+       } else {
+               tracebox(v1, mi, ma, v2, nomonst, forent);
+       }
 
        // restore players to current positions
-       if (lag)
-       {
+       if (lag) {
                FOREACH_CLIENT(IS_PLAYER(it) && it != forent, antilag_restore(it, CS(it)));
                IL_EACH(g_monsters, it != forent,
                {
@@ -76,53 +75,58 @@ void tracebox_antilag_force_wz (entity source, vector v1, vector mi, vector ma,
        }
 
        // restore shooter solid type
-       if(source)
+       if (source) {
                source.dphitcontentsmask = oldsolid;
+       }
 }
-void traceline_antilag_force (entity source, vector v1, vector v2, float nomonst, entity forent, float lag)
+void traceline_antilag_force(entity source, vector v1, vector v2, float nomonst, entity forent, float lag)
 {
        tracebox_antilag_force_wz(source, v1, '0 0 0', '0 0 0', v2, nomonst, forent, lag, false);
 }
-void traceline_antilag (entity source, vector v1, vector v2, float nomonst, entity forent, float lag)
+void traceline_antilag(entity source, vector v1, vector v2, float nomonst, entity forent, float lag)
 {
        bool noantilag = ((IS_CLIENT(source)) ? CS(source).cvar_cl_noantilag : false);
-       if (autocvar_g_antilag != 2 || noantilag)
+       if (autocvar_g_antilag != 2 || noantilag) {
                lag = 0;
+       }
        traceline_antilag_force(source, v1, v2, nomonst, forent, lag);
 }
-void tracebox_antilag (entity source, vector v1, vector mi, vector ma, vector v2, float nomonst, entity forent, float lag)
+void tracebox_antilag(entity source, vector v1, vector mi, vector ma, vector v2, float nomonst, entity forent, float lag)
 {
        bool noantilag = ((IS_CLIENT(source)) ? CS(source).cvar_cl_noantilag : false);
-       if (autocvar_g_antilag != 2 || noantilag)
+       if (autocvar_g_antilag != 2 || noantilag) {
                lag = 0;
+       }
        tracebox_antilag_force_wz(source, v1, mi, ma, v2, nomonst, forent, lag, false);
 }
-void WarpZone_traceline_antilag_force (entity source, vector v1, vector v2, float nomonst, entity forent, float lag)
+void WarpZone_traceline_antilag_force(entity source, vector v1, vector v2, float nomonst, entity forent, float lag)
 {
        tracebox_antilag_force_wz(source, v1, '0 0 0', '0 0 0', v2, nomonst, forent, lag, true);
 }
-void WarpZone_traceline_antilag (entity source, vector v1, vector v2, float nomonst, entity forent, float lag)
+void WarpZone_traceline_antilag(entity source, vector v1, vector v2, float nomonst, entity forent, float lag)
 {
        bool noantilag = ((IS_CLIENT(source)) ? CS(source).cvar_cl_noantilag : false);
-       if (autocvar_g_antilag != 2 || noantilag)
+       if (autocvar_g_antilag != 2 || noantilag) {
                lag = 0;
+       }
        WarpZone_traceline_antilag_force(source, v1, v2, nomonst, forent, lag);
 }
-void WarpZone_tracebox_antilag (entity source, vector v1, vector mi, vector ma, vector v2, float nomonst, entity forent, float lag)
+void WarpZone_tracebox_antilag(entity source, vector v1, vector mi, vector ma, vector v2, float nomonst, entity forent, float lag)
 {
        bool noantilag = ((IS_CLIENT(source)) ? CS(source).cvar_cl_noantilag : false);
-       if (autocvar_g_antilag != 2 || noantilag)
+       if (autocvar_g_antilag != 2 || noantilag) {
                lag = 0;
+       }
        tracebox_antilag_force_wz(source, v1, mi, ma, v2, nomonst, forent, lag, true);
 }
 
-float tracebox_inverted (vector v1, vector mi, vector ma, vector v2, float nomonsters, entity forent, float stopatentity, entity ignorestopatentity) // returns the number of traces done, for benchmarking
+float tracebox_inverted(vector v1, vector mi, vector ma, vector v2, float nomonsters, entity forent, float stopatentity, entity ignorestopatentity) // returns the number of traces done, for benchmarking
 {
        vector pos, dir, t;
        float nudge;
        entity stopentity;
 
-       //nudge = 2 * cvar("collision_impactnudge"); // why not?
+       // nudge = 2 * cvar("collision_impactnudge"); // why not?
        nudge = 0.5;
 
        dir = normalize(v2 - v1);
@@ -132,10 +136,8 @@ float tracebox_inverted (vector v1, vector mi, vector ma, vector v2, float nomon
        float c;
        c = 0;
 
-       for (;;)
-       {
-               if(pos * dir >= v2 * dir)
-               {
+       for ( ; ; ) {
+               if (pos * dir >= v2 * dir) {
                        // went too far
                        trace_fraction = 1;
                        trace_endpos = v2;
@@ -145,8 +147,7 @@ float tracebox_inverted (vector v1, vector mi, vector ma, vector v2, float nomon
                tracebox(pos, mi, ma, v2, nomonsters, forent);
                ++c;
 
-               if(c == 50)
-               {
+               if (c == 50) {
                        LOG_TRACE("HOLY SHIT! When tracing from ", vtos(v1), " to ", vtos(v2));
                        LOG_TRACE("  Nudging gets us nowhere at ", vtos(pos));
                        LOG_TRACE("  trace_endpos is ", vtos(trace_endpos));
@@ -155,37 +156,30 @@ float tracebox_inverted (vector v1, vector mi, vector ma, vector v2, float nomon
 
                stopentity = trace_ent;
 
-               if(trace_startsolid)
-               {
+               if (trace_startsolid) {
                        // we started inside solid.
                        // then trace from endpos to pos
                        t = trace_endpos;
                        tracebox(t, mi, ma, pos, nomonsters, forent);
                        ++c;
-                       if(trace_startsolid)
-                       {
+                       if (trace_startsolid) {
                                // t is still inside solid? bad
                                // force advance, then, and retry
                                pos = t + dir * nudge;
 
                                // but if we hit an entity, stop RIGHT before it
-                               if(stopatentity && stopentity && stopentity != ignorestopatentity)
-                               {
+                               if (stopatentity && stopentity && stopentity != ignorestopatentity) {
                                        trace_ent = stopentity;
                                        trace_endpos = t;
                                        trace_fraction = ((trace_endpos - v1) * dir) / ((v2 - v1) * dir);
                                        return c;
                                }
-                       }
-                       else
-                       {
+                       } else {
                                // we actually LEFT solid!
                                trace_fraction = ((trace_endpos - v1) * dir) / ((v2 - v1) * dir);
                                return c;
                        }
-               }
-               else
-               {
+               } else {
                        // pos is outside solid?!? but why?!? never mind, just return it.
                        trace_endpos = pos;
                        trace_fraction = ((trace_endpos - v1) * dir) / ((v2 - v1) * dir);
@@ -194,7 +188,7 @@ float tracebox_inverted (vector v1, vector mi, vector ma, vector v2, float nomon
        }
 }
 
-void traceline_inverted (vector v1, vector v2, float nomonsters, entity forent, float stopatentity, entity ignorestopatentity)
+void traceline_inverted(vector v1, vector v2, float nomonsters, entity forent, float stopatentity, entity ignorestopatentity)
 {
        tracebox_inverted(v1, '0 0 0', '0 0 0', v2, nomonsters, forent, stopatentity, ignorestopatentity);
 }
@@ -208,23 +202,21 @@ Returns a point at least 12 units away from walls
 Ripped from DPMod
 ==================
 */
-vector findbetterlocation (vector org, float mindist)
+vector findbetterlocation(vector org, float mindist)
 {
        vector vec = mindist * '1 0 0';
        int c = 0;
-       while (c < 6)
-       {
-               traceline (org, org + vec, true, NULL);
+       while (c < 6) {
+               traceline(org, org + vec, true, NULL);
                vec = vec * -1;
-               if (trace_fraction < 1)
-               {
+               if (trace_fraction < 1) {
                        vector loc = trace_endpos;
-                       traceline (loc, loc + vec, true, NULL);
-                       if (trace_fraction >= 1)
+                       traceline(loc, loc + vec, true, NULL);
+                       if (trace_fraction >= 1) {
                                org = loc + vec;
+                       }
                }
-               if (c & 1)
-               {
+               if (c & 1) {
                        float h = vec.y;
                        vec.y = vec.x;
                        vec.x = vec.z;
@@ -238,26 +230,27 @@ vector findbetterlocation (vector org, float mindist)
 
 bool LOD_customize(entity this, entity client)
 {
-       if(autocvar_loddebug)
-       {
+       if (autocvar_loddebug) {
                int d = autocvar_loddebug;
-               if(d == 1)
+               if (d == 1) {
                        this.modelindex = this.lodmodelindex0;
-               else if(d == 2 || !this.lodmodelindex2)
+               } else if (d == 2 || !this.lodmodelindex2) {
                        this.modelindex = this.lodmodelindex1;
-               else // if(d == 3)
+               } else { // if(d == 3)
                        this.modelindex = this.lodmodelindex2;
+               }
                return true;
        }
 
        // TODO csqc network this so it only gets sent once
        vector near_point = NearestPointOnBox(this, client.origin);
-       if(vdist(near_point - client.origin, <, this.loddistance1))
+       if (vdist(near_point - client.origin, <, this.loddistance1)) {
                this.modelindex = this.lodmodelindex0;
-       else if(!this.lodmodelindex2 || vdist(near_point - client.origin, <, this.loddistance2))
+       } else if (!this.lodmodelindex2 || vdist(near_point - client.origin, <, this.loddistance2)) {
                this.modelindex = this.lodmodelindex1;
-       else
+       } else {
                this.modelindex = this.lodmodelindex2;
+       }
 
        return true;
 }
@@ -271,38 +264,34 @@ void LODmodel_attach(entity this)
 {
        entity e;
 
-       if(!this.loddistance1)
+       if (!this.loddistance1) {
                this.loddistance1 = 1000;
-       if(!this.loddistance2)
+       }
+       if (!this.loddistance2) {
                this.loddistance2 = 2000;
+       }
        this.lodmodelindex0 = this.modelindex;
 
-       if(this.lodtarget1 != "")
-       {
+       if (this.lodtarget1 != "") {
                e = find(NULL, targetname, this.lodtarget1);
-               if(e)
-               {
+               if (e) {
                        this.lodmodel1 = e.model;
                        delete(e);
                }
        }
-       if(this.lodtarget2 != "")
-       {
+       if (this.lodtarget2 != "") {
                e = find(NULL, targetname, this.lodtarget2);
-               if(e)
-               {
+               if (e) {
                        this.lodmodel2 = e.model;
                        delete(e);
                }
        }
 
-       if(autocvar_loddebug < 0)
-       {
+       if (autocvar_loddebug < 0) {
                this.lodmodel1 = this.lodmodel2 = ""; // don't even initialize
        }
 
-       if(this.lodmodel1 != "")
-       {
+       if (this.lodmodel1 != "") {
                vector mi, ma;
                mi = this.mins;
                ma = this.maxs;
@@ -311,8 +300,7 @@ void LODmodel_attach(entity this)
                _setmodel(this, this.lodmodel1);
                this.lodmodelindex1 = this.modelindex;
 
-               if(this.lodmodel2 != "")
-               {
+               if (this.lodmodel2 != "") {
                        precache_model(this.lodmodel2);
                        _setmodel(this, this.lodmodel2);
                        this.lodmodelindex2 = this.modelindex;
@@ -322,73 +310,69 @@ void LODmodel_attach(entity this)
                setsize(this, mi, ma);
        }
 
-       if(this.lodmodelindex1)
-               if (!getSendEntity(this))
+       if (this.lodmodelindex1) {
+               if (!getSendEntity(this)) {
                        SetCustomizer(this, LOD_customize, LOD_uncustomize);
+               }
+       }
 }
 
 void ApplyMinMaxScaleAngles(entity e)
 {
-       if(e.angles.x != 0 || e.angles.z != 0 || e.avelocity.x != 0 || e.avelocity.z != 0) // "weird" rotation
-       {
+       if (e.angles.x != 0 || e.angles.z != 0 || e.avelocity.x != 0 || e.avelocity.z != 0) { // "weird" rotation
                e.maxs = '1 1 1' * vlen(
-                       '1 0 0' * max(-e.mins.x, e.maxs.x) +
-                       '0 1 0' * max(-e.mins.y, e.maxs.y) +
-                       '0 0 1' * max(-e.mins.z, e.maxs.z)
-               );
+                       '1 0 0' * max(-e.mins.x, e.maxs.x)
+                       + '0 1 0' * max(-e.mins.y, e.maxs.y)
+                       '0 0 1' * max(-e.mins.z, e.maxs.z)
+                       );
                e.mins = -e.maxs;
-       }
-       else if(e.angles.y != 0 || e.avelocity.y != 0) // yaw only is a bit better
-       {
+       } else if (e.angles.y != 0 || e.avelocity.y != 0) { // yaw only is a bit better
                e.maxs_x = vlen(
-                       '1 0 0' * max(-e.mins.x, e.maxs.x) +
-                       '0 1 0' * max(-e.mins.y, e.maxs.y)
-               );
+                       '1 0 0' * max(-e.mins.x, e.maxs.x)
+                       '0 1 0' * max(-e.mins.y, e.maxs.y)
+                       );
                e.maxs_y = e.maxs.x;
                e.mins_x = -e.maxs.x;
                e.mins_y = -e.maxs.x;
        }
-       if(e.scale)
+       if (e.scale) {
                setsize(e, e.mins * e.scale, e.maxs * e.scale);
-       else
+       } else {
                setsize(e, e.mins, e.maxs);
+       }
 }
 
 void SetBrushEntityModel(entity this)
 {
-       if(this.model != "")
-       {
-               precache_model(this.model);
-               if(this.mins != '0 0 0' || this.maxs != '0 0 0')
-               {
+       if (this.model != "") {
+               precache_model(this.model);
+               if (this.mins != '0 0 0' || this.maxs != '0 0 0') {
                        vector mi = this.mins;
                        vector ma = this.maxs;
                        _setmodel(this, this.model); // no precision needed
                        setsize(this, mi, ma);
-               }
-               else
+               } else {
                        _setmodel(this, this.model); // no precision needed
+               }
                InitializeEntity(this, LODmodel_attach, INITPRIO_FINDTARGET);
-       }
+       }
        setorigin(this, this.origin);
        ApplyMinMaxScaleAngles(this);
 }
 
 void SetBrushEntityModelNoLOD(entity this)
 {
-       if(this.model != "")
-       {
-               precache_model(this.model);
-               if(this.mins != '0 0 0' || this.maxs != '0 0 0')
-               {
+       if (this.model != "") {
+               precache_model(this.model);
+               if (this.mins != '0 0 0' || this.maxs != '0 0 0') {
                        vector mi = this.mins;
                        vector ma = this.maxs;
                        _setmodel(this, this.model); // no precision needed
                        setsize(this, mi, ma);
-               }
-               else
+               } else {
                        _setmodel(this, this.model); // no precision needed
-       }
+               }
+       }
        setorigin(this, this.origin);
        ApplyMinMaxScaleAngles(this);
 }
@@ -401,10 +385,9 @@ InitTrigger
 
 void SetMovedir(entity this)
 {
-       if(this.movedir != '0 0 0')
+       if (this.movedir != '0 0 0') {
                this.movedir = normalize(this.movedir);
-       else
-       {
+       } else {
                makevectors(this.angles);
                this.movedir = v_forward;
        }
@@ -443,8 +426,7 @@ bool InitMovingBrushTrigger(entity this)
        this.solid = SOLID_BSP;
        SetBrushEntityModel(this);
        set_movetype(this, MOVETYPE_PUSH);
-       if(this.modelindex == 0)
-       {
+       if (this.modelindex == 0) {
                objerror(this, "InitMovingBrushTrigger: no brushes found!");
                return false;
        }
index 1f5537cea52f92ffa5e7e1f3284edd20cadcea04..ec6c6436c8a5b2959931bdac7645566aa6f5b819 100644 (file)
@@ -15,7 +15,7 @@ Applies some friction to this
 ==================
 */
 .float friction;
-void SUB_Friction (entity this);
+void SUB_Friction(entity this);
 
 /*
 ==================
@@ -24,9 +24,9 @@ SUB_VanishOrRemove
 Makes client invisible or removes non-client
 ==================
 */
-void SUB_VanishOrRemove (entity ent);
+void SUB_VanishOrRemove(entity ent);
 
-void SUB_SetFade_Think (entity this);
+void SUB_SetFade_Think(entity this);
 
 /*
 ==================
@@ -35,7 +35,7 @@ SUB_SetFade
 Fade 'ent' out when time >= 'when'
 ==================
 */
-void SUB_SetFade (entity ent, float when, float fadetime);
+void SUB_SetFade(entity ent, float when, float fadetime);
 
 /*
 =============
@@ -48,17 +48,17 @@ this.origin traveling at speed
 void SUB_CalcMoveDone(entity this);
 
 .float platmovetype_turn;
-void SUB_CalcMove_controller_think (entity this);
+void SUB_CalcMove_controller_think(entity this);
 
-void SUB_CalcMove_controller_setbezier (entity controller, vector org, vector control, vector dest);
+void SUB_CalcMove_controller_setbezier(entity controller, vector org, vector control, vector dest);
 
-void SUB_CalcMove_controller_setlinear (entity controller, vector org, vector dest);
+void SUB_CalcMove_controller_setlinear(entity controller, vector org, vector dest);
 
-void SUB_CalcMove_Bezier (entity this, vector tcontrol, vector tdest, float tspeedtype, float tspeed, void(entity this) func);
+void SUB_CalcMove_Bezier(entity this, vector tcontrol, vector tdest, float tspeedtype, float tspeed, void(entity this) func);
 
-void SUB_CalcMove (entity this, vector tdest, float tspeedtype, float tspeed, void(entity this) func);
+void SUB_CalcMove(entity this, vector tdest, float tspeedtype, float tspeed, void(entity this) func);
 
-void SUB_CalcMoveEnt (entity ent, vector tdest, float tspeedtype, float tspeed, void(entity this) func);
+void SUB_CalcMoveEnt(entity ent, vector tdest, float tspeedtype, float tspeed, void(entity this) func);
 
 /*
 =============
@@ -70,12 +70,12 @@ this.angles rotating
 The calling function should make sure this.think is valid
 ===============
 */
-void SUB_CalcAngleMoveDone (entity this);
+void SUB_CalcAngleMoveDone(entity this);
 
 // FIXME: I fixed this function only for rotation around the main axes
-void SUB_CalcAngleMove (entity this, vector destangle, float tspeedtype, float tspeed, void(entity this) func);
+void SUB_CalcAngleMove(entity this, vector destangle, float tspeedtype, float tspeed, void(entity this) func);
 
-void SUB_CalcAngleMoveEnt (entity ent, vector destangle, float tspeedtype, float tspeed, void(entity this) func);
+void SUB_CalcAngleMoveEnt(entity ent, vector destangle, float tspeedtype, float tspeed, void(entity this) func);
 
 /*
 ==================
@@ -84,7 +84,7 @@ main
 unused but required by the engine
 ==================
 */
-void main ();
+void main();
 
 // Misc
 
@@ -96,17 +96,17 @@ A version of traceline that must be used by SOLID_SLIDEBOX things that want to h
 Additionally it moves players back into the past before the trace and restores them afterward.
 ==================
 */
-void tracebox_antilag_force_wz (entity source, vector v1, vector mi, vector ma, vector v2, float nomonst, entity forent, float lag, float wz);
-void traceline_antilag_force (entity source, vector v1, vector v2, float nomonst, entity forent, float lag);
-void traceline_antilag (entity source, vector v1, vector v2, float nomonst, entity forent, float lag);
-void tracebox_antilag (entity source, vector v1, vector mi, vector ma, vector v2, float nomonst, entity forent, float lag);
-void WarpZone_traceline_antilag_force (entity source, vector v1, vector v2, float nomonst, entity forent, float lag);
-void WarpZone_traceline_antilag (entity source, vector v1, vector v2, float nomonst, entity forent, float lag);
-void WarpZone_tracebox_antilag (entity source, vector v1, vector mi, vector ma, vector v2, float nomonst, entity forent, float lag);
+void tracebox_antilag_force_wz(entity source, vector v1, vector mi, vector ma, vector v2, float nomonst, entity forent, float lag, float wz);
+void traceline_antilag_force(entity source, vector v1, vector v2, float nomonst, entity forent, float lag);
+void traceline_antilag(entity source, vector v1, vector v2, float nomonst, entity forent, float lag);
+void tracebox_antilag(entity source, vector v1, vector mi, vector ma, vector v2, float nomonst, entity forent, float lag);
+void WarpZone_traceline_antilag_force(entity source, vector v1, vector v2, float nomonst, entity forent, float lag);
+void WarpZone_traceline_antilag(entity source, vector v1, vector v2, float nomonst, entity forent, float lag);
+void WarpZone_tracebox_antilag(entity source, vector v1, vector mi, vector ma, vector v2, float nomonst, entity forent, float lag);
 
-float tracebox_inverted (vector v1, vector mi, vector ma, vector v2, float nomonsters, entity forent, float stopatentity, entity ignorestopatentity); // returns the number of traces done, for benchmarking
+float tracebox_inverted(vector v1, vector mi, vector ma, vector v2, float nomonsters, entity forent, float stopatentity, entity ignorestopatentity); // returns the number of traces done, for benchmarking
 
-void traceline_inverted (vector v1, vector v2, float nomonsters, entity forent, float stopatentity, entity ignorestopatentity);
+void traceline_inverted(vector v1, vector v2, float nomonsters, entity forent, float stopatentity, entity ignorestopatentity);
 
 /*
 ==================
@@ -117,7 +117,7 @@ Returns a point at least 12 units away from walls
 Ripped from DPMod
 ==================
 */
-vector findbetterlocation (vector org, float mindist);
+vector findbetterlocation(vector org, float mindist);
 
 /*
 ==================
@@ -126,7 +126,7 @@ Angc used for animations
 */
 
 
-float angc (float a1, float a2);
+float angc(float a1, float a2);
 
 .string lodtarget1;
 .string lodtarget2;
index 034407bc1f0f135722602b3ba8224e70ca98ea00..d452923d0f7107378fd38a0fb11bb9eb43602f72 100644 (file)
@@ -3,11 +3,11 @@
 float checkrules_equality;
 float checkrules_suddendeathwarning;
 float checkrules_suddendeathend;
-float checkrules_overtimesadded; //how many overtimes have been already added
+float checkrules_overtimesadded;                // how many overtimes have been already added
 
-const int WINNING_NO = 0; // no winner, but time limits may terminate the game
-const int WINNING_YES = 1; // winner found
-const int WINNING_NEVER = 2; // no winner, enter overtime if time limit is reached
+const int WINNING_NO = 0;                       // no winner, but time limits may terminate the game
+const int WINNING_YES = 1;                      // winner found
+const int WINNING_NEVER = 2;                    // no winner, enter overtime if time limit is reached
 const int WINNING_STARTSUDDENDEATHOVERTIME = 3; // no winner, enter suddendeath overtime NOW
 
 float WinningCondition_Scores(float limit, float leadlimit);
index 98dbf5c55b748d5a4d106f8dadec8fc3e29b412f..6876af32b51fddc5ab0a940034cb3dde432eb5da 100644 (file)
@@ -38,20 +38,21 @@ void OnlineBanList_SendBan(string ip, float bantime, string reason)
        string uri;
        float i, n;
 
-       uri = strcat(     "action=ban&hostname=", uri_escape(autocvar_hostname));
+       uri = strcat("action=ban&hostname=", uri_escape(autocvar_hostname));
        uri = strcat(uri, "&ip=", uri_escape(ip));
        uri = strcat(uri, "&duration=", ftos(bantime));
        uri = strcat(uri, "&reason=", uri_escape(reason));
 
        n = tokenize_console(autocvar_g_ban_sync_uri);
-       if(n >= MAX_IPBAN_URIS)
+       if (n >= MAX_IPBAN_URIS) {
                n = MAX_IPBAN_URIS;
-       for(i = 0; i < n; ++i)
-       {
-               if(strstrofs(argv(i), "?", 0) >= 0)
+       }
+       for (i = 0; i < n; ++i) {
+               if (strstrofs(argv(i), "?", 0) >= 0) {
                        uri_get(strcat(argv(i), "&", uri), URI_GET_DISCARD); // 0 = "discard" callback target
-               else
+               } else {
                        uri_get(strcat(argv(i), "?", uri), URI_GET_DISCARD); // 0 = "discard" callback target
+               }
        }
 }
 
@@ -60,18 +61,19 @@ void OnlineBanList_SendUnban(string ip)
        string uri;
        float i, n;
 
-       uri = strcat(     "action=unban&hostname=", uri_escape(autocvar_hostname));
+       uri = strcat("action=unban&hostname=", uri_escape(autocvar_hostname));
        uri = strcat(uri, "&ip=", uri_escape(ip));
 
        n = tokenize_console(autocvar_g_ban_sync_uri);
-       if(n >= MAX_IPBAN_URIS)
+       if (n >= MAX_IPBAN_URIS) {
                n = MAX_IPBAN_URIS;
-       for(i = 0; i < n; ++i)
-       {
-               if(strstrofs(argv(i), "?", 0) >= 0)
+       }
+       for (i = 0; i < n; ++i) {
+               if (strstrofs(argv(i), "?", 0) >= 0) {
                        uri_get(strcat(argv(i), "&", uri), URI_GET_DISCARD); // 0 = "discard" callback target
-               else
+               } else {
                        uri_get(strcat(argv(i), "?", uri), URI_GET_DISCARD); // 0 = "discard" callback target
+               }
        }
 }
 
@@ -91,8 +93,7 @@ void OnlineBanList_URI_Get_Callback(float id, float status, string data)
 
        id -= URI_GET_IPBAN;
 
-       if(id >= MAX_IPBAN_URIS)
-       {
+       if (id >= MAX_IPBAN_URIS) {
                LOG_INFO("Received ban list for invalid ID");
                return;
        }
@@ -102,62 +103,56 @@ void OnlineBanList_URI_Get_Callback(float id, float status, string data)
 
        string prelude = strcat("Received ban list from ", uri, ": ");
 
-       if(OnlineBanList_RequestWaiting[id] == 0)
-       {
+       if (OnlineBanList_RequestWaiting[id] == 0) {
                LOG_INFO(prelude, "rejected (unexpected)");
                return;
        }
 
        OnlineBanList_RequestWaiting[id] = 0;
 
-       if(time > OnlineBanList_Timeout)
-       {
+       if (time > OnlineBanList_Timeout) {
                LOG_INFO(prelude, "rejected (too late)");
                return;
        }
 
        syncinterval = autocvar_g_ban_sync_interval;
-       if(syncinterval == 0)
-       {
+       if (syncinterval == 0) {
                LOG_INFO(prelude, "rejected (syncing disabled)");
                return;
        }
-       if(syncinterval > 0)
+       if (syncinterval > 0) {
                syncinterval *= 60;
+       }
 
-       if(status != 0)
-       {
+       if (status != 0) {
                LOG_INFO(prelude, "error: status is ", ftos(status));
                return;
        }
 
-       if(substring(data, 0, 1) == "<")
-       {
+       if (substring(data, 0, 1) == "<") {
                LOG_INFO(prelude, "error: received HTML instead of a ban list");
                return;
        }
 
-       if(strstrofs(data, "\r", 0) != -1)
-       {
+       if (strstrofs(data, "\r", 0) != -1) {
                LOG_INFO(prelude, "error: received carriage returns");
                return;
        }
 
-       if(data == "")
+       if (data == "") {
                n = 0;
-       else
+       } else {
                n = tokenizebyseparator(data, "\n");
+       }
 
-       if((n % 4) != 0)
-       {
+       if ((n % 4) != 0) {
                LOG_INFO(prelude, "error: received invalid item count: ", ftos(n));
                return;
        }
 
        LOG_INFO(prelude, "OK, ", ftos(n / 4), " items");
 
-       for(i = 0; i < n; i += 4)
-       {
+       for (i = 0; i < n; i += 4) {
                ip = argv(i);
                timeleft = stof(argv(i + 1));
                reason = argv(i + 2);
@@ -168,32 +163,35 @@ void OnlineBanList_URI_Get_Callback(float id, float status, string data)
                LOG_TRACE(" serverip=", serverip);
 
                timeleft -= 1.5 * autocvar_g_ban_sync_timeout;
-               if(timeleft < 0)
+               if (timeleft < 0) {
                        continue;
+               }
 
                l = strlen(ip);
-               if(l != 44) // length 44 is a cryptographic ID
-               {
-                       for(j = 0; j < l; ++j)
-                               if(strstrofs("0123456789.", substring(ip, j, 1), 0) == -1)
-                               {
+               if (l != 44) { // length 44 is a cryptographic ID
+                       for (j = 0; j < l; ++j) {
+                               if (strstrofs("0123456789.", substring(ip, j, 1), 0) == -1) {
                                        LOG_INFO("Invalid character ", substring(ip, j, 1), " in IP address ", ip, ". Skipping this ban.");
                                        goto skip;
                                }
+                       }
                }
 
-               if(autocvar_g_ban_sync_trusted_servers_verify)
-                       if((strstrofs(strcat(";", OnlineBanList_Servers, ";"), strcat(";", serverip, ";"), 0) == -1))
+               if (autocvar_g_ban_sync_trusted_servers_verify) {
+                       if ((strstrofs(strcat(";", OnlineBanList_Servers, ";"), strcat(";", serverip, ";"), 0) == -1)) {
                                continue;
+                       }
+               }
 
-               if(syncinterval > 0)
+               if (syncinterval > 0) {
                        timeleft = min(syncinterval + (OnlineBanList_Timeout - time) + 5, timeleft);
-                       // the ban will be prolonged on the next sync
-                       // or expire 5 seconds after the next timeout
+               }
+               // the ban will be prolonged on the next sync
+               // or expire 5 seconds after the next timeout
                Ban_Insert(ip, timeleft, strcat("ban synced from ", serverip, " at ", uri), 0);
                LOG_INFO("Ban list syncing: accepted ban of ", ip, " by ", serverip, " at ", uri, ": ", reason);
 
-LABEL(skip)
+               LABEL(skip)
        }
 }
 
@@ -203,47 +201,55 @@ void OnlineBanList_Think(entity this)
        string uri;
        float i, n;
 
-       if(autocvar_g_ban_sync_uri == "")
+       if (autocvar_g_ban_sync_uri == "") {
                goto killme;
-       if(autocvar_g_ban_sync_interval == 0) // < 0 is okay, it means "sync on level start only"
+       }
+       if (autocvar_g_ban_sync_interval == 0) { // < 0 is okay, it means "sync on level start only"
                goto killme;
+       }
        argc = tokenize_console(autocvar_g_ban_sync_trusted_servers);
-       if(argc == 0)
+       if (argc == 0) {
                goto killme;
+       }
 
-       if(OnlineBanList_Servers)
+       if (OnlineBanList_Servers) {
                strunzone(OnlineBanList_Servers);
+       }
        OnlineBanList_Servers = argv(0);
-       for(i = 1; i < argc; ++i)
+       for (i = 1; i < argc; ++i) {
                OnlineBanList_Servers = strcat(OnlineBanList_Servers, ";", argv(i));
+       }
        OnlineBanList_Servers = strzone(OnlineBanList_Servers);
 
-       uri = strcat(     "action=list&hostname=", uri_escape(autocvar_hostname));
+       uri = strcat("action=list&hostname=", uri_escape(autocvar_hostname));
        uri = strcat(uri, "&servers=", uri_escape(OnlineBanList_Servers));
 
        OnlineBanList_Timeout = time + autocvar_g_ban_sync_timeout;
 
        n = tokenize_console(autocvar_g_ban_sync_uri);
-       if(n >= MAX_IPBAN_URIS)
+       if (n >= MAX_IPBAN_URIS) {
                n = MAX_IPBAN_URIS;
-       for(i = 0; i < n; ++i)
-       {
-               if(OnlineBanList_RequestWaiting[i])
+       }
+       for (i = 0; i < n; ++i) {
+               if (OnlineBanList_RequestWaiting[i]) {
                        continue;
+               }
                OnlineBanList_RequestWaiting[i] = 1;
-               if(strstrofs(argv(i), "?", 0) >= 0)
+               if (strstrofs(argv(i), "?", 0) >= 0) {
                        uri_get(strcat(argv(i), "&", uri), URI_GET_IPBAN + i); // 1000 = "banlist" callback target
-               else
+               } else {
                        uri_get(strcat(argv(i), "?", uri), URI_GET_IPBAN + i); // 1000 = "banlist" callback target
+               }
        }
 
-       if(autocvar_g_ban_sync_interval > 0)
+       if (autocvar_g_ban_sync_interval > 0) {
                this.nextthink = time + max(60, autocvar_g_ban_sync_interval * 60);
-       else
+       } else {
                goto killme;
+       }
        return;
 
-LABEL(killme)
+       LABEL(killme)
        delete(this);
 }
 
@@ -264,34 +270,38 @@ void Ban_SaveBans()
        string out;
        float i;
 
-       if(!ban_loaded)
+       if (!ban_loaded) {
                return;
+       }
 
        // version of list
        out = "1";
-       for(i = 0; i < ban_count; ++i)
-       {
-               if(time > ban_expire[i])
+       for (i = 0; i < ban_count; ++i) {
+               if (time > ban_expire[i]) {
                        continue;
+               }
                out = strcat(out, " ", ban_ip[i]);
                out = strcat(out, " ", ftos(ban_expire[i] - time));
        }
-       if(strlen(out) <= 1) // no real entries
+       if (strlen(out) <= 1) { // no real entries
                cvar_set("g_banned_list", "");
-       else
+       } else {
                cvar_set("g_banned_list", out);
+       }
 }
 
 float Ban_Delete(float i)
 {
-       if(i < 0)
+       if (i < 0) {
                return false;
-       if(i >= ban_count)
+       }
+       if (i >= ban_count) {
                return false;
-       if(ban_expire[i] == 0)
+       }
+       if (ban_expire[i] == 0) {
                return false;
-       if(ban_expire[i] > 0)
-       {
+       }
+       if (ban_expire[i] > 0) {
                OnlineBanList_SendUnban(ban_ip[i]);
                strunzone(ban_ip[i]);
        }
@@ -304,18 +314,17 @@ float Ban_Delete(float i)
 void Ban_LoadBans()
 {
        float i, n;
-       for(i = 0; i < ban_count; ++i)
+       for (i = 0; i < ban_count; ++i) {
                Ban_Delete(i);
+       }
        ban_count = 0;
        ban_loaded = true;
        n = tokenize_console(autocvar_g_banned_list);
-       if(stof(argv(0)) == 1)
-       {
+       if (stof(argv(0)) == 1) {
                ban_count = (n - 1) / 2;
-               for(i = 0; i < ban_count; ++i)
-               {
-                       ban_ip[i] = strzone(argv(2*i+1));
-                       ban_expire[i] = time + stof(argv(2*i+2));
+               for (i = 0; i < ban_count; ++i) {
+                       ban_ip[i] = strzone(argv(2 * i + 1));
+                       ban_expire[i] = time + stof(argv(2 * i + 2));
                }
        }
 
@@ -332,10 +341,10 @@ void Ban_View()
        LOG_INFO("^2Listing all existing active bans:");
 
        n = 0;
-       for(i = 0; i < ban_count; ++i)
-       {
-               if(time > ban_expire[i])
+       for (i = 0; i < ban_count; ++i) {
+               if (time > ban_expire[i]) {
                        continue;
+               }
 
                ++n; // total number of existing bans
 
@@ -355,54 +364,64 @@ float Ban_GetClientIP(entity client)
        float i1, i2, i3, i4;
        string s;
 
-       if(client.crypto_idfp_signed)
+       if (client.crypto_idfp_signed) {
                ban_idfp = client.crypto_idfp;
-       else
+       } else {
                ban_idfp = string_null;
+       }
 
        s = client.netaddress;
 
        i1 = strstrofs(s, ".", 0);
-       if(i1 < 0)
+       if (i1 < 0) {
                goto ipv6;
+       }
        i2 = strstrofs(s, ".", i1 + 1);
-       if(i2 < 0)
+       if (i2 < 0) {
                return false;
+       }
        i3 = strstrofs(s, ".", i2 + 1);
-       if(i3 < 0)
+       if (i3 < 0) {
                return false;
+       }
        i4 = strstrofs(s, ".", i3 + 1);
-       if(i4 >= 0)
+       if (i4 >= 0) {
                s = substring(s, 0, i4);
+       }
 
        ban_ip1 = substring(s, 0, i1); // 8
        ban_ip2 = substring(s, 0, i2); // 16
        ban_ip3 = substring(s, 0, i3); // 24
-       ban_ip4 = strcat1(s); // 32
+       ban_ip4 = strcat1(s);          // 32
        return true;
 
-LABEL(ipv6)
+       LABEL(ipv6)
        i1 = strstrofs(s, ":", 0);
-       if(i1 < 0)
+       if (i1 < 0) {
                return false;
+       }
        i1 = strstrofs(s, ":", i1 + 1);
-       if(i1 < 0)
+       if (i1 < 0) {
                return false;
+       }
        i2 = strstrofs(s, ":", i1 + 1);
-       if(i2 < 0)
+       if (i2 < 0) {
                return false;
+       }
        i3 = strstrofs(s, ":", i2 + 1);
-       if(i3 < 0)
+       if (i3 < 0) {
                return false;
+       }
 
        ban_ip1 = strcat(substring(s, 0, i1), "::/32"); // 32
        ban_ip2 = strcat(substring(s, 0, i2), "::/48"); // 48
        ban_ip4 = strcat(substring(s, 0, i3), "::/64"); // 64
 
-       if(i3 - i2 > 3) // means there is more than 2 digits and a : in the range
+       if (i3 - i2 > 3) { // means there is more than 2 digits and a : in the range
                ban_ip3 = strcat(substring(s, 0, i2), ":", substring(s, i2 + 1, i3 - i2 - 3), "00::/56");
-       else
+       } else {
                ban_ip3 = strcat(substring(s, 0, i2), ":0::/56");
+       }
 
        return true;
 }
@@ -410,47 +429,46 @@ LABEL(ipv6)
 float Ban_IsClientBanned(entity client, float idx)
 {
        float i, b, e, ipbanned;
-       if(!ban_loaded)
+       if (!ban_loaded) {
                Ban_LoadBans();
-       if(!Ban_GetClientIP(client))
+       }
+       if (!Ban_GetClientIP(client)) {
                return false;
-       if(idx < 0)
-       {
+       }
+       if (idx < 0) {
                b = 0;
                e = ban_count;
-       }
-       else
-       {
+       } else {
                b = idx;
                e = idx + 1;
        }
        ipbanned = false;
-       for(i = b; i < e; ++i)
-       {
+       for (i = b; i < e; ++i) {
                string s;
-               if(time > ban_expire[i])
+               if (time > ban_expire[i]) {
                        continue;
+               }
                s = ban_ip[i];
-               if(ban_ip1 == s) ipbanned = true;
-               if(ban_ip2 == s) ipbanned = true;
-               if(ban_ip3 == s) ipbanned = true;
-               if(ban_ip4 == s) ipbanned = true;
-               if(ban_idfp == s) return true;
+               if (ban_ip1 == s) { ipbanned = true; }
+               if (ban_ip2 == s) { ipbanned = true; }
+               if (ban_ip3 == s) { ipbanned = true; }
+               if (ban_ip4 == s) { ipbanned = true; }
+               if (ban_idfp == s) { return true; }
        }
-       if(ipbanned)
-       {
-               if(!autocvar_g_banned_list_idmode)
+       if (ipbanned) {
+               if (!autocvar_g_banned_list_idmode) {
                        return true;
-               if (!ban_idfp)
+               }
+               if (!ban_idfp) {
                        return true;
+               }
        }
        return false;
 }
 
 bool Ban_MaybeEnforceBan(entity client)
 {
-       if (Ban_IsClientBanned(client, -1))
-       {
+       if (Ban_IsClientBanned(client, -1)) {
                string s = sprintf("^1NOTE:^7 banned client %s just tried to enter\n", client.netaddress);
                dropclient(client);
                bprint(s);
@@ -462,7 +480,7 @@ bool Ban_MaybeEnforceBan(entity client)
 .bool ban_checked;
 bool Ban_MaybeEnforceBanOnce(entity client)
 {
-       if (client.ban_checked) return false;
+       if (client.ban_checked) { return false; }
        client.ban_checked = true;
        return Ban_MaybeEnforceBan(client);
 }
@@ -475,14 +493,13 @@ string Ban_Enforce(float j, string reason)
        s = "";
        FOREACH_CLIENTSLOT(IS_REAL_CLIENT(it),
        {
-               if(Ban_IsClientBanned(it, j))
-               {
-                       if(reason != "")
-                       {
-                               if(s == "")
+               if (Ban_IsClientBanned(it, j)) {
+                       if (reason != "") {
+                               if (s == "") {
                                        reason = strcat(reason, ": affects ");
-                               else
+                               } else {
                                        reason = strcat(reason, ", ");
+                               }
                                reason = strcat(reason, it.netname);
                        }
                        s = strcat(s, "^1NOTE:^7 banned client ", it.netaddress, "^7 has to go\n");
@@ -501,43 +518,44 @@ float Ban_Insert(string ip, float bantime, string reason, float dosync)
        float bestscore;
 
        // already banned?
-       for(i = 0; i < ban_count; ++i)
-               if(ban_ip[i] == ip)
-               {
+       for (i = 0; i < ban_count; ++i) {
+               if (ban_ip[i] == ip) {
                        // prolong the ban
-                       if(time + bantime > ban_expire[i])
-                       {
+                       if (time + bantime > ban_expire[i]) {
                                ban_expire[i] = time + bantime;
                                LOG_TRACE(ip, "'s ban has been prolonged to ", ftos(bantime), " seconds from now");
-                       }
-                       else
+                       } else {
                                LOG_TRACE(ip, "'s ban is still active until ", ftos(ban_expire[i] - time), " seconds from now");
+                       }
 
                        // and enforce
                        reason = Ban_Enforce(i, reason);
 
                        // and abort
-                       if(dosync)
-                               if(reason != "")
-                                       if(substring(reason, 0, 1) != "~") // like IRC: unauthenticated banner
+                       if (dosync) {
+                               if (reason != "") {
+                                       if (substring(reason, 0, 1) != "~") { // like IRC: unauthenticated banner
                                                OnlineBanList_SendBan(ip, bantime, reason);
+                                       }
+                               }
+                       }
 
                        return false;
                }
+       }
 
        // do we have a free slot?
-       for(i = 0; i < ban_count; ++i)
-               if(time > ban_expire[i])
+       for (i = 0; i < ban_count; ++i) {
+               if (time > ban_expire[i]) {
                        break;
+               }
+       }
        // no free slot? Then look for the one who would get unbanned next
-       if(i >= BAN_MAX)
-       {
+       if (i >= BAN_MAX) {
                i = 0;
                bestscore = ban_expire[i];
-               for(j = 1; j < ban_count; ++j)
-               {
-                       if(ban_expire[j] < bestscore)
-                       {
+               for (j = 1; j < ban_count; ++j) {
+                       if (ban_expire[j] < bestscore) {
                                i = j;
                                bestscore = ban_expire[i];
                        }
@@ -545,11 +563,11 @@ float Ban_Insert(string ip, float bantime, string reason, float dosync)
        }
        // if we replace someone, will we be banned longer than him (so long-term
        // bans never get overridden by short-term bans)
-       if(i < ban_count)
-       if(ban_expire[i] > time + bantime)
-       {
-               LOG_INFO(ip, " could not get banned due to no free ban slot");
-               return false;
+       if (i < ban_count) {
+               if (ban_expire[i] > time + bantime) {
+                       LOG_INFO(ip, " could not get banned due to no free ban slot");
+                       return false;
+               }
        }
        // okay, insert our new victim as i
        Ban_Delete(i);
@@ -563,10 +581,13 @@ float Ban_Insert(string ip, float bantime, string reason, float dosync)
        reason = Ban_Enforce(i, reason);
 
        // and abort
-       if(dosync)
-               if(reason != "")
-                       if(substring(reason, 0, 1) != "~") // like IRC: unauthenticated banner
+       if (dosync) {
+               if (reason != "") {
+                       if (substring(reason, 0, 1) != "~") { // like IRC: unauthenticated banner
                                OnlineBanList_SendBan(ip, bantime, reason);
+                       }
+               }
+       }
 
        return true;
 }
@@ -574,16 +595,14 @@ float Ban_Insert(string ip, float bantime, string reason, float dosync)
 void Ban_KickBanClient(entity client, float bantime, float masksize, string reason)
 {
        string ip, id;
-       if(!Ban_GetClientIP(client))
-       {
+       if (!Ban_GetClientIP(client)) {
                sprint(client, strcat("Kickbanned: ", reason, "\n"));
                dropclient(client);
                return;
        }
 
        // who to ban?
-       switch(masksize)
-       {
+       switch (masksize) {
                case 1:
                        ip = strcat1(ban_ip1);
                        break;
@@ -598,14 +617,16 @@ void Ban_KickBanClient(entity client, float bantime, float masksize, string reas
                        ip = strcat1(ban_ip4);
                        break;
        }
-       if(ban_idfp)
+       if (ban_idfp) {
                id = strcat1(ban_idfp);
-       else
+       } else {
                id = string_null;
+       }
 
        Ban_Insert(ip, bantime, reason, 1);
-       if(id)
+       if (id) {
                Ban_Insert(id, bantime, reason, 1);
+       }
        /*
         * not needed, as we enforce the ban in Ban_Insert anyway
        // and kick him
index c645c7facdce7515e3021c441bb586fdbfd1375a..68311678823eb33468b664d4c05ea62b329a9d04 100644 (file)
@@ -33,26 +33,30 @@ bool item_keys_usekey(entity l, entity p)
        }
 }
 
-string item_keys_keylist(float keylist) {
+string item_keys_keylist(float keylist)
+{
        // no keys
-       if (!keylist)
+       if (!keylist) {
                return "";
+       }
 
        // one key
-       if ((keylist & (keylist-1)) == 0)
+       if ((keylist & (keylist - 1)) == 0) {
                return strcat("the ", item_keys_names[lowestbit(keylist)]);
+       }
 
        string n = "";
        int base = 0;
        while (keylist) {
                int l = lowestbit(keylist);
-               if (n)
+               if (n) {
                        n = strcat(n, ", the ", item_keys_names[base + l]);
-               else
+               } else {
                        n = strcat("the ", item_keys_names[base + l]);
+               }
 
                keylist = bitshift(keylist,  -(l + 1));
-               base+= l + 1;
+               base += l + 1;
        }
 
        return n;
@@ -70,12 +74,14 @@ item_key
  */
 void item_key_touch(entity this, entity toucher)
 {
-       if (!IS_PLAYER(toucher))
+       if (!IS_PLAYER(toucher)) {
                return;
+       }
 
        // player already picked up this key
-       if (PS(toucher).itemkeys & this.itemkeys)
+       if (PS(toucher).itemkeys & this.itemkeys) {
                return;
+       }
 
        PS(toucher).itemkeys |= this.itemkeys;
        play2(toucher, this.noise);
@@ -86,7 +92,7 @@ void item_key_touch(entity this, entity toucher)
        this.message = "";
        SUB_UseTargets(this, toucher, toucher); // TODO: should we be using toucher for the trigger here?
        this.message = oldmsg;
-};
+}
 
 /**
  * Spawn a key with given model, key code and color.
@@ -95,27 +101,28 @@ void spawn_item_key(entity this)
 {
        precache_model(this.model);
 
-       if (this.spawnflags & 1) // FLOATING
+       if (this.spawnflags & 1) // FLOATING
                this.noalign = 1;
+       }
 
-       if (this.noalign)
+       if (this.noalign) {
                set_movetype(this, MOVETYPE_NONE);
-       else
+       } else {
                set_movetype(this, MOVETYPE_TOSS);
+       }
 
        precache_sound(this.noise);
 
        this.mdl = this.model;
        this.effects = EF_LOWPRECISION;
        _setmodel(this, this.model);
-       //setsize(this, '-16 -16 -24', '16 16 32');
+       // setsize(this, '-16 -16 -24', '16 16 32');
        setorigin(this, this.origin + '0 0 32');
        setsize(this, '-16 -16 -56', '16 16 0');
        this.modelflags |= MF_ROTATE;
        this.solid = SOLID_TRIGGER;
 
-       if (!this.noalign)
-       {
+       if (!this.noalign) {
                // first nudge it off the floor a little bit to avoid math errors
                setorigin(this, this.origin + '0 0 1');
                // note droptofloor returns false if stuck/or would fall too far
@@ -123,7 +130,7 @@ void spawn_item_key(entity this)
        }
 
        settouch(this, item_key_touch);
-};
+}
 
 
 /*QUAKED item_key (0 .5 .8) (-16 -16 -24) (16 16 32) FLOATING
@@ -158,55 +165,54 @@ spawnfunc(item_key)
        vector _colormod;
 
        // reject this entity if more than one key was set!
-       if (this.itemkeys>0 && (this.itemkeys & (this.itemkeys-1)) != 0) {
+       if (this.itemkeys > 0 && (this.itemkeys & (this.itemkeys - 1)) != 0) {
                objerror(this, "item_key.itemkeys must contain only 1 bit set specifying the key it represents!");
                delete(this);
                return;
        }
 
        // find default netname and colormod
-       switch(this.itemkeys) {
-       case BIT(0):
-               _netname = "GOLD key";
-               _colormod = '1 .9 0';
-               break;
-
-       case BIT(1):
-               _netname = "SILVER key";
-               _colormod = '.9 .9 .9';
-               break;
-
-       case BIT(2):
-               _netname = "BRONZE key";
-               _colormod = '.6 .25 0';
-               break;
-
-       case BIT(3):
-               _netname = "RED keycard";
-               _colormod = '.9 0 0';
-               break;
-
-       case BIT(4):
-               _netname = "BLUE keycard";
-               _colormod = '0 0 .9';
-               break;
-
-       case BIT(5):
-               _netname = "GREEN keycard";
-               _colormod = '0 .9 0';
-               break;
-
-       default:
-               _netname = "FLUFFY PINK keycard";
-               _colormod = '1 1 1';
-
-               if (this.netname == "") {
-                       objerror(this, "item_key doesn't have a default name for this key and a custom one was not specified!");
-                       delete(this);
-                       return;
-               }
-               break;
-
+       switch (this.itemkeys) {
+               case BIT(0):
+                       _netname = "GOLD key";
+                       _colormod = '1 .9 0';
+                       break;
+
+               case BIT(1):
+                       _netname = "SILVER key";
+                       _colormod = '.9 .9 .9';
+                       break;
+
+               case BIT(2):
+                       _netname = "BRONZE key";
+                       _colormod = '.6 .25 0';
+                       break;
+
+               case BIT(3):
+                       _netname = "RED keycard";
+                       _colormod = '.9 0 0';
+                       break;
+
+               case BIT(4):
+                       _netname = "BLUE keycard";
+                       _colormod = '0 0 .9';
+                       break;
+
+               case BIT(5):
+                       _netname = "GREEN keycard";
+                       _colormod = '0 .9 0';
+                       break;
+
+               default:
+                       _netname = "FLUFFY PINK keycard";
+                       _colormod = '1 1 1';
+
+                       if (this.netname == "") {
+                               objerror(this, "item_key doesn't have a default name for this key and a custom one was not specified!");
+                               delete(this);
+                               return;
+                       }
+                       break;
        }
 
        // find default model
@@ -222,23 +228,28 @@ spawnfunc(item_key)
        }
 
        // set defailt netname
-       if (this.netname == "")
+       if (this.netname == "") {
                this.netname = _netname;
+       }
 
        // set default colormod
-       if (!this.colormod)
+       if (!this.colormod) {
                this.colormod = _colormod;
+       }
 
        // set default model
-       if (this.model == "")
+       if (this.model == "") {
                this.model = _model;
+       }
 
        // set default pickup message
-       if (this.message == "")
+       if (this.message == "") {
                this.message = strzone(strcat("You've picked up the ", this.netname, "!"));
+       }
 
-       if (this.noise == "")
+       if (this.noise == "") {
                this.noise = strzone(SND(ITEMPICKUP));
+       }
 
        // save the name for later
        item_keys_names[lowestbit(this.itemkeys)] = this.netname;
index 50be5f8dba7ef998c238dd68fbb531f6951da142..e1d01223f7b8dff41f5adf6444c93feb215a9c39 100644 (file)
@@ -3,9 +3,9 @@
 /**
  * Returns the bit ID of a key
  */
-#define ITEM_KEY_BIT(n)        ( bitshift(1, n) )
+#define ITEM_KEY_BIT(n) (bitshift(1, n))
 
-#define ITEM_KEY_MAX   24
+#define ITEM_KEY_MAX 24
 
 /**
  * list of key names.
index 209ac7af98085daf7bdffed0fc335eacba721141..ade13b3171ff148d1bb86e0677f6558065b89b6b 100644 (file)
@@ -42,14 +42,15 @@ entity mapvote_ent;
 
 /**
  * Returns the gamtype ID from its name, if type_name isn't a real gametype it
- * checks for sv_vote_gametype_(type_name)_type
+ * checks for sv_vote_gametype_(type_name) _type
  */
 Gametype GameTypeVote_Type_FromString(string type_name)
 {
        Gametype type = MapInfo_Type_FromString(type_name);
-       if (type == NULL)
+       if (type == NULL) {
                type = MapInfo_Type_FromString(cvar_string(
-                       strcat("sv_vote_gametype_",type_name,"_type")));
+                       strcat("sv_vote_gametype_", type_name, "_type")));
+       }
        return type;
 }
 
@@ -58,22 +59,23 @@ int GameTypeVote_AvailabilityStatus(string type_name)
        int flag = GTV_FORBIDDEN;
 
        Gametype type = MapInfo_Type_FromString(type_name);
-       if ( type == NULL )
-       {
+       if (type == NULL) {
                type = MapInfo_Type_FromString(cvar_string(
-                       strcat("sv_vote_gametype_",type_name,"_type")));
+                       strcat("sv_vote_gametype_", type_name, "_type")));
                flag |= GTV_CUSTOM;
        }
 
-       if( type == NULL )
+       if (type == NULL) {
                return flag;
+       }
 
-       if ( autocvar_nextmap != "" )
-       {
-               if ( !MapInfo_Get_ByName(autocvar_nextmap, false, NULL) )
+       if (autocvar_nextmap != "") {
+               if (!MapInfo_Get_ByName(autocvar_nextmap, false, NULL)) {
                        return flag;
-               if (!(MapInfo_Map_supportedGametypes & type.m_flags))
+               }
+               if (!(MapInfo_Map_supportedGametypes & type.m_flags)) {
                        return flag;
+               }
        }
 
        return flag | GTV_AVAILABLE;
@@ -85,15 +87,15 @@ int GameTypeVote_GetMask()
        n = tokenizebyseparator(autocvar_sv_vote_gametype_options, " ");
        n = min(MAPVOTE_COUNT, n);
        gametype_mask = 0;
-       for(j = 0; j < n; ++j)
+       for (j = 0; j < n; ++j) {
                gametype_mask |= GameTypeVote_Type_FromString(argv(j)).m_flags;
+       }
        return gametype_mask;
 }
 
 string GameTypeVote_MapInfo_FixName(string m)
 {
-       if ( autocvar_sv_vote_gametype )
-       {
+       if (autocvar_sv_vote_gametype) {
                MapInfo_Enumerate();
                _MapInfo_FilterGametype(GameTypeVote_GetMask(), 0, MapInfo_RequiredFlags(), MapInfo_ForbiddenFlags(), 0);
        }
@@ -102,20 +104,18 @@ string GameTypeVote_MapInfo_FixName(string m)
 
 void MapVote_ClearAllVotes()
 {
-       FOREACH_CLIENT(true, { it.mapvote = 0; });
+       FOREACH_CLIENT(true, { it.mapvote = 0;
+               });
 }
 
 void MapVote_UnzoneStrings()
 {
-       for(int j = 0; j < mapvote_count; ++j)
-       {
-               if ( mapvote_maps[j] )
-               {
+       for (int j = 0; j < mapvote_count; ++j) {
+               if (mapvote_maps[j]) {
                        strunzone(mapvote_maps[j]);
                        mapvote_maps[j] = string_null;
                }
-               if ( mapvote_maps_pakfile[j] )
-               {
+               if (mapvote_maps_pakfile[j]) {
                        strunzone(mapvote_maps_pakfile[j]);
                        mapvote_maps_pakfile[j] = string_null;
                }
@@ -125,40 +125,50 @@ void MapVote_UnzoneStrings()
 string MapVote_Suggest(entity this, string m)
 {
        int i;
-       if(m == "")
+       if (m == "") {
                return "That's not how to use this command.";
-       if(!autocvar_g_maplist_votable_suggestions)
+       }
+       if (!autocvar_g_maplist_votable_suggestions) {
                return "Suggestions are not accepted on this server.";
-       if(mapvote_initialized)
-       if(!gametypevote)
-               return "Can't suggest - voting is already in progress!";
+       }
+       if (mapvote_initialized) {
+               if (!gametypevote) {
+                       return "Can't suggest - voting is already in progress!";
+               }
+       }
        m = GameTypeVote_MapInfo_FixName(m);
-       if (!m)
+       if (!m) {
                return "The map you suggested is not available on this server.";
-       if(!autocvar_g_maplist_votable_suggestions_override_mostrecent)
-               if(Map_IsRecent(m))
+       }
+       if (!autocvar_g_maplist_votable_suggestions_override_mostrecent) {
+               if (Map_IsRecent(m)) {
                        return "This server does not allow for recent maps to be played again. Please be patient for some rounds.";
+               }
+       }
 
-       if (!autocvar_sv_vote_gametype)
-       if(!MapInfo_CheckMap(m))
-               return "The map you suggested does not support the current game mode.";
-       for(i = 0; i < mapvote_suggestion_ptr; ++i)
-               if(mapvote_suggestions[i] == m)
+       if (!autocvar_sv_vote_gametype) {
+               if (!MapInfo_CheckMap(m)) {
+                       return "The map you suggested does not support the current game mode.";
+               }
+       }
+       for (i = 0; i < mapvote_suggestion_ptr; ++i) {
+               if (mapvote_suggestions[i] == m) {
                        return "This map was already suggested.";
-       if(mapvote_suggestion_ptr >= MAPVOTE_COUNT)
-       {
-               i = floor(random() * mapvote_suggestion_ptr);
+               }
        }
-       else
-       {
+       if (mapvote_suggestion_ptr >= MAPVOTE_COUNT) {
+               i = floor(random() * mapvote_suggestion_ptr);
+       } else {
                i = mapvote_suggestion_ptr;
                mapvote_suggestion_ptr += 1;
        }
-       if(mapvote_suggestions[i] != "")
+       if (mapvote_suggestions[i] != "") {
                strunzone(mapvote_suggestions[i]);
+       }
        mapvote_suggestions[i] = strzone(m);
-       if(autocvar_sv_eventlog)
+       if (autocvar_sv_eventlog) {
                GameLogEcho(strcat(":vote:suggested:", m, ":", ftos(this.playerid)));
+       }
        return strcat("Suggestion of ", m, " accepted.");
 }
 
@@ -167,34 +177,43 @@ void MapVote_AddVotable(string nextMap, bool isSuggestion)
        int j, i, o;
        string pakfile, mapfile;
 
-       if(nextMap == "")
+       if (nextMap == "") {
                return;
-       for(j = 0; j < mapvote_count; ++j)
-               if(mapvote_maps[j] == nextMap)
+       }
+       for (j = 0; j < mapvote_count; ++j) {
+               if (mapvote_maps[j] == nextMap) {
                        return;
+               }
+       }
        // suggestions might be no longer valid/allowed after gametype switch!
-       if(isSuggestion)
-               if(!MapInfo_CheckMap(nextMap))
+       if (isSuggestion) {
+               if (!MapInfo_CheckMap(nextMap)) {
                        return;
+               }
+       }
        mapvote_maps[mapvote_count] = strzone(nextMap);
        mapvote_maps_suggested[mapvote_count] = isSuggestion;
 
        pakfile = string_null;
-       for(i = 0; i < mapvote_screenshot_dirs_count; ++i)
-       {
+       for (i = 0; i < mapvote_screenshot_dirs_count; ++i) {
                mapfile = strcat(mapvote_screenshot_dirs[i], "/", nextMap);
                pakfile = whichpack(strcat(mapfile, ".tga"));
-               if(pakfile == "")
+               if (pakfile == "") {
                        pakfile = whichpack(strcat(mapfile, ".jpg"));
-               if(pakfile == "")
+               }
+               if (pakfile == "") {
                        pakfile = whichpack(strcat(mapfile, ".png"));
-               if(pakfile != "")
+               }
+               if (pakfile != "") {
                        break;
+               }
        }
-       if(i >= mapvote_screenshot_dirs_count)
+       if (i >= mapvote_screenshot_dirs_count) {
                i = 0; // FIXME maybe network this error case, as that means there is no mapshot on the server?
-       for(o = strstrofs(pakfile, "/", 0)+1; o > 0; o = strstrofs(pakfile, "/", 0)+1)
+       }
+       for (o = strstrofs(pakfile, "/", 0) + 1; o > 0; o = strstrofs(pakfile, "/", 0) + 1) {
                pakfile = substring(pakfile, o, -1);
+       }
 
        mapvote_maps_screenshot_dir[mapvote_count] = i;
        mapvote_maps_pakfile[mapvote_count] = strzone(pakfile);
@@ -215,48 +234,57 @@ void MapVote_Init()
        mapvote_detail = !autocvar_g_maplist_votable_nodetail;
        mapvote_abstain = boolean(autocvar_g_maplist_votable_abstain);
 
-       if(mapvote_abstain)
+       if (mapvote_abstain) {
                nmax = min(MAPVOTE_COUNT - 1, autocvar_g_maplist_votable);
-       else
+       } else {
                nmax = min(MAPVOTE_COUNT, autocvar_g_maplist_votable);
+       }
        smax = min3(nmax, autocvar_g_maplist_votable_suggestions, mapvote_suggestion_ptr);
 
        // we need this for AddVotable, as that cycles through the screenshot dirs
        mapvote_screenshot_dirs_count = tokenize_console(autocvar_g_maplist_votable_screenshot_dir);
-       if(mapvote_screenshot_dirs_count == 0)
+       if (mapvote_screenshot_dirs_count == 0) {
                mapvote_screenshot_dirs_count = tokenize_console("maps levelshots");
+       }
        mapvote_screenshot_dirs_count = min(mapvote_screenshot_dirs_count, MAPVOTE_SCREENSHOT_DIRS_COUNT);
-       for(i = 0; i < mapvote_screenshot_dirs_count; ++i)
+       for (i = 0; i < mapvote_screenshot_dirs_count; ++i) {
                mapvote_screenshot_dirs[i] = strzone(argv(i));
+       }
 
-       if(mapvote_suggestion_ptr)
-               for(i = 0; i < 100 && mapvote_count < smax; ++i)
+       if (mapvote_suggestion_ptr) {
+               for (i = 0; i < 100 && mapvote_count < smax; ++i) {
                        MapVote_AddVotable(mapvote_suggestions[floor(random() * mapvote_suggestion_ptr)], true);
+               }
+       }
 
-       for(i = 0; i < 100 && mapvote_count < nmax; ++i)
+       for (i = 0; i < 100 && mapvote_count < nmax; ++i) {
                MapVote_AddVotable(GetNextMap(), false);
+       }
 
-       if(mapvote_count == 0)
-       {
-               bprint( "Maplist contains no single playable map!  Resetting it to default map list.\n" );
+       if (mapvote_count == 0) {
+               bprint("Maplist contains no single playable map!  Resetting it to default map list.\n");
                cvar_set("g_maplist", MapInfo_ListAllowedMaps(MapInfo_CurrentGametype(), MapInfo_RequiredFlags(), MapInfo_ForbiddenFlags()));
-               if(autocvar_g_maplist_shuffle)
+               if (autocvar_g_maplist_shuffle) {
                        ShuffleMaplist();
+               }
                localcmd("\nmenu_cmd sync\n");
-               for(i = 0; i < 100 && mapvote_count < nmax; ++i)
+               for (i = 0; i < 100 && mapvote_count < nmax; ++i) {
                        MapVote_AddVotable(GetNextMap(), false);
+               }
        }
 
        mapvote_count_real = mapvote_count;
-       if(mapvote_abstain)
+       if (mapvote_abstain) {
                MapVote_AddVotable("don't care", false);
+       }
 
-       //dprint("mapvote count is ", ftos(mapvote_count), "\n");
+       // dprint("mapvote count is ", ftos(mapvote_count), "\n");
 
        mapvote_keeptwotime = time + autocvar_g_maplist_votable_keeptwotime;
        mapvote_timeout = time + autocvar_g_maplist_votable_timeout;
-       if(mapvote_count_real < 3 || mapvote_keeptwotime <= time)
+       if (mapvote_count_real < 3 || mapvote_keeptwotime <= time) {
                mapvote_keeptwotime = 0;
+       }
 
        MapVote_Spawn();
 }
@@ -272,26 +300,25 @@ void MapVote_SendPicture(entity to, int id)
 
 void MapVote_WriteMask()
 {
-       if ( mapvote_count < 24 )
-       {
+       if (mapvote_count < 24) {
                int mask = 0;
-               for(int j = 0; j < mapvote_count; ++j)
-               {
-                       if(mapvote_maps_flags[j] & GTV_AVAILABLE)
+               for (int j = 0; j < mapvote_count; ++j) {
+                       if (mapvote_maps_flags[j] & GTV_AVAILABLE) {
                                mask |= BIT(j);
+                       }
                }
 
-               if(mapvote_count < 8)
+               if (mapvote_count < 8) {
                        WriteByte(MSG_ENTITY, mask);
-               else if (mapvote_count < 16)
-                       WriteShort(MSG_ENTITY,mask);
-               else
+               } else if (mapvote_count < 16) {
+                       WriteShort(MSG_ENTITY, mask);
+               } else {
                        WriteLong(MSG_ENTITY, mask);
-       }
-       else
-       {
-               for (int j = 0; j < mapvote_count; ++j)
+               }
+       } else {
+               for (int j = 0; j < mapvote_count; ++j) {
                        WriteByte(MSG_ENTITY, mapvote_maps_flags[j]);
+               }
        }
 }
 
@@ -301,14 +328,11 @@ void MapVote_WriteMask()
 void MapVote_SendOption(int i)
 {
        // abstain
-       if(mapvote_abstain && i == mapvote_count - 1)
-       {
+       if (mapvote_abstain && i == mapvote_count - 1) {
                WriteString(MSG_ENTITY, ""); // abstain needs no text
                WriteString(MSG_ENTITY, ""); // abstain needs no pack
-               WriteByte(MSG_ENTITY, 0); // abstain needs no screenshot dir
-       }
-       else
-       {
+               WriteByte(MSG_ENTITY, 0);    // abstain needs no screenshot dir
+       } else {
                WriteString(MSG_ENTITY, mapvote_maps[i]);
                WriteString(MSG_ENTITY, mapvote_maps_pakfile[i]);
                WriteByte(MSG_ENTITY, mapvote_maps_screenshot_dir[i]);
@@ -321,24 +345,20 @@ void MapVote_SendOption(int i)
 void GameTypeVote_SendOption(int i)
 {
        // abstain
-       if(mapvote_abstain && i == mapvote_count - 1)
-       {
+       if (mapvote_abstain && i == mapvote_count - 1) {
                WriteString(MSG_ENTITY, ""); // abstain needs no text
                WriteByte(MSG_ENTITY, GTV_AVAILABLE);
-       }
-       else
-       {
+       } else {
                string type_name = mapvote_maps[i];
                WriteString(MSG_ENTITY, type_name);
                WriteByte(MSG_ENTITY, mapvote_maps_flags[i]);
-               if ( mapvote_maps_flags[i] & GTV_CUSTOM )
-               {
+               if (mapvote_maps_flags[i] & GTV_CUSTOM) {
                        WriteString(MSG_ENTITY, cvar_string(
-                               strcat("sv_vote_gametype_",type_name,"_name")));
+                               strcat("sv_vote_gametype_", type_name, "_name")));
                        WriteString(MSG_ENTITY, cvar_string(
-                               strcat("sv_vote_gametype_",type_name,"_description")));
+                               strcat("sv_vote_gametype_", type_name, "_description")));
                        WriteString(MSG_ENTITY, cvar_string(
-                               strcat("sv_vote_gametype_",type_name,"_type")));
+                               strcat("sv_vote_gametype_", type_name, "_type")));
                }
        }
 }
@@ -347,62 +367,59 @@ bool MapVote_SendEntity(entity this, entity to, int sf)
 {
        int i;
 
-       if(sf & 1)
+       if (sf & 1) {
                sf &= ~2; // if we send 1, we don't need to also send 2
-
+       }
        WriteHeader(MSG_ENTITY, ENT_CLIENT_MAPVOTE);
        WriteByte(MSG_ENTITY, sf);
 
-       if(sf & 1)
-       {
+       if (sf & 1) {
                // flag 1 == initialization
-               for(i = 0; i < mapvote_screenshot_dirs_count; ++i)
+               for (i = 0; i < mapvote_screenshot_dirs_count; ++i) {
                        WriteString(MSG_ENTITY, mapvote_screenshot_dirs[i]);
+               }
                WriteString(MSG_ENTITY, "");
                WriteByte(MSG_ENTITY, mapvote_count);
                WriteByte(MSG_ENTITY, mapvote_abstain);
                WriteByte(MSG_ENTITY, mapvote_detail);
                WriteCoord(MSG_ENTITY, mapvote_timeout);
 
-               if ( gametypevote )
-               {
+               if (gametypevote) {
                        // gametype vote
                        WriteByte(MSG_ENTITY, 1);
                        WriteString(MSG_ENTITY, autocvar_nextmap);
-               }
-               else if ( autocvar_sv_vote_gametype )
-               {
+               } else if (autocvar_sv_vote_gametype) {
                        // map vote but gametype has been chosen via voting screen
                        WriteByte(MSG_ENTITY, 2);
                        WriteString(MSG_ENTITY, MapInfo_Type_ToText(MapInfo_CurrentGametype()));
-               }
-               else
+               } else {
                        WriteByte(MSG_ENTITY, 0); // map vote
-
+               }
                MapVote_WriteMask();
 
                // Send data for the vote options
-               for(i = 0; i < mapvote_count; ++i)
-               {
-                       if(gametypevote)
+               for (i = 0; i < mapvote_count; ++i) {
+                       if (gametypevote) {
                                GameTypeVote_SendOption(i);
-                       else
+                       } else {
                                MapVote_SendOption(i);
+                       }
                }
        }
 
-       if(sf & 2)
-       {
+       if (sf & 2) {
                // flag 2 == update of mask
                MapVote_WriteMask();
        }
 
-       if(sf & 4)
-       {
-               if(mapvote_detail)
-                       for(i = 0; i < mapvote_count; ++i)
-                               if ( mapvote_maps_flags[i] & GTV_AVAILABLE )
+       if (sf & 4) {
+               if (mapvote_detail) {
+                       for (i = 0; i < mapvote_count; ++i) {
+                               if (mapvote_maps_flags[i] & GTV_AVAILABLE) {
                                        WriteByte(MSG_ENTITY, mapvote_selections[i]);
+                               }
+                       }
+               }
 
                WriteByte(MSG_ENTITY, to.mapvote);
        }
@@ -427,51 +444,49 @@ void MapVote_TouchVotes(entity voter)
 
 bool MapVote_Finished(int mappos)
 {
-       if(alreadychangedlevel)
+       if (alreadychangedlevel) {
                return false;
+       }
 
        string result;
        int i;
        int didntvote;
 
-       if(autocvar_sv_eventlog)
-       {
+       if (autocvar_sv_eventlog) {
                result = strcat(":vote:finished:", mapvote_maps[mappos]);
                result = strcat(result, ":", ftos(mapvote_selections[mappos]), "::");
                didntvote = mapvote_voters;
-               for(i = 0; i < mapvote_count; ++i)
-                       if(mapvote_maps_flags[i] & GTV_AVAILABLE )
-                       {
+               for (i = 0; i < mapvote_count; ++i) {
+                       if (mapvote_maps_flags[i] & GTV_AVAILABLE) {
                                didntvote -= mapvote_selections[i];
-                               if(i != mappos)
-                               {
+                               if (i != mappos) {
                                        result = strcat(result, ":", mapvote_maps[i]);
                                        result = strcat(result, ":", ftos(mapvote_selections[i]));
                                }
                        }
+               }
                result = strcat(result, ":didn't vote:", ftos(didntvote));
 
                GameLogEcho(result);
-               if(mapvote_maps_suggested[mappos])
+               if (mapvote_maps_suggested[mappos]) {
                        GameLogEcho(strcat(":vote:suggestion_accepted:", mapvote_maps[mappos]));
+               }
        }
 
-       FOREACH_CLIENT(IS_REAL_CLIENT(it), { FixClientCvars(it); });
+       FOREACH_CLIENT(IS_REAL_CLIENT(it), { FixClientCvars(it);
+               });
 
-       if(gametypevote)
-       {
-               if ( GameTypeVote_Finished(mappos) )
-               {
+       if (gametypevote) {
+               if (GameTypeVote_Finished(mappos)) {
                        gametypevote = false;
-                       if(autocvar_nextmap != "")
-                       {
+                       if (autocvar_nextmap != "") {
                                Map_Goto_SetStr(autocvar_nextmap);
                                Map_Goto(0);
                                alreadychangedlevel = true;
                                return true;
-                       }
-                       else
+                       } else {
                                MapVote_Init();
+                       }
                }
                return false;
        }
@@ -485,20 +500,19 @@ bool MapVote_Finished(int mappos)
 
 void MapVote_CheckRules_1()
 {
-       for (int i = 0; i < mapvote_count; ++i)
-               if (mapvote_maps_flags[i] & GTV_AVAILABLE)
-               {
-                       //dprint("Map ", ftos(i), ": "); dprint(mapvote_maps[i], "\n");
+       for (int i = 0; i < mapvote_count; ++i) {
+               if (mapvote_maps_flags[i] & GTV_AVAILABLE) {
+                       // dprint("Map ", ftos(i), ": "); dprint(mapvote_maps[i], "\n");
                        mapvote_selections[i] = 0;
                }
+       }
 
        mapvote_voters = 0;
        FOREACH_CLIENT(IS_REAL_CLIENT(it), {
                ++mapvote_voters;
-               if (it.mapvote)
-               {
+               if (it.mapvote) {
                        int idx = it.mapvote - 1;
-                       //dprint("Player ", it.netname, " vote = ", ftos(idx), "\n");
+                   // dprint("Player ", it.netname, " vote = ", ftos(idx), "\n");
                        ++mapvote_selections[idx];
                }
        });
@@ -512,54 +526,60 @@ bool MapVote_CheckRules_2()
        int mapvote_voters_real;
        string result;
 
-       if(mapvote_count_real == 1)
+       if (mapvote_count_real == 1) {
                return MapVote_Finished(0);
+       }
 
        mapvote_voters_real = mapvote_voters;
-       if(mapvote_abstain)
+       if (mapvote_abstain) {
                mapvote_voters_real -= mapvote_selections[mapvote_count - 1];
+       }
 
        RandomSelection_Init();
        currentPlace = 0;
        currentVotes = -1;
-       for(i = 0; i < mapvote_count_real; ++i)
-               if ( mapvote_maps_flags[i] & GTV_AVAILABLE )
-               {
+       for (i = 0; i < mapvote_count_real; ++i) {
+               if (mapvote_maps_flags[i] & GTV_AVAILABLE) {
                        RandomSelection_AddFloat(i, 1, mapvote_selections[i]);
-                       if ( gametypevote &&  mapvote_maps[i] == MapInfo_Type_ToString(MapInfo_CurrentGametype()) )
-                       {
+                       if (gametypevote &&  mapvote_maps[i] == MapInfo_Type_ToString(MapInfo_CurrentGametype())) {
                                currentVotes = mapvote_selections[i];
                                currentPlace = i;
                        }
                }
+       }
        firstPlaceVotes = RandomSelection_best_priority;
-       if ( autocvar_sv_vote_gametype_default_current && currentVotes == firstPlaceVotes )
+       if (autocvar_sv_vote_gametype_default_current && currentVotes == firstPlaceVotes) {
                firstPlace = currentPlace;
-       else
+       } else {
                firstPlace = RandomSelection_chosen_float;
+       }
 
-       //dprint("First place: ", ftos(firstPlace), "\n");
-       //dprint("First place votes: ", ftos(firstPlaceVotes), "\n");
+       // dprint("First place: ", ftos(firstPlace), "\n");
+       // dprint("First place votes: ", ftos(firstPlaceVotes), "\n");
 
        RandomSelection_Init();
-       for(i = 0; i < mapvote_count_real; ++i)
-               if(i != firstPlace)
-               if ( mapvote_maps_flags[i] & GTV_AVAILABLE )
-                       RandomSelection_AddFloat(i, 1, mapvote_selections[i]);
+       for (i = 0; i < mapvote_count_real; ++i) {
+               if (i != firstPlace) {
+                       if (mapvote_maps_flags[i] & GTV_AVAILABLE) {
+                               RandomSelection_AddFloat(i, 1, mapvote_selections[i]);
+                       }
+               }
+       }
        secondPlace = RandomSelection_chosen_float;
        secondPlaceVotes = RandomSelection_best_priority;
-       //dprint("Second place: ", ftos(secondPlace), "\n");
-       //dprint("Second place votes: ", ftos(secondPlaceVotes), "\n");
+       // dprint("Second place: ", ftos(secondPlace), "\n");
+       // dprint("Second place votes: ", ftos(secondPlaceVotes), "\n");
 
-       if(firstPlace == -1)
+       if (firstPlace == -1) {
                error("No first place in map vote... WTF?");
+       }
 
-       if(secondPlace == -1 || time > mapvote_timeout || (mapvote_voters_real - firstPlaceVotes) < firstPlaceVotes)
+       if (secondPlace == -1 || time > mapvote_timeout || (mapvote_voters_real - firstPlaceVotes) < firstPlaceVotes) {
                return MapVote_Finished(firstPlace);
+       }
 
-       if(mapvote_keeptwotime)
-               if(time > mapvote_keeptwotime || (mapvote_voters_real - firstPlaceVotes - secondPlaceVotes) < secondPlaceVotes)
-               {
+       if (mapvote_keeptwotime) {
+               if (time > mapvote_keeptwotime || (mapvote_voters_real - firstPlaceVotes - secondPlaceVotes) < secondPlaceVotes) {
                        MapVote_TouchMask();
                        mapvote_keeptwotime = 0;
                        result = strcat(":vote:keeptwo:", mapvote_maps[firstPlace]);
@@ -567,40 +587,39 @@ bool MapVote_CheckRules_2()
                        result = strcat(result, ":", mapvote_maps[secondPlace]);
                        result = strcat(result, ":", ftos(secondPlaceVotes), "::");
                        int didntvote = mapvote_voters;
-                       for(i = 0; i < mapvote_count; ++i)
-                       {
+                       for (i = 0; i < mapvote_count; ++i) {
                                didntvote -= mapvote_selections[i];
-                               if(i != firstPlace)
-                                       if(i != secondPlace)
-                                       {
+                               if (i != firstPlace) {
+                                       if (i != secondPlace) {
                                                result = strcat(result, ":", mapvote_maps[i]);
                                                result = strcat(result, ":", ftos(mapvote_selections[i]));
-                                               if(i < mapvote_count_real)
-                                               {
+                                               if (i < mapvote_count_real) {
                                                        mapvote_maps_flags[i] &= ~GTV_AVAILABLE;
                                                }
                                        }
+                               }
                        }
                        result = strcat(result, ":didn't vote:", ftos(didntvote));
-                       if(autocvar_sv_eventlog)
+                       if (autocvar_sv_eventlog) {
                                GameLogEcho(result);
+                       }
                }
+       }
 
        return false;
 }
 
 void MapVote_Tick()
 {
-
        MapVote_CheckRules_1(); // count
-       if(MapVote_CheckRules_2()) // decide
+       if (MapVote_CheckRules_2()) { // decide
                return;
+       }
 
        int totalvotes = 0;
        FOREACH_CLIENT(IS_REAL_CLIENT(it), {
                // hide scoreboard again
-               if(it.health != 2342)
-               {
+               if (it.health != 2342) {
                        it.health = 2342;
                        CS(it).impulse = 0;
 
@@ -610,19 +629,21 @@ void MapVote_Tick()
                }
 
                // clear possibly invalid votes
-               if ( !(mapvote_maps_flags[it.mapvote-1] & GTV_AVAILABLE) )
+               if (!(mapvote_maps_flags[it.mapvote - 1] & GTV_AVAILABLE)) {
                        it.mapvote = 0;
+               }
                // use impulses as new vote
-               if(CS(it).impulse >= 1 && CS(it).impulse <= mapvote_count)
-                       if( mapvote_maps_flags[CS(it).impulse - 1] & GTV_AVAILABLE )
-                       {
+               if (CS(it).impulse >= 1 && CS(it).impulse <= mapvote_count) {
+                       if (mapvote_maps_flags[CS(it).impulse - 1] & GTV_AVAILABLE) {
                                it.mapvote = CS(it).impulse;
                                MapVote_TouchVotes(it);
                        }
+               }
                CS(it).impulse = 0;
 
-               if(it.mapvote)
+               if (it.mapvote) {
                        ++totalvotes;
+               }
        });
 
        MapVote_CheckRules_1(); // just count
@@ -631,63 +652,63 @@ void MapVote_Tick()
 void MapVote_Start()
 {
        // if mapvote is already running, don't do this initialization again
-       if(mapvote_run) { return; }
+       if (mapvote_run) { return; }
 
        // don't start mapvote until after playerstats gamereport is sent
-       if(PlayerStats_GameReport_DelayMapVote) { return; }
+       if (PlayerStats_GameReport_DelayMapVote) { return; }
 
        MapInfo_Enumerate();
-       if(MapInfo_FilterGametype(MapInfo_CurrentGametype(), MapInfo_CurrentFeatures(), MapInfo_RequiredFlags(), MapInfo_ForbiddenFlags(), 1))
+       if (MapInfo_FilterGametype(MapInfo_CurrentGametype(), MapInfo_CurrentFeatures(), MapInfo_RequiredFlags(), MapInfo_ForbiddenFlags(), 1)) {
                mapvote_run = true;
+       }
 }
 
 void MapVote_Think()
 {
-       if(!mapvote_run)
+       if (!mapvote_run) {
                return;
+       }
 
-       if(alreadychangedlevel)
+       if (alreadychangedlevel) {
                return;
+       }
 
-       if(time < mapvote_nextthink)
+       if (time < mapvote_nextthink) {
                return;
-       //dprint("tick\n");
+       }
+       // dprint("tick\n");
 
        mapvote_nextthink = time + 0.5;
 
-       if(!mapvote_initialized)
-       {
-               if(autocvar_rescan_pending == 1)
-               {
+       if (!mapvote_initialized) {
+               if (autocvar_rescan_pending == 1) {
                        cvar_set("rescan_pending", "2");
                        localcmd("fs_rescan\nrescan_pending 3\n");
                        return;
-               }
-               else if(autocvar_rescan_pending == 2)
-               {
+               } else if (autocvar_rescan_pending == 2) {
                        return;
-               }
-               else if(autocvar_rescan_pending == 3)
-               {
+               } else if (autocvar_rescan_pending == 3) {
                        // now build missing mapinfo files
-                       if(!MapInfo_FilterGametype(MapInfo_CurrentGametype(), MapInfo_CurrentFeatures(), MapInfo_RequiredFlags(), MapInfo_ForbiddenFlags(), 1))
+                       if (!MapInfo_FilterGametype(MapInfo_CurrentGametype(), MapInfo_CurrentFeatures(), MapInfo_RequiredFlags(), MapInfo_ForbiddenFlags(), 1)) {
                                return;
+                       }
 
                        // we're done, start the timer
                        cvar_set("rescan_pending", "0");
                }
 
                mapvote_initialized = true;
-               if(DoNextMapOverride(0))
+               if (DoNextMapOverride(0)) {
                        return;
-               if(!autocvar_g_maplist_votable || player_count <= 0)
-               {
+               }
+               if (!autocvar_g_maplist_votable || player_count <= 0) {
                        GotoNextMap(0);
                        return;
                }
 
-               if(autocvar_sv_vote_gametype) { GameTypeVote_Start(); }
-               else if(autocvar_nextmap == "") { MapVote_Init(); }
+               if (autocvar_sv_vote_gametype) { GameTypeVote_Start(); } else if (autocvar_nextmap == "") {
+                       MapVote_Init();
+               }
        }
 
        MapVote_Tick();
@@ -695,8 +716,9 @@ void MapVote_Think()
 
 bool GameTypeVote_SetGametype(Gametype type)
 {
-       if (MapInfo_CurrentGametype() == type)
+       if (MapInfo_CurrentGametype() == type) {
                return true;
+       }
 
        Gametype tsave = MapInfo_CurrentGametype();
 
@@ -704,26 +726,24 @@ bool GameTypeVote_SetGametype(Gametype type)
 
        MapInfo_Enumerate();
        MapInfo_FilterGametype(type, MapInfo_CurrentFeatures(), MapInfo_RequiredFlags(), MapInfo_ForbiddenFlags(), 0);
-       if(MapInfo_count > 0)
-       {
+       if (MapInfo_count > 0) {
                // update lsmaps in case the gametype changed, this way people can easily list maps for it
-               if(lsmaps_reply != "") { strunzone(lsmaps_reply); }
+               if (lsmaps_reply != "") { strunzone(lsmaps_reply); }
                lsmaps_reply = strzone(getlsmaps());
                bprint("Game type successfully switched to ", MapInfo_Type_ToString(type), "\n");
-       }
-       else
-       {
+       } else {
                bprint("Cannot use this game type: no map for it found\n");
                MapInfo_SwitchGameType(tsave);
                MapInfo_FilterGametype(MapInfo_CurrentGametype(), MapInfo_CurrentFeatures(), MapInfo_RequiredFlags(), MapInfo_ForbiddenFlags(), 0);
                return false;
        }
 
-       //localcmd("gametype ", MapInfo_Type_ToString(type), "\n");
+       // localcmd("gametype ", MapInfo_Type_ToString(type), "\n");
 
-       cvar_set("g_maplist", MapInfo_ListAllowedMaps(type, MapInfo_RequiredFlags(), MapInfo_ForbiddenFlags()) );
-       if(autocvar_g_maplist_shuffle)
+       cvar_set("g_maplist", MapInfo_ListAllowedMaps(type, MapInfo_RequiredFlags(), MapInfo_ForbiddenFlags()));
+       if (autocvar_g_maplist_shuffle) {
                ShuffleMaplist();
+       }
 
        return true;
 }
@@ -731,11 +751,11 @@ bool GameTypeVote_SetGametype(Gametype type)
 bool gametypevote_finished;
 bool GameTypeVote_Finished(int pos)
 {
-       if(!gametypevote || gametypevote_finished)
+       if (!gametypevote || gametypevote_finished) {
                return false;
+       }
 
-       if ( !GameTypeVote_SetGametype(GameTypeVote_Type_FromString(mapvote_maps[pos])) )
-       {
+       if (!GameTypeVote_SetGametype(GameTypeVote_Type_FromString(mapvote_maps[pos]))) {
                LOG_TRACE("Selected gametype is not supported by any map");
        }
 
@@ -749,12 +769,15 @@ bool GameTypeVote_Finished(int pos)
 
 bool GameTypeVote_AddVotable(string nextMode)
 {
-       if ( nextMode == "" || GameTypeVote_Type_FromString(nextMode) == NULL )
+       if (nextMode == "" || GameTypeVote_Type_FromString(nextMode) == NULL) {
                return false;
+       }
 
-       for(int j = 0; j < mapvote_count; ++j)
-               if(mapvote_maps[j] == nextMode)
+       for (int j = 0; j < mapvote_count; ++j) {
+               if (mapvote_maps[j] == nextMode) {
                        return false;
+               }
+       }
 
        mapvote_maps[mapvote_count] = strzone(nextMode);
        mapvote_maps_suggested[mapvote_count] = false;
@@ -766,7 +789,6 @@ bool GameTypeVote_AddVotable(string nextMode)
        mapvote_count += 1;
 
        return true;
-
 }
 
 bool GameTypeVote_Start()
@@ -785,13 +807,12 @@ bool GameTypeVote_Start()
        int really_available, which_available;
        really_available = 0;
        which_available = -1;
-       for(int j = 0; j < n; ++j)
-       {
-               if ( GameTypeVote_AddVotable(argv(j)) )
-               if ( mapvote_maps_flags[j] & GTV_AVAILABLE )
-               {
-                       really_available++;
-                       which_available = j;
+       for (int j = 0; j < n; ++j) {
+               if (GameTypeVote_AddVotable(argv(j))) {
+                       if (mapvote_maps_flags[j] & GTV_AVAILABLE) {
+                               really_available++;
+                               which_available = j;
+                       }
                }
        }
 
@@ -799,18 +820,17 @@ bool GameTypeVote_Start()
 
        gametypevote = 1;
 
-       if ( really_available == 0 )
-       {
-               if ( mapvote_count > 0 )
+       if (really_available == 0) {
+               if (mapvote_count > 0) {
                        strunzone(mapvote_maps[0]);
+               }
                mapvote_maps[0] = strzone(MapInfo_Type_ToString(MapInfo_CurrentGametype()));
-               //GameTypeVote_Finished(0);
+               // GameTypeVote_Finished(0);
                MapVote_Finished(0);
                return false;
        }
-       if ( really_available == 1 )
-       {
-               //GameTypeVote_Finished(which_available);
+       if (really_available == 1) {
+               // GameTypeVote_Finished(which_available);
                MapVote_Finished(which_available);
                return false;
        }
@@ -818,8 +838,9 @@ bool GameTypeVote_Start()
        mapvote_count_real = mapvote_count;
 
        mapvote_keeptwotime = time + autocvar_sv_vote_gametype_keeptwotime;
-       if(mapvote_count_real < 3 || mapvote_keeptwotime <= time)
+       if (mapvote_count_real < 3 || mapvote_keeptwotime <= time) {
                mapvote_keeptwotime = 0;
+       }
 
        MapVote_Spawn();
 
index 7c20b372906b842661b3abfa2e577a88448af81f..5567f31de18b8f6c04fa1e4891b673d93a539cf2 100644 (file)
@@ -3,12 +3,15 @@
 #include <server/defs.qh>
 #include <server/miscfunctions.qh>
 
-STATIC_INIT_LATE(Gametype) {
-    Gametype g = MapInfo_CurrentGametype();
-    if (g) {
-        for (string _s = g.m_mutators; _s != ""; _s = cdr(_s)) {
-            string s = car(_s);
-            FOREACH(Mutators, it.m_name == s, { Mutator_Add(it); break; });
-        }
-    }
+STATIC_INIT_LATE(Gametype)
+{
+       Gametype g = MapInfo_CurrentGametype();
+       if (g) {
+               for (string _s = g.m_mutators; _s != ""; _s = cdr(_s)) {
+                       string s = car(_s);
+                       FOREACH(Mutators, it.m_name == s, { Mutator_Add(it);
+                                                                                               break;
+                               });
+               }
+       }
 }
index f437d98b52c837c6db59520c37d840660ece1003..7da98176058013475e6fabc0953b61cc041acfe8 100644 (file)
@@ -6,15 +6,15 @@ const int ST_ASSAULT_OBJECTIVES = 1;
 
 REGISTER_MUTATOR(as, false)
 {
-    MUTATOR_STATIC();
+       MUTATOR_STATIC();
        MUTATOR_ONADD
        {
-        GameRules_teams(true);
-        int teams = BITS(2); // always red vs blue
-        GameRules_scoring(teams, SFL_SORT_PRIO_SECONDARY, SFL_SORT_PRIO_SECONDARY, {
-            field_team(ST_ASSAULT_OBJECTIVES, "objectives", SFL_SORT_PRIO_PRIMARY);
-            field(SP_ASSAULT_OBJECTIVES, "objectives", SFL_SORT_PRIO_PRIMARY);
-        });
+               GameRules_teams(true);
+               int teams = BITS(2); // always red vs blue
+               GameRules_scoring(teams, SFL_SORT_PRIO_SECONDARY, SFL_SORT_PRIO_SECONDARY, {
+                       field_team(ST_ASSAULT_OBJECTIVES, "objectives", SFL_SORT_PRIO_PRIMARY);
+                       field(SP_ASSAULT_OBJECTIVES, "objectives", SFL_SORT_PRIO_PRIMARY);
+               });
        }
        return 0;
 }
index 0982fcca8fb35e34fd71152cc81815b0282f6b7a..8bfb8972edb445c86aabc7c9442c08a83551a219 100644 (file)
@@ -6,7 +6,7 @@ int autocvar_g_ca_point_limit;
 int autocvar_g_ca_point_leadlimit;
 float autocvar_g_ca_round_timelimit;
 bool autocvar_g_ca_team_spawns;
-//int autocvar_g_ca_teams;
+// int autocvar_g_ca_teams;
 int autocvar_g_ca_teams_override;
 float autocvar_g_ca_warmup;
 
@@ -23,22 +23,22 @@ bool ca_isEliminated(entity e);
 
 REGISTER_MUTATOR(ca, false)
 {
-    MUTATOR_STATIC();
+       MUTATOR_STATIC();
        MUTATOR_ONADD
        {
                GameRules_teams(true);
-        GameRules_spawning_teams(autocvar_g_ca_team_spawns);
-        GameRules_limit_score(autocvar_g_ca_point_limit);
-        GameRules_limit_lead(autocvar_g_ca_point_leadlimit);
+               GameRules_spawning_teams(autocvar_g_ca_team_spawns);
+               GameRules_limit_score(autocvar_g_ca_point_limit);
+               GameRules_limit_lead(autocvar_g_ca_point_leadlimit);
 
                ca_teams = autocvar_g_ca_teams_override;
-               if (ca_teams < 2)
+               if (ca_teams < 2) {
                        ca_teams = cvar("g_ca_teams"); // read the cvar directly as it gets written earlier in the same frame
-
+               }
                ca_teams = BITS(bound(2, ca_teams, 4));
-        GameRules_scoring(ca_teams, SFL_SORT_PRIO_PRIMARY, 0, {
-            field_team(ST_CA_ROUNDS, "rounds", SFL_SORT_PRIO_PRIMARY);
-        });
+               GameRules_scoring(ca_teams, SFL_SORT_PRIO_PRIMARY, 0, {
+                       field_team(ST_CA_ROUNDS, "rounds", SFL_SORT_PRIO_PRIMARY);
+               });
 
                allowed_to_spawn = true;
                round_handler_Spawn(CA_CheckTeams, CA_CheckWinner, CA_RoundStart);
index 0b86a57f809936604fd51a5514b899108558dcac..09d23164370484b8fb3d34554eb5fa9ffc2d62ce 100644 (file)
@@ -8,16 +8,16 @@ void ctf_Initialize();
 
 REGISTER_MUTATOR(ctf, false)
 {
-    MUTATOR_STATIC();
-    MUTATOR_ONADD
-    {
-        GameRules_teams(true);
-        GameRules_limit_score(autocvar_capturelimit_override);
-        GameRules_limit_lead(autocvar_captureleadlimit_override);
-
-        ctf_Initialize();
-    }
-    return 0;
+       MUTATOR_STATIC();
+       MUTATOR_ONADD
+       {
+               GameRules_teams(true);
+               GameRules_limit_score(autocvar_capturelimit_override);
+               GameRules_limit_lead(autocvar_captureleadlimit_override);
+
+               ctf_Initialize();
+       }
+       return 0;
 }
 
 // used in cheats.qc
@@ -27,10 +27,14 @@ void ctf_RespawnFlag(entity flag);
 const int ST_CTF_CAPS = 1;
 
 CLASS(Flag, Pickup)
-    ATTRIB(Flag, m_mins, vector, (PL_MIN_CONST + '0 0 -13') * 1.4); // scaling be damned
-    ATTRIB(Flag, m_maxs, vector, (PL_MAX_CONST + '0 0 -13') * 1.4);
+       ATTRIB(Flag, m_mins, vector, (PL_MIN_CONST + '0 0 -13') * 1.4); // scaling be damned
+       ATTRIB(Flag, m_maxs, vector, (PL_MAX_CONST + '0 0 -13') * 1.4);
 ENDCLASS(Flag)
-Flag CTF_FLAG; STATIC_INIT(Flag) { CTF_FLAG = NEW(Flag); }
+Flag CTF_FLAG;
+STATIC_INIT(Flag)
+{
+       CTF_FLAG = NEW(Flag);
+}
 void ctf_FlagTouch(entity this, entity toucher) { ITEM_HANDLE(Pickup, CTF_FLAG, this, toucher); }
 
 // flag constants // for most of these, there is just one question to be asked: WHYYYYY?
@@ -68,7 +72,7 @@ const float VEHICLE_FLAG_SCALE = 1.0;
 // score fields
 .float score_assist;
 .float score_capture;
-.float score_drop; // note: negated
+.float score_drop;         // note: negated
 .float score_pickup;
 .float score_return;
 .float score_team_capture; // shouldn't be too high
@@ -123,12 +127,12 @@ void ctf_Handle_Throw(entity player, entity receiver, float droptype);
 
 // flag properties
 #define ctf_spawnorigin dropped_origin
-bool ctf_stalemate; // indicates that a stalemate is active
+bool ctf_stalemate;      // indicates that a stalemate is active
 float ctf_captimerecord; // record time for capturing the flag
 .float ctf_pickuptime;
 .float ctf_droptime;
-.int ctf_status; // status of the flag (FLAG_BASE, FLAG_DROPPED, FLAG_CARRY declared globally)
-.entity ctf_dropper; // don't allow spam of dropping the flag
+.int ctf_status;         // status of the flag (FLAG_BASE, FLAG_DROPPED, FLAG_CARRY declared globally)
+.entity ctf_dropper;     // don't allow spam of dropping the flag
 .int max_flag_health;
 .float next_take_time;
 .bool ctf_flagdamaged_byworld;
@@ -143,13 +147,13 @@ int ctf_teams;
 .int throw_count;
 
 // CaptureShield: If the player is too bad to be allowed to capture, shield them from taking the flag.
-.bool ctf_captureshielded; // set to 1 if the player is too bad to be allowed to capture
+.bool ctf_captureshielded;            // set to 1 if the player is too bad to be allowed to capture
 float ctf_captureshield_min_negscore; // punish at -20 points
-float ctf_captureshield_max_ratio; // punish at most 30% of each team
-float ctf_captureshield_force; // push force of the shield
+float ctf_captureshield_max_ratio;    // punish at most 30% of each team
+float ctf_captureshield_force;        // push force of the shield
 
 // 1 flag ctf
-bool ctf_oneflag; // indicates whether or not a neutral flag has been found
+bool ctf_oneflag;                     // indicates whether or not a neutral flag has been found
 
 // bot player logic
 const int HAVOCBOT_CTF_ROLE_NONE = 0;
@@ -165,28 +169,28 @@ const int HAVOCBOT_CTF_ROLE_ESCORT = 64;
 void havocbot_role_ctf_setrole(entity bot, int role);
 
 // team checking
-#define CTF_SAMETEAM(a,b) ((autocvar_g_ctf_reverse || (ctf_oneflag && autocvar_g_ctf_oneflag_reverse)) ? DIFF_TEAM(a,b) : SAME_TEAM(a,b))
-#define CTF_DIFFTEAM(a,b) ((autocvar_g_ctf_reverse || (ctf_oneflag && autocvar_g_ctf_oneflag_reverse)) ? SAME_TEAM(a,b) : DIFF_TEAM(a,b))
+#define CTF_SAMETEAM(a, b) ((autocvar_g_ctf_reverse || (ctf_oneflag && autocvar_g_ctf_oneflag_reverse)) ? DIFF_TEAM(a, b) : SAME_TEAM(a, b))
+#define CTF_DIFFTEAM(a, b) ((autocvar_g_ctf_reverse || (ctf_oneflag && autocvar_g_ctf_oneflag_reverse)) ? SAME_TEAM(a, b) : DIFF_TEAM(a, b))
 
 // networked flag statuses
 .int ctf_flagstatus = _STAT(CTF_FLAGSTATUS);
 #endif
 
-const int CTF_RED_FLAG_TAKEN                   = 1;
-const int CTF_RED_FLAG_LOST                            = 2;
-const int CTF_RED_FLAG_CARRYING                        = 3;
-const int CTF_BLUE_FLAG_TAKEN                  = 4;
-const int CTF_BLUE_FLAG_LOST                   = 8;
-const int CTF_BLUE_FLAG_CARRYING               = 12;
-const int CTF_YELLOW_FLAG_TAKEN                        = 16;
-const int CTF_YELLOW_FLAG_LOST                 = 32;
-const int CTF_YELLOW_FLAG_CARRYING             = 48;
-const int CTF_PINK_FLAG_TAKEN                  = 64;
-const int CTF_PINK_FLAG_LOST                   = 128;
-const int CTF_PINK_FLAG_CARRYING               = 192;
-const int CTF_NEUTRAL_FLAG_TAKEN               = 256;
-const int CTF_NEUTRAL_FLAG_LOST                        = 512;
-const int CTF_NEUTRAL_FLAG_CARRYING            = 768;
-const int CTF_FLAG_NEUTRAL                             = 2048;
-const int CTF_SHIELDED                                 = 4096;
-const int CTF_STALEMATE                                        = 8192;
+const int CTF_RED_FLAG_TAKEN            = 1;
+const int CTF_RED_FLAG_LOST             = 2;
+const int CTF_RED_FLAG_CARRYING         = 3;
+const int CTF_BLUE_FLAG_TAKEN           = 4;
+const int CTF_BLUE_FLAG_LOST            = 8;
+const int CTF_BLUE_FLAG_CARRYING        = 12;
+const int CTF_YELLOW_FLAG_TAKEN         = 16;
+const int CTF_YELLOW_FLAG_LOST          = 32;
+const int CTF_YELLOW_FLAG_CARRYING      = 48;
+const int CTF_PINK_FLAG_TAKEN           = 64;
+const int CTF_PINK_FLAG_LOST            = 128;
+const int CTF_PINK_FLAG_CARRYING        = 192;
+const int CTF_NEUTRAL_FLAG_TAKEN        = 256;
+const int CTF_NEUTRAL_FLAG_LOST         = 512;
+const int CTF_NEUTRAL_FLAG_CARRYING     = 768;
+const int CTF_FLAG_NEUTRAL              = 2048;
+const int CTF_SHIELDED                  = 4096;
+const int CTF_STALEMATE                 = 8192;
index c90919e6f4e7ed176c2740a63c6a4bb9c10575c8..1842eed7a42e72847d77f998acbd523575701fe5 100644 (file)
@@ -7,13 +7,13 @@ void cts_Initialize();
 
 REGISTER_MUTATOR(cts, false)
 {
-    MUTATOR_STATIC();
+       MUTATOR_STATIC();
        MUTATOR_ONADD
        {
                g_race_qualifying = true;
                independent_players = 1;
-        GameRules_limit_score(0);
-        GameRules_limit_lead(0);
+               GameRules_limit_score(0);
+               GameRules_limit_lead(0);
 
                cts_Initialize();
        }
index f45b0800f39d8cfefb0f30ed49f59ab81256d46c..5f181ab147bc5afa83df214c0df8ade651240c37 100644 (file)
@@ -4,6 +4,6 @@
 
 REGISTER_MUTATOR(dm, false)
 {
-    MUTATOR_STATIC();
+       MUTATOR_STATIC();
        return 0;
 }
index cf5e54f6d53d00946779e981aee6db592cc83c0e..d327821f1dc0516147c6fe92174d056fc47c3718 100644 (file)
@@ -11,16 +11,17 @@ void dom_Initialize();
 
 REGISTER_MUTATOR(dom, false)
 {
-    MUTATOR_STATIC();
+       MUTATOR_STATIC();
        MUTATOR_ONADD
        {
                int fraglimit_override = autocvar_g_domination_point_limit;
-               if (autocvar_g_domination_roundbased && autocvar_g_domination_roundbased_point_limit)
+               if (autocvar_g_domination_roundbased && autocvar_g_domination_roundbased_point_limit) {
                        fraglimit_override = autocvar_g_domination_roundbased_point_limit;
+               }
 
                GameRules_teams(true);
-        GameRules_limit_score(fraglimit_override);
-        GameRules_limit_lead(autocvar_g_domination_point_leadlimit);
+               GameRules_limit_score(fraglimit_override);
+               GameRules_limit_lead(autocvar_g_domination_point_leadlimit);
 
                dom_Initialize();
        }
@@ -55,4 +56,7 @@ float domination_teams;
 void AnimateDomPoint(entity this);
 
 IntrusiveList g_dompoints;
-STATIC_INIT(g_dompoints) { g_dompoints = IL_NEW(); }
+STATIC_INIT(g_dompoints)
+{
+       g_dompoints = IL_NEW();
+}
index a258d82eab508576040c5e27f1b8431657772d8b..1d4fd1dd45d432cbefca8e3b4dd1beff4041717b 100644 (file)
@@ -9,13 +9,13 @@ void freezetag_Initialize();
 
 REGISTER_MUTATOR(ft, false)
 {
-    MUTATOR_STATIC();
+       MUTATOR_STATIC();
        MUTATOR_ONADD
        {
                GameRules_teams(true);
-        GameRules_spawning_teams(autocvar_g_freezetag_team_spawns);
-        GameRules_limit_score(autocvar_g_freezetag_point_limit);
-        GameRules_limit_lead(autocvar_g_freezetag_point_leadlimit);
+               GameRules_spawning_teams(autocvar_g_freezetag_team_spawns);
+               GameRules_limit_score(autocvar_g_freezetag_point_limit);
+               GameRules_limit_lead(autocvar_g_freezetag_point_leadlimit);
 
                freezetag_Initialize();
        }
index 0ea0e82c4c8266ad31bff1db48f2ceeb6be03416..caac90cf08ce1a2e761419f177ff79a5aa5dbfba 100644 (file)
@@ -11,14 +11,14 @@ void invasion_Initialize();
 
 REGISTER_MUTATOR(inv, false)
 {
-    MUTATOR_STATIC();
+       MUTATOR_STATIC();
        MUTATOR_ONADD
        {
                if (autocvar_g_invasion_teams >= 2) {
                        GameRules_teams(true);
                        GameRules_spawning_teams(autocvar_g_invasion_team_spawns);
                }
-        GameRules_limit_score(autocvar_g_invasion_point_limit);
+               GameRules_limit_score(autocvar_g_invasion_point_limit);
 
                g_invasion = true;
                cvar_settemp("g_monsters", "1");
@@ -43,5 +43,5 @@ float inv_monsterskill;
 const float ST_INV_KILLS = 1;
 
 const int INV_TYPE_ROUND = 0; // round-based waves of enemies
-const int INV_TYPE_HUNT = 1; // clear the map of placed enemies
+const int INV_TYPE_HUNT = 1;  // clear the map of placed enemies
 const int INV_TYPE_STAGE = 2; // reach the end of the level
index abbabbd5bbf16202cc68a23ab69d5fc65af4a584..77d31d5183cd268a081e10a0c78dbdfe3db59109 100644 (file)
@@ -6,14 +6,14 @@ void ka_Initialize();
 
 REGISTER_MUTATOR(ka, false)
 {
-    MUTATOR_STATIC();
+       MUTATOR_STATIC();
        MUTATOR_ONADD
        {
-           GameRules_scoring(0, SFL_SORT_PRIO_PRIMARY, 0, {
-            field(SP_KEEPAWAY_PICKUPS, "pickups", 0);
-            field(SP_KEEPAWAY_CARRIERKILLS, "bckills", 0);
-            field(SP_KEEPAWAY_BCTIME, "bctime", SFL_SORT_PRIO_SECONDARY);
-        });
+               GameRules_scoring(0, SFL_SORT_PRIO_PRIMARY, 0, {
+                       field(SP_KEEPAWAY_PICKUPS, "pickups", 0);
+                       field(SP_KEEPAWAY_CARRIERKILLS, "bckills", 0);
+                       field(SP_KEEPAWAY_BCTIME, "bctime", SFL_SORT_PRIO_SECONDARY);
+               });
 
                ka_Initialize();
        }
index 77d7c06fcf055fa1e5d83da36767e23a10688746..bb11120d3ab1670f0923802ce112578b3629c5f9 100644 (file)
@@ -9,20 +9,20 @@ void kh_Initialize();
 
 REGISTER_MUTATOR(kh, false)
 {
-    MUTATOR_STATIC();
+       MUTATOR_STATIC();
        MUTATOR_ONADD
        {
                GameRules_teams(true);
-        GameRules_spawning_teams(autocvar_g_keyhunt_team_spawns);
-        GameRules_limit_score(autocvar_g_keyhunt_point_limit);
-        GameRules_limit_lead(autocvar_g_keyhunt_point_leadlimit);
+               GameRules_spawning_teams(autocvar_g_keyhunt_team_spawns);
+               GameRules_limit_score(autocvar_g_keyhunt_point_limit);
+               GameRules_limit_lead(autocvar_g_keyhunt_point_leadlimit);
 
                kh_Initialize();
        }
        return 0;
 }
 
-#define FOR_EACH_KH_KEY(v) for(v = kh_worldkeylist; v; v = v.kh_worldkeynext )
+#define FOR_EACH_KH_KEY(v) for (v = kh_worldkeylist; v; v = v.kh_worldkeynext)
 
 // ALL OF THESE should be removed in the future, as other code should not have to care
 
index 4d6f70438583b0f805b40070754e303b1a3f4726..0fa9abf0fe3846aec169901d0a87416ec26f6114 100644 (file)
@@ -14,16 +14,20 @@ float LMS_NewPlayerLives()
 {
        float fl;
        fl = autocvar_fraglimit;
-       if(fl == 0)
+       if (fl == 0) {
                fl = 999;
+       }
 
        // first player has left the game for dying too much? Nobody else can get in.
-       if(lms_lowest_lives < 1)
+       if (lms_lowest_lives < 1) {
                return 0;
+       }
 
-       if(!autocvar_g_lms_join_anytime)
-               if(lms_lowest_lives < fl - autocvar_g_lms_last_join)
+       if (!autocvar_g_lms_join_anytime) {
+               if (lms_lowest_lives < fl - autocvar_g_lms_last_join) {
                        return 0;
+               }
+       }
 
        return bound(1, lms_lowest_lives, fl);
 }
@@ -42,52 +46,43 @@ int WinningCondition_LMS()
        int l = LMS_NewPlayerLives();
 
        head = find(NULL, classname, STR_PLAYER);
-       if(head)
+       if (head) {
                have_player = true;
+       }
        head2 = find(head, classname, STR_PLAYER);
-       if(head2)
+       if (head2) {
                have_players = true;
+       }
 
-       if(have_player)
-       {
+       if (have_player) {
                // we have at least one player
-               if(have_players)
-               {
+               if (have_players) {
                        // two or more active players - continue with the game
-               }
-               else
-               {
+               } else {
                        // exactly one player?
 
                        ClearWinners();
                        SetWinners(winning, 0); // NOTE: exactly one player is still "player", so this works out
 
-                       if(l)
-                       {
+                       if (l) {
                                // game still running (that is, nobody got removed from the game by a frag yet)? then continue
                                return WINNING_NO;
-                       }
-                       else
-                       {
+                       } else {
                                // a winner!
                                // and assign him his first place
                                GameRules_scoring_add(head, LMS_RANK, 1);
-                               if(warmup_stage)
+                               if (warmup_stage) {
                                        return WINNING_NO;
-                               else
+                               } else {
                                        return WINNING_YES;
+                               }
                        }
                }
-       }
-       else
-       {
+       } else {
                // nobody is playing at all...
-               if(l)
-               {
+               if (l) {
                        // wait for players...
-               }
-               else
-               {
+               } else {
                        // SNAFU (maybe a draw game?)
                        ClearWinners();
                        LOG_TRACE("No players, ending game.");
@@ -100,10 +95,12 @@ int WinningCondition_LMS()
        WinningConditionHelper(NULL);
 
        ClearWinners();
-       if(WinningConditionHelper_winner)
+       if (WinningConditionHelper_winner) {
                WinningConditionHelper_winner.winning = true;
-       if(WinningConditionHelper_topscore == WinningConditionHelper_secondscore)
+       }
+       if (WinningConditionHelper_topscore == WinningConditionHelper_secondscore) {
                return WINNING_NEVER;
+       }
 
        // Top two have different scores? Way to go for our beloved TIMELIMIT!
        return WINNING_NO;
@@ -129,17 +126,19 @@ MUTATOR_HOOKFUNCTION(lms, PutClientInServer)
 {
        entity player = M_ARGV(0, entity);
 
-       if(player.frags == FRAGS_SPECTATOR)
+       if (player.frags == FRAGS_SPECTATOR) {
                TRANSMUTE(Observer, player);
-       else
-       {
+       } else {
                float tl = GameRules_scoring_add(player, LMS_LIVES, 0);
-               if(tl < lms_lowest_lives)
+               if (tl < lms_lowest_lives) {
                        lms_lowest_lives = tl;
-               if(tl <= 0)
+               }
+               if (tl <= 0) {
                        TRANSMUTE(Observer, player);
-               if(warmup_stage)
+               }
+               if (warmup_stage) {
                        GameRules_scoring_add(player, LMS_RANK, -GameRules_scoring_add(player, LMS_RANK, 0));
+               }
        }
 }
 
@@ -147,12 +146,13 @@ MUTATOR_HOOKFUNCTION(lms, ForbidSpawn)
 {
        entity player = M_ARGV(0, entity);
 
-       if(warmup_stage)
+       if (warmup_stage) {
                return false;
-       if(player.frags == FRAGS_SPECTATOR)
+       }
+       if (player.frags == FRAGS_SPECTATOR) {
                return true;
-       if(GameRules_scoring_add(player, LMS_LIVES, 0) <= 0)
-       {
+       }
+       if (GameRules_scoring_add(player, LMS_LIVES, 0) <= 0) {
                Send_Notification(NOTIF_ONE, player, MSG_CENTER, CENTER_LMS_NOLIVES);
                return true;
        }
@@ -170,53 +170,52 @@ void lms_RemovePlayer(entity player)
 {
        static int quitters = 0;
        float player_rank = GameRules_scoring_add(player, LMS_RANK, 0);
-       if (!player_rank)
-       {
+       if (!player_rank) {
                int pl_cnt = 0;
-               FOREACH_CLIENT(IS_PLAYER(it), { pl_cnt++; });
-               if (player.lms_spectate_warning != 2)
-               {
-                       if(IS_BOT_CLIENT(player))
+               FOREACH_CLIENT(IS_PLAYER(it), { pl_cnt++;
+                       });
+               if (player.lms_spectate_warning != 2) {
+                       if (IS_BOT_CLIENT(player)) {
                                bot_clear(player);
+                       }
                        player.frags = FRAGS_LMS_LOSER;
                        GameRules_scoring_add(player, LMS_RANK, pl_cnt + 1);
-               }
-               else
-               {
+               } else {
                        lms_lowest_lives = 999;
                        FOREACH_CLIENT(true, {
-                               if (it.frags == FRAGS_LMS_LOSER)
-                               {
+                               if (it.frags == FRAGS_LMS_LOSER) {
                                        float it_rank = GameRules_scoring_add(it, LMS_RANK, 0);
-                                       if (it_rank > player_rank && it_rank <= 256)
+                                       if (it_rank > player_rank && it_rank <= 256) {
                                                GameRules_scoring_add(it, LMS_RANK, -1);
+                                       }
                                        lms_lowest_lives = 0;
-                               }
-                               else if (it.frags != FRAGS_SPECTATOR)
-                               {
+                               } else if (it.frags != FRAGS_SPECTATOR) {
                                        float tl = GameRules_scoring_add(it, LMS_LIVES, 0);
-                                       if(tl < lms_lowest_lives)
+                                       if (tl < lms_lowest_lives) {
                                                lms_lowest_lives = tl;
+                                       }
                                }
                        });
                        GameRules_scoring_add(player, LMS_RANK, 665 - quitters); // different from 666
-                       if(!warmup_stage)
-                       {
+                       if (!warmup_stage) {
                                GameRules_scoring_add(player, LMS_LIVES, -GameRules_scoring_add(player, LMS_LIVES, 0));
                                ++quitters;
                        }
                        player.frags = FRAGS_LMS_LOSER;
                        TRANSMUTE(Observer, player);
                }
-               if (pl_cnt == 2 && !warmup_stage) // a player is forfeiting leaving only one player
+               if (pl_cnt == 2 && !warmup_stage) // a player is forfeiting leaving only one player
                        lms_lowest_lives = 0; // end the game now!
+               }
        }
 
-       if(CS(player).killcount != FRAGS_SPECTATOR)
-               if(GameRules_scoring_add(player, LMS_RANK, 0) > 0 && player.lms_spectate_warning != 2)
+       if (CS(player).killcount != FRAGS_SPECTATOR) {
+               if (GameRules_scoring_add(player, LMS_RANK, 0) > 0 && player.lms_spectate_warning != 2) {
                        Send_Notification(NOTIF_ALL, NULL, MSG_INFO, INFO_LMS_NOLIVES, player.netname);
-               else
+               } else {
                        Send_Notification(NOTIF_ALL, NULL, MSG_INFO, INFO_LMS_FORFEIT, player.netname);
+               }
+       }
 }
 
 MUTATOR_HOOKFUNCTION(lms, ClientDisconnect)
@@ -228,10 +227,10 @@ MUTATOR_HOOKFUNCTION(lms, ClientDisconnect)
 
 MUTATOR_HOOKFUNCTION(lms, MakePlayerObserver)
 {
-    entity player = M_ARGV(0, entity);
+       entity player = M_ARGV(0, entity);
 
        lms_RemovePlayer(player);
-       return true;  // prevent team reset
+       return true; // prevent team reset
 }
 
 MUTATOR_HOOKFUNCTION(lms, ClientConnect)
@@ -241,8 +240,7 @@ MUTATOR_HOOKFUNCTION(lms, ClientConnect)
        TRANSMUTE(Player, player);
        campaign_bots_may_start = true;
 
-       if(GameRules_scoring_add(player, LMS_LIVES, LMS_NewPlayerLives()) <= 0)
-       {
+       if (GameRules_scoring_add(player, LMS_LIVES, LMS_NewPlayerLives()) <= 0) {
                GameRules_scoring_add(player, LMS_RANK, 666); // mark as forced spectator for the hud code
                player.frags = FRAGS_SPECTATOR;
        }
@@ -252,14 +250,16 @@ MUTATOR_HOOKFUNCTION(lms, PlayerPreThink)
 {
        entity player = M_ARGV(0, entity);
 
-       if(player.deadflag == DEAD_DYING)
+       if (player.deadflag == DEAD_DYING) {
                player.deadflag = DEAD_RESPAWNING;
+       }
 }
 
 MUTATOR_HOOKFUNCTION(lms, PlayerRegen)
 {
-       if(autocvar_g_lms_regenerate)
+       if (autocvar_g_lms_regenerate) {
                return false;
+       }
        return true;
 }
 
@@ -273,18 +273,19 @@ MUTATOR_HOOKFUNCTION(lms, GiveFragsForKill)
 {
        entity frag_target = M_ARGV(1, entity);
 
-       if (!warmup_stage)
-       {
+       if (!warmup_stage) {
                // remove a life
                int tl = GameRules_scoring_add(frag_target, LMS_LIVES, -1);
-               if(tl < lms_lowest_lives)
+               if (tl < lms_lowest_lives) {
                        lms_lowest_lives = tl;
-               if(tl <= 0)
-               {
+               }
+               if (tl <= 0) {
                        int pl_cnt = 0;
-                       FOREACH_CLIENT(IS_PLAYER(it), { pl_cnt++; });
-                       if(IS_BOT_CLIENT(frag_target))
+                       FOREACH_CLIENT(IS_PLAYER(it), { pl_cnt++;
+                               });
+                       if (IS_BOT_CLIENT(frag_target)) {
                                bot_clear(frag_target);
+                       }
                        frag_target.frags = FRAGS_LMS_LOSER;
                        GameRules_scoring_add(frag_target, LMS_RANK, pl_cnt);
                }
@@ -317,9 +318,11 @@ MUTATOR_HOOKFUNCTION(lms, FilterItem)
 {
        entity item = M_ARGV(0, entity);
 
-       if(autocvar_g_lms_extra_lives)
-       if(item.itemdef == ITEM_ExtraLife)
-               return false;
+       if (autocvar_g_lms_extra_lives) {
+               if (item.itemdef == ITEM_ExtraLife) {
+                       return false;
+               }
+       }
 
        return true;
 }
@@ -331,13 +334,13 @@ void lms_extralife(entity this)
 
 MUTATOR_HOOKFUNCTION(lms, OnEntityPreSpawn)
 {
-       if (!autocvar_g_powerups) return false;
-       if (!autocvar_g_lms_extra_lives) return false;
+       if (!autocvar_g_powerups) { return false; }
+       if (!autocvar_g_lms_extra_lives) { return false; }
 
        entity ent = M_ARGV(0, entity);
 
        // Can't use .itemdef here
-       if (ent.classname != "item_health_mega") return false;
+       if (ent.classname != "item_health_mega") { return false; }
 
        entity e = spawn();
        setthink(e, lms_extralife);
@@ -355,8 +358,7 @@ MUTATOR_HOOKFUNCTION(lms, ItemTouch)
        entity item = M_ARGV(0, entity);
        entity toucher = M_ARGV(1, entity);
 
-       if(item.itemdef == ITEM_ExtraLife)
-       {
+       if (item.itemdef == ITEM_ExtraLife) {
                Send_Notification(NOTIF_ONE, toucher, MSG_CENTER, CENTER_EXTRALIVES);
                GameRules_scoring_add(toucher, LMS_LIVES, autocvar_g_lms_extra_lives);
                return MUT_ITEMTOUCH_PICKUP;
@@ -377,17 +379,13 @@ MUTATOR_HOOKFUNCTION(lms, Bot_FixCount, CBC_ORDER_EXCLUSIVE)
 
 MUTATOR_HOOKFUNCTION(lms, ClientCommand_Spectate)
 {
-    entity player = M_ARGV(0, entity);
+       entity player = M_ARGV(0, entity);
 
-       if(warmup_stage || player.lms_spectate_warning)
-       {
+       if (warmup_stage || player.lms_spectate_warning) {
                // for the forfeit message...
                player.lms_spectate_warning = 2;
-       }
-       else
-       {
-               if(player.frags != FRAGS_SPECTATOR && player.frags != FRAGS_LMS_LOSER)
-               {
+       } else {
+               if (player.frags != FRAGS_SPECTATOR && player.frags != FRAGS_LMS_LOSER) {
                        player.lms_spectate_warning = 1;
                        sprint(player, "WARNING: you won't be able to enter the game again after spectating in LMS. Use the same command again to spectate anyway.\n");
                }
@@ -414,9 +412,11 @@ MUTATOR_HOOKFUNCTION(lms, GetPlayerStatus)
 
 MUTATOR_HOOKFUNCTION(lms, AddPlayerScore)
 {
-       if(game_stopped)
-       if(M_ARGV(0, entity) == SP_LMS_RANK) // score field
-               return true; // allow writing to this field in intermission as it is needed for newly joining players
+       if (game_stopped) {
+               if (M_ARGV(0, entity) == SP_LMS_RANK) { // score field
+                       return true; // allow writing to this field in intermission as it is needed for newly joining players
+               }
+       }
 }
 
 void lms_Initialize()
index c69113a0c2188b0d711d19cf4f52f875b7456427..95fd44ae1713551f51d41d022ee0953cc9d34c18 100644 (file)
@@ -8,16 +8,16 @@ void lms_Initialize();
 
 REGISTER_MUTATOR(lms, false)
 {
-    MUTATOR_STATIC();
+       MUTATOR_STATIC();
        MUTATOR_ONADD
        {
-        GameRules_limit_score(((!autocvar_g_lms_lives_override) ? -1 : autocvar_g_lms_lives_override));
-        GameRules_limit_lead(0);
-        GameRules_score_enabled(false);
-        GameRules_scoring(0, 0, 0, {
-            field(SP_LMS_LIVES, "lives", SFL_SORT_PRIO_SECONDARY);
-            field(SP_LMS_RANK, "rank", SFL_LOWER_IS_BETTER | SFL_RANK | SFL_SORT_PRIO_PRIMARY | SFL_ALLOW_HIDE);
-        });
+               GameRules_limit_score(((!autocvar_g_lms_lives_override) ? -1 : autocvar_g_lms_lives_override));
+               GameRules_limit_lead(0);
+               GameRules_score_enabled(false);
+               GameRules_scoring(0, 0, 0, {
+                       field(SP_LMS_LIVES, "lives", SFL_SORT_PRIO_SECONDARY);
+                       field(SP_LMS_RANK, "rank", SFL_LOWER_IS_BETTER | SFL_RANK | SFL_SORT_PRIO_PRIMARY | SFL_ALLOW_HIDE);
+               });
 
                lms_Initialize();
        }
index 1e475e3ce6f76988ba28f50f1e74e6afb92049de..9f2e7fb3ed05e28038f922d10144aa43b89d05b9 100644 (file)
@@ -7,7 +7,7 @@ void race_Initialize();
 
 REGISTER_MUTATOR(rc, false)
 {
-    MUTATOR_STATIC();
+       MUTATOR_STATIC();
        MUTATOR_ONADD
        {
                rc_SetLimits();
index 1449e382a6913daffb425bb5d58d5b7e666cb564..e562fef6676169427ce11678ccd8b241f393aafa 100644 (file)
@@ -1,29 +1,31 @@
 #include "costs.qh"
 
-float pathlib_g_static(entity parent,vector to, float static_cost)
+float pathlib_g_static(entity parent, vector to, float static_cost)
 {
-    return parent.pathlib_node_g + static_cost;
+       return parent.pathlib_node_g + static_cost;
 }
 
-float pathlib_g_static_water(entity parent,vector to, float static_cost)
+float pathlib_g_static_water(entity parent, vector to, float static_cost)
 {
-    if(inwater(to))
-        return parent.pathlib_node_g + static_cost * pathlib_movecost_waterfactor;
-    else
-        return parent.pathlib_node_g + static_cost;
+       if (inwater(to)) {
+               return parent.pathlib_node_g + static_cost * pathlib_movecost_waterfactor;
+       } else {
+               return parent.pathlib_node_g + static_cost;
+       }
 }
 
-float pathlib_g_euclidean(entity parent,vector to, float static_cost)
+float pathlib_g_euclidean(entity parent, vector to, float static_cost)
 {
-    return parent.pathlib_node_g + vlen(parent.origin - to);
+       return parent.pathlib_node_g + vlen(parent.origin - to);
 }
 
-float pathlib_g_euclidean_water(entity parent,vector to, float static_cost)
+float pathlib_g_euclidean_water(entity parent, vector to, float static_cost)
 {
-    if(inwater(to))
-        return parent.pathlib_node_g + vlen(parent.origin - to) * pathlib_movecost_waterfactor;
-    else
-        return parent.pathlib_node_g + vlen(parent.origin - to);
+       if (inwater(to)) {
+               return parent.pathlib_node_g + vlen(parent.origin - to) * pathlib_movecost_waterfactor;
+       } else {
+               return parent.pathlib_node_g + vlen(parent.origin - to);
+       }
 }
 
 
@@ -31,30 +33,30 @@ float pathlib_g_euclidean_water(entity parent,vector to, float static_cost)
     Manhattan Menas we expect to move up,down left or right
     No diagonal moves espected. (like moving bewteen city blocks)
 **/
-float pathlib_h_manhattan(vector a,vector b)
+float pathlib_h_manhattan(vector a, vector b)
 {
-    //h(n) = D * (abs(n.x-goal.x) + abs(n.y-goal.y))
+       // h(n) = D * (abs(n.x-goal.x) + abs(n.y-goal.y))
 
-    float h  = fabs(a.x - b.x);
-    h += fabs(a.y - b.y);
-    h *= pathlib_gridsize;
+       float h  = fabs(a.x - b.x);
+       h += fabs(a.y - b.y);
+       h *= pathlib_gridsize;
 
-    return h;
+       return h;
 }
 
 /**
     This heuristic consider both stright and disagonal moves
     to have teh same cost.
 **/
-float pathlib_h_diagonal(vector a,vector b)
+float pathlib_h_diagonal(vector a, vector b)
 {
-    //h(n) = D * max(abs(n.x-goal.x), abs(n.y-goal.y))
+       // h(n) = D * max(abs(n.x-goal.x), abs(n.y-goal.y))
 
-    float hx = fabs(a.x - b.x);
-    float hy = fabs(a.y - b.y);
-    float h = pathlib_movecost * max(hx,hy);
+       float hx = fabs(a.x - b.x);
+       float hy = fabs(a.y - b.y);
+       float h = pathlib_movecost * max(hx, hy);
 
-    return h;
+       return h;
 }
 
 /**
@@ -62,74 +64,74 @@ float pathlib_h_diagonal(vector a,vector b)
     Will usualy mean a lower H then G meaning A* Will speand more
     and run slower.
 **/
-float pathlib_h_euclidean(vector a,vector b)
+float pathlib_h_euclidean(vector a, vector b)
 {
-    return vlen(a - b);
+       return vlen(a - b);
 }
 
 /**
     This heuristic consider both stright and disagonal moves,
     But has a separate cost for diagonal moves.
 **/
-float pathlib_h_diagonal2(vector a,vector b)
+float pathlib_h_diagonal2(vector a, vector b)
 {
-    /*
-    h_diagonal(n) = min(abs(n.x-goal.x), abs(n.y-goal.y))
-    h_straight(n) = (abs(n.x-goal.x) + abs(n.y-goal.y))
-    h(n) = D2 * h_diagonal(n) + D * (h_straight(n) - 2*h_diagonal(n)))
-    */
+       /*
+       h_diagonal(n) = min(abs(n.x-goal.x), abs(n.y-goal.y))
+       h_straight(n) = (abs(n.x-goal.x) + abs(n.y-goal.y))
+       h(n) = D2 * h_diagonal(n) + D * (h_straight(n) - 2*h_diagonal(n)))
+       */
 
-    float hx = fabs(a.x - b.x);
-    float hy = fabs(a.y - b.y);
+       float hx = fabs(a.x - b.x);
+       float hy = fabs(a.y - b.y);
 
-    float h_diag = min(hx,hy);
-    float h_str = hx + hy;
+       float h_diag = min(hx, hy);
+       float h_str = hx + hy;
 
-    float h =  pathlib_movecost_diag * h_diag;
-    h += pathlib_movecost * (h_str - 2 * h_diag);
+       float h =  pathlib_movecost_diag * h_diag;
+       h += pathlib_movecost * (h_str - 2 * h_diag);
 
-    return h;
+       return h;
 }
 
 /**
     This heuristic consider both stright and disagonal moves,
     But has a separate cost for diagonal moves.
 **/
-float pathlib_h_diagonal2sdp(vector preprev,vector prev,vector point,vector end)
+float pathlib_h_diagonal2sdp(vector preprev, vector prev, vector point, vector end)
 {
-    //h_diagonal(n) = min(abs(n.x-goal.x), abs(n.y-goal.y))
-    //h_straight(n) = (abs(n.x-goal.x) + abs(n.y-goal.y))
-    //h(n) = D2 * h_diagonal(n) + D * (h_straight(n) - 2*h_diagonal(n)))
+       // h_diagonal(n) = min(abs(n.x-goal.x), abs(n.y-goal.y))
+       // h_straight(n) = (abs(n.x-goal.x) + abs(n.y-goal.y))
+       // h(n) = D2 * h_diagonal(n) + D * (h_straight(n) - 2*h_diagonal(n)))
 
-    float hx = fabs(point.x - end.x);
-    float hy = fabs(point.y - end.y);
-    float hz = fabs(point.z - end.z);
+       float hx = fabs(point.x - end.x);
+       float hy = fabs(point.y - end.y);
+       float hz = fabs(point.z - end.z);
 
-    float h_diag = min3(hx,hy,hz);
-    float h_str = hx + hy + hz;
+       float h_diag = min3(hx, hy, hz);
+       float h_str = hx + hy + hz;
 
-    float h =  pathlib_movecost_diag * h_diag;
-    h += pathlib_movecost * (h_str - 2 * h_diag);
+       float h =  pathlib_movecost_diag * h_diag;
+       h += pathlib_movecost * (h_str - 2 * h_diag);
 
-    vector d1 = normalize(preprev - point);
-    vector d2 = normalize(prev    - point);
-    float m = vlen(d1-d2);
+       vector d1 = normalize(preprev - point);
+       vector d2 = normalize(prev    - point);
+       float m = vlen(d1 - d2);
 
-    return h * m;
+       return h * m;
 }
 
 
-float pathlib_h_diagonal3(vector a,vector b)
+float pathlib_h_diagonal3(vector a, vector b)
 {
-    float hx = fabs(a.x - b.x);
-    float hy = fabs(a.y - b.y);
-    float hz = fabs(a.z - b.z);
+       float hx = fabs(a.x - b.x);
+       float hy = fabs(a.y - b.y);
+       float hz = fabs(a.z - b.z);
 
-    float h_diag = min3(hx,hy,hz);
-    float h_str = hx + hy + hz;
+       float h_diag = min3(hx, hy, hz);
+       float h_str = hx + hy + hz;
 
-    float h =  pathlib_movecost_diag * h_diag;
-    h += pathlib_movecost * (h_str - 2 * h_diag);
+       float h =  pathlib_movecost_diag * h_diag;
+       h += pathlib_movecost * (h_str - 2 * h_diag);
 
-    return h;
+       return h;
 }
index b84ae6414e20ba637d8f81c86bf946040bf37cb5..1914e8b6e71d0653e537a9a9d7ab0b7d2a2e58ce 100644 (file)
@@ -8,117 +8,112 @@ MODEL(SQUARE_BAD,   "models/pathlib/badsquare.md3");
 MODEL(EDGE,         "models/pathlib/edge.md3");
 
 #ifdef TURRET_DEBUG
-void mark_error(vector where,float lifetime);
-void mark_info(vector where,float lifetime);
-entity mark_misc(vector where,float lifetime);
+void mark_error(vector where, float lifetime);
+void mark_info(vector where, float lifetime);
+entity mark_misc(vector where, float lifetime);
 #endif
 
 void pathlib_showpath(entity start)
 {
-    entity e;
-    e = start;
-    while(e.path_next)
-    {
-        te_lightning1(e,e.origin,e.path_next.origin);
-        e = e.path_next;
-    }
+       entity e;
+       e = start;
+       while (e.path_next) {
+               te_lightning1(e, e.origin, e.path_next.origin);
+               e = e.path_next;
+       }
 }
 
 void path_dbg_think(entity this)
 {
-    pathlib_showpath(this);
-    this.nextthink = time + 1;
+       pathlib_showpath(this);
+       this.nextthink = time + 1;
 }
 
 void __showpath2_think(entity this)
 {
-    #ifdef TURRET_DEBUG
-       mark_info(this.origin,1);
-       #endif
-    if(this.path_next)
-    {
-        setthink(this.path_next, __showpath2_think);
-        this.path_next.nextthink = time + 0.15;
-    }
-    else
-    {
-        setthink(this.owner, __showpath2_think);
-        this.owner.nextthink = time + 0.15;
-    }
+#ifdef TURRET_DEBUG
+       mark_info(this.origin, 1);
+#endif
+       if (this.path_next) {
+               setthink(this.path_next, __showpath2_think);
+               this.path_next.nextthink = time + 0.15;
+       } else {
+               setthink(this.owner, __showpath2_think);
+               this.owner.nextthink = time + 0.15;
+       }
 }
 
 void pathlib_showpath2(entity path)
 {
-    setthink(path, __showpath2_think);
-    path.nextthink = time;
+       setthink(path, __showpath2_think);
+       path.nextthink = time;
 }
 
-void pathlib_showsquare2(entity node ,vector ncolor,float align)
+void pathlib_showsquare2(entity node, vector ncolor, float align)
 {
-
-    node.alpha     = 0.25;
-    node.scale     = pathlib_gridsize / 512.001;
-    node.solid     = SOLID_NOT;
-
-    setmodel(node, MDL_SQUARE);
-    setorigin(node, node.origin);
-    node.colormod = ncolor;
-
-    if(align)
-    {
-        traceline(node.origin + '0 0 32', node.origin - '0 0 128', MOVE_WORLDONLY, node);
-        node.angles = vectoangles(trace_plane_normal);
-        node.angles_x -= 90;
-    }
+       node.alpha     = 0.25;
+       node.scale     = pathlib_gridsize / 512.001;
+       node.solid     = SOLID_NOT;
+
+       setmodel(node, MDL_SQUARE);
+       setorigin(node, node.origin);
+       node.colormod = ncolor;
+
+       if (align) {
+               traceline(node.origin + '0 0 32', node.origin - '0 0 128', MOVE_WORLDONLY, node);
+               node.angles = vectoangles(trace_plane_normal);
+               node.angles_x -= 90;
+       }
 }
 
-void pathlib_showsquare(vector where,float goodsquare,float _lifetime)
+void pathlib_showsquare(vector where, float goodsquare, float _lifetime)
 {
-    entity s;
+       entity s;
 
-    if(!_lifetime)
-        _lifetime = time + 30;
-    else
-        _lifetime += time;
+       if (!_lifetime) {
+               _lifetime = time + 30;
+       } else {
+               _lifetime += time;
+       }
 
-    s           = spawn();
-    s.alpha     = 0.25;
-    setthink(s, SUB_Remove);
-    s.nextthink = _lifetime;
-    s.scale     = pathlib_gridsize / 512.001;
-    s.solid     = SOLID_NOT;
+       s           = spawn();
+       s.alpha     = 0.25;
+       setthink(s, SUB_Remove);
+       s.nextthink = _lifetime;
+       s.scale     = pathlib_gridsize / 512.001;
+       s.solid     = SOLID_NOT;
 
-    setmodel(s, goodsquare ? MDL_SQUARE_GOOD : MDL_SQUARE_BAD);
+       setmodel(s, goodsquare ? MDL_SQUARE_GOOD : MDL_SQUARE_BAD);
 
-    traceline(where + '0 0 32',where - '0 0 128',MOVE_WORLDONLY,s);
+       traceline(where + '0 0 32', where - '0 0 128', MOVE_WORLDONLY, s);
 
-    s.angles = vectoangles(trace_plane_normal);
-    s.angles_x -= 90;
-    setorigin(s, where);
+       s.angles = vectoangles(trace_plane_normal);
+       s.angles_x -= 90;
+       setorigin(s, where);
 }
 
-void pathlib_showedge(vector where,float _lifetime,float rot)
+void pathlib_showedge(vector where, float _lifetime, float rot)
 {
-    entity e;
-
-    if(!_lifetime)
-        _lifetime = time + 30;
-    else
-        _lifetime += time;
-
-    e           = spawn();
-    e.alpha     = 0.25;
-    setthink(e, SUB_Remove);
-    e.nextthink = _lifetime;
-    e.scale     = pathlib_gridsize / 512;
-    e.solid     = SOLID_NOT;
-    setorigin(e, where);
-    setmodel(e, MDL_EDGE);
-    //traceline(where + '0 0 32',where - '0 0 128',MOVE_WORLDONLY,e);
-    //e.angles = vectoangles(trace_plane_normal);
-    e.angles_y = rot;
-    //e.angles_x += 90;
-
+       entity e;
+
+       if (!_lifetime) {
+               _lifetime = time + 30;
+       } else {
+               _lifetime += time;
+       }
+
+       e           = spawn();
+       e.alpha     = 0.25;
+       setthink(e, SUB_Remove);
+       e.nextthink = _lifetime;
+       e.scale     = pathlib_gridsize / 512;
+       e.solid     = SOLID_NOT;
+       setorigin(e, where);
+       setmodel(e, MDL_EDGE);
+       // traceline(where + '0 0 32',where - '0 0 128',MOVE_WORLDONLY,e);
+       // e.angles = vectoangles(trace_plane_normal);
+       e.angles_y = rot;
+       // e.angles_x += 90;
 }
 
 #endif
index b77736b19ad7c098c5ab3a0c8bf9dfeb7ba2f76c..07d88894a9bb7826e3bba20d3ff50047c1a39ee4 100644 (file)
@@ -8,229 +8,216 @@ float  plib_fvals[8];
 
 float pathlib_expandnode_starf(entity node, vector start, vector goal)
 {
-    float fc;
-
-    vector where = node.origin;
-
-    vector f = PLIB_FORWARD * pathlib_gridsize;
-    vector r = PLIB_RIGHT   * pathlib_gridsize;
-
-    // Forward
-    plib_points[0] = where + f;
-
-    // Back
-    plib_points[1] = where - f;
-
-    // Right
-    plib_points[2] = where + r;
-
-    // Left
-    plib_points[3] = where - r;
-
-    // Forward-right
-    plib_points[4] = where + f + r;
-
-    // Forward-left
-    plib_points[5] = where + f - r;
-
-    // Back-right
-    plib_points[6] = where - f + r;
-
-    // Back-left
-    plib_points[7] = where - f - r;
-
-    for(int i=0;i < 8; ++i)
-    {
-        vector t = plib_points[i];
-        fc  = pathlib_heuristic(t,goal) + pathlib_cost(node, t, pathlib_gridsize);
-        plib_fvals[i] = fc;
-
-    }
-
-    fc = plib_fvals[0];
-    plib_points2[0] = plib_points[0];
-    vector bp;
-    bp = plib_points[0];
-    int fc2 = 0;
-    for(int i = 0; i < 8; ++i)
-    {
-        bool c = false;
-        entity nap = pathlib_nodeatpoint(plib_points[i]);
-        if(nap)
-        {
-            if(nap.owner == openlist)
-                c = true;
-        }
-        else
-            c = true;
-
-        if(c)
-        if(plib_fvals[i] < fc)
-        {
-            bp = plib_points[i];
-            fc = plib_fvals[i];
-            plib_points2[fc2] = plib_points[i];
-            ++fc2;
-        }
-
-        /*
-        nap = pathlib_nodeatpoint(plib_points[i]);
-        if(nap)
-        if not nap.owner == closedlist)
-        {
-        }
-        */
-    }
-
-    pathlib_makenode(node, start, bp, goal, pathlib_gridsize);
-
-    for(int i = 0; i < 3; ++i)
-    {
-        pathlib_makenode(node, start, plib_points2[i], goal, pathlib_gridsize);
-    }
-
-    return pathlib_open_cnt;
+       float fc;
+
+       vector where = node.origin;
+
+       vector f = PLIB_FORWARD * pathlib_gridsize;
+       vector r = PLIB_RIGHT   * pathlib_gridsize;
+
+       // Forward
+       plib_points[0] = where + f;
+
+       // Back
+       plib_points[1] = where - f;
+
+       // Right
+       plib_points[2] = where + r;
+
+       // Left
+       plib_points[3] = where - r;
+
+       // Forward-right
+       plib_points[4] = where + f + r;
+
+       // Forward-left
+       plib_points[5] = where + f - r;
+
+       // Back-right
+       plib_points[6] = where - f + r;
+
+       // Back-left
+       plib_points[7] = where - f - r;
+
+       for (int i = 0; i < 8; ++i) {
+               vector t = plib_points[i];
+               fc  = pathlib_heuristic(t, goal) + pathlib_cost(node, t, pathlib_gridsize);
+               plib_fvals[i] = fc;
+       }
+
+       fc = plib_fvals[0];
+       plib_points2[0] = plib_points[0];
+       vector bp;
+       bp = plib_points[0];
+       int fc2 = 0;
+       for (int i = 0; i < 8; ++i) {
+               bool c = false;
+               entity nap = pathlib_nodeatpoint(plib_points[i]);
+               if (nap) {
+                       if (nap.owner == openlist) {
+                               c = true;
+                       }
+               } else {
+                       c = true;
+               }
+
+               if (c) {
+                       if (plib_fvals[i] < fc) {
+                               bp = plib_points[i];
+                               fc = plib_fvals[i];
+                               plib_points2[fc2] = plib_points[i];
+                               ++fc2;
+                       }
+               }
+
+               /*
+               nap = pathlib_nodeatpoint(plib_points[i]);
+               if(nap)
+               if not nap.owner == closedlist)
+               {
+               }
+               */
+       }
+
+       pathlib_makenode(node, start, bp, goal, pathlib_gridsize);
+
+       for (int i = 0; i < 3; ++i) {
+               pathlib_makenode(node, start, plib_points2[i], goal, pathlib_gridsize);
+       }
+
+       return pathlib_open_cnt;
 }
 
 float pathlib_expandnode_star(entity node, vector start, vector goal)
 {
-    vector point;
-
-    vector where = node.origin;
-
-    vector f = PLIB_FORWARD * pathlib_gridsize;
-    vector r = PLIB_RIGHT   * pathlib_gridsize;
-
-    if (node.pathlib_node_edgeflags == pathlib_node_edgeflag_unknown)
-        node.pathlib_node_edgeflags = tile_check_plus2(node, node.origin);
-
-    if(node.pathlib_node_edgeflags == pathlib_node_edgeflag_none)
-    {
-        LOG_TRACE("Node at ", vtos(node.origin), " not expanable");
-        return pathlib_open_cnt;
-    }
-
-    // Forward
-    if (node.pathlib_node_edgeflags & pathlib_node_edgeflag_forward)
-    {
-        point = where + f;
-        pathlib_makenode(node, start, point, goal, pathlib_movecost);
-    }
-
-    // Back
-    if (node.pathlib_node_edgeflags & pathlib_node_edgeflag_back)
-    {
-        point = where - f;
-        pathlib_makenode(node, start, point, goal, pathlib_movecost);
-    }
-
-    // Right
-        if (node.pathlib_node_edgeflags & pathlib_node_edgeflag_right)
-    {
-        point = where + r;
-        pathlib_makenode(node, start, point, goal, pathlib_movecost);
-    }
-
-    // Left
-    if (node.pathlib_node_edgeflags & pathlib_node_edgeflag_left)
-    {
-        point = where - r;
-        pathlib_makenode(node, start, point, goal, pathlib_movecost);
-
-    }
-
-    // Forward-right
-    if (node.pathlib_node_edgeflags & pathlib_node_edgeflag_forwardright)
-    {
-        point = where + f + r;
-        pathlib_makenode(node, start, point, goal, pathlib_movecost_diag);
-    }
-
-    // Forward-left
-    if (node.pathlib_node_edgeflags & pathlib_node_edgeflag_forwardleft)
-    {
-        point = where + f - r;
-        pathlib_makenode(node, start, point, goal, pathlib_movecost_diag);
-
-    }
-
-    // Back-right
-    if (node.pathlib_node_edgeflags & pathlib_node_edgeflag_backright)
-    {
-        point = where - f + r;
-        pathlib_makenode(node, start, point, goal, pathlib_movecost_diag);
-    }
-
-    // Back-left
-    if (node.pathlib_node_edgeflags & pathlib_node_edgeflag_backleft)
-    {
-        point = where - f - r;
-        pathlib_makenode(node, start, point, goal, pathlib_movecost_diag);
-    }
-
-    return pathlib_open_cnt;
+       vector point;
+
+       vector where = node.origin;
+
+       vector f = PLIB_FORWARD * pathlib_gridsize;
+       vector r = PLIB_RIGHT   * pathlib_gridsize;
+
+       if (node.pathlib_node_edgeflags == pathlib_node_edgeflag_unknown) {
+               node.pathlib_node_edgeflags = tile_check_plus2(node, node.origin);
+       }
+
+       if (node.pathlib_node_edgeflags == pathlib_node_edgeflag_none) {
+               LOG_TRACE("Node at ", vtos(node.origin), " not expanable");
+               return pathlib_open_cnt;
+       }
+
+       // Forward
+       if (node.pathlib_node_edgeflags & pathlib_node_edgeflag_forward) {
+               point = where + f;
+               pathlib_makenode(node, start, point, goal, pathlib_movecost);
+       }
+
+       // Back
+       if (node.pathlib_node_edgeflags & pathlib_node_edgeflag_back) {
+               point = where - f;
+               pathlib_makenode(node, start, point, goal, pathlib_movecost);
+       }
+
+       // Right
+       if (node.pathlib_node_edgeflags & pathlib_node_edgeflag_right) {
+               point = where + r;
+               pathlib_makenode(node, start, point, goal, pathlib_movecost);
+       }
+
+       // Left
+       if (node.pathlib_node_edgeflags & pathlib_node_edgeflag_left) {
+               point = where - r;
+               pathlib_makenode(node, start, point, goal, pathlib_movecost);
+       }
+
+       // Forward-right
+       if (node.pathlib_node_edgeflags & pathlib_node_edgeflag_forwardright) {
+               point = where + f + r;
+               pathlib_makenode(node, start, point, goal, pathlib_movecost_diag);
+       }
+
+       // Forward-left
+       if (node.pathlib_node_edgeflags & pathlib_node_edgeflag_forwardleft) {
+               point = where + f - r;
+               pathlib_makenode(node, start, point, goal, pathlib_movecost_diag);
+       }
+
+       // Back-right
+       if (node.pathlib_node_edgeflags & pathlib_node_edgeflag_backright) {
+               point = where - f + r;
+               pathlib_makenode(node, start, point, goal, pathlib_movecost_diag);
+       }
+
+       // Back-left
+       if (node.pathlib_node_edgeflags & pathlib_node_edgeflag_backleft) {
+               point = where - f - r;
+               pathlib_makenode(node, start, point, goal, pathlib_movecost_diag);
+       }
+
+       return pathlib_open_cnt;
 }
 
 float pathlib_expandnode_octagon(entity node, vector start, vector goal)
 {
-    vector point;
+       vector point;
 
-    vector where = node.origin;
+       vector where = node.origin;
 
-    vector f = PLIB_FORWARD * pathlib_gridsize;
-    vector r = PLIB_RIGHT   * pathlib_gridsize;
+       vector f = PLIB_FORWARD * pathlib_gridsize;
+       vector r = PLIB_RIGHT   * pathlib_gridsize;
 
-    // Forward
-    point = where + f;
-    pathlib_makenode(node, start, point, goal, pathlib_movecost);
+       // Forward
+       point = where + f;
+       pathlib_makenode(node, start, point, goal, pathlib_movecost);
 
-    // Back
-    point = where - f;
-    pathlib_makenode(node, start, point, goal, pathlib_movecost);
+       // Back
+       point = where - f;
+       pathlib_makenode(node, start, point, goal, pathlib_movecost);
 
-    // Right
-    point = where + r;
-    pathlib_makenode(node, start, point, goal, pathlib_movecost);
+       // Right
+       point = where + r;
+       pathlib_makenode(node, start, point, goal, pathlib_movecost);
 
-    // Left
-    point = where - r;
-    pathlib_makenode(node, start, point, goal, pathlib_movecost);
+       // Left
+       point = where - r;
+       pathlib_makenode(node, start, point, goal, pathlib_movecost);
 
-    f = PLIB_FORWARD * pathlib_gridsize * 0.5;
-    r = PLIB_RIGHT   * pathlib_gridsize * 0.5;
+       f = PLIB_FORWARD * pathlib_gridsize * 0.5;
+       r = PLIB_RIGHT   * pathlib_gridsize * 0.5;
 
-    // Forward-right
-    point = where + f + r;
-    pathlib_makenode(node, start, point, goal, pathlib_movecost);
+       // Forward-right
+       point = where + f + r;
+       pathlib_makenode(node, start, point, goal, pathlib_movecost);
 
 
-    // Forward-left
-    point = where + f - r;
-    pathlib_makenode(node, start, point, goal, pathlib_movecost);
+       // Forward-left
+       point = where + f - r;
+       pathlib_makenode(node, start, point, goal, pathlib_movecost);
 
 
-    // Back-right
-    point = where - f + r;
-    pathlib_makenode(node, start, point, goal, pathlib_movecost);
+       // Back-right
+       point = where - f + r;
+       pathlib_makenode(node, start, point, goal, pathlib_movecost);
 
-    // Back-left
-    point = where - f - r;
-    pathlib_makenode(node, start, point, goal, pathlib_movecost);
+       // Back-left
+       point = where - f - r;
+       pathlib_makenode(node, start, point, goal, pathlib_movecost);
 
-    return pathlib_open_cnt;
+       return pathlib_open_cnt;
 }
 
 float pathlib_expandnode_box(entity node, vector start, vector goal)
 {
-    vector v;
-
-    for(v.z = node.origin.z - pathlib_gridsize; v.z <= node.origin.z + pathlib_gridsize; v.z += pathlib_gridsize)
-    for(v.y = node.origin.y - pathlib_gridsize; v.y <= node.origin.y + pathlib_gridsize; v.y += pathlib_gridsize)
-    for(v.x = node.origin.x - pathlib_gridsize; v.x <= node.origin.x + pathlib_gridsize; v.x += pathlib_gridsize)
-    {
-        //if(vlen(v - node.origin))
-            pathlib_makenode(node,start,v,goal,pathlib_movecost);
-    }
-
-    return pathlib_open_cnt;
+       vector v;
+
+       for (v.z = node.origin.z - pathlib_gridsize; v.z <= node.origin.z + pathlib_gridsize; v.z += pathlib_gridsize) {
+               for (v.y = node.origin.y - pathlib_gridsize; v.y <= node.origin.y + pathlib_gridsize; v.y += pathlib_gridsize) {
+                       for (v.x = node.origin.x - pathlib_gridsize; v.x <= node.origin.x + pathlib_gridsize; v.x += pathlib_gridsize) {
+                               // if(vlen(v - node.origin))
+                               pathlib_makenode(node, start, v, goal, pathlib_movecost);
+                       }
+               }
+       }
+
+       return pathlib_open_cnt;
 }
index c2f33260302c7899dbba85212c3df2eeece69172..02fb5b06a69c3303d384e7026809c16ea137bc6f 100644 (file)
 
 void pathlib_deletepath(entity start)
 {
-    if(!start)
-        return;
-
-    FOREACH_ENTITY_ENT(owner, start,
-    {
-        setthink(it, SUB_Remove);
-        it.nextthink = time;
-    });
+       if (!start) {
+               return;
+       }
+
+       FOREACH_ENTITY_ENT(owner, start,
+       {
+               setthink(it, SUB_Remove);
+               it.nextthink = time;
+       });
 }
 
 const float PATHLIB_NODEEXPIRE = 20; // 0.05
 
 void dumpnode(entity n)
 {
-    if(n.is_path_node)
-        IL_REMOVE(g_pathlib_nodes, n);
-    n.is_path_node = false;
-    setthink(n, SUB_Remove);
-    n.nextthink    = time;
+       if (n.is_path_node) {
+               IL_REMOVE(g_pathlib_nodes, n);
+       }
+       n.is_path_node = false;
+       setthink(n, SUB_Remove);
+       n.nextthink    = time;
 }
 
 #if DEBUGPATHING
 void pathlib_showpath(entity start);
 void pathlib_showpath2(entity path);
-void pathlib_showsquare(vector where,float goodsquare,float _lifetime);
+void pathlib_showsquare(vector where, float goodsquare, float _lifetime);
 #endif
 
 
-entity pathlib_mknode(vector where,entity parent)
+entity pathlib_mknode(vector where, entity parent)
 {
-    entity node = pathlib_nodeatpoint(where);
-    if(node)
-    {
-       #ifdef TURRET_DEBUG
-        mark_error(where, 60);
-        #endif
-        return node;
-    }
-
-    node = spawn();
-
-    setthink(node, SUB_Remove);
-    node.nextthink    = time + PATHLIB_NODEEXPIRE;
-    IL_PUSH(g_pathlib_nodes, node);
-    node.is_path_node = true;
-    node.owner        = openlist;
-    node.path_prev    = parent;
-
-    setsize(node, '0 0 0', '0 0 0');
-
-    setorigin(node, where);
+       entity node = pathlib_nodeatpoint(where);
+       if (node) {
+#ifdef TURRET_DEBUG
+               mark_error(where, 60);
+#endif
+               return node;
+       }
+
+       node = spawn();
+
+       setthink(node, SUB_Remove);
+       node.nextthink    = time + PATHLIB_NODEEXPIRE;
+       IL_PUSH(g_pathlib_nodes, node);
+       node.is_path_node = true;
+       node.owner        = openlist;
+       node.path_prev    = parent;
+
+       setsize(node, '0 0 0', '0 0 0');
+
+       setorigin(node, where);
 #if DEBUGPATHING
-    pathlib_showsquare(where, 1 ,15);
+       pathlib_showsquare(where, 1, 15);
 #endif
-    ++pathlib_made_cnt;
-    ++pathlib_open_cnt;
+       ++pathlib_made_cnt;
+       ++pathlib_open_cnt;
 
-    return node;
+       return node;
 }
 
-bool pathlib_makenode_adaptive(entity parent,vector start, vector to, vector goal,float cost)
+bool pathlib_makenode_adaptive(entity parent, vector start, vector to, vector goal, float cost)
 {
-    bool dodge = false;
-    float f, h, g;
-
-    ++pathlib_searched_cnt;
-
-    if(inwater(parent.origin))
-    {
-        LOG_DEBUG("FromWater");
-        pathlib_expandnode = pathlib_expandnode_box;
-        pathlib_movenode   = pathlib_swimnode;
-    }
-    else
-    {
-        if(inwater(to))
-        {
-            LOG_DEBUG("ToWater");
-            pathlib_expandnode = pathlib_expandnode_box;
-            pathlib_movenode   = pathlib_walknode;
-        }
-        else
-        {
-            LOG_DEBUG("LandToLoand");
-            //if(edge_check(parent.origin))
-            //    return 0;
-
-            pathlib_expandnode = pathlib_expandnode_star;
-            pathlib_movenode   = pathlib_walknode;
-            dodge = true;
-        }
-    }
-
-    entity node = pathlib_nodeatpoint(to);
-    if(node)
-    {
-        LOG_DEBUG("NodeAtPoint");
-        ++pathlib_merge_cnt;
-
-        if(node.owner == openlist)
-        {
-            h = pathlib_heuristic(node.origin,goal);
-            float g = pathlib_cost(parent,node.origin,cost);
-            f = g + h;
-
-            if(node.pathlib_node_g > g)
-            {
-                node.pathlib_node_h = h;
-                node.pathlib_node_g = g;
-                node.pathlib_node_f = f;
-
-                node.path_prev = parent;
-            }
-
-            if (!best_open_node)
-                best_open_node = node;
-            else if(best_open_node.pathlib_node_f > node.pathlib_node_f)
-                best_open_node = node;
-        }
-
-        return true;
-    }
-
-    vector where = pathlib_movenode(parent, parent.origin, to, 0);
-
-    if (!pathlib_movenode_goodnode)
-    {
-        //pathlib_showsquare(where, 0 ,30);
-        //pathlib_showsquare(parent.origin, 1 ,30);
-        LOG_DEBUG("pathlib_movenode_goodnode = 0");
-        return false;
-    }
-
-    //pathlib_showsquare(where, 1 ,30);
-
-    if(pathlib_nodeatpoint(where))
-    {
-        LOG_DEBUG("NAP WHERE :",vtos(where));
-        LOG_DEBUG("not NAP TO:",vtos(to));
-        LOG_DEBUG("NAP-NNAP:",ftos(vlen(to-where)));
-        return false;
-    }
-
-
-    if(dodge)
-        if (!tile_check(parent, where))
-        {
-            LOG_DEBUG("tile_check fail");
+       bool dodge = false;
+       float f, h, g;
+
+       ++pathlib_searched_cnt;
+
+       if (inwater(parent.origin)) {
+               LOG_DEBUG("FromWater");
+               pathlib_expandnode = pathlib_expandnode_box;
+               pathlib_movenode   = pathlib_swimnode;
+       } else {
+               if (inwater(to)) {
+                       LOG_DEBUG("ToWater");
+                       pathlib_expandnode = pathlib_expandnode_box;
+                       pathlib_movenode   = pathlib_walknode;
+               } else {
+                       LOG_DEBUG("LandToLoand");
+                       // if(edge_check(parent.origin))
+                       //    return 0;
+
+                       pathlib_expandnode = pathlib_expandnode_star;
+                       pathlib_movenode   = pathlib_walknode;
+                       dodge = true;
+               }
+       }
+
+       entity node = pathlib_nodeatpoint(to);
+       if (node) {
+               LOG_DEBUG("NodeAtPoint");
+               ++pathlib_merge_cnt;
+
+               if (node.owner == openlist) {
+                       h = pathlib_heuristic(node.origin, goal);
+                       float g = pathlib_cost(parent, node.origin, cost);
+                       f = g + h;
+
+                       if (node.pathlib_node_g > g) {
+                               node.pathlib_node_h = h;
+                               node.pathlib_node_g = g;
+                               node.pathlib_node_f = f;
+
+                               node.path_prev = parent;
+                       }
+
+                       if (!best_open_node) {
+                               best_open_node = node;
+                       } else if (best_open_node.pathlib_node_f > node.pathlib_node_f) {
+                               best_open_node = node;
+                       }
+               }
+
+               return true;
+       }
+
+       vector where = pathlib_movenode(parent, parent.origin, to, 0);
+
+       if (!pathlib_movenode_goodnode) {
+               // pathlib_showsquare(where, 0 ,30);
+               // pathlib_showsquare(parent.origin, 1 ,30);
+               LOG_DEBUG("pathlib_movenode_goodnode = 0");
+               return false;
+       }
+
+       // pathlib_showsquare(where, 1 ,30);
+
+       if (pathlib_nodeatpoint(where)) {
+               LOG_DEBUG("NAP WHERE :", vtos(where));
+               LOG_DEBUG("not NAP TO:", vtos(to));
+               LOG_DEBUG("NAP-NNAP:", ftos(vlen(to - where)));
+               return false;
+       }
+
+
+       if (dodge) {
+               if (!tile_check(parent, where)) {
+                       LOG_DEBUG("tile_check fail");
 #if DEBUGPATHING
-            pathlib_showsquare(where, 0 ,30);
+                       pathlib_showsquare(where, 0, 30);
 #endif
-            return false;
-        }
-
-
-    h = pathlib_heuristic(where,goal);
-    g = pathlib_cost(parent,where,cost);
-    f = g + h;
-
-    /*
-    node = findradius(where,pathlib_gridsize * 0.5);
-    while(node)
-    {
-        if(node.is_path_node == true)
-        {
-            ++pathlib_merge_cnt;
-            if(node.owner == openlist)
-            {
-                if(node.pathlib_node_g > g)
-                {
-                    //pathlib_movenode(node, where,node.origin,0);
-                    //if(pathlib_movenode_goodnode)
-                    //{
-                        //mark_error(node.origin + '0 0 128',30);
-                        node.pathlib_node_h = h;
-                        node.pathlib_node_g = g;
-                        node.pathlib_node_f = f;
-                        node.path_prev = parent;
-                    //}
-                }
-
-                if (!best_open_node)
-                    best_open_node = node;
-                else if(best_open_node.pathlib_node_f > node.pathlib_node_f)
-                    best_open_node = node;
-            }
-
-            return 1;
-        }
-        node = node.chain;
-    }
-    */
-
-    node = pathlib_mknode(where, parent);
-    node.pathlib_node_h = h;
-    node.pathlib_node_g = g;
-    node.pathlib_node_f = f;
-
-    if (!best_open_node)
-        best_open_node = node;
-    else if(best_open_node.pathlib_node_f > node.pathlib_node_f)
-        best_open_node = node;
-
-    return true;
+                       return false;
+               }
+       }
+
+
+       h = pathlib_heuristic(where, goal);
+       g = pathlib_cost(parent, where, cost);
+       f = g + h;
+
+       /*
+       node = findradius(where,pathlib_gridsize * 0.5);
+       while(node)
+       {
+           if(node.is_path_node == true)
+           {
+               ++pathlib_merge_cnt;
+               if(node.owner == openlist)
+               {
+                   if(node.pathlib_node_g > g)
+                   {
+                       //pathlib_movenode(node, where,node.origin,0);
+                       //if(pathlib_movenode_goodnode)
+                       //{
+                           //mark_error(node.origin + '0 0 128',30);
+                           node.pathlib_node_h = h;
+                           node.pathlib_node_g = g;
+                           node.pathlib_node_f = f;
+                           node.path_prev = parent;
+                       //}
+                   }
+
+                   if (!best_open_node)
+                       best_open_node = node;
+                   else if(best_open_node.pathlib_node_f > node.pathlib_node_f)
+                       best_open_node = node;
+               }
+
+               return 1;
+           }
+           node = node.chain;
+       }
+       */
+
+       node = pathlib_mknode(where, parent);
+       node.pathlib_node_h = h;
+       node.pathlib_node_g = g;
+       node.pathlib_node_f = f;
+
+       if (!best_open_node) {
+               best_open_node = node;
+       } else if (best_open_node.pathlib_node_f > node.pathlib_node_f) {
+               best_open_node = node;
+       }
+
+       return true;
 }
 
 entity pathlib_getbestopen()
 {
-    if(best_open_node)
-    {
-        ++pathlib_bestcash_hits;
-        pathlib_bestcash_saved += pathlib_open_cnt;
+       if (best_open_node) {
+               ++pathlib_bestcash_hits;
+               pathlib_bestcash_saved += pathlib_open_cnt;
 
-        return best_open_node;
-    }
+               return best_open_node;
+       }
 
-    entity bestnode = NULL;
-    FOREACH_ENTITY_ENT(owner, openlist,
-    {
-        ++pathlib_bestopen_searched;
+       entity bestnode = NULL;
+       FOREACH_ENTITY_ENT(owner, openlist,
+       {
+               ++pathlib_bestopen_searched;
 
-        if(!bestnode || it.pathlib_node_f < bestnode.pathlib_node_f)
-            bestnode = it;
-    });
+               if (!bestnode || it.pathlib_node_f < bestnode.pathlib_node_f) {
+                       bestnode = it;
+               }
+       });
 
-    return bestnode;
+       return bestnode;
 }
 
-void pathlib_close_node(entity node,vector goal)
+void pathlib_close_node(entity node, vector goal)
 {
-    if(node.owner == closedlist)
-    {
-        LOG_TRACE("Pathlib: Tried to close a closed node!");
-        return;
-    }
-
-    if(node == best_open_node)
-        best_open_node = NULL;
-
-    ++pathlib_closed_cnt;
-    --pathlib_open_cnt;
-
-    node.owner = closedlist;
-
-    if(vdist(node.origin - goal, <=, pathlib_gridsize))
-    {
-        vector goalmove;
-
-        goalmove = pathlib_walknode(node, node.origin, goal, 1);
-        if(pathlib_movenode_goodnode)
-        {
-            goal_node         = node;
-            pathlib_foundgoal = true;
-        }
-    }
+       if (node.owner == closedlist) {
+               LOG_TRACE("Pathlib: Tried to close a closed node!");
+               return;
+       }
+
+       if (node == best_open_node) {
+               best_open_node = NULL;
+       }
+
+       ++pathlib_closed_cnt;
+       --pathlib_open_cnt;
+
+       node.owner = closedlist;
+
+       if (vdist(node.origin - goal, <=, pathlib_gridsize)) {
+               vector goalmove;
+
+               goalmove = pathlib_walknode(node, node.origin, goal, 1);
+               if (pathlib_movenode_goodnode) {
+                       goal_node         = node;
+                       pathlib_foundgoal = true;
+               }
+       }
 }
 
 void pathlib_cleanup()
 {
-    best_open_node = NULL;
+       best_open_node = NULL;
 
-    //return;
+       // return;
 
-    IL_EACH(g_pathlib_nodes, it.is_path_node,
-    {
-       dumpnode(it);
-    });
+       IL_EACH(g_pathlib_nodes, it.is_path_node,
+       {
+               dumpnode(it);
+       });
 
-    IL_CLEAR(g_pathlib_nodes);
+       IL_CLEAR(g_pathlib_nodes);
 
-    if(openlist)
-        delete(openlist);
+       if (openlist) {
+               delete(openlist);
+       }
 
-    if(closedlist)
-        delete(closedlist);
+       if (closedlist) {
+               delete(closedlist);
+       }
 
-    openlist = NULL;
-    closedlist = NULL;
+       openlist = NULL;
+       closedlist = NULL;
 }
 
 float Cosine_Interpolate(float a, float b, float c)
@@ -293,256 +285,256 @@ float Cosine_Interpolate(float a, float b, float c)
        float ft = c * 3.1415927;
        float f = (1 - cos(ft)) * 0.5;
 
-       return a*(1-f) + b*f;
+       return a * (1 - f) + b * f;
 }
 
-bool buildpath_nodefilter_directional(vector n,vector c,vector p)
+bool buildpath_nodefilter_directional(vector n, vector c, vector p)
 {
-    vector d2 = normalize(p - c);
-    vector d1 = normalize(c - n);
-
-    if(vdist(d1 - d2, <, 0.25))
-    {
-        //mark_error(c,30);
-        return true;
-    }
-    //mark_info(c,30);
-    return false;
+       vector d2 = normalize(p - c);
+       vector d1 = normalize(c - n);
+
+       if (vdist(d1 - d2, <, 0.25)) {
+               // mark_error(c,30);
+               return true;
+       }
+       // mark_info(c,30);
+       return false;
 }
 
-bool buildpath_nodefilter_moveskip(entity this, vector n,vector c,vector p)
+bool buildpath_nodefilter_moveskip(entity this, vector n, vector c, vector p)
 {
-    pathlib_walknode(this, p, n, 1);
-    if(pathlib_movenode_goodnode)
-        return true;
+       pathlib_walknode(this, p, n, 1);
+       if (pathlib_movenode_goodnode) {
+               return true;
+       }
 
-    return false;
+       return false;
 }
 
-bool buildpath_nodefilter_none(vector n,vector c,vector p)
+bool buildpath_nodefilter_none(vector n, vector c, vector p)
 {
-    return false;
+       return false;
 }
 
 entity path_build(entity next, vector where, entity prev, entity start)
 {
-    if(prev && next)
-        if(buildpath_nodefilter)
-            if(buildpath_nodefilter(next.origin,where,prev.origin))
-                return next;
-
-
-    entity path    = spawn();
-    path.owner     = start;
-    path.path_next = next;
-
-    setorigin(path, where);
-
-    if(!next)
-        path.classname = "path_end";
-    else
-    {
-        if(!prev)
-            path.classname = "path_start";
-        else
-            path.classname = "path_node";
-    }
-
-    return path;
+       if (prev && next) {
+               if (buildpath_nodefilter) {
+                       if (buildpath_nodefilter(next.origin, where, prev.origin)) {
+                               return next;
+                       }
+               }
+       }
+
+
+       entity path    = spawn();
+       path.owner     = start;
+       path.path_next = next;
+
+       setorigin(path, where);
+
+       if (!next) {
+               path.classname = "path_end";
+       } else {
+               if (!prev) {
+                       path.classname = "path_start";
+               } else {
+                       path.classname = "path_node";
+               }
+       }
+
+       return path;
 }
 
 entity pathlib_astar(entity this, vector from, vector to)
 {
        entity open;
-    float ptime = gettime(GETTIME_REALTIME);
-    pathlib_starttime = ptime;
+       float ptime = gettime(GETTIME_REALTIME);
+       pathlib_starttime = ptime;
 
-    pathlib_cleanup();
+       pathlib_cleanup();
 
-    // Select water<->land capable node make/link
-    pathlib_makenode     = pathlib_makenode_adaptive;
+       // Select water<->land capable node make/link
+       pathlib_makenode     = pathlib_makenode_adaptive;
 
-    // Select XYZ cost estimate
-    //pathlib_heuristic    = pathlib_h_diagonal3;
-    pathlib_heuristic    = pathlib_h_diagonal;
-
-    // Select distance + waterfactor cost
-    pathlib_cost         = pathlib_g_euclidean_water;
+       // Select XYZ cost estimate
+       // pathlib_heuristic    = pathlib_h_diagonal3;
+       pathlib_heuristic    = pathlib_h_diagonal;
+
+       // Select distance + waterfactor cost
+       pathlib_cost         = pathlib_g_euclidean_water;
 
-    // Select star expander
-    pathlib_expandnode   = pathlib_expandnode_star;
-
-    // Select walk simulation movement test
-    pathlib_movenode     = pathlib_walknode;
-
-    // Filter final nodes by direction
-    buildpath_nodefilter = buildpath_nodefilter_directional;
-
-    // Filter tiles with cross pattern
-    tile_check = tile_check_cross;
-
-    // If the start is in water we need diffrent settings
-    if(inwater(from))
-    {
-        // Select volumetric node expaner
-        pathlib_expandnode = pathlib_expandnode_box;
-
-        // Water movement test
-        pathlib_movenode   = pathlib_swimnode;
-    }
-
-    if (!openlist)
-        openlist       = spawn();
-
-    if (!closedlist)
-        closedlist     = spawn();
-
-    pathlib_closed_cnt       = 0;
-    pathlib_open_cnt         = 0;
-    pathlib_made_cnt         = 0;
-    pathlib_merge_cnt        = 0;
-    pathlib_searched_cnt     = 0;
-    pathlib_bestopen_searched = 0;
-    pathlib_bestcash_hits    = 0;
-    pathlib_bestcash_saved   = 0;
-
-    pathlib_gridsize       = 128;
-    pathlib_movecost       = pathlib_gridsize;
-    pathlib_movecost_diag  = vlen(('1 1 0' * pathlib_gridsize));
-    pathlib_movecost_waterfactor = 25000000;
-    pathlib_foundgoal      = 0;
-
-    movenode_boxmax   = this.maxs * 1.1;
-    movenode_boxmin   = this.mins * 1.1;
-
-    movenode_stepsize = pathlib_gridsize * 0.25;
-
-    tile_check_size = pathlib_gridsize * 0.5;
-    tile_check_up   = '0 0 2' * pathlib_gridsize;
-    tile_check_up   = '0 0 128';
-    tile_check_down = '0 0 3' * pathlib_gridsize;
-    tile_check_down = '0 0 256';
-
-    //movenode_stepup   = '0 0 128';
-    movenode_stepup   = '0 0 36';
-    movenode_maxdrop  = '0 0 512';
-    //movenode_maxdrop  = '0 0 512';
-    movenode_boxup    = '0 0 72';
-
-    from.x = fsnap(from.x, pathlib_gridsize);
-    from.y = fsnap(from.y, pathlib_gridsize);
-    //from.z += 32;
-
-    to.x = fsnap(to.x, pathlib_gridsize);
-    to.y = fsnap(to.y, pathlib_gridsize);
-    //to.z += 32;
-
-    LOG_DEBUG("AStar init");
-    entity path = pathlib_mknode(from, NULL);
-    pathlib_close_node(path, to);
-    if(pathlib_foundgoal)
-    {
-        LOG_DEBUG("AStar: Goal found on first node!");
-
-        open           = new(path_end);
-        open.owner     = open;
-        setorigin(open, path.origin);
-
-        pathlib_cleanup();
-
-        return open;
-    }
-
-    if(pathlib_expandnode(path, from, to) <= 0)
-    {
-        LOG_TRACE("AStar path fail.");
-        pathlib_cleanup();
-
-        return NULL;
-    }
-
-    best_open_node = pathlib_getbestopen();
-    entity n = best_open_node;
-    pathlib_close_node(best_open_node, to);
-    if(inwater(n.origin))
-        pathlib_expandnode_box(n, from, to);
-    else
-        pathlib_expandnode_star(n, from, to);
-
-    while(pathlib_open_cnt)
-    {
-        if((gettime(GETTIME_REALTIME) - pathlib_starttime) > pathlib_maxtime)
-        {
-            LOG_TRACE("Path took too long to compute!");
-            LOG_TRACE("Nodes - created: ", ftos(pathlib_made_cnt));
-            LOG_TRACE("Nodes -    open: ", ftos(pathlib_open_cnt));
-            LOG_TRACE("Nodes -  merged: ", ftos(pathlib_merge_cnt));
-            LOG_TRACE("Nodes -  closed: ", ftos(pathlib_closed_cnt));
-
-            pathlib_cleanup();
-            return NULL;
-        }
-
-        best_open_node = pathlib_getbestopen();
-        n = best_open_node;
-        pathlib_close_node(best_open_node,to);
-
-        if(inwater(n.origin))
-            pathlib_expandnode_box(n,from,to);
-        else
-            pathlib_expandnode(n,from,to);
-
-        if(pathlib_foundgoal)
-        {
-            LOG_DEBUG("Target found. Rebuilding and filtering path...");
-            float ftime = gettime(GETTIME_REALTIME);
-            ptime = ftime - ptime;
-
-            entity start = path_build(NULL,path.origin,NULL,NULL);
-            entity end   = path_build(NULL,goal_node.origin,NULL,start);
-            entity ln    = end;
-
-            open = goal_node;
-            for(open = goal_node; open.path_prev != path; open = open.path_prev)
-            {
-                n    = path_build(ln,open.origin,open.path_prev,start);
-                ln.path_prev = n;
-                ln = n;
-            }
-            start.path_next = n;
-            n.path_prev = start;
-            ftime = gettime(GETTIME_REALTIME) - ftime;
-
-            float ctime = gettime(GETTIME_REALTIME);
-            pathlib_cleanup();
-            ctime = gettime(GETTIME_REALTIME) - ctime;
+       // Select star expander
+       pathlib_expandnode   = pathlib_expandnode_star;
+
+       // Select walk simulation movement test
+       pathlib_movenode     = pathlib_walknode;
+
+       // Filter final nodes by direction
+       buildpath_nodefilter = buildpath_nodefilter_directional;
+
+       // Filter tiles with cross pattern
+       tile_check = tile_check_cross;
+
+       // If the start is in water we need diffrent settings
+       if (inwater(from)) {
+               // Select volumetric node expaner
+               pathlib_expandnode = pathlib_expandnode_box;
+
+               // Water movement test
+               pathlib_movenode   = pathlib_swimnode;
+       }
+
+       if (!openlist) {
+               openlist       = spawn();
+       }
+
+       if (!closedlist) {
+               closedlist     = spawn();
+       }
+
+       pathlib_closed_cnt       = 0;
+       pathlib_open_cnt         = 0;
+       pathlib_made_cnt         = 0;
+       pathlib_merge_cnt        = 0;
+       pathlib_searched_cnt     = 0;
+       pathlib_bestopen_searched = 0;
+       pathlib_bestcash_hits    = 0;
+       pathlib_bestcash_saved   = 0;
+
+       pathlib_gridsize       = 128;
+       pathlib_movecost       = pathlib_gridsize;
+       pathlib_movecost_diag  = vlen(('1 1 0' * pathlib_gridsize));
+       pathlib_movecost_waterfactor = 25000000;
+       pathlib_foundgoal      = 0;
+
+       movenode_boxmax   = this.maxs * 1.1;
+       movenode_boxmin   = this.mins * 1.1;
+
+       movenode_stepsize = pathlib_gridsize * 0.25;
+
+       tile_check_size = pathlib_gridsize * 0.5;
+       tile_check_up   = '0 0 2' * pathlib_gridsize;
+       tile_check_up   = '0 0 128';
+       tile_check_down = '0 0 3' * pathlib_gridsize;
+       tile_check_down = '0 0 256';
+
+       // movenode_stepup   = '0 0 128';
+       movenode_stepup   = '0 0 36';
+       movenode_maxdrop  = '0 0 512';
+       // movenode_maxdrop  = '0 0 512';
+       movenode_boxup    = '0 0 72';
+
+       from.x = fsnap(from.x, pathlib_gridsize);
+       from.y = fsnap(from.y, pathlib_gridsize);
+       // from.z += 32;
+
+       to.x = fsnap(to.x, pathlib_gridsize);
+       to.y = fsnap(to.y, pathlib_gridsize);
+       // to.z += 32;
+
+       LOG_DEBUG("AStar init");
+       entity path = pathlib_mknode(from, NULL);
+       pathlib_close_node(path, to);
+       if (pathlib_foundgoal) {
+               LOG_DEBUG("AStar: Goal found on first node!");
+
+               open           = new(path_end);
+               open.owner     = open;
+               setorigin(open, path.origin);
+
+               pathlib_cleanup();
+
+               return open;
+       }
+
+       if (pathlib_expandnode(path, from, to) <= 0) {
+               LOG_TRACE("AStar path fail.");
+               pathlib_cleanup();
+
+               return NULL;
+       }
+
+       best_open_node = pathlib_getbestopen();
+       entity n = best_open_node;
+       pathlib_close_node(best_open_node, to);
+       if (inwater(n.origin)) {
+               pathlib_expandnode_box(n, from, to);
+       } else {
+               pathlib_expandnode_star(n, from, to);
+       }
+
+       while (pathlib_open_cnt) {
+               if ((gettime(GETTIME_REALTIME) - pathlib_starttime) > pathlib_maxtime) {
+                       LOG_TRACE("Path took too long to compute!");
+                       LOG_TRACE("Nodes - created: ", ftos(pathlib_made_cnt));
+                       LOG_TRACE("Nodes -    open: ", ftos(pathlib_open_cnt));
+                       LOG_TRACE("Nodes -  merged: ", ftos(pathlib_merge_cnt));
+                       LOG_TRACE("Nodes -  closed: ", ftos(pathlib_closed_cnt));
+
+                       pathlib_cleanup();
+                       return NULL;
+               }
+
+               best_open_node = pathlib_getbestopen();
+               n = best_open_node;
+               pathlib_close_node(best_open_node, to);
+
+               if (inwater(n.origin)) {
+                       pathlib_expandnode_box(n, from, to);
+               } else {
+                       pathlib_expandnode(n, from, to);
+               }
+
+               if (pathlib_foundgoal) {
+                       LOG_DEBUG("Target found. Rebuilding and filtering path...");
+                       float ftime = gettime(GETTIME_REALTIME);
+                       ptime = ftime - ptime;
+
+                       entity start = path_build(NULL, path.origin, NULL, NULL);
+                       entity end   = path_build(NULL, goal_node.origin, NULL, start);
+                       entity ln    = end;
+
+                       open = goal_node;
+                       for (open = goal_node; open.path_prev != path; open = open.path_prev) {
+                               n    = path_build(ln, open.origin, open.path_prev, start);
+                               ln.path_prev = n;
+                               ln = n;
+                       }
+                       start.path_next = n;
+                       n.path_prev = start;
+                       ftime = gettime(GETTIME_REALTIME) - ftime;
+
+                       float ctime = gettime(GETTIME_REALTIME);
+                       pathlib_cleanup();
+                       ctime = gettime(GETTIME_REALTIME) - ctime;
 
 
 #if DEBUGPATHING
-            pathlib_showpath2(start);
-
-            LOG_TRACE("Time used -      pathfinding: ", ftos(ptime));
-            LOG_TRACE("Time used - rebuild & filter: ", ftos(ftime));
-            LOG_TRACE("Time used -          cleanup: ", ftos(ctime));
-            LOG_TRACE("Time used -            total: ", ftos(ptime + ftime + ctime));
-            LOG_TRACE("Time used -         # frames: ", ftos(ceil((ptime + ftime + ctime) / sys_frametime)));
-            LOG_TRACE("Nodes -         created: ", ftos(pathlib_made_cnt));
-            LOG_TRACE("Nodes -            open: ", ftos(pathlib_open_cnt));
-            LOG_TRACE("Nodes -          merged: ", ftos(pathlib_merge_cnt));
-            LOG_TRACE("Nodes -          closed: ", ftos(pathlib_closed_cnt));
-            LOG_TRACE("Nodes -        searched: ", ftos(pathlib_searched_cnt));
-            LOG_TRACE("Nodes bestopen searched: ", ftos(pathlib_bestopen_searched));
-            LOG_TRACE("Nodes bestcash -   hits: ", ftos(pathlib_bestcash_hits));
-            LOG_TRACE("Nodes bestcash -   save: ", ftos(pathlib_bestcash_saved));
-            LOG_TRACE("AStar done.");
+                       pathlib_showpath2(start);
+
+                       LOG_TRACE("Time used -      pathfinding: ", ftos(ptime));
+                       LOG_TRACE("Time used - rebuild & filter: ", ftos(ftime));
+                       LOG_TRACE("Time used -          cleanup: ", ftos(ctime));
+                       LOG_TRACE("Time used -            total: ", ftos(ptime + ftime + ctime));
+                       LOG_TRACE("Time used -         # frames: ", ftos(ceil((ptime + ftime + ctime) / sys_frametime)));
+                       LOG_TRACE("Nodes -         created: ", ftos(pathlib_made_cnt));
+                       LOG_TRACE("Nodes -            open: ", ftos(pathlib_open_cnt));
+                       LOG_TRACE("Nodes -          merged: ", ftos(pathlib_merge_cnt));
+                       LOG_TRACE("Nodes -          closed: ", ftos(pathlib_closed_cnt));
+                       LOG_TRACE("Nodes -        searched: ", ftos(pathlib_searched_cnt));
+                       LOG_TRACE("Nodes bestopen searched: ", ftos(pathlib_bestopen_searched));
+                       LOG_TRACE("Nodes bestcash -   hits: ", ftos(pathlib_bestcash_hits));
+                       LOG_TRACE("Nodes bestcash -   save: ", ftos(pathlib_bestcash_saved));
+                       LOG_TRACE("AStar done.");
 #endif
-            return start;
-        }
-    }
+                       return start;
+               }
+       }
 
-    LOG_TRACE("A* Faild to find a path! Try a smaller gridsize.");
+       LOG_TRACE("A* Faild to find a path! Try a smaller gridsize.");
 
-    pathlib_cleanup();
+       pathlib_cleanup();
 
-    return NULL;
+       return NULL;
 }
index c867080dd7e336e175eecc95ea4586e18c50b744..c6fee1f268b40130b074a63151406aaa9780b09b 100644 (file)
@@ -1,4 +1,4 @@
 #pragma once
 
-bool buildpath_nodefilter_none(vector n,vector c,vector p);
+bool buildpath_nodefilter_none(vector n, vector c, vector p);
 entity path_build(entity next, vector where, entity prev, entity start);
index cbcfe3d4c6038f07c00abb44047019d6988748a3..188fa23b4980cc4bf842513de7630796e0b61226 100644 (file)
 #include "pathlib.qh"
 #include "utility.qh"
 
-.vector        pos1, pos2;
+.vector pos1, pos2;
 
 vector pathlib_wateroutnode(entity this, vector start, vector end, float doedge)
 {
-    vector surface;
+       vector surface;
 
-    pathlib_movenode_goodnode = false;
+       pathlib_movenode_goodnode = false;
 
-    end.x = fsnap(end.x, pathlib_gridsize);
-    end.y = fsnap(end.y, pathlib_gridsize);
+       end.x = fsnap(end.x, pathlib_gridsize);
+       end.y = fsnap(end.y, pathlib_gridsize);
 
-    traceline(end + ('0 0 0.25' * pathlib_gridsize),end - ('0 0 1' * pathlib_gridsize),MOVE_WORLDONLY,this);
-    end = trace_endpos;
+       traceline(end + ('0 0 0.25' * pathlib_gridsize), end - ('0 0 1' * pathlib_gridsize), MOVE_WORLDONLY, this);
+       end = trace_endpos;
 
-    if (!(pointcontents(end - '0 0 1') == CONTENT_SOLID))
-        return end;
+       if (!(pointcontents(end - '0 0 1') == CONTENT_SOLID)) {
+               return end;
+       }
 
-    for(surface = start ; surface.z < (end.z + 32); ++surface.z)
-    {
-        if(pointcontents(surface) == CONTENT_EMPTY)
-            break;
-    }
+       for (surface = start; surface.z < (end.z + 32); ++surface.z) {
+               if (pointcontents(surface) == CONTENT_EMPTY) {
+                       break;
+               }
+       }
 
-    if(pointcontents(surface + '0 0 1') != CONTENT_EMPTY)
-        return end;
+       if (pointcontents(surface + '0 0 1') != CONTENT_EMPTY) {
+               return end;
+       }
 
-    tracebox(start + '0 0 64', movenode_boxmin,movenode_boxmax, end + '0 0 64', MOVE_WORLDONLY, this);
-    if(trace_fraction == 1)
-        pathlib_movenode_goodnode = true;
+       tracebox(start + '0 0 64', movenode_boxmin, movenode_boxmax, end + '0 0 64', MOVE_WORLDONLY, this);
+       if (trace_fraction == 1) {
+               pathlib_movenode_goodnode = true;
+       }
 
-    if(fabs(surface.z - end.z) > 32)
-        pathlib_movenode_goodnode = false;
+       if (fabs(surface.z - end.z) > 32) {
+               pathlib_movenode_goodnode = false;
+       }
 
-    return end;
+       return end;
 }
 
 vector pathlib_swimnode(entity this, vector start, vector end, float doedge)
 {
-    pathlib_movenode_goodnode = false;
+       pathlib_movenode_goodnode = false;
 
-    if(pointcontents(start) != CONTENT_WATER)
-        return end;
+       if (pointcontents(start) != CONTENT_WATER) {
+               return end;
+       }
 
-    end.x = fsnap(end.x, pathlib_gridsize);
-    end.y = fsnap(end.y, pathlib_gridsize);
+       end.x = fsnap(end.x, pathlib_gridsize);
+       end.y = fsnap(end.y, pathlib_gridsize);
 
-    if(pointcontents(end) == CONTENT_EMPTY)
-        return pathlib_wateroutnode(this, start, end, doedge);
+       if (pointcontents(end) == CONTENT_EMPTY) {
+               return pathlib_wateroutnode(this, start, end, doedge);
+       }
 
-    tracebox(start, movenode_boxmin,movenode_boxmax, end, MOVE_WORLDONLY, this);
-    if(trace_fraction == 1)
-        pathlib_movenode_goodnode = true;
+       tracebox(start, movenode_boxmin, movenode_boxmax, end, MOVE_WORLDONLY, this);
+       if (trace_fraction == 1) {
+               pathlib_movenode_goodnode = true;
+       }
 
-    return end;
+       return end;
 }
 
 vector pathlib_flynode(entity this, vector start, vector end, float doedge)
 {
-    pathlib_movenode_goodnode = false;
+       pathlib_movenode_goodnode = false;
 
-    end.x = fsnap(end.x, pathlib_gridsize);
-    end.y = fsnap(end.y, pathlib_gridsize);
+       end.x = fsnap(end.x, pathlib_gridsize);
+       end.y = fsnap(end.y, pathlib_gridsize);
 
-    tracebox(start, movenode_boxmin,movenode_boxmax, end, MOVE_WORLDONLY, this);
-    if(trace_fraction == 1)
-        pathlib_movenode_goodnode = true;
+       tracebox(start, movenode_boxmin, movenode_boxmax, end, MOVE_WORLDONLY, this);
+       if (trace_fraction == 1) {
+               pathlib_movenode_goodnode = true;
+       }
 
-    return end;
+       return end;
 }
 
 void a_think(entity this)
 {
-    te_lightning1(this,this.origin, this.pos1);
-    if(this.cnt < time)
-        delete(this);
-    else
-        this.nextthink = time + 0.2;
+       te_lightning1(this, this.origin, this.pos1);
+       if (this.cnt < time) {
+               delete(this);
+       } else {
+               this.nextthink = time + 0.2;
+       }
 }
 
 vector pathlib_walknode(entity this, vector start, vector end, float doedge)
 {
-    vector point;
-
-    LOG_DEBUG("Walking node from ", vtos(start), " to ", vtos(end));
-
-    pathlib_movenode_goodnode = false;
-
-    end.x = fsnap(end.x,pathlib_gridsize);
-    end.y = fsnap(end.y,pathlib_gridsize);
-    start.x = fsnap(start.x,pathlib_gridsize);
-    start.y = fsnap(start.y,pathlib_gridsize);
-
-    // Find the floor
-    traceline(start + movenode_stepup, start - movenode_maxdrop, MOVE_WORLDONLY, this);
-    if(trace_fraction == 1.0)
-    {
-        entity a;
-        a = spawn();
-        setthink(a, a_think);
-        a.nextthink = time;
-        setorigin(a, start + movenode_stepup);
-        a.pos1 = trace_endpos;
-        //start - movenode_maxdrop
-        a.cnt = time + 10;
-
-        LOG_TRACE("I cant walk on air!");
-        return trace_endpos;
-    }
-
-    start = trace_endpos;
-
-    // Find the direcion, without Z
-    vector s   = start;
-    vector e   = end;
-    //e_z = 0; s_z = 0;
-    vector direction = normalize(e - s);
-
-    float distance  = vlen(start - end);
-    int steps     = rint(distance / movenode_stepsize);
-
-    vector last_point = start;
-    for(int i = 1; i < steps; ++i)
-    {
-        point = last_point + (direction * movenode_stepsize);
-        traceline(point + movenode_stepup,point - movenode_maxdrop,MOVE_WORLDONLY,this);
-        if(trace_fraction == 1.0)
-            return trace_endpos;
-
-        last_point = trace_endpos;
-    }
-
-    point = last_point + (direction * movenode_stepsize);
-    point.x = fsnap(point.x,pathlib_gridsize);
-    point.y = fsnap(point.y,pathlib_gridsize);
-
-    //dprint("end_x:  ",ftos(end_x),  "  end_y:  ",ftos(end_y),"\n");
-    //dprint("point_x:",ftos(point_x),"  point_y:",ftos(point_y),"\n\n");
-
-    traceline(point + movenode_stepup, point - movenode_maxdrop,MOVE_WORLDONLY,this);
-    if(trace_fraction == 1.0)
-        return trace_endpos;
-
-    last_point = trace_endpos;
-
-    tracebox(start + movenode_boxup, movenode_boxmin,movenode_boxmax, last_point + movenode_boxup, MOVE_WORLDONLY, this);
-    if(trace_fraction != 1.0)
-        return trace_endpos;
-
-    pathlib_movenode_goodnode = true;
-    return last_point;
+       vector point;
+
+       LOG_DEBUG("Walking node from ", vtos(start), " to ", vtos(end));
+
+       pathlib_movenode_goodnode = false;
+
+       end.x = fsnap(end.x, pathlib_gridsize);
+       end.y = fsnap(end.y, pathlib_gridsize);
+       start.x = fsnap(start.x, pathlib_gridsize);
+       start.y = fsnap(start.y, pathlib_gridsize);
+
+       // Find the floor
+       traceline(start + movenode_stepup, start - movenode_maxdrop, MOVE_WORLDONLY, this);
+       if (trace_fraction == 1.0) {
+               entity a;
+               a = spawn();
+               setthink(a, a_think);
+               a.nextthink = time;
+               setorigin(a, start + movenode_stepup);
+               a.pos1 = trace_endpos;
+               // start - movenode_maxdrop
+               a.cnt = time + 10;
+
+               LOG_TRACE("I cant walk on air!");
+               return trace_endpos;
+       }
+
+       start = trace_endpos;
+
+       // Find the direcion, without Z
+       vector s   = start;
+       vector e   = end;
+       // e_z = 0; s_z = 0;
+       vector direction = normalize(e - s);
+
+       float distance  = vlen(start - end);
+       int steps     = rint(distance / movenode_stepsize);
+
+       vector last_point = start;
+       for (int i = 1; i < steps; ++i) {
+               point = last_point + (direction * movenode_stepsize);
+               traceline(point + movenode_stepup, point - movenode_maxdrop, MOVE_WORLDONLY, this);
+               if (trace_fraction == 1.0) {
+                       return trace_endpos;
+               }
+
+               last_point = trace_endpos;
+       }
+
+       point = last_point + (direction * movenode_stepsize);
+       point.x = fsnap(point.x, pathlib_gridsize);
+       point.y = fsnap(point.y, pathlib_gridsize);
+
+       // dprint("end_x:  ",ftos(end_x),  "  end_y:  ",ftos(end_y),"\n");
+       // dprint("point_x:",ftos(point_x),"  point_y:",ftos(point_y),"\n\n");
+
+       traceline(point + movenode_stepup, point - movenode_maxdrop, MOVE_WORLDONLY, this);
+       if (trace_fraction == 1.0) {
+               return trace_endpos;
+       }
+
+       last_point = trace_endpos;
+
+       tracebox(start + movenode_boxup, movenode_boxmin, movenode_boxmax, last_point + movenode_boxup, MOVE_WORLDONLY, this);
+       if (trace_fraction != 1.0) {
+               return trace_endpos;
+       }
+
+       pathlib_movenode_goodnode = true;
+       return last_point;
 }
index 906ebc7a54b1134d4291648da47e58c878b7831c..63760db4744d0a5f343c3b68aa2964e682335d9f 100644 (file)
@@ -8,237 +8,245 @@ var float pathlib_wpp_open(entity wp, entity child, float cost);
 
 void pathlib_wpp_close(entity wp)
 {
-    --pathlib_open_cnt;
-    ++pathlib_closed_cnt;
+       --pathlib_open_cnt;
+       ++pathlib_closed_cnt;
 
-    wp.pathlib_list = closedlist;
+       wp.pathlib_list = closedlist;
 
-    if(wp == best_open_node)
-        best_open_node = NULL;
+       if (wp == best_open_node) {
+               best_open_node = NULL;
+       }
 
-    if(wp == goal_node)
-        pathlib_foundgoal = true;
+       if (wp == goal_node) {
+               pathlib_foundgoal = true;
+       }
 }
 
 float pathlib_wpp_opencb(entity wp, entity child, float cost)
 {
-
-    if(child.pathlib_list == closedlist)
-        return false;
+       if (child.pathlib_list == closedlist) {
+               return false;
+       }
 
        // FIXME! wp.wp##mincost is NOT distance. Make it distance or add a field for distance to be used here (for better speed)
        cost = vlen(child.origin - wp.origin);
 
-    child.path_prev     = wp;
-    child.pathlib_list   = openlist;
-    child.pathlib_node_g = wp.pathlib_node_g + cost;
-    child.pathlib_node_h = pathlib_heuristic(child.origin, goal_node.origin);
-    child.pathlib_node_c = pathlib_wpp_waypointcallback(child, wp);
-    child.pathlib_node_f = child.pathlib_node_g + child.pathlib_node_h + child.pathlib_node_c;
+       child.path_prev      = wp;
+       child.pathlib_list   = openlist;
+       child.pathlib_node_g = wp.pathlib_node_g + cost;
+       child.pathlib_node_h = pathlib_heuristic(child.origin, goal_node.origin);
+       child.pathlib_node_c = pathlib_wpp_waypointcallback(child, wp);
+       child.pathlib_node_f = child.pathlib_node_g + child.pathlib_node_h + child.pathlib_node_c;
 
 
-    if(child == goal_node)
-        pathlib_foundgoal = true;
+       if (child == goal_node) {
+               pathlib_foundgoal = true;
+       }
 
-    ++pathlib_open_cnt;
+       ++pathlib_open_cnt;
 
-    if(best_open_node.pathlib_node_f > child.pathlib_node_f)
-        best_open_node = child;
+       if (best_open_node.pathlib_node_f > child.pathlib_node_f) {
+               best_open_node = child;
+       }
 
-    return true;
+       return true;
 }
 
 float pathlib_wpp_openncb(entity wp, entity child, float cost)
 {
-
-    if(child.pathlib_list == closedlist)
-        return false;
+       if (child.pathlib_list == closedlist) {
+               return false;
+       }
 
        // FIXME! wp.wp##mincost is NOT distance. Make it distance or add a field for distance to be used here (for better speed)
        cost = vlen(child.origin - wp.origin);
 
-    child.path_prev     = wp;
-    child.pathlib_list   = openlist;
-    child.pathlib_node_g = wp.pathlib_node_g + cost;
-    child.pathlib_node_h = pathlib_heuristic(child.origin, goal_node.origin);
-    child.pathlib_node_f = child.pathlib_node_g + child.pathlib_node_h;
+       child.path_prev      = wp;
+       child.pathlib_list   = openlist;
+       child.pathlib_node_g = wp.pathlib_node_g + cost;
+       child.pathlib_node_h = pathlib_heuristic(child.origin, goal_node.origin);
+       child.pathlib_node_f = child.pathlib_node_g + child.pathlib_node_h;
 
-    if(child == goal_node)
-        pathlib_foundgoal = true;
+       if (child == goal_node) {
+               pathlib_foundgoal = true;
+       }
 
-    ++pathlib_open_cnt;
+       ++pathlib_open_cnt;
 
-    if(best_open_node.pathlib_node_f > child.pathlib_node_f)
-        best_open_node = child;
+       if (best_open_node.pathlib_node_f > child.pathlib_node_f) {
+               best_open_node = child;
+       }
 
-    return true;
+       return true;
 }
 
 float pathlib_wpp_expand(entity wp)
 {
-    if(wp.wp00) pathlib_wpp_open(wp,wp.wp00,wp.wp00mincost); else return 0;
-    if(wp.wp01) pathlib_wpp_open(wp,wp.wp01,wp.wp01mincost); else return 1;
-    if(wp.wp02) pathlib_wpp_open(wp,wp.wp02,wp.wp02mincost); else return 2;
-    if(wp.wp03) pathlib_wpp_open(wp,wp.wp03,wp.wp03mincost); else return 3;
-    if(wp.wp04) pathlib_wpp_open(wp,wp.wp04,wp.wp04mincost); else return 4;
-    if(wp.wp05) pathlib_wpp_open(wp,wp.wp05,wp.wp05mincost); else return 5;
-    if(wp.wp06) pathlib_wpp_open(wp,wp.wp06,wp.wp06mincost); else return 6;
-    if(wp.wp07) pathlib_wpp_open(wp,wp.wp07,wp.wp07mincost); else return 7;
-    if(wp.wp08) pathlib_wpp_open(wp,wp.wp08,wp.wp08mincost); else return 8;
-    if(wp.wp09) pathlib_wpp_open(wp,wp.wp09,wp.wp09mincost); else return 9;
-    if(wp.wp10) pathlib_wpp_open(wp,wp.wp10,wp.wp10mincost); else return 10;
-    if(wp.wp11) pathlib_wpp_open(wp,wp.wp11,wp.wp11mincost); else return 11;
-    if(wp.wp12) pathlib_wpp_open(wp,wp.wp12,wp.wp12mincost); else return 12;
-    if(wp.wp13) pathlib_wpp_open(wp,wp.wp13,wp.wp13mincost); else return 13;
-    if(wp.wp14) pathlib_wpp_open(wp,wp.wp14,wp.wp14mincost); else return 14;
-    if(wp.wp15) pathlib_wpp_open(wp,wp.wp15,wp.wp15mincost); else return 15;
-    if(wp.wp16) pathlib_wpp_open(wp,wp.wp16,wp.wp16mincost); else return 16;
-    if(wp.wp17) pathlib_wpp_open(wp,wp.wp17,wp.wp17mincost); else return 17;
-    if(wp.wp18) pathlib_wpp_open(wp,wp.wp18,wp.wp18mincost); else return 18;
-    if(wp.wp19) pathlib_wpp_open(wp,wp.wp19,wp.wp19mincost); else return 19;
-    if(wp.wp20) pathlib_wpp_open(wp,wp.wp20,wp.wp20mincost); else return 20;
-    if(wp.wp21) pathlib_wpp_open(wp,wp.wp21,wp.wp21mincost); else return 21;
-    if(wp.wp22) pathlib_wpp_open(wp,wp.wp22,wp.wp22mincost); else return 22;
-    if(wp.wp23) pathlib_wpp_open(wp,wp.wp23,wp.wp23mincost); else return 23;
-    if(wp.wp24) pathlib_wpp_open(wp,wp.wp24,wp.wp24mincost); else return 24;
-    if(wp.wp25) pathlib_wpp_open(wp,wp.wp25,wp.wp25mincost); else return 25;
-    if(wp.wp26) pathlib_wpp_open(wp,wp.wp26,wp.wp26mincost); else return 26;
-    if(wp.wp27) pathlib_wpp_open(wp,wp.wp27,wp.wp27mincost); else return 27;
-    if(wp.wp28) pathlib_wpp_open(wp,wp.wp28,wp.wp28mincost); else return 28;
-    if(wp.wp29) pathlib_wpp_open(wp,wp.wp29,wp.wp29mincost); else return 29;
-    if(wp.wp30) pathlib_wpp_open(wp,wp.wp30,wp.wp30mincost); else return 30;
-    if(wp.wp31) pathlib_wpp_open(wp,wp.wp31,wp.wp31mincost); else return 31;
-
-    return 32;
+       if (wp.wp00) { pathlib_wpp_open(wp, wp.wp00, wp.wp00mincost); } else { return 0; }
+       if (wp.wp01) { pathlib_wpp_open(wp, wp.wp01, wp.wp01mincost); } else { return 1; }
+       if (wp.wp02) { pathlib_wpp_open(wp, wp.wp02, wp.wp02mincost); } else { return 2; }
+       if (wp.wp03) { pathlib_wpp_open(wp, wp.wp03, wp.wp03mincost); } else { return 3; }
+       if (wp.wp04) { pathlib_wpp_open(wp, wp.wp04, wp.wp04mincost); } else { return 4; }
+       if (wp.wp05) { pathlib_wpp_open(wp, wp.wp05, wp.wp05mincost); } else { return 5; }
+       if (wp.wp06) { pathlib_wpp_open(wp, wp.wp06, wp.wp06mincost); } else { return 6; }
+       if (wp.wp07) { pathlib_wpp_open(wp, wp.wp07, wp.wp07mincost); } else { return 7; }
+       if (wp.wp08) { pathlib_wpp_open(wp, wp.wp08, wp.wp08mincost); } else { return 8; }
+       if (wp.wp09) { pathlib_wpp_open(wp, wp.wp09, wp.wp09mincost); } else { return 9; }
+       if (wp.wp10) { pathlib_wpp_open(wp, wp.wp10, wp.wp10mincost); } else { return 10; }
+       if (wp.wp11) { pathlib_wpp_open(wp, wp.wp11, wp.wp11mincost); } else { return 11; }
+       if (wp.wp12) { pathlib_wpp_open(wp, wp.wp12, wp.wp12mincost); } else { return 12; }
+       if (wp.wp13) { pathlib_wpp_open(wp, wp.wp13, wp.wp13mincost); } else { return 13; }
+       if (wp.wp14) { pathlib_wpp_open(wp, wp.wp14, wp.wp14mincost); } else { return 14; }
+       if (wp.wp15) { pathlib_wpp_open(wp, wp.wp15, wp.wp15mincost); } else { return 15; }
+       if (wp.wp16) { pathlib_wpp_open(wp, wp.wp16, wp.wp16mincost); } else { return 16; }
+       if (wp.wp17) { pathlib_wpp_open(wp, wp.wp17, wp.wp17mincost); } else { return 17; }
+       if (wp.wp18) { pathlib_wpp_open(wp, wp.wp18, wp.wp18mincost); } else { return 18; }
+       if (wp.wp19) { pathlib_wpp_open(wp, wp.wp19, wp.wp19mincost); } else { return 19; }
+       if (wp.wp20) { pathlib_wpp_open(wp, wp.wp20, wp.wp20mincost); } else { return 20; }
+       if (wp.wp21) { pathlib_wpp_open(wp, wp.wp21, wp.wp21mincost); } else { return 21; }
+       if (wp.wp22) { pathlib_wpp_open(wp, wp.wp22, wp.wp22mincost); } else { return 22; }
+       if (wp.wp23) { pathlib_wpp_open(wp, wp.wp23, wp.wp23mincost); } else { return 23; }
+       if (wp.wp24) { pathlib_wpp_open(wp, wp.wp24, wp.wp24mincost); } else { return 24; }
+       if (wp.wp25) { pathlib_wpp_open(wp, wp.wp25, wp.wp25mincost); } else { return 25; }
+       if (wp.wp26) { pathlib_wpp_open(wp, wp.wp26, wp.wp26mincost); } else { return 26; }
+       if (wp.wp27) { pathlib_wpp_open(wp, wp.wp27, wp.wp27mincost); } else { return 27; }
+       if (wp.wp28) { pathlib_wpp_open(wp, wp.wp28, wp.wp28mincost); } else { return 28; }
+       if (wp.wp29) { pathlib_wpp_open(wp, wp.wp29, wp.wp29mincost); } else { return 29; }
+       if (wp.wp30) { pathlib_wpp_open(wp, wp.wp30, wp.wp30mincost); } else { return 30; }
+       if (wp.wp31) { pathlib_wpp_open(wp, wp.wp31, wp.wp31mincost); } else { return 31; }
+
+       return 32;
 }
 
 entity pathlib_wpp_bestopen()
 {
-    if(best_open_node)
-        return best_open_node;
+       if (best_open_node) {
+               return best_open_node;
+       }
 
-    entity best = NULL;
+       entity best = NULL;
 
-    FOREACH_ENTITY_ENT(pathlib_list, openlist,
-    {
-        if(!best || it.pathlib_node_f < best.pathlib_node_f)
-            best = it;
-    });
-
-    return best;
+       FOREACH_ENTITY_ENT(pathlib_list, openlist,
+       {
+               if (!best || it.pathlib_node_f < best.pathlib_node_f) {
+                       best = it;
+               }
+       });
 
+       return best;
 }
 
 entity pathlib_waypointpath(entity wp_from, entity wp_to, float callback)
 {
-    float ptime;
+       float ptime;
 
-    ptime                                      = gettime(GETTIME_REALTIME);
-    pathlib_starttime          = ptime;
-       pathlib_movecost                = 300;
-       pathlib_movecost_diag   = vlen('1 1 0' * pathlib_movecost);
+       ptime                   = gettime(GETTIME_REALTIME);
+       pathlib_starttime       = ptime;
+       pathlib_movecost        = 300;
+       pathlib_movecost_diag   = vlen('1 1 0' * pathlib_movecost);
 
-       if (!pathlib_wpp_waypointcallback)
+       if (!pathlib_wpp_waypointcallback) {
                callback = false;
+       }
 
-       if (callback)
+       if (callback) {
                pathlib_wpp_open = pathlib_wpp_opencb;
-       else
+       } else {
                pathlib_wpp_open = pathlib_wpp_openncb;
+       }
 
        pathlib_heuristic = pathlib_h_none;
 
-    if (!openlist)
-        openlist       = spawn();
-
-    if (!closedlist)
-        closedlist     = spawn();
-
-    pathlib_closed_cnt       = 0;
-    pathlib_open_cnt         = 0;
-    pathlib_searched_cnt     = 0;
-    pathlib_foundgoal      = false;
-
-    LOG_TRACE("pathlib_waypointpath init");
-
-    // Initialize waypoint grid
-    IL_EACH(g_waypoints, true,
-    {
-        it.pathlib_list = NULL;
-        it.pathlib_node_g = 0;
-        it.pathlib_node_f = 0;
-        it.pathlib_node_h = 0;
-
-        //setmodel(it, "models/runematch/rune.mdl");
-        //it.effects = EF_LOWPRECISION;
-        //it.colormod = '0 0 0';
-        //it.scale = 1;
-    });
-
-    goal_node  = wp_to;
-    start_node = wp_from;
-
-    start_node.pathlib_list = closedlist;
-    LOG_TRACE("Expanding ",ftos(pathlib_wpp_expand(start_node))," links");
-    if(pathlib_open_cnt <= 0)
-    {
-        LOG_TRACE("pathlib_waypointpath: Start waypoint not linked! aborting.");
-        return NULL;
-    }
-
-    return NULL;
+       if (!openlist) {
+               openlist       = spawn();
+       }
+
+       if (!closedlist) {
+               closedlist     = spawn();
+       }
+
+       pathlib_closed_cnt       = 0;
+       pathlib_open_cnt         = 0;
+       pathlib_searched_cnt     = 0;
+       pathlib_foundgoal      = false;
+
+       LOG_TRACE("pathlib_waypointpath init");
+
+       // Initialize waypoint grid
+       IL_EACH(g_waypoints, true,
+       {
+               it.pathlib_list = NULL;
+               it.pathlib_node_g = 0;
+               it.pathlib_node_f = 0;
+               it.pathlib_node_h = 0;
+
+               // setmodel(it, "models/runematch/rune.mdl");
+               // it.effects = EF_LOWPRECISION;
+               // it.colormod = '0 0 0';
+               // it.scale = 1;
+       });
+
+       goal_node  = wp_to;
+       start_node = wp_from;
+
+       start_node.pathlib_list = closedlist;
+       LOG_TRACE("Expanding ", ftos(pathlib_wpp_expand(start_node)), " links");
+       if (pathlib_open_cnt <= 0) {
+               LOG_TRACE("pathlib_waypointpath: Start waypoint not linked! aborting.");
+               return NULL;
+       }
+
+       return NULL;
 }
 
 entity pathlib_waypointpath_step()
 {
-    entity n;
+       entity n;
 
-    n = pathlib_wpp_bestopen();
-    if(!n)
-    {
-        LOG_TRACE("Cannot find best open node, abort.");
-        return NULL;
-    }
-    pathlib_wpp_close(n);
-       LOG_TRACE("Expanding ",ftos(pathlib_wpp_expand(n))," links");
+       n = pathlib_wpp_bestopen();
+       if (!n) {
+               LOG_TRACE("Cannot find best open node, abort.");
+               return NULL;
+       }
+       pathlib_wpp_close(n);
+       LOG_TRACE("Expanding ", ftos(pathlib_wpp_expand(n)), " links");
 
-    if(pathlib_foundgoal)
-    {
-        entity start, end, open, ln;
+       if (pathlib_foundgoal) {
+               entity start, end, open, ln;
 
-        LOG_TRACE("Target found. Rebuilding and filtering path...");
+               LOG_TRACE("Target found. Rebuilding and filtering path...");
 
                buildpath_nodefilter = buildpath_nodefilter_none;
                start = path_build(NULL, start_node.origin, NULL, NULL);
                end   = path_build(NULL, goal_node.origin, NULL, start);
                ln    = end;
 
-               for(open = goal_node; open.path_prev != start_node; open = open.path_prev)
-               {
-                       n    = path_build(ln,open.origin,open.path_prev,start);
+               for (open = goal_node; open.path_prev != start_node; open = open.path_prev) {
+                       n    = path_build(ln, open.origin, open.path_prev, start);
                        ln.path_prev = n;
                        ln = n;
                }
                start.path_next = n;
                n.path_prev = start;
 
-        return start;
-    }
+               return start;
+       }
 
-    return NULL;
+       return NULL;
 }
 void plas_think(entity this)
 {
-    pathlib_waypointpath_step();
-    if(pathlib_foundgoal)
-        return;
-    this.nextthink = time + 0.1;
+       pathlib_waypointpath_step();
+       if (pathlib_foundgoal) {
+               return;
+       }
+       this.nextthink = time + 0.1;
 }
 
 void pathlib_waypointpath_autostep()
 {
-    entity n;
-    n = spawn();
-    setthink(n, plas_think);
-    n.nextthink = time + 0.1;
+       entity n;
+       n = spawn();
+       setthink(n, plas_think);
+       n.nextthink = time + 0.1;
 }
index 21ef8b3cbc5286f50a89ca72dde12a3454c7f7a1..467242fefd3bbcea9e208d31261827eed0b55018 100644 (file)
@@ -1,7 +1,7 @@
 #pragma once
 
 #ifndef DEBUGPATHING
-       #define DEBUGPATHING 0
+#define DEBUGPATHING 0
 #endif
 
 .entity pathlib_list;
@@ -11,9 +11,9 @@
 #define inwater(point) (pointcontents(point) == CONTENT_WATER)
 
 const vector PLIB_FORWARD = '0 1 0';
-//#define PLIB_BACK    '0 -1 0'
+// #define PLIB_BACK    '0 -1 0'
 const vector PLIB_RIGHT = '1 0 0';
-//#define PLIB_LEFT    '-1 0 0'
+// #define PLIB_LEFT    '-1 0 0'
 
 #if DEBUGPATHING
 void pathlib_showpath(entity start);
@@ -32,16 +32,16 @@ entity start_node;
 .float pathlib_node_f;
 .float pathlib_node_c;
 
-const float pathlib_node_edgeflag_unknown              = 0;
-const float pathlib_node_edgeflag_left                         = BIT(1);
-const float pathlib_node_edgeflag_right                = BIT(2);
-const float pathlib_node_edgeflag_forward              = BIT(3);
-const float pathlib_node_edgeflag_back                         = BIT(4);
-const float pathlib_node_edgeflag_backleft             = BIT(5);
-const float pathlib_node_edgeflag_backright    = BIT(6);
-const float pathlib_node_edgeflag_forwardleft  = BIT(7);
-const float pathlib_node_edgeflag_forwardright         = BIT(8);
-const float pathlib_node_edgeflag_none                         = BIT(9);
+const float pathlib_node_edgeflag_unknown       = 0;
+const float pathlib_node_edgeflag_left          = BIT(1);
+const float pathlib_node_edgeflag_right         = BIT(2);
+const float pathlib_node_edgeflag_forward       = BIT(3);
+const float pathlib_node_edgeflag_back          = BIT(4);
+const float pathlib_node_edgeflag_backleft      = BIT(5);
+const float pathlib_node_edgeflag_backright     = BIT(6);
+const float pathlib_node_edgeflag_forwardleft   = BIT(7);
+const float pathlib_node_edgeflag_forwardright  = BIT(8);
+const float pathlib_node_edgeflag_none          = BIT(9);
 .float pathlib_node_edgeflags;
 
 float pathlib_open_cnt;
@@ -98,14 +98,14 @@ var float  pathlib_cost(entity parent, vector to, float static_cost);
 
 float      pathlib_h_manhattan(vector a, vector b);
 float      pathlib_h_diagonal(vector a, vector b);
-float      pathlib_h_euclidean(vector a,vector b);
+float      pathlib_h_euclidean(vector a, vector b);
 float      pathlib_h_diagonal2(vector a, vector b);
 float      pathlib_h_diagonal3(vector a, vector b);
 float      pathlib_h_diagonal2sdp(vector preprev, vector prev, vector point, vector end);
 float      pathlib_h_none(vector preprev, vector prev) { return 0; }
 var float  pathlib_heuristic(vector from, vector to);
 
-var bool  pathlib_makenode(entity parent,vector start, vector to, vector goal,float cost);
-var bool  buildpath_nodefilter(vector n,vector c,vector p);
+var bool  pathlib_makenode(entity parent, vector start, vector to, vector goal, float cost);
+var bool  buildpath_nodefilter(vector n, vector c, vector p);
 
 var float  pathlib_wpp_waypointcallback(entity wp, entity wp_prev);
index 151fb44b56abec6096379d63b351b42a315e7d9a..4578fed7ec4f07f1e7b58ca4cd9a6804c0e7a940 100644 (file)
 
 bool location_isok(vector point, bool waterok, bool air_isok)
 {
-    if(trace_dphitq3surfaceflags & Q3SURFACEFLAG_SKY)
-        return false;
-
-    int pc = pointcontents(point);
-    int pc2 = pointcontents(point - '0 0 1');
-
-    if(pc == CONTENT_EMPTY && pc2 == CONTENT_SOLID)
-        return true;
-    if(pc == CONTENT_EMPTY && pc2 == CONTENT_WATER && waterok)
-        return true;
-    if(pc == CONTENT_EMPTY && pc2 == CONTENT_EMPTY && air_isok)
-        return true;
-    if(pc == CONTENT_WATER && waterok)
-        return true;
-    return false;
+       if (trace_dphitq3surfaceflags & Q3SURFACEFLAG_SKY) {
+               return false;
+       }
+
+       int pc = pointcontents(point);
+       int pc2 = pointcontents(point - '0 0 1');
+
+       if (pc == CONTENT_EMPTY && pc2 == CONTENT_SOLID) {
+               return true;
+       }
+       if (pc == CONTENT_EMPTY && pc2 == CONTENT_WATER && waterok) {
+               return true;
+       }
+       if (pc == CONTENT_EMPTY && pc2 == CONTENT_EMPTY && air_isok) {
+               return true;
+       }
+       if (pc == CONTENT_WATER && waterok) {
+               return true;
+       }
+       return false;
 }
 
 entity pathlib_nodeatpoint(vector where)
 {
-    ++pathlib_searched_cnt;
+       ++pathlib_searched_cnt;
 
-    where.x = fsnap(where.x,pathlib_gridsize);
-    where.y = fsnap(where.y,pathlib_gridsize);
+       where.x = fsnap(where.x, pathlib_gridsize);
+       where.y = fsnap(where.y, pathlib_gridsize);
 
-    entity found = NULL; // TODO: using FOREACH_ENTITY_RADIUS here causes mutex loop warnings, this may need a proper fix!
-    IL_EACH(g_pathlib_nodes, it.is_path_node && vdist(it.origin - where, <, pathlib_gridsize * 0.5),
-    {
-       found = it;
-        break;
-    });
+       entity found = NULL; // TODO: using FOREACH_ENTITY_RADIUS here causes mutex loop warnings, this may need a proper fix!
+       IL_EACH(g_pathlib_nodes, it.is_path_node && vdist(it.origin - where, <, pathlib_gridsize * 0.5),
+       {
+               found = it;
+               break;
+       });
 
-    return found;
+       return found;
 }
 
 bool tile_check_cross(entity this, vector where)
 {
        vector p;
-    vector f = PLIB_FORWARD * tile_check_size;
-    vector r = PLIB_RIGHT   * tile_check_size;
-
-
-    // forward-right
-    p = where + f + r;
-    traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this);
-    if (!location_isok(trace_endpos, 1, 0))
-        return false;
-
-    // Forward-left
-    p = where + f - r;
-    traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this);
-    if (!location_isok(trace_endpos, 1, 0))
-        return false;
-
-    // Back-right
-    p = where - f + r;
-    traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this);
-    if (!location_isok(trace_endpos, 1 ,0))
-        return false;
-
-    //Back-left
-    p = where - f - r;
-    traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this);
-    if (!location_isok(trace_endpos, 1, 0))
-        return false;
-
-    return true;
+       vector f = PLIB_FORWARD * tile_check_size;
+       vector r = PLIB_RIGHT   * tile_check_size;
+
+
+       // forward-right
+       p = where + f + r;
+       traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this);
+       if (!location_isok(trace_endpos, 1, 0)) {
+               return false;
+       }
+
+       // Forward-left
+       p = where + f - r;
+       traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this);
+       if (!location_isok(trace_endpos, 1, 0)) {
+               return false;
+       }
+
+       // Back-right
+       p = where - f + r;
+       traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this);
+       if (!location_isok(trace_endpos, 1, 0)) {
+               return false;
+       }
+
+       // Back-left
+       p = where - f - r;
+       traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this);
+       if (!location_isok(trace_endpos, 1, 0)) {
+               return false;
+       }
+
+       return true;
 }
 
 bool tile_check_plus(entity this, vector where)
 {
-    vector p;
-
-    vector f = PLIB_FORWARD * tile_check_size;
-    vector r = PLIB_RIGHT   * tile_check_size;
-
-    // forward
-    p = where + f;
-    traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,this);
-    if (!location_isok(trace_endpos,1,0))
-        return false;
-
-
-    //left
-    p = where - r;
-    traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,this);
-    if (!location_isok(trace_endpos,1,0))
-        return false;
-
-    // Right
-    p = where + r;
-    traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,this);
-    if (!location_isok(trace_endpos,1,0))
-        return false;
-
-    //Back
-    p = where - f;
-    traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,this);
-    if (!location_isok(trace_endpos,1,0))
-        return false;
+       vector p;
 
-    return true;
+       vector f = PLIB_FORWARD * tile_check_size;
+       vector r = PLIB_RIGHT   * tile_check_size;
+
+       // forward
+       p = where + f;
+       traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this);
+       if (!location_isok(trace_endpos, 1, 0)) {
+               return false;
+       }
+
+
+       // left
+       p = where - r;
+       traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this);
+       if (!location_isok(trace_endpos, 1, 0)) {
+               return false;
+       }
+
+       // Right
+       p = where + r;
+       traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this);
+       if (!location_isok(trace_endpos, 1, 0)) {
+               return false;
+       }
+
+       // Back
+       p = where - f;
+       traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this);
+       if (!location_isok(trace_endpos, 1, 0)) {
+               return false;
+       }
+
+       return true;
 }
 
 float tile_check_plus2(entity this, vector where)
 {
-    vector p;
-    int j = 0, e = 0;
-
-    vector f = PLIB_FORWARD * pathlib_gridsize;
-    vector r = PLIB_RIGHT   * pathlib_gridsize;
-
-//#define pathlib_node_edgeflag_left    2
-//#define pathlib_node_edgeflag_right   4
-//#define pathlib_node_edgeflag_forward 8
-//#define pathlib_node_edgeflag_back    16
-
-    // forward
-    p = where + f;
-    traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,this);
-    if (location_isok(trace_endpos,1,0))
-    {
-       ++j;
-       e |= pathlib_node_edgeflag_forward;
-    }
-
-
-    //left
-    p = where - r;
-    traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,this);
-    if (location_isok(trace_endpos,1,0))
-    {
-       ++j;
-       e |= pathlib_node_edgeflag_left;
-    }
-
-
-    // Right
-    p = where + r;
-    traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,this);
-    if (location_isok(trace_endpos,1,0))
-    {
-       ++j;
-       e |= pathlib_node_edgeflag_right;
-    }
-
-    //Back
-    p = where - f;
-    traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,this);
-    if (location_isok(trace_endpos,1,0))
-    {
-       ++j;
-       e |= pathlib_node_edgeflag_back;
-    }
-
-    // forward-right
-    p = where + f + r;
-    traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this);
-    if (location_isok(trace_endpos, 1, 0))
-    {
-       ++j;
-       e |= pathlib_node_edgeflag_forwardright;
-    }
-
-    // Forward-left
-    p = where + f - r;
-    traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this);
-    if (location_isok(trace_endpos, 1, 0))
-    {
-       ++j;
-       e |= pathlib_node_edgeflag_forwardleft;
-    }
-
-    // Back-right
-    p = where - f + r;
-    traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this);
-    if (location_isok(trace_endpos, 1 ,0))
-    {
-       ++j;
-       e |= pathlib_node_edgeflag_backright;
-    }
-
-    //Back-left
-    p = where - f - r;
-    traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this);
-    if (location_isok(trace_endpos, 1, 0))
-    {
-       ++j;
-       e |= pathlib_node_edgeflag_backleft;
-    }
-
-
-    if(j == 0)
-        e = pathlib_node_edgeflag_none;
-
-    return e;
+       vector p;
+       int j = 0, e = 0;
+
+       vector f = PLIB_FORWARD * pathlib_gridsize;
+       vector r = PLIB_RIGHT   * pathlib_gridsize;
+
+// #define pathlib_node_edgeflag_left    2
+// #define pathlib_node_edgeflag_right   4
+// #define pathlib_node_edgeflag_forward 8
+// #define pathlib_node_edgeflag_back    16
+
+       // forward
+       p = where + f;
+       traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this);
+       if (location_isok(trace_endpos, 1, 0)) {
+               ++j;
+               e |= pathlib_node_edgeflag_forward;
+       }
+
+
+       // left
+       p = where - r;
+       traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this);
+       if (location_isok(trace_endpos, 1, 0)) {
+               ++j;
+               e |= pathlib_node_edgeflag_left;
+       }
+
+
+       // Right
+       p = where + r;
+       traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this);
+       if (location_isok(trace_endpos, 1, 0)) {
+               ++j;
+               e |= pathlib_node_edgeflag_right;
+       }
+
+       // Back
+       p = where - f;
+       traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this);
+       if (location_isok(trace_endpos, 1, 0)) {
+               ++j;
+               e |= pathlib_node_edgeflag_back;
+       }
+
+       // forward-right
+       p = where + f + r;
+       traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this);
+       if (location_isok(trace_endpos, 1, 0)) {
+               ++j;
+               e |= pathlib_node_edgeflag_forwardright;
+       }
+
+       // Forward-left
+       p = where + f - r;
+       traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this);
+       if (location_isok(trace_endpos, 1, 0)) {
+               ++j;
+               e |= pathlib_node_edgeflag_forwardleft;
+       }
+
+       // Back-right
+       p = where - f + r;
+       traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this);
+       if (location_isok(trace_endpos, 1, 0)) {
+               ++j;
+               e |= pathlib_node_edgeflag_backright;
+       }
+
+       // Back-left
+       p = where - f - r;
+       traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this);
+       if (location_isok(trace_endpos, 1, 0)) {
+               ++j;
+               e |= pathlib_node_edgeflag_backleft;
+       }
+
+
+       if (j == 0) {
+               e = pathlib_node_edgeflag_none;
+       }
+
+       return e;
 }
 
 bool tile_check_star(entity this, vector where)
 {
-    if(tile_check_plus(this, where))
-        return tile_check_cross(this, where);
+       if (tile_check_plus(this, where)) {
+               return tile_check_cross(this, where);
+       }
 
-    return false;
+       return false;
 }
-
index f89a60c12dc345bbde8da9ddccf9960e43c66f3d..74282b80b138f106e7c62073c85c1eb404e78c33 100644 (file)
@@ -1,6 +1,6 @@
 #pragma once
 
-float fsnap(float val,float fsize);
+float fsnap(float val, float fsize);
 entity pathlib_nodeatpoint(vector where);
 float tile_check_plus2(entity this, vector where);
 bool location_isok(vector point, bool waterok, bool air_isok);
index 411d826a87c1f7fb3d309b64f144a50c0f584a0e..cdf623e7eb1e7a126337260f69cadb7ffde47da2 100644 (file)
@@ -2,9 +2,9 @@
 #if defined(CSQC)
 #elif defined(MENUQC)
 #elif defined(SVQC)
-    #include "defs.qh"
-    #include "playerdemo.qh"
-       #include <common/state.qh>
+#include "defs.qh"
+#include "playerdemo.qh"
+#include <common/state.qh>
 #endif
 
 .float playerdemo_fh;
@@ -20,8 +20,7 @@ void playerdemo_init(entity this)
 }
 void playerdemo_shutdown(entity this)
 {
-       if(this.playerdemo_mode != PLAYERDEMO_MODE_OFF)
-       {
+       if (this.playerdemo_mode != PLAYERDEMO_MODE_OFF) {
                LOG_INFO("playerdemo: ", this.netname, " closed");
                fclose(this.playerdemo_fh);
        }
@@ -47,26 +46,26 @@ void playerdemo_open_write(entity this, string f)
        LOG_INFO("playerdemo: ", this.netname, " writing to ", f);
        LOG_INFO("WARNING: playerdemo file format is incomplete and not stable yet. DO NOT RELY ON IT!");
 }
-#define PLAYERDEMO_FIELD(ent,func,t,f) func##t(ent,f,#f);
-#define PLAYERDEMO_FIELDS(ent,func) \
-       PLAYERDEMO_FIELD(ent,func,originvector,origin) \
-       PLAYERDEMO_FIELD(ent,func,vector,angles) \
-       PLAYERDEMO_FIELD(ent,func,sizevector,mins) \
-       PLAYERDEMO_FIELD(ent,func,sizevector,maxs) \
-       PLAYERDEMO_FIELD(ent,func,vector,v_angle) \
-       PLAYERDEMO_FIELD(ent,func,modelstring,model) \
-       PLAYERDEMO_FIELD(ent,func,string,playermodel) \
-       PLAYERDEMO_FIELD(ent,func,float,skin) \
-       PLAYERDEMO_FIELD(ent,func,string,playerskin) \
-       PLAYERDEMO_FIELD(ent,func,float,frame) \
-       PLAYERDEMO_FIELD(ent,func,float,effects) \
+#define PLAYERDEMO_FIELD(ent, func, t, f) func##t(ent, f, #f);
+#define PLAYERDEMO_FIELDS(ent, func) \
+       PLAYERDEMO_FIELD(ent, func, originvector, origin) \
+       PLAYERDEMO_FIELD(ent, func, vector, angles) \
+       PLAYERDEMO_FIELD(ent, func, sizevector, mins) \
+       PLAYERDEMO_FIELD(ent, func, sizevector, maxs) \
+       PLAYERDEMO_FIELD(ent, func, vector, v_angle) \
+       PLAYERDEMO_FIELD(ent, func, modelstring, model) \
+       PLAYERDEMO_FIELD(ent, func, string, playermodel) \
+       PLAYERDEMO_FIELD(ent, func, float, skin) \
+       PLAYERDEMO_FIELD(ent, func, string, playerskin) \
+       PLAYERDEMO_FIELD(ent, func, float, frame) \
+       PLAYERDEMO_FIELD(ent, func, float, effects) \
        /* PLAYERDEMO_FIELD(ent,func,float,switchweapon) */ \
-       PLAYERDEMO_FIELD(CS(ent),func,float,button0) /* TODO: PHYS_INPUT_BUTTON_ATCK */ \
-       PLAYERDEMO_FIELD(CS(ent),func,float,button3) /* TODO: PHYS_INPUT_BUTTON_ATCK2 */ \
-       PLAYERDEMO_FIELD(CS(ent),func,float,button5) /* TODO: PHYS_INPUT_BUTTON_CROUCH */ \
-       PLAYERDEMO_FIELD(CS(ent),func,float,button6) /* TODO: PHYS_INPUT_BUTTON_HOOK */ \
-       PLAYERDEMO_FIELD(CS(ent),func,float,buttonuse) /* TODO: PHYS_INPUT_BUTTON_USE */ \
-       PLAYERDEMO_FIELD(ent,func,float,flags) \
+       PLAYERDEMO_FIELD(CS(ent), func, float, button0)   /* TODO: PHYS_INPUT_BUTTON_ATCK */ \
+       PLAYERDEMO_FIELD(CS(ent), func, float, button3)   /* TODO: PHYS_INPUT_BUTTON_ATCK2 */ \
+       PLAYERDEMO_FIELD(CS(ent), func, float, button5)   /* TODO: PHYS_INPUT_BUTTON_CROUCH */ \
+       PLAYERDEMO_FIELD(CS(ent), func, float, button6)   /* TODO: PHYS_INPUT_BUTTON_HOOK */ \
+       PLAYERDEMO_FIELD(CS(ent), func, float, buttonuse) /* TODO: PHYS_INPUT_BUTTON_USE */ \
+       PLAYERDEMO_FIELD(ent, func, float, flags) \
        // end of list
 
 void playerdemo_write_originvector(entity this, .vector f, string name)
@@ -95,8 +94,9 @@ void playerdemo_write_float(entity this, .float f, string name)
 }
 void playerdemo_write(entity this)
 {
-       if(this.playerdemo_mode != PLAYERDEMO_MODE_WRITING)
+       if (this.playerdemo_mode != PLAYERDEMO_MODE_WRITING) {
                return;
+       }
        fputs(this.playerdemo_fh, strcat(ftos(time - this.playerdemo_starttime), "\n"));
        PLAYERDEMO_FIELDS(this, playerdemo_write_)
 }
@@ -116,11 +116,10 @@ void playerdemo_read_vector(entity this, .vector f, string name)
 void playerdemo_read_string(entity this, .string f, string name)
 {
        string s = fgets(this.playerdemo_fh);
-       if (s != this.(f))
-       {
+       if (s != this.(f)) {
                /*
                if(this.f)
-                       strunzone(this.f);
+                   strunzone(this.f);
                */
                this.(f) = strzone(s);
        }
@@ -128,8 +127,9 @@ void playerdemo_read_string(entity this, .string f, string name)
 void playerdemo_read_modelstring(entity this, .string f, string name)
 {
        string s = fgets(this.playerdemo_fh);
-       if (s != this.(f))
+       if (s != this.(f)) {
                _setmodel(this, s);
+       }
 }
 void playerdemo_read_float(entity this, .float f, string name)
 {
@@ -137,14 +137,15 @@ void playerdemo_read_float(entity this, .float f, string name)
 }
 float playerdemo_read(entity this)
 {
-       if(this.playerdemo_mode != PLAYERDEMO_MODE_READING)
+       if (this.playerdemo_mode != PLAYERDEMO_MODE_READING) {
                return 0;
-       if(this.playerdemo_time < 0)
+       }
+       if (this.playerdemo_time < 0) {
                return 1;
+       }
        float t;
        t = time;
-       while(time >= this.playerdemo_time)
-       {
+       while (time >= this.playerdemo_time) {
                PLAYERDEMO_FIELDS(this, playerdemo_read_)
                {
                        time = this.playerdemo_time;
@@ -153,8 +154,7 @@ float playerdemo_read(entity this)
                        PlayerPostThink(this);
                }
                this.playerdemo_time = stof(fgets(this.playerdemo_fh));
-               if(this.playerdemo_time == 0)
-               {
+               if (this.playerdemo_time == 0) {
                        this.playerdemo_time = -1;
                        return 1;
                }
index ae64e74e4909d66882ea09e261926086977b4da0..e8857477d9e73257c44fef5c7127fcbac590a51f 100644 (file)
@@ -8,62 +8,49 @@
 
 void round_handler_Think(entity this)
 {
-       if (intermission_running)
-       {
+       if (intermission_running) {
                round_handler_Reset(0);
                round_handler_Remove();
                return;
        }
 
-       if (time < game_starttime)
-       {
+       if (time < game_starttime) {
                round_handler_Reset(game_starttime);
                return;
        }
 
        game_stopped = false;
 
-       if (this.wait)
-       {
+       if (this.wait) {
                this.wait = false;
-               this.cnt = this.count + 1;  // init countdown
+               this.cnt = this.count + 1; // init countdown
                round_starttime = time + this.count;
                reset_map(true);
        }
 
-       if (this.cnt > 0)  // countdown running
-       {
-               if (this.canRoundStart() && !(autocvar_g_campaign && !campaign_bots_may_start))
-               {
-                       if (this.cnt == this.count + 1) round_starttime = time + this.count;
+       if (this.cnt > 0) { // countdown running
+               if (this.canRoundStart() && !(autocvar_g_campaign && !campaign_bots_may_start)) {
+                       if (this.cnt == this.count + 1) { round_starttime = time + this.count; }
                        int f = this.cnt - 1;
-                       if (f == 0)
-                       {
+                       if (f == 0) {
                                this.cnt = 0;
                                this.round_endtime = (this.round_timelimit) ? time + this.round_timelimit : 0;
                                this.nextthink = time;
-                               if (this.roundStart) this.roundStart();
+                               if (this.roundStart) { this.roundStart(); }
                                return;
                        }
                        this.cnt = this.cnt - 1;
-               }
-               else
-               {
+               } else {
                        round_handler_Reset(0);
                }
-               this.nextthink = time + 1;  // canRoundStart every second
-       }
-       else
-       {
-               if (this.canRoundEnd())
-               {
+               this.nextthink = time + 1; // canRoundStart every second
+       } else {
+               if (this.canRoundEnd()) {
                        // schedule a new round
                        this.wait = true;
                        this.nextthink = time + this.delay;
-               }
-               else
-               {
-                       this.nextthink = time;  // canRoundEnd every frame
+               } else {
+                       this.nextthink = time; // canRoundEnd every frame
                }
        }
 }
@@ -88,8 +75,7 @@ void round_handler_FirstThink(entity this)
 
 void round_handler_Spawn(float() canRoundStart_func, float() canRoundEnd_func, void() roundStart_func)
 {
-       if (round_handler)
-       {
+       if (round_handler) {
                backtrace("Can't spawn round_handler again!");
                return;
        }
@@ -108,8 +94,8 @@ void round_handler_Reset(float next_think)
 {
        entity this = round_handler;
        this.wait = false;
-       if (this.count)
-               if (this.cnt < this.count + 1) this.cnt = this.count + 1;
+       if (this.count) {
+               if (this.cnt < this.count + 1) { this.cnt = this.count + 1; } }
        this.nextthink = next_think;
        round_starttime = (next_think) ? (next_think + this.count) : -1;
 }
index e6b17b0e775d76f1868c05d592c633844b1b8b8b..4223d3c914ab07ad6d03baa02631d0949da4b043 100644 (file)
@@ -3,9 +3,9 @@
 entity round_handler;
 .float delay; // stores delay from round end to countdown start
 .float count; // stores initial number of the countdown
-.float wait; // it's set to true when round ends, to false when countdown starts
-.float cnt;    // its initial value is .count + 1, then decreased while counting down
-                       // reaches 0 when the round starts
+.float wait;  // it's set to true when round ends, to false when countdown starts
+.float cnt;   // its initial value is .count + 1, then decreased while counting down
+              // reaches 0 when the round starts
 .float round_timelimit;
 .float round_endtime;
 .float() canRoundStart;
index 3418a2c4e375a80c0506dcf58400018c918297fd..910b043bcaa0b96b8bdfd22d0dae14bdb3fa249b 100644 (file)
@@ -2,13 +2,13 @@
 #if defined(CSQC)
 #elif defined(MENUQC)
 #elif defined(SVQC)
-    #include "pathlib/utility.qh"
+#include "pathlib/utility.qh"
 #endif
 
 /**
     Uniform pull towards a point
 **/
-#define steerlib_pull(ent,point) normalize(point - (ent).origin)
+#define steerlib_pull(ent, point) normalize(point - (ent).origin)
 /*vector steerlib_pull(entity this, vector point)
 {
     return normalize(point - this.origin);
@@ -17,7 +17,7 @@
 /**
     Uniform push from a point
 **/
-#define steerlib_push(ent,point) normalize(ent.origin - point)
+#define steerlib_push(ent, point) normalize(ent.origin - point)
 /*
 vector steerlib_push(entity this, vector point)
 {
@@ -29,12 +29,12 @@ vector steerlib_push(entity this, vector point)
 **/
 vector steerlib_arrive(entity this, vector point, float maximal_distance)
 {
-    float distance;
-    vector direction;
+       float distance;
+       vector direction;
 
-    distance = bound(0.001,vlen(this.origin - point),maximal_distance);
-    direction = normalize(point - this.origin);
-    return  direction * (distance / maximal_distance);
+       distance = bound(0.001, vlen(this.origin - point), maximal_distance);
+       direction = normalize(point - this.origin);
+       return direction * (distance / maximal_distance);
 }
 
 /**
@@ -42,28 +42,28 @@ vector steerlib_arrive(entity this, vector point, float maximal_distance)
 **/
 vector steerlib_attract(entity this, vector point, float maximal_distance)
 {
-    float distance;
-    vector direction;
+       float distance;
+       vector direction;
 
-    distance = bound(0.001,vlen(this.origin - point),maximal_distance);
-    direction = normalize(point - this.origin);
+       distance = bound(0.001, vlen(this.origin - point), maximal_distance);
+       direction = normalize(point - this.origin);
 
-    return  direction * (1-(distance / maximal_distance));
+       return direction * (1 - (distance / maximal_distance));
 }
 
-vector steerlib_attract2(entity this, vector point, float min_influense,float max_distance,float max_influense)
+vector steerlib_attract2(entity this, vector point, float min_influense, float max_distance, float max_influense)
 {
-    float distance;
-    vector direction;
-    float influense;
+       float distance;
+       vector direction;
+       float influense;
 
-    distance  = bound(0.00001,vlen(this.origin - point),max_distance);
-    direction = normalize(point - this.origin);
+       distance  = bound(0.00001, vlen(this.origin - point), max_distance);
+       direction = normalize(point - this.origin);
 
-    influense = 1 - (distance / max_distance);
-    influense = min_influense + (influense * (max_influense - min_influense));
+       influense = 1 - (distance / max_distance);
+       influense = min_influense + (influense * (max_influense - min_influense));
 
-    return  direction * influense;
+       return direction * influense;
 }
 
 /*
@@ -99,37 +99,35 @@ vector steerlib_attract2(vector point, float maximal_distance,float min_influens
 /**
     Move away from a point.
 **/
-vector steerlib_repell(entity this, vector point,float maximal_distance)
+vector steerlib_repell(entity this, vector point, float maximal_distance)
 {
-    float distance;
-    vector direction;
+       float distance;
+       vector direction;
 
-    distance = bound(0.001,vlen(this.origin - point),maximal_distance);
-    direction = normalize(this.origin - point);
+       distance = bound(0.001, vlen(this.origin - point), maximal_distance);
+       direction = normalize(this.origin - point);
 
-    return  direction * (1-(distance / maximal_distance));
+       return direction * (1 - (distance / maximal_distance));
 }
 
 /**
     Try to keep at ideal_distance away from point
 **/
-vector steerlib_standoff(entity this, vector point,float ideal_distance)
+vector steerlib_standoff(entity this, vector point, float ideal_distance)
 {
-    float distance;
-    vector direction;
+       float distance;
+       vector direction;
 
-    distance = vlen(this.origin - point);
+       distance = vlen(this.origin - point);
 
 
-    if(distance < ideal_distance)
-    {
-        direction = normalize(this.origin - point);
-        return direction * (distance / ideal_distance);
-    }
-
-    direction = normalize(point - this.origin);
-    return direction * (ideal_distance / distance);
+       if (distance < ideal_distance) {
+               direction = normalize(this.origin - point);
+               return direction * (distance / ideal_distance);
+       }
 
+       direction = normalize(point - this.origin);
+       return direction * (ideal_distance / distance);
 }
 
 /**
@@ -142,18 +140,19 @@ vector steerlib_standoff(entity this, vector point,float ideal_distance)
 **/
 vector steerlib_wander(entity this, float range, float tresh, vector oldpoint)
 {
-    vector wander_point;
-    wander_point = v_forward - oldpoint;
+       vector wander_point;
+       wander_point = v_forward - oldpoint;
 
-    if (vdist(wander_point, >, tresh))
-        return oldpoint;
+       if (vdist(wander_point, >, tresh)) {
+               return oldpoint;
+       }
 
-    range = bound(0,range,1);
+       range = bound(0, range, 1);
 
-    wander_point = this.origin + v_forward * 128;
-    wander_point = wander_point + randomvec() * (range * 128) - randomvec() * (range * 128);
+       wander_point = this.origin + v_forward * 128;
+       wander_point = wander_point + randomvec() * (range * 128) - randomvec() * (range * 128);
 
-    return normalize(wander_point - this.origin);
+       return normalize(wander_point - this.origin);
 }
 
 /**
@@ -161,13 +160,14 @@ vector steerlib_wander(entity this, float range, float tresh, vector oldpoint)
 **/
 vector steerlib_dodge(entity this, vector point, vector dodge_dir, float min_distance)
 {
-    float distance;
+       float distance;
 
-    distance = max(vlen(this.origin - point),min_distance);
-    if (min_distance < distance)
-        return '0 0 0';
+       distance = max(vlen(this.origin - point), min_distance);
+       if (min_distance < distance) {
+               return '0 0 0';
+       }
 
-    return dodge_dir * (min_distance/distance);
+       return dodge_dir * (min_distance / distance);
 }
 
 /**
@@ -175,25 +175,24 @@ vector steerlib_dodge(entity this, vector point, vector dodge_dir, float min_dis
     Group will move towards the unified direction while keeping close to eachother.
 **/
 .float flock_id;
-vector steerlib_flock(entity this, float _radius, float standoff,float separation_force,float flock_force)
+vector steerlib_flock(entity this, float _radius, float standoff, float separation_force, float flock_force)
 {
-    entity flock_member;
-    vector push = '0 0 0', pull = '0 0 0';
-    float ccount = 0;
-
-    flock_member = findradius(this.origin, _radius);
-    while(flock_member)
-    {
-        if(flock_member != this)
-        if(flock_member.flock_id == this.flock_id)
-        {
-            ++ccount;
-            push = push + (steerlib_repell(this, flock_member.origin,standoff) * separation_force);
-            pull = pull + (steerlib_arrive(this, flock_member.origin + flock_member.velocity, _radius) * flock_force);
-        }
-        flock_member = flock_member.chain;
-    }
-    return push + (pull* (1 / ccount));
+       entity flock_member;
+       vector push = '0 0 0', pull = '0 0 0';
+       float ccount = 0;
+
+       flock_member = findradius(this.origin, _radius);
+       while (flock_member) {
+               if (flock_member != this) {
+                       if (flock_member.flock_id == this.flock_id) {
+                               ++ccount;
+                               push = push + (steerlib_repell(this, flock_member.origin, standoff) * separation_force);
+                               pull = pull + (steerlib_arrive(this, flock_member.origin + flock_member.velocity, _radius) * flock_force);
+                       }
+               }
+               flock_member = flock_member.chain;
+       }
+       return push + (pull * (1 / ccount));
 }
 
 /**
@@ -201,29 +200,28 @@ vector steerlib_flock(entity this, float _radius, float standoff,float separatio
     Group will move towards the unified direction while keeping close to eachother.
     xy only version (for ground movers).
 **/
-vector steerlib_flock2d(entity this, float _radius, float standoff,float separation_force,float flock_force)
+vector steerlib_flock2d(entity this, float _radius, float standoff, float separation_force, float flock_force)
 {
-    entity flock_member;
-    vector push = '0 0 0', pull = '0 0 0';
-    float ccount = 0;
-
-    flock_member = findradius(this.origin,_radius);
-    while(flock_member)
-    {
-        if(flock_member != this)
-        if(flock_member.flock_id == this.flock_id)
-        {
-            ++ccount;
-            push = push + (steerlib_repell(this, flock_member.origin, standoff) * separation_force);
-            pull = pull + (steerlib_arrive(this, flock_member.origin + flock_member.velocity, _radius) * flock_force);
-        }
-        flock_member = flock_member.chain;
-    }
-
-    push.z = 0;
-    pull.z = 0;
-
-    return push + (pull * (1 / ccount));
+       entity flock_member;
+       vector push = '0 0 0', pull = '0 0 0';
+       float ccount = 0;
+
+       flock_member = findradius(this.origin, _radius);
+       while (flock_member) {
+               if (flock_member != this) {
+                       if (flock_member.flock_id == this.flock_id) {
+                               ++ccount;
+                               push = push + (steerlib_repell(this, flock_member.origin, standoff) * separation_force);
+                               pull = pull + (steerlib_arrive(this, flock_member.origin + flock_member.velocity, _radius) * flock_force);
+                       }
+               }
+               flock_member = flock_member.chain;
+       }
+
+       push.z = 0;
+       pull.z = 0;
+
+       return push + (pull * (1 / ccount));
 }
 
 /**
@@ -232,29 +230,27 @@ vector steerlib_flock2d(entity this, float _radius, float standoff,float separat
 
     This results in a aligned movement (?!) much like flocking.
 **/
-vector steerlib_swarm(entity this, float _radius, float standoff,float separation_force,float swarm_force)
+vector steerlib_swarm(entity this, float _radius, float standoff, float separation_force, float swarm_force)
 {
-    entity swarm_member;
-    vector force = '0 0 0', center = '0 0 0';
-    float ccount = 0;
-
-    swarm_member = findradius(this.origin,_radius);
-
-    while(swarm_member)
-    {
-        if(swarm_member.flock_id == this.flock_id)
-        {
-            ++ccount;
-            center = center + swarm_member.origin;
-            force = force + (steerlib_repell(this, swarm_member.origin,standoff) * separation_force);
-        }
-        swarm_member = swarm_member.chain;
-    }
-
-    center = center * (1 / ccount);
-    force = force + (steerlib_arrive(this, center,_radius) * swarm_force);
-
-    return force;
+       entity swarm_member;
+       vector force = '0 0 0', center = '0 0 0';
+       float ccount = 0;
+
+       swarm_member = findradius(this.origin, _radius);
+
+       while (swarm_member) {
+               if (swarm_member.flock_id == this.flock_id) {
+                       ++ccount;
+                       center = center + swarm_member.origin;
+                       force = force + (steerlib_repell(this, swarm_member.origin, standoff) * separation_force);
+               }
+               swarm_member = swarm_member.chain;
+       }
+
+       center = center * (1 / ccount);
+       force = force + (steerlib_arrive(this, center, _radius) * swarm_force);
+
+       return force;
 }
 
 /**
@@ -262,47 +258,46 @@ vector steerlib_swarm(entity this, float _radius, float standoff,float separatio
     Run four tracelines in a forward funnel, bias each diretion negative if something is found there.
     You need to call makevectors() (or equivalent) before this function to set v_forward and v_right
 **/
-vector steerlib_traceavoid(entity this, float pitch,float length)
+vector steerlib_traceavoid(entity this, float pitch, float length)
 {
-    vector vup_left,vup_right,vdown_left,vdown_right;
-    float fup_left,fup_right,fdown_left,fdown_right;
-    vector upwish,downwish,leftwish,rightwish;
-    vector v_left,v_down;
-
+       vector vup_left, vup_right, vdown_left, vdown_right;
+       float fup_left, fup_right, fdown_left, fdown_right;
+       vector upwish, downwish, leftwish, rightwish;
+       vector v_left, v_down;
 
-    v_left = v_right * -1;
-    v_down = v_up * -1;
 
-    vup_left = (v_forward + (v_left * pitch + v_up * pitch)) * length;
-    traceline(this.origin, this.origin +  vup_left,MOVE_NOMONSTERS,this);
-    fup_left = trace_fraction;
+       v_left = v_right * -1;
+       v_down = v_up * -1;
 
-    //te_lightning1(NULL,this.origin, trace_endpos);
+       vup_left = (v_forward + (v_left * pitch + v_up * pitch)) * length;
+       traceline(this.origin, this.origin +  vup_left, MOVE_NOMONSTERS, this);
+       fup_left = trace_fraction;
 
-    vup_right = (v_forward + (v_right * pitch + v_up * pitch)) * length;
-    traceline(this.origin,this.origin + vup_right ,MOVE_NOMONSTERS,this);
-    fup_right = trace_fraction;
+       // te_lightning1(NULL,this.origin, trace_endpos);
 
-    //te_lightning1(NULL,this.origin, trace_endpos);
+       vup_right = (v_forward + (v_right * pitch + v_up * pitch)) * length;
+       traceline(this.origin, this.origin + vup_right, MOVE_NOMONSTERS, this);
+       fup_right = trace_fraction;
 
-    vdown_left = (v_forward + (v_left * pitch + v_down * pitch)) * length;
-    traceline(this.origin,this.origin + vdown_left,MOVE_NOMONSTERS,this);
-    fdown_left = trace_fraction;
+       // te_lightning1(NULL,this.origin, trace_endpos);
 
-    //te_lightning1(NULL,this.origin, trace_endpos);
+       vdown_left = (v_forward + (v_left * pitch + v_down * pitch)) * length;
+       traceline(this.origin, this.origin + vdown_left, MOVE_NOMONSTERS, this);
+       fdown_left = trace_fraction;
 
-    vdown_right = (v_forward + (v_right * pitch + v_down * pitch)) * length;
-    traceline(this.origin,this.origin + vdown_right,MOVE_NOMONSTERS,this);
-    fdown_right = trace_fraction;
+       // te_lightning1(NULL,this.origin, trace_endpos);
 
-    //te_lightning1(NULL,this.origin, trace_endpos);
-    upwish    = v_up    * (fup_left   + fup_right);
-    downwish  = v_down  * (fdown_left + fdown_right);
-    leftwish  = v_left  * (fup_left   + fdown_left);
-    rightwish = v_right * (fup_right  + fdown_right);
+       vdown_right = (v_forward + (v_right * pitch + v_down * pitch)) * length;
+       traceline(this.origin, this.origin + vdown_right, MOVE_NOMONSTERS, this);
+       fdown_right = trace_fraction;
 
-    return (upwish+leftwish+downwish+rightwish) * 0.25;
+       // te_lightning1(NULL,this.origin, trace_endpos);
+       upwish    = v_up    * (fup_left   + fup_right);
+       downwish  = v_down  * (fdown_left + fdown_right);
+       leftwish  = v_left  * (fup_left   + fdown_left);
+       rightwish = v_right * (fup_right  + fdown_right);
 
+       return (upwish + leftwish + downwish + rightwish) * 0.25;
 }
 
 /**
@@ -311,141 +306,140 @@ vector steerlib_traceavoid(entity this, float pitch,float length)
 **/
 vector steerlib_traceavoid_flat(entity this, float pitch, float length, vector vofs)
 {
-    vector vt_left, vt_right,vt_front;
-    float f_left, f_right,f_front;
-    vector leftwish, rightwish,frontwish, v_left;
+       vector vt_left, vt_right, vt_front;
+       float f_left, f_right, f_front;
+       vector leftwish, rightwish, frontwish, v_left;
 
-    v_left = v_right * -1;
+       v_left = v_right * -1;
 
 
-    vt_front = v_forward * length;
-    traceline(this.origin + vofs, this.origin + vofs + vt_front,MOVE_NOMONSTERS,this);
-    f_front = trace_fraction;
+       vt_front = v_forward * length;
+       traceline(this.origin + vofs, this.origin + vofs + vt_front, MOVE_NOMONSTERS, this);
+       f_front = trace_fraction;
 
-    vt_left = (v_forward + (v_left * pitch)) * length;
-    traceline(this.origin + vofs, this.origin + vofs + vt_left,MOVE_NOMONSTERS,this);
-    f_left = trace_fraction;
+       vt_left = (v_forward + (v_left * pitch)) * length;
+       traceline(this.origin + vofs, this.origin + vofs + vt_left, MOVE_NOMONSTERS, this);
+       f_left = trace_fraction;
 
-    //te_lightning1(NULL,this.origin, trace_endpos);
+       // te_lightning1(NULL,this.origin, trace_endpos);
 
-    vt_right = (v_forward + (v_right * pitch)) * length;
-    traceline(this.origin + vofs, this.origin + vofs + vt_right ,MOVE_NOMONSTERS,this);
-    f_right = trace_fraction;
+       vt_right = (v_forward + (v_right * pitch)) * length;
+       traceline(this.origin + vofs, this.origin + vofs + vt_right, MOVE_NOMONSTERS, this);
+       f_right = trace_fraction;
 
-    //te_lightning1(NULL,this.origin, trace_endpos);
+       // te_lightning1(NULL,this.origin, trace_endpos);
 
-    leftwish  = v_left    * f_left;
-    rightwish = v_right   * f_right;
-    frontwish = v_forward * f_front;
+       leftwish  = v_left    * f_left;
+       rightwish = v_right   * f_right;
+       frontwish = v_forward * f_front;
 
-    return normalize(leftwish + rightwish + frontwish);
+       return normalize(leftwish + rightwish + frontwish);
 }
 
-//#define BEAMSTEER_VISUAL
-float beamsweep(entity this, vector from, vector dir,float length, float step,float step_up, float step_down)
+// #define BEAMSTEER_VISUAL
+float beamsweep(entity this, vector from, vector dir, float length, float step, float step_up, float step_down)
 {
-    float i;
-    vector a, b, u, d;
-
-    u = '0 0 1' * step_up;
-    d = '0 0 1' * step_down;
-
-    traceline(from + u, from - d,MOVE_NORMAL,this);
-    if(trace_fraction == 1.0)
-        return 0;
-
-    if(!location_isok(trace_endpos, false, false))
-        return 0;
-
-    a = trace_endpos;
-    for(i = 0; i < length; i += step)
-    {
-
-        b = a + dir * step;
-        tracebox(a + u,'-4 -4 -4','4 4 4', b + u,MOVE_NORMAL,this);
-        if(trace_fraction != 1.0)
-            return i / length;
-
-        traceline(b + u, b - d,MOVE_NORMAL,this);
-        if(trace_fraction == 1.0)
-            return i / length;
-
-        if(!location_isok(trace_endpos, false, false))
-            return i / length;
+       float i;
+       vector a, b, u, d;
+
+       u = '0 0 1' * step_up;
+       d = '0 0 1' * step_down;
+
+       traceline(from + u, from - d, MOVE_NORMAL, this);
+       if (trace_fraction == 1.0) {
+               return 0;
+       }
+
+       if (!location_isok(trace_endpos, false, false)) {
+               return 0;
+       }
+
+       a = trace_endpos;
+       for (i = 0; i < length; i += step) {
+               b = a + dir * step;
+               tracebox(a + u, '-4 -4 -4', '4 4 4', b + u, MOVE_NORMAL, this);
+               if (trace_fraction != 1.0) {
+                       return i / length;
+               }
+
+               traceline(b + u, b - d, MOVE_NORMAL, this);
+               if (trace_fraction == 1.0) {
+                       return i / length;
+               }
+
+               if (!location_isok(trace_endpos, false, false)) {
+                       return i / length;
+               }
 #ifdef BEAMSTEER_VISUAL
-        te_lightning1(NULL,a+u,b+u);
-        te_lightning1(NULL,b+u,b-d);
+               te_lightning1(NULL, a + u, b + u);
+               te_lightning1(NULL, b + u, b - d);
 #endif
-        a = trace_endpos;
-    }
+               a = trace_endpos;
+       }
 
-    return 1;
+       return 1;
 }
 
 vector steerlib_beamsteer(entity this, vector dir, float length, float step, float step_up, float step_down)
 {
-    float bm_forward, bm_right, bm_left,p;
-    vector vr,vl;
-
-    dir.z *= 0.15;
-    vr = vectoangles(dir);
-    //vr_x *= -1;
+       float bm_forward, bm_right, bm_left, p;
+       vector vr, vl;
 
-    tracebox(this.origin + '0 0 1' * step_up, this.mins, this.maxs, ('0 0 1' * step_up) + this.origin +  (dir * length), MOVE_NOMONSTERS, this);
-    if(trace_fraction == 1.0)
-    {
-        //te_lightning1(this,this.origin,this.origin +  (dir * length));
-        return dir;
-    }
+       dir.z *= 0.15;
+       vr = vectoangles(dir);
+       // vr_x *= -1;
 
-    makevectors(vr);
-    bm_forward = beamsweep(this, this.origin, v_forward, length, step, step_up, step_down);
+       tracebox(this.origin + '0 0 1' * step_up, this.mins, this.maxs, ('0 0 1' * step_up) + this.origin +  (dir * length), MOVE_NOMONSTERS, this);
+       if (trace_fraction == 1.0) {
+               // te_lightning1(this,this.origin,this.origin +  (dir * length));
+               return dir;
+       }
 
-    vr = normalize(v_forward + v_right * 0.125);
-    vl = normalize(v_forward - v_right * 0.125);
+       makevectors(vr);
+       bm_forward = beamsweep(this, this.origin, v_forward, length, step, step_up, step_down);
 
-    bm_right = beamsweep(this, this.origin, vr, length, step, step_up, step_down);
-    bm_left  = beamsweep(this, this.origin, vl, length, step, step_up, step_down);
+       vr = normalize(v_forward + v_right * 0.125);
+       vl = normalize(v_forward - v_right * 0.125);
 
+       bm_right = beamsweep(this, this.origin, vr, length, step, step_up, step_down);
+       bm_left  = beamsweep(this, this.origin, vl, length, step, step_up, step_down);
 
-    p = bm_left + bm_right;
-    if(p == 2)
-    {
-        //te_lightning1(this,this.origin + '0 0 32',this.origin + '0 0 32' + vr * length);
-        //te_lightning1(this.tur_head,this.origin + '0 0 32',this.origin + '0 0 32' + vl * length);
 
-        return v_forward;
-    }
+       p = bm_left + bm_right;
+       if (p == 2) {
+               // te_lightning1(this,this.origin + '0 0 32',this.origin + '0 0 32' + vr * length);
+               // te_lightning1(this.tur_head,this.origin + '0 0 32',this.origin + '0 0 32' + vl * length);
 
-    p = 2 - p;
+               return v_forward;
+       }
 
-    vr = normalize(v_forward + v_right * p);
-    vl = normalize(v_forward - v_right * p);
-    bm_right = beamsweep(this, this.origin, vr, length, step, step_up, step_down);
-    bm_left  = beamsweep(this, this.origin, vl, length, step, step_up, step_down);
+       p = 2 - p;
 
+       vr = normalize(v_forward + v_right * p);
+       vl = normalize(v_forward - v_right * p);
+       bm_right = beamsweep(this, this.origin, vr, length, step, step_up, step_down);
+       bm_left  = beamsweep(this, this.origin, vl, length, step, step_up, step_down);
 
-    if(bm_left + bm_right < 0.15)
-    {
-        vr = normalize((v_forward*-1) + v_right * 0.90);
-        vl = normalize((v_forward*-1) - v_right * 0.90);
 
-        bm_right = beamsweep(this, this.origin, vr, length, step, step_up, step_down);
-        bm_left  = beamsweep(this, this.origin, vl, length, step, step_up, step_down);
-    }
+       if (bm_left + bm_right < 0.15) {
+               vr = normalize((v_forward * -1) + v_right * 0.90);
+               vl = normalize((v_forward * -1) - v_right * 0.90);
 
-    //te_lightning1(this,this.origin + '0 0 32',this.origin + '0 0 32' + vr * length);
-    //te_lightning1(this.tur_head,this.origin + '0 0 32',this.origin + '0 0 32' + vl * length);
+               bm_right = beamsweep(this, this.origin, vr, length, step, step_up, step_down);
+               bm_left  = beamsweep(this, this.origin, vl, length, step, step_up, step_down);
+       }
 
-    bm_forward *= bm_forward;
-    bm_right   *= bm_right;
-    bm_left    *= bm_left;
+       // te_lightning1(this,this.origin + '0 0 32',this.origin + '0 0 32' + vr * length);
+       // te_lightning1(this.tur_head,this.origin + '0 0 32',this.origin + '0 0 32' + vl * length);
 
-    vr = vr * bm_right;
-    vl = vl * bm_left;
+       bm_forward *= bm_forward;
+       bm_right   *= bm_right;
+       bm_left    *= bm_left;
 
-    return normalize(vr + vl);
+       vr = vr * bm_right;
+       vl = vl * bm_left;
 
+       return normalize(vr + vl);
 }
 
 
@@ -453,170 +447,167 @@ vector steerlib_beamsteer(entity this, vector dir, float length, float step, flo
 //     Testting                             //
 // Everything below this point is a mess :D //
 //////////////////////////////////////////////
-//#define TLIBS_TETSLIBS
+// #define TLIBS_TETSLIBS
 #ifdef TLIBS_TETSLIBS
 void flocker_die(entity this)
 {
        Send_Effect(EFFECT_ROCKET_EXPLODE, this.origin, '0 0 0', 1);
 
-    this.owner.cnt += 1;
-    this.owner = NULL;
+       this.owner.cnt += 1;
+       this.owner = NULL;
 
-    this.nextthink = time;
-    setthink(this, SUB_Remove);
+       this.nextthink = time;
+       setthink(this, SUB_Remove);
 }
 
 
 void flocker_think(entity this)
 {
-    vector dodgemove,swarmmove;
-    vector reprellmove,wandermove,newmove;
+       vector dodgemove, swarmmove;
+       vector reprellmove, wandermove, newmove;
 
-    this.angles_x = this.angles.x * -1;
-    makevectors(this.angles);
-    this.angles_x = this.angles.x * -1;
+       this.angles_x = this.angles.x * -1;
+       makevectors(this.angles);
+       this.angles_x = this.angles.x * -1;
 
-    dodgemove   = steerlib_traceavoid(this, 0.35,1000);
-    swarmmove   = steerlib_flock(this, 500,75,700,500);
-    reprellmove = steerlib_repell(this, this.owner.enemy.origin+this.enemy.velocity,2000) * 700;
+       dodgemove   = steerlib_traceavoid(this, 0.35, 1000);
+       swarmmove   = steerlib_flock(this, 500, 75, 700, 500);
+       reprellmove = steerlib_repell(this, this.owner.enemy.origin + this.enemy.velocity, 2000) * 700;
 
-    if(dodgemove == '0 0 0')
-    {
-        this.pos1 = steerlib_wander(this, 0.5,0.1,this.pos1);
-        wandermove  = this.pos1 * 50;
-    }
-    else
-        this.pos1 = normalize(this.velocity);
+       if (dodgemove == '0 0 0') {
+               this.pos1 = steerlib_wander(this, 0.5, 0.1, this.pos1);
+               wandermove  = this.pos1 * 50;
+       } else {
+               this.pos1 = normalize(this.velocity);
+       }
 
-    dodgemove = dodgemove * vlen(this.velocity) * 5;
+       dodgemove = dodgemove * vlen(this.velocity) * 5;
 
-    newmove = swarmmove + reprellmove + wandermove + dodgemove;
-    this.velocity = movelib_inertmove_byspeed(this, newmove,300,0.2,0.9);
-    //this.velocity  = movelib_inertmove(this, dodgemove,0.65);
+       newmove = swarmmove + reprellmove + wandermove + dodgemove;
+       this.velocity = movelib_inertmove_byspeed(this, newmove, 300, 0.2, 0.9);
+       // this.velocity  = movelib_inertmove(this, dodgemove,0.65);
 
-    this.velocity = movelib_dragvec(this, 0.01,0.6);
+       this.velocity = movelib_dragvec(this, 0.01, 0.6);
 
-    this.angles = vectoangles(this.velocity);
+       this.angles = vectoangles(this.velocity);
 
-    if(this.health <= 0)
-        flocker_die(this);
-    else
-        this.nextthink = time + 0.1;
+       if (this.health <= 0) {
+               flocker_die(this);
+       } else {
+               this.nextthink = time + 0.1;
+       }
 }
 
 MODEL(FLOCKER, "models/turrets/rocket.md3");
 
 void spawn_flocker(entity this)
 {
-    entity flocker = new(flocker);
-
-    setorigin(flocker, this.origin + '0 0 32');
-    setmodel (flocker, MDL_FLOCKER);
-    setsize (flocker, '-3 -3 -3', '3 3 3');
-
-    flocker.flock_id   = this.flock_id;
-    flocker.owner      = this;
-    setthink(flocker, flocker_think);
-    flocker.nextthink  = time + random() * 5;
-    PROJECTILE_MAKETRIGGER(flocker);
-    set_movetype(flocker, MOVETYPE_BOUNCEMISSILE);
-    flocker.effects    = EF_LOWPRECISION;
-    flocker.velocity   = randomvec() * 300;
-    flocker.angles     = vectoangles(flocker.velocity);
-    flocker.health     = 10;
-    flocker.pos1      = normalize(flocker.velocity + randomvec() * 0.1);
-
-    IL_PUSH(g_flockers, flocker);
-
-    this.cnt = this.cnt -1;
-
+       entity flocker = new(flocker);
+
+       setorigin(flocker, this.origin + '0 0 32');
+       setmodel(flocker, MDL_FLOCKER);
+       setsize(flocker, '-3 -3 -3', '3 3 3');
+
+       flocker.flock_id   = this.flock_id;
+       flocker.owner      = this;
+       setthink(flocker, flocker_think);
+       flocker.nextthink  = time + random() * 5;
+       PROJECTILE_MAKETRIGGER(flocker);
+       set_movetype(flocker, MOVETYPE_BOUNCEMISSILE);
+       flocker.effects    = EF_LOWPRECISION;
+       flocker.velocity   = randomvec() * 300;
+       flocker.angles     = vectoangles(flocker.velocity);
+       flocker.health     = 10;
+       flocker.pos1      = normalize(flocker.velocity + randomvec() * 0.1);
+
+       IL_PUSH(g_flockers, flocker);
+
+       this.cnt = this.cnt - 1;
 }
 
 void flockerspawn_think(entity this)
 {
-    if(this.cnt > 0)
-        spawn_flocker(this);
-
-    this.nextthink = time + this.delay;
+       if (this.cnt > 0) {
+               spawn_flocker(this);
+       }
 
+       this.nextthink = time + this.delay;
 }
 
 void flocker_hunter_think(entity this)
 {
-    vector dodgemove,attractmove,newmove;
-    entity ee;
-
-    this.angles_x = this.angles.x * -1;
-    makevectors(this.angles);
-    this.angles_x = this.angles.x * -1;
-
-    if(this.enemy)
-    if(vdist(this.enemy.origin - this.origin, <, 64))
-    {
-        ee = this.enemy;
-        ee.health = -1;
-        this.enemy = NULL;
-
-    }
-
-    if(!this.enemy)
-    {
-        IL_EACH(g_flockers, it.flock_id == this.flock_id,
-        {
-            if(it == this.owner || it == ee)
-                continue;
-
-            if(!this.enemy || vlen2(this.origin - it.origin) > vlen2(this.origin - this.enemy.origin))
-                this.enemy = it;
-        });
-    }
-
-    if(this.enemy)
-        attractmove = steerlib_attract(this, this.enemy.origin+this.enemy.velocity * 0.1,5000) * 1250;
-    else
-        attractmove = normalize(this.velocity) * 200;
-
-    dodgemove = steerlib_traceavoid(this, 0.35,1500) * vlen(this.velocity);
-
-    newmove = dodgemove + attractmove;
-    this.velocity = movelib_inertmove_byspeed(this, newmove,1250,0.3,0.7);
-    this.velocity = movelib_dragvec(this, 0.01,0.5);
-
-    this.angles = vectoangles(this.velocity);
-    this.nextthink = time + 0.1;
+       vector dodgemove, attractmove, newmove;
+       entity ee;
+
+       this.angles_x = this.angles.x * -1;
+       makevectors(this.angles);
+       this.angles_x = this.angles.x * -1;
+
+       if (this.enemy) {
+               if (vdist(this.enemy.origin - this.origin, <, 64)) {
+                       ee = this.enemy;
+                       ee.health = -1;
+                       this.enemy = NULL;
+               }
+       }
+
+       if (!this.enemy) {
+               IL_EACH(g_flockers, it.flock_id == this.flock_id,
+               {
+                       if (it == this.owner || it == ee) {
+                               continue;
+                       }
+
+                       if (!this.enemy || vlen2(this.origin - it.origin) > vlen2(this.origin - this.enemy.origin)) {
+                               this.enemy = it;
+                       }
+               });
+       }
+
+       if (this.enemy) {
+               attractmove = steerlib_attract(this, this.enemy.origin + this.enemy.velocity * 0.1, 5000) * 1250;
+       } else {
+               attractmove = normalize(this.velocity) * 200;
+       }
+
+       dodgemove = steerlib_traceavoid(this, 0.35, 1500) * vlen(this.velocity);
+
+       newmove = dodgemove + attractmove;
+       this.velocity = movelib_inertmove_byspeed(this, newmove, 1250, 0.3, 0.7);
+       this.velocity = movelib_dragvec(this, 0.01, 0.5);
+
+       this.angles = vectoangles(this.velocity);
+       this.nextthink = time + 0.1;
 }
 
 
 float globflockcnt;
 spawnfunc(flockerspawn)
 {
-    ++globflockcnt;
+       ++globflockcnt;
 
-    if(!this.cnt)      this.cnt = 20;
-    if(!this.delay)    this.delay = 0.25;
-    if(!this.flock_id) this.flock_id = globflockcnt;
+       if (!this.cnt) { this.cnt = 20; }
+       if (!this.delay) { this.delay = 0.25; }
+       if (!this.flock_id) { this.flock_id = globflockcnt; }
 
-    setthink(this, flockerspawn_think);
-    this.nextthink = time + 0.25;
+       setthink(this, flockerspawn_think);
+       this.nextthink = time + 0.25;
 
-    this.enemy = new(FLock Hunter);
+       this.enemy = new(FLock Hunter);
 
-    setmodel(this.enemy, MDL_FLOCKER);
-    setorigin(this.enemy, this.origin + '0 0 768' + (randomvec() * 128));
+       setmodel(this.enemy, MDL_FLOCKER);
+       setorigin(this.enemy, this.origin + '0 0 768' + (randomvec() * 128));
 
-    this.enemy.scale     = 3;
-    this.enemy.effects   = EF_LOWPRECISION;
-    set_movetype(this.enemy, MOVETYPE_BOUNCEMISSILE);
-    PROJECTILE_MAKETRIGGER(this.enemy);
-    setthink(this.enemy, flocker_hunter_think);
-    this.enemy.nextthink = time + 10;
-    this.enemy.flock_id  = this.flock_id;
-    this.enemy.owner     = this;
+       this.enemy.scale     = 3;
+       this.enemy.effects   = EF_LOWPRECISION;
+       set_movetype(this.enemy, MOVETYPE_BOUNCEMISSILE);
+       PROJECTILE_MAKETRIGGER(this.enemy);
+       setthink(this.enemy, flocker_hunter_think);
+       this.enemy.nextthink = time + 10;
+       this.enemy.flock_id  = this.flock_id;
+       this.enemy.owner     = this;
 
-    IL_PUSH(g_flockers, this);
-    IL_PUSH(g_flockers, this.enemy);
+       IL_PUSH(g_flockers, this);
+       IL_PUSH(g_flockers, this.enemy);
 }
 #endif
-
-
-
index 89ffb698ec6ca763d97f8ad899ddec5a6ed82ae8..7cd6dbb04f6ee0a78c634434b103d4968405a10e 100644 (file)
@@ -4,7 +4,10 @@
 
 vector steerlib_arrive(entity this, vector point, float maximal_distance);
 vector steerlib_attract2(entity this, vector point, float min_influense, float max_distance, float max_influense);
-//vector steerlib_pull(entity this, vector point);
+// vector steerlib_pull(entity this, vector point);
 
 IntrusiveList g_flockers;
-STATIC_INIT(g_flockers) { g_flockers = IL_NEW(); }
+STATIC_INIT(g_flockers)
+{
+       g_flockers = IL_NEW();
+}
index 9799a087ea0814e7a2d52b98f4f47a5c5d58e622..c5739fd3148b16cc2b38b3439e1c2b848a8413d2 100644 (file)
@@ -5,29 +5,29 @@
 #define cvar_string builtin_cvar_string
 #define cvar builtin_cvar
 
-#define IT_SHOTGUN          _IT_SHOTGUN /* BIT(0) */
-#define IT_SUPER_SHOTGUN    _IT_SUPER_SHOTGUN /* BIT(1) */
-#define IT_NAILGUN          _IT_NAILGUN /* BIT(2) */
-#define IT_SUPER_NAILGUN    _IT_SUPER_NAILGUN /* BIT(3) */
+#define IT_SHOTGUN _IT_SHOTGUN                   /* BIT(0) */
+#define IT_SUPER_SHOTGUN _IT_SUPER_SHOTGUN       /* BIT(1) */
+#define IT_NAILGUN _IT_NAILGUN                   /* BIT(2) */
+#define IT_SUPER_NAILGUN _IT_SUPER_NAILGUN       /* BIT(3) */
 #define IT_GRENADE_LAUNCHER _IT_GRENADE_LAUNCHER /* BIT(4) */
-#define IT_ROCKET_LAUNCHER  _IT_ROCKET_LAUNCHER /* BIT(5) */
-#define IT_LIGHTNING        _IT_LIGHTNING /* BIT(6) */
-#define IT_EXTRA_WEAPON     _IT_EXTRA_WEAPON /* BIT(7) */
-#define IT_SHELLS           _IT_SHELLS /* BIT(8) */
-#define IT_NAILS            _IT_NAILS /* BIT(9) */
-#define IT_ROCKETS          _IT_ROCKETS /* BIT(10) */
-#define IT_CELLS            _IT_CELLS /* BIT(11) */
-#define IT_AXE              _IT_AXE /* BIT(12) */
-#define IT_ARMOR1           _IT_ARMOR1 /* BIT(13) */
-#define IT_ARMOR2           _IT_ARMOR2 /* BIT(14) */
-#define IT_ARMOR3           _IT_ARMOR3 /* BIT(15) */
-#define IT_SUPERHEALTH      _IT_SUPERHEALTH /* BIT(16) */
-#define IT_KEY1             _IT_KEY1 /* BIT(17) */
-#define IT_KEY2             _IT_KEY2 /* BIT(18) */
+#define IT_ROCKET_LAUNCHER _IT_ROCKET_LAUNCHER   /* BIT(5) */
+#define IT_LIGHTNING _IT_LIGHTNING               /* BIT(6) */
+#define IT_EXTRA_WEAPON _IT_EXTRA_WEAPON         /* BIT(7) */
+#define IT_SHELLS _IT_SHELLS                     /* BIT(8) */
+#define IT_NAILS _IT_NAILS                       /* BIT(9) */
+#define IT_ROCKETS _IT_ROCKETS                   /* BIT(10) */
+#define IT_CELLS _IT_CELLS                       /* BIT(11) */
+#define IT_AXE _IT_AXE                           /* BIT(12) */
+#define IT_ARMOR1 _IT_ARMOR1                     /* BIT(13) */
+#define IT_ARMOR2 _IT_ARMOR2                     /* BIT(14) */
+#define IT_ARMOR3 _IT_ARMOR3                     /* BIT(15) */
+#define IT_SUPERHEALTH _IT_SUPERHEALTH           /* BIT(16) */
+#define IT_KEY1 _IT_KEY1                         /* BIT(17) */
+#define IT_KEY2 _IT_KEY2                         /* BIT(18) */
 // FIXME: special meaning when used in client items stat
-#define IT_INVISIBILITY     _IT_INVISIBILITY /* BIT(19) */
-#define IT_INVULNERABILITY  _IT_INVULNERABILITY /* BIT(20) */
-#define IT_SUIT             _IT_SUIT /* BIT(21) */
-#define IT_QUAD             _IT_QUAD /* BIT(22) */
+#define IT_INVISIBILITY _IT_INVISIBILITY         /* BIT(19) */
+#define IT_INVULNERABILITY _IT_INVULNERABILITY   /* BIT(20) */
+#define IT_SUIT _IT_SUIT                         /* BIT(21) */
+#define IT_QUAD _IT_QUAD                         /* BIT(22) */
 
 #pragma noref 1
index 1813db04d8d111387a6a1667c6033e9b2e890f6c..5b3e1456e5f78f3ab6eccef2a6153f7f759312b8 100644 (file)
@@ -14,22 +14,22 @@ float c1;
 float c2;
 float c3;
 float c4;
-float num_bots_team1; ///< Number of bots in the first team.
-float num_bots_team2; ///< Number of bots in the second team.
-float num_bots_team3; ///< Number of bots in the third team.
-float num_bots_team4; ///< Number of bots in the fourth team.
+float num_bots_team1;      ///< Number of bots in the first team.
+float num_bots_team2;      ///< Number of bots in the second team.
+float num_bots_team3;      ///< Number of bots in the third team.
+float num_bots_team4;      ///< Number of bots in the fourth team.
 entity lowest_human_team1; ///< Human with the lowest score in the first team.
 entity lowest_human_team2; ///< Human with the lowest score in the second team.
 entity lowest_human_team3; ///< Human with the lowest score in the third team.
 entity lowest_human_team4; ///< Human with the lowest score in the fourth team.
-entity lowest_bot_team1; ///< Bot with the lowest score in the first team.
-entity lowest_bot_team2; ///< Bot with the lowest score in the second team.
-entity lowest_bot_team3; ///< Bot with the lowest score in the third team.
-entity lowest_bot_team4; ///< Bot with the lowest score in the fourth team.
+entity lowest_bot_team1;   ///< Bot with the lowest score in the first team.
+entity lowest_bot_team2;   ///< Bot with the lowest score in the second team.
+entity lowest_bot_team3;   ///< Bot with the lowest score in the third team.
+entity lowest_bot_team4;   ///< Bot with the lowest score in the fourth team.
 
 int redowned, blueowned, yellowowned, pinkowned;
 
-//float audit_teams_time;
+// float audit_teams_time;
 
 void TeamchangeFrags(entity e);
 
@@ -62,8 +62,7 @@ bool SetPlayerTeamSimple(entity player, int team_num);
 /// \param[in] source_team Previous team of the player.
 /// \param[in] no_print Whether to print this event to players' console.
 /// \return True if team switch was successful, false otherwise.
-bool SetPlayerTeam(entity player, int destination_team, int source_team,
-       bool no_print);
+bool SetPlayerTeam(entity player, int destination_team, int source_team, bool no_print);
 
 // set c1...c4 to show what teams are allowed
 void CheckAllowedTeams(entity for_whom);
@@ -82,8 +81,7 @@ void GetTeamCounts(entity ignore);
 /// \return True if first team is smaller than the second one, false otherwise.
 /// \note This function assumes that CheckAllowedTeams and GetTeamCounts have
 /// been called.
-bool IsTeamSmallerThanTeam(int team_a, int team_b, entity player,
-       bool use_score);
+bool IsTeamSmallerThanTeam(int team_a, int team_b, entity player, bool use_score);
 
 /// \brief Returns whether one team is equal to the other.
 /// \param[in] team_a First team.
index 50dc5a35bca7cd130b7732fe141819539bc64e01..59d34571f186da46149469fd70c943edb2be784e 100644 (file)
@@ -2,54 +2,54 @@
 
 void test_weapons_hurt(entity this)
 {
-    EXPECT_NE(100, this.health);
-    delete(this.enemy);
-    delete(this);
+       EXPECT_NE(100, this.health);
+       delete(this.enemy);
+       delete(this);
 }
 
 TEST(Weapons, Hurt)
 {
-    entity it;
+       entity it;
 
-    noref Client a = it = NEW(Client, "A");
-    WITH(float, autocvar_g_spawnshieldtime, 0, Client_Add(it, NUM_TEAM_1));
-    it.origin = '-100 0 0';
-    it.angles = '0 0 0';
+       noref Client a = it = NEW(Client, "A");
+       WITH(float, autocvar_g_spawnshieldtime, 0, Client_Add(it, NUM_TEAM_1));
+       it.origin = '-100 0 0';
+       it.angles = '0 0 0';
 
-    noref Client b = it = NEW(Client, "B");
-    WITH(float, autocvar_g_spawnshieldtime, 0, Client_Add(it, NUM_TEAM_2));
-    it.origin = '100 0 0';
-    it.angles = '0 180 0';
+       noref Client b = it = NEW(Client, "B");
+       WITH(float, autocvar_g_spawnshieldtime, 0, Client_Add(it, NUM_TEAM_2));
+       it.origin = '100 0 0';
+       it.angles = '0 180 0';
 
-    it = a;
-    PHYS_INPUT_BUTTON_ATCK(it) = true;
-    it.items |= IT_UNLIMITED_AMMO;
-    Weapon wep = WEP_VORTEX;
-    W_GiveWeapon(it, wep.m_id);
-    W_SwitchWeapon_Force(it, wep, weaponentities[0]);
+       it = a;
+       PHYS_INPUT_BUTTON_ATCK(it) = true;
+       it.items |= IT_UNLIMITED_AMMO;
+       Weapon wep = WEP_VORTEX;
+       W_GiveWeapon(it, wep.m_id);
+       W_SwitchWeapon_Force(it, wep, weaponentities[0]);
 
-    it = b;
-    PHYS_INPUT_BUTTON_JUMP(it) = true;
-    it.enemy = a;
+       it = b;
+       PHYS_INPUT_BUTTON_JUMP(it) = true;
+       it.enemy = a;
 
-    defer(it, wep.switchdelay_raise + 0.1, test_weapons_hurt);
+       defer(it, wep.switchdelay_raise + 0.1, test_weapons_hurt);
 
-    SUCCEED();
+       SUCCEED();
 }
 
 TEST(Vehicles, Spawn)
 {
-    entity it;
+       entity it;
 
-    noref Client bot = it = NEW(Client, "Rider");
-    Client_Add(it, NUM_TEAM_1);
-    it.origin = '0 0 100';
+       noref Client bot = it = NEW(Client, "Rider");
+       Client_Add(it, NUM_TEAM_1);
+       it.origin = '0 0 100';
 
-    noref entity v = it = new(vehicle);
-    Vehicle veh = VEH_BUMBLEBEE;
-    it.active = ACTIVE_NOT;
-    vehicle_initialize(it, veh, false);
-    it.nextthink = time;
+       noref entity v = it = new(vehicle);
+       Vehicle veh = VEH_BUMBLEBEE;
+       it.active = ACTIVE_NOT;
+       vehicle_initialize(it, veh, false);
+       it.nextthink = time;
 
-    SUCCEED();
+       SUCCEED();
 }
index f69faa03a324de3e93d3136610a2835d9bbc781e..4f4da4e0d7339b58e2e8a4d4affd3ee81079dd7a 100644 (file)
 
 void W_GiveWeapon(entity e, int wep)
 {
-       if (!wep) return;
+       if (!wep) { return; }
 
        e.weapons |= WepSet_FromWeapon(Weapons_from(wep));
 
        if (IS_PLAYER(e)) {
-           Send_Notification(NOTIF_ONE, e, MSG_MULTI, ITEM_WEAPON_GOT, wep);
-    }
+               Send_Notification(NOTIF_ONE, e, MSG_MULTI, ITEM_WEAPON_GOT, wep);
+       }
 }
 
 void W_PlayStrengthSound(entity player)
 {
-       entity store = IS_PLAYER(player) ? PS(player) : player; // because non-player entities can fire, but can they have items? TODO
+       entity store = IS_PLAYER(player) ? PS(player) : player;                            // because non-player entities can fire, but can they have items? TODO
 
-       if((player.items & ITEM_Strength.m_itemid)
+       if ((player.items & ITEM_Strength.m_itemid)
                && ((time > store.prevstrengthsound + autocvar_sv_strengthsound_antispam_time) // prevent insane sound spam
-               || (time > store.prevstrengthsoundattempt + autocvar_sv_strengthsound_antispam_refire_threshold)))
-               {
-                       sound(player, CH_TRIGGER, SND_STRENGTH_FIRE, VOL_BASE, ATTEN_NORM);
-                       store.prevstrengthsound = time;
-               }
-               store.prevstrengthsoundattempt = time;
+               || (time > store.prevstrengthsoundattempt + autocvar_sv_strengthsound_antispam_refire_threshold))) {
+               sound(player, CH_TRIGGER, SND_STRENGTH_FIRE, VOL_BASE, ATTEN_NORM);
+               store.prevstrengthsound = time;
+       }
+       store.prevstrengthsoundattempt = time;
 }
 
 float W_CheckProjectileDamage(entity inflictor, entity projowner, int deathtype, float exception)
@@ -43,37 +42,32 @@ float W_CheckProjectileDamage(entity inflictor, entity projowner, int deathtype,
        float is_from_owner = (inflictor == projowner);
        float is_from_exception = (exception != -1);
 
-       //dprint(strcat("W_CheckProjectileDamage: from_contents ", ftos(is_from_contents), " : from_owner ", ftos(is_from_owner), " : exception ", strcat(ftos(is_from_exception), " (", ftos(exception), "). \n")));
+       // dprint(strcat("W_CheckProjectileDamage: from_contents ", ftos(is_from_contents), " : from_owner ", ftos(is_from_owner), " : exception ", strcat(ftos(is_from_exception), " (", ftos(exception), "). \n")));
 
-       if(autocvar_g_projectiles_damage <= -2)
-       {
-               return false; // no damage to projectiles at all, not even with the exceptions
-       }
-       else if(autocvar_g_projectiles_damage == -1)
-       {
-               if(is_from_exception)
-                       return (exception); // if exception is detected, allow it to override
-               else
-                       return false; // otherwise, no other damage is allowed
-       }
-       else if(autocvar_g_projectiles_damage == 0)
-       {
-               if(is_from_exception)
-                       return (exception); // if exception is detected, allow it to override
-               else if(!is_from_contents)
-                       return false; // otherwise, only allow damage from contents
-       }
-       else if(autocvar_g_projectiles_damage == 1)
-       {
-               if(is_from_exception)
-                       return (exception); // if exception is detected, allow it to override
-               else if(!(is_from_contents || is_from_owner))
-                       return false; // otherwise, only allow self damage and damage from contents
-       }
-       else if(autocvar_g_projectiles_damage == 2) // allow any damage, but override for exceptions
-       {
-               if(is_from_exception)
-                       return (exception); // if exception is detected, allow it to override
+       if (autocvar_g_projectiles_damage <= -2) {
+               return false;         // no damage to projectiles at all, not even with the exceptions
+       } else if (autocvar_g_projectiles_damage == -1) {
+               if (is_from_exception) {
+                       return exception; // if exception is detected, allow it to override
+               } else {
+                       return false;     // otherwise, no other damage is allowed
+               }
+       } else if (autocvar_g_projectiles_damage == 0) {
+               if (is_from_exception) {
+                       return exception; // if exception is detected, allow it to override
+               } else if (!is_from_contents) {
+                       return false;     // otherwise, only allow damage from contents
+               }
+       } else if (autocvar_g_projectiles_damage == 1) {
+               if (is_from_exception) {
+                       return exception; // if exception is detected, allow it to override
+               } else if (!(is_from_contents || is_from_owner)) {
+                       return false;     // otherwise, only allow self damage and damage from contents
+               }
+       } else if (autocvar_g_projectiles_damage == 2) { // allow any damage, but override for exceptions
+               if (is_from_exception) {
+                       return exception; // if exception is detected, allow it to override
+               }
        }
 
        return true; // if none of these return, then allow damage anyway.
@@ -86,8 +80,7 @@ void W_PrepareExplosionByDamage(entity this, entity attacker, void(entity this)
 
        MUTATOR_CALLHOOK(PrepareExplosionByDamage, this, attacker);
 
-       if(IS_CLIENT(attacker) && !autocvar_g_projectiles_keep_owner)
-       {
+       if (IS_CLIENT(attacker) && !autocvar_g_projectiles_keep_owner) {
                this.owner = attacker;
                this.realowner = attacker;
        }
index 363941b3a71210d24917f897f37c92c52f254d5b..8bde1a0e2e8d563dc7091f80777084441e2156de 100644 (file)
@@ -1,6 +1,6 @@
 #pragma once
 
-void W_GiveWeapon (entity e, float wep);
+void W_GiveWeapon(entity e, float wep);
 .float prevstrengthsound;
 .float prevstrengthsoundattempt;
 void W_PlayStrengthSound(entity player);
index fb13bd1b9e126201de97ef73bf439f4119a6a97e..32eb5dffda870ce05320a269257b96a0cb212aff 100644 (file)
@@ -27,23 +27,23 @@ vector W_HitPlotNormalizedUntransform(vector org, entity targ, vector screenforw
        // x = 0..1 relative to hitbox; y = 0..1 relative to hitbox; z = distance
 
        mi = ma = targ.origin + 0.5 * (targ.mins + targ.maxs);
-       for(i = 0; i < 2; ++i) for(j = 0; j < 2; ++j) for(k = 0; k < 2; ++k)
-       {
-               thisv = targ.origin;
-               if(i) thisv.x += targ.maxs.x; else thisv.x += targ.mins.x;
-               if(j) thisv.y += targ.maxs.y; else thisv.y += targ.mins.y;
-               if(k) thisv.z += targ.maxs.z; else thisv.z += targ.mins.z;
-               thisv = W_HitPlotUnnormalizedUntransform(screenforward, screenright, screenup, thisv);
-               if(i || j || k)
-               {
-                       if(mi.x > thisv.x) mi.x = thisv.x; if(ma.x < thisv.x) ma.x = thisv.x;
-                       if(mi.y > thisv.y) mi.y = thisv.y; if(ma.y < thisv.y) ma.y = thisv.y;
-                       //if(mi_z > thisv_z) mi_z = thisv_z; if(ma_z < thisv_z) ma_y = thisv_z;
-               }
-               else
-               {
-                       // first run
-                       mi = ma = thisv;
+       for (i = 0; i < 2; ++i) {
+               for (j = 0; j < 2; ++j) {
+                       for (k = 0; k < 2; ++k) {
+                               thisv = targ.origin;
+                               if (i) { thisv.x += targ.maxs.x; } else { thisv.x += targ.mins.x; }
+                               if (j) { thisv.y += targ.maxs.y; } else { thisv.y += targ.mins.y; }
+                               if (k) { thisv.z += targ.maxs.z; } else { thisv.z += targ.mins.z; }
+                               thisv = W_HitPlotUnnormalizedUntransform(screenforward, screenright, screenup, thisv);
+                               if (i || j || k) {
+                                       if (mi.x > thisv.x) { mi.x = thisv.x; } if (ma.x < thisv.x) { ma.x = thisv.x; }
+                                       if (mi.y > thisv.y) { mi.y = thisv.y; } if (ma.y < thisv.y) { ma.y = thisv.y; }
+                                       // if(mi_z > thisv_z) mi_z = thisv_z; if(ma_z < thisv_z) ma_y = thisv_z;
+                               } else {
+                                       // first run
+                                       mi = ma = thisv;
+                               }
+                       }
                }
        }
 
@@ -56,42 +56,38 @@ vector W_HitPlotNormalizedUntransform(vector org, entity targ, vector screenforw
 
 void W_HitPlotAnalysis(entity player, .entity weaponentity, vector screenforward, vector screenright, vector screenup)
 {
-       if(CS(player).hitplotfh >= 0)
-       {
+       if (CS(player).hitplotfh >= 0) {
                float lag = ANTILAG_LATENCY(player);
-               if(lag < 0.001)
+               if (lag < 0.001) {
                        lag = 0;
-               if(!IS_REAL_CLIENT(player))
+               }
+               if (!IS_REAL_CLIENT(player)) {
                        lag = 0; // only antilag for clients
-
+               }
                vector org = player.origin + player.view_ofs;
                traceline_antilag_force(player, org, org + screenforward * max_shot_distance, MOVE_NORMAL, player, lag);
-               if(IS_CLIENT(trace_ent) || IS_MONSTER(trace_ent))
-               {
-                   entity store = IS_CLIENT(trace_ent) ? CS(trace_ent) : trace_ent;
+               if (IS_CLIENT(trace_ent) || IS_MONSTER(trace_ent)) {
+                       entity store = IS_CLIENT(trace_ent) ? CS(trace_ent) : trace_ent;
                        antilag_takeback(trace_ent, store, time - lag);
                        vector hitplot = W_HitPlotNormalizedUntransform(org, trace_ent, screenforward, screenright, screenup, trace_endpos);
                        antilag_restore(trace_ent, store);
                        fputs(CS(player).hitplotfh, strcat(ftos(hitplot.x), " ", ftos(hitplot.y), " ", ftos(hitplot.z), " ", ftos(player.(weaponentity).m_switchweapon.m_id), "\n"));
-                       //print(strcat(ftos(hitplot_x), " ", ftos(hitplot_y), " ", ftos(hitplot_z), "\n"));
+                       // print(strcat(ftos(hitplot_x), " ", ftos(hitplot_y), " ", ftos(hitplot_z), "\n"));
                }
        }
 }
 
 void W_HitPlotOpen(entity player)
 {
-       if(autocvar_g_hitplots || strhasword(autocvar_g_hitplots_individuals, player.netaddress))
-       {
+       if (autocvar_g_hitplots || strhasword(autocvar_g_hitplots_individuals, player.netaddress)) {
                CS(player).hitplotfh = fopen(strcat("hits-", matchid, "-", player.netaddress, "-", ftos(player.playerid), ".plot"), FILE_WRITE);
                fputs(CS(player).hitplotfh, strcat("#name ", playername(player, false), "\n"));
-       }
-       else { CS(player).hitplotfh = -1; }
+       } else { CS(player).hitplotfh = -1; }
 }
 
 void W_HitPlotClose(entity player)
 {
-       if(CS(player).hitplotfh >= 0)
-       {
+       if (CS(player).hitplotfh >= 0) {
                fclose(CS(player).hitplotfh);
                CS(player).hitplotfh = -1;
        }
index 776d8d8d0f43800999a3b10829cb3c9c20cc2d93..4a838ba7f014a652c786ee9335c56ce14c191417 100644 (file)
@@ -22,11 +22,12 @@ void Send_WeaponComplain(entity e, float wpn, float type)
 
 void Weapon_whereis(Weapon this, entity cl)
 {
-       if (!autocvar_g_showweaponspawns) return;
+       if (!autocvar_g_showweaponspawns) { return; }
        IL_EACH(g_items, it.weapon == this.m_id && (!it.team || (it.ItemStatus & ITS_AVAILABLE)),
        {
-               if (it.classname == "droppedweapon" && autocvar_g_showweaponspawns < 2)
+               if (it.classname == "droppedweapon" && autocvar_g_showweaponspawns < 2) {
                        continue;
+               }
                entity wp = WaypointSprite_Spawn(
                        WP_Weapon,
                        -2, 0,
@@ -44,78 +45,73 @@ bool client_hasweapon(entity this, Weapon wpn, .entity weaponentity, float andam
 {
        float f = 0;
 
-       if (time < CS(this).hasweapon_complain_spam)
+       if (time < CS(this).hasweapon_complain_spam) {
                complain = 0;
+       }
 
        // ignore hook button when using other offhand equipment
-       if (this.offhand != OFFHAND_HOOK)
-       if (wpn == WEP_HOOK && !((this.weapons | weaponsInMap) & WepSet_FromWeapon(wpn)))
-           complain = 0;
+       if (this.offhand != OFFHAND_HOOK) {
+               if (wpn == WEP_HOOK && !((this.weapons | weaponsInMap) & WepSet_FromWeapon(wpn))) {
+                       complain = 0;
+               }
+       }
 
-       if (complain)
+       if (complain) {
                CS(this).hasweapon_complain_spam = time + 0.2;
+       }
 
-       if (wpn == WEP_Null)
-       {
-               if (complain)
+       if (wpn == WEP_Null) {
+               if (complain) {
                        sprint(this, "Invalid weapon\n");
+               }
                return false;
        }
-       if (autocvar_g_weaponswitch_debug == 2 && weaponslot(weaponentity) > 0 && !(wpn.spawnflags & WEP_FLAG_DUALWIELD) && !(PS(this).dual_weapons & wpn.m_wepset))
+       if (autocvar_g_weaponswitch_debug == 2 && weaponslot(weaponentity) > 0 && !(wpn.spawnflags & WEP_FLAG_DUALWIELD) && !(PS(this).dual_weapons & wpn.m_wepset)) {
                return false; // no complaints needed
-       if (this.weapons & WepSet_FromWeapon(wpn))
-       {
-               if (andammo)
-               {
-                       if(this.items & IT_UNLIMITED_WEAPON_AMMO)
-                       {
+       }
+       if (this.weapons & WepSet_FromWeapon(wpn)) {
+               if (andammo) {
+                       if (this.items & IT_UNLIMITED_WEAPON_AMMO) {
                                f = 1;
-                       }
-                       else
-                       {
+                       } else {
                                f = wpn.wr_checkammo1(wpn, this, weaponentity) + wpn.wr_checkammo2(wpn, this, weaponentity);
 
                                // always allow selecting the Mine Layer if we placed mines, so that we can detonate them
-                               if(wpn == WEP_MINE_LAYER)
+                               if (wpn == WEP_MINE_LAYER) {
                                        IL_EACH(g_mines, it.owner == this && it.weaponentity_fld == weaponentity,
                                        {
                                                f = 1;
                                                break; // no need to continue
                                        });
+                               }
                        }
-                       if (!f)
-                       {
-                               if (complain)
-                               if(IS_REAL_CLIENT(this))
-                               {
-                                       play2(this, SND(UNAVAILABLE));
-                                       Send_WeaponComplain (this, wpn.m_id, 0);
+                       if (!f) {
+                               if (complain) {
+                                       if (IS_REAL_CLIENT(this)) {
+                                               play2(this, SND(UNAVAILABLE));
+                                               Send_WeaponComplain(this, wpn.m_id, 0);
+                                       }
                                }
                                return false;
                        }
                }
                return true;
        }
-       if (complain)
-       {
+       if (complain) {
                // DRESK - 3/16/07
                // Report Proper Weapon Status / Modified Weapon Ownership Message
-               if (weaponsInMap & WepSet_FromWeapon(wpn))
-               {
+               if (weaponsInMap & WepSet_FromWeapon(wpn)) {
                        Send_WeaponComplain(this, wpn.m_id, 1);
-                       if(autocvar_g_showweaponspawns < 3)
+                       if (autocvar_g_showweaponspawns < 3) {
                                Weapon_whereis(wpn, this);
-                       else
-                       {
+                       } else {
                                FOREACH(Weapons, it.impulse == wpn.impulse,
                                {
                                        Weapon_whereis(it, this);
                                });
                        }
-               }
-               else
-               {
-                       Send_WeaponComplain (this, wpn.m_id, 2);
+               } else {
+                       Send_WeaponComplain(this, wpn.m_id, 2);
                }
 
                play2(this, SND(UNAVAILABLE));
@@ -134,99 +130,116 @@ float W_GetCycleWeapon(entity this, string weaponorder, float dir, float imp, fl
        float weaponcur;
        entity wep;
 
-       if(skipmissing || this.(weaponentity).selectweapon == 0)
+       if (skipmissing || this.(weaponentity).selectweapon == 0) {
                weaponcur = this.(weaponentity).m_switchweapon.m_id;
-       else
+       } else {
                weaponcur = this.(weaponentity).selectweapon;
+       }
 
-       if(dir == 0)
+       if (dir == 0) {
                switchtonext = 1;
+       }
 
        int c = 0;
 
        string rest = weaponorder;
-       while(rest != "")
-       {
-               weaponwant = stof(car(rest)); rest = cdr(rest);
+       while (rest != "") {
+               weaponwant = stof(car(rest));
+               rest = cdr(rest);
                wep = Weapons_from(weaponwant);
                wepset = wep.m_wepset;
-               if(imp >= 0)
-               if(wep.impulse != imp)
-                       continue;
+               if (imp >= 0) {
+                       if (wep.impulse != imp) {
+                               continue;
+                       }
+               }
 
                bool have_other = false;
                FOREACH(Weapons, it != WEP_Null, {
-                       if(i != weaponwant)
-                       if(it.impulse == imp || imp < 0)
-                       if((this.weapons & (it.m_wepset)) || (weaponsInMap & (it.m_wepset)))
-                               have_other = true;
+                       if (i != weaponwant) {
+                               if (it.impulse == imp || imp < 0) {
+                                       if ((this.weapons & (it.m_wepset)) || (weaponsInMap & (it.m_wepset))) {
+                                               have_other = true;
+                                       }
+                               }
+                       }
                });
 
                // skip weapons we don't own that aren't normal and aren't in the map
-               if(!(this.weapons & wepset))
-               if(!(weaponsInMap & wepset))
-               if((wep.spawnflags & WEP_FLAG_MUTATORBLOCKED) || have_other)
-                       continue;
+               if (!(this.weapons & wepset)) {
+                       if (!(weaponsInMap & wepset)) {
+                               if ((wep.spawnflags & WEP_FLAG_MUTATORBLOCKED) || have_other) {
+                                       continue;
+                               }
+                       }
+               }
 
                ++c;
 
-               if(!skipmissing || client_hasweapon(this, wep, weaponentity, true, false))
-               {
-                       if(switchtonext)
+               if (!skipmissing || client_hasweapon(this, wep, weaponentity, true, false)) {
+                       if (switchtonext) {
                                return weaponwant;
-                       if(!first_valid)
+                       }
+                       if (!first_valid) {
                                first_valid = weaponwant;
-                       if(weaponwant == weaponcur)
-                       {
-                               if(dir >= 0)
+                       }
+                       if (weaponwant == weaponcur) {
+                               if (dir >= 0) {
                                        switchtonext = 1;
-                               else if(prev_valid)
+                               } else if (prev_valid) {
                                        return prev_valid;
-                               else
+                               } else {
                                        switchtolast = 1;
+                               }
                        }
                        prev_valid = weaponwant;
                }
        }
-       if(first_valid)
-       {
-               if(switchtolast)
+       if (first_valid) {
+               if (switchtolast) {
                        return prev_valid;
-               else
+               } else {
                        return first_valid;
+               }
        }
        // complain (but only for one weapon on the button that has been pressed)
-       if(complain)
-       {
+       if (complain) {
                this.weaponcomplainindex += 1;
                c = (this.weaponcomplainindex % c) + 1;
                rest = weaponorder;
-               while(rest != "")
-               {
-                       weaponwant = stof(car(rest)); rest = cdr(rest);
+               while (rest != "") {
+                       weaponwant = stof(car(rest));
+                       rest = cdr(rest);
                        wep = Weapons_from(weaponwant);
                        wepset = wep.m_wepset;
-                       if(imp >= 0)
-                               if(wep.impulse != imp)
+                       if (imp >= 0) {
+                               if (wep.impulse != imp) {
                                        continue;
+                               }
+                       }
 
                        bool have_other = false;
                        FOREACH(Weapons, it != WEP_Null, {
-                               if(i != weaponwant)
-                               if(it.impulse == imp || imp < 0)
-                               if((this.weapons & (it.m_wepset)) || (weaponsInMap & (it.m_wepset)))
-                                       have_other = true;
+                               if (i != weaponwant) {
+                                       if (it.impulse == imp || imp < 0) {
+                                               if ((this.weapons & (it.m_wepset)) || (weaponsInMap & (it.m_wepset))) {
+                                                       have_other = true;
+                                               }
+                                       }
+                               }
                        });
 
                        // skip weapons we don't own that aren't normal and aren't in the map
-                       if(!(this.weapons & wepset))
-                       if(!(weaponsInMap & wepset))
-                       if((wep.spawnflags & WEP_FLAG_MUTATORBLOCKED) || have_other)
-                               continue;
+                       if (!(this.weapons & wepset)) {
+                               if (!(weaponsInMap & wepset)) {
+                                       if ((wep.spawnflags & WEP_FLAG_MUTATORBLOCKED) || have_other) {
+                                               continue;
+                                       }
+                               }
+                       }
 
                        --c;
-                       if(c == 0)
-                       {
+                       if (c == 0) {
                                client_hasweapon(this, wep, weaponentity, true, true);
                                break;
                        }
@@ -237,7 +250,7 @@ float W_GetCycleWeapon(entity this, string weaponorder, float dir, float imp, fl
 
 void W_SwitchWeapon_Force(Player this, Weapon wep, .entity weaponentity)
 {
-    TC(Weapon, wep);
+       TC(Weapon, wep);
        this.(weaponentity).cnt = this.(weaponentity).m_switchweapon.m_id;
        this.(weaponentity).m_switchweapon = wep;
        this.(weaponentity).selectweapon = wep.m_id;
@@ -249,31 +262,26 @@ void W_SwitchToOtherWeapon(entity this, .entity weaponentity)
        // hack to ensure it switches to an OTHER weapon (in case the other fire mode still has ammo, we want that anyway)
        Weapon ww;
        WepSet set = WepSet_FromWeapon(this.(weaponentity).m_weapon);
-       if (this.weapons & set)
-       {
+       if (this.weapons & set) {
                this.weapons &= ~set;
                ww = w_getbestweapon(this, weaponentity);
                this.weapons |= set;
-       }
-       else
-       {
+       } else {
                ww = w_getbestweapon(this, weaponentity);
        }
-       if (ww == WEP_Null) return;
+       if (ww == WEP_Null) { return; }
        W_SwitchWeapon_Force(this, ww, weaponentity);
 }
 
 void W_SwitchWeapon(entity this, Weapon w, .entity weaponentity)
 {
-       if(this.(weaponentity).m_switchweapon != w)
-       {
-               if(client_hasweapon(this, w, weaponentity, true, true))
+       if (this.(weaponentity).m_switchweapon != w) {
+               if (client_hasweapon(this, w, weaponentity, true, true)) {
                        W_SwitchWeapon_Force(this, w, weaponentity);
-               else
+               } else {
                        this.(weaponentity).selectweapon = w.m_id; // update selectweapon anyway
-       }
-       else if(!forbidWeaponUse(this))
-       {
+               }
+       } else if (!forbidWeaponUse(this)) {
                entity actor = this;
                w.wr_reload(w, actor, weaponentity);
        }
@@ -283,46 +291,51 @@ void W_CycleWeapon(entity this, string weaponorder, float dir, .entity weaponent
 {
        float w;
        w = W_GetCycleWeapon(this, weaponorder, dir, -1, 1, true, weaponentity);
-       if(w > 0)
+       if (w > 0) {
                W_SwitchWeapon(this, Weapons_from(w), weaponentity);
+       }
 }
 
 void W_NextWeaponOnImpulse(entity this, float imp, .entity weaponentity)
 {
        float w;
        w = W_GetCycleWeapon(this, CS(this).cvar_cl_weaponpriority, +1, imp, 1, (CS(this).cvar_cl_weaponimpulsemode == 0), weaponentity);
-       if(w > 0)
+       if (w > 0) {
                W_SwitchWeapon(this, Weapons_from(w), weaponentity);
+       }
 }
 
 // next weapon
 void W_NextWeapon(entity this, int list, .entity weaponentity)
 {
-       if(list == 0)
+       if (list == 0) {
                W_CycleWeapon(this, weaponorder_byid, -1, weaponentity);
-       else if(list == 1)
+       } else if (list == 1) {
                W_CycleWeapon(this, this.weaponorder_byimpulse, -1, weaponentity);
-       else if(list == 2)
+       } else if (list == 2) {
                W_CycleWeapon(this, CS(this).cvar_cl_weaponpriority, -1, weaponentity);
+       }
 }
 
 // prev weapon
 void W_PreviousWeapon(entity this, float list, .entity weaponentity)
 {
-       if(list == 0)
+       if (list == 0) {
                W_CycleWeapon(this, weaponorder_byid, +1, weaponentity);
-       else if(list == 1)
+       } else if (list == 1) {
                W_CycleWeapon(this, this.weaponorder_byimpulse, +1, weaponentity);
-       else if(list == 2)
+       } else if (list == 2) {
                W_CycleWeapon(this, CS(this).cvar_cl_weaponpriority, +1, weaponentity);
+       }
 }
 
 // previously used if exists and has ammo, (second) best otherwise
 void W_LastWeapon(entity this, .entity weaponentity)
 {
        Weapon wep = Weapons_from(this.(weaponentity).cnt);
-       if (client_hasweapon(this, wep, weaponentity, true, false))
+       if (client_hasweapon(this, wep, weaponentity, true, false)) {
                W_SwitchWeapon(this, wep, weaponentity);
-       else
+       } else {
                W_SwitchToOtherWeapon(this, weaponentity);
+       }
 }
index eea33ddb7b98e71c762a7fc09f9d7f41856c7558..16ceb2274eb353bdedba7a231599f21a0ac4a19a 100644 (file)
@@ -12,7 +12,7 @@ bool client_hasweapon(entity this, Weapon wpn, .entity weaponentity, float andam
 .int weaponcomplainindex;
 float W_GetCycleWeapon(entity this, string weaponorder, float dir, float imp, float complain, float skipmissing, .entity weaponentity);
 
-#define w_getbestweapon(ent,wepent) Weapons_from(W_GetCycleWeapon(ent, CS(ent).cvar_cl_weaponpriority, 0, -1, false, true, wepent))
+#define w_getbestweapon(ent, wepent) Weapons_from(W_GetCycleWeapon(ent, CS(ent).cvar_cl_weaponpriority, 0, -1, false, true, wepent))
 
 void W_SwitchWeapon_Force(Player this, Weapon w, .entity weaponentity);
 
index 3fa16d6545910d2e99a2a02197e43440eb3aaafe..502f0ba8582afc3f5818fe59d842c6dec1153440 100644 (file)
@@ -12,11 +12,11 @@ vector w_shotend;
 // make sure you call makevectors first (FIXME?)
 void W_SetupShot_Dir_ProjectileSize_Range(entity ent, .entity weaponentity, vector s_forward, vector mi, vector ma, float antilag, float recoil, Sound snd, float chan, float maxdamage, float range);
 
-#define W_SetupShot_Dir_ProjectileSize(ent,wepent,s_forward,mi,ma,antilag,recoil,snd,chan,maxdamage) W_SetupShot_Dir_ProjectileSize_Range(ent, wepent, s_forward, mi, ma, antilag, recoil, snd, chan, maxdamage, max_shot_distance)
-#define W_SetupShot_ProjectileSize(ent,wepent,mi,ma,antilag,recoil,snd,chan,maxdamage) W_SetupShot_Dir_ProjectileSize(ent, wepent, v_forward, mi, ma, antilag, recoil, snd, chan, maxdamage)
-#define W_SetupShot_Dir(ent,wepent,s_forward,antilag,recoil,snd,chan,maxdamage) W_SetupShot_Dir_ProjectileSize(ent, wepent, s_forward, '0 0 0', '0 0 0', antilag, recoil, snd, chan, maxdamage)
-#define W_SetupShot(ent,wepent,antilag,recoil,snd,chan,maxdamage) W_SetupShot_ProjectileSize(ent, wepent, '0 0 0', '0 0 0', antilag, recoil, snd, chan, maxdamage)
-#define W_SetupShot_Range(ent,wepent,antilag,recoil,snd,chan,maxdamage,range) W_SetupShot_Dir_ProjectileSize_Range(ent, wepent, v_forward, '0 0 0', '0 0 0', antilag, recoil, snd, chan, maxdamage, range)
+#define W_SetupShot_Dir_ProjectileSize(ent, wepent, s_forward, mi, ma, antilag, recoil, snd, chan, maxdamage) W_SetupShot_Dir_ProjectileSize_Range(ent, wepent, s_forward, mi, ma, antilag, recoil, snd, chan, maxdamage, max_shot_distance)
+#define W_SetupShot_ProjectileSize(ent, wepent, mi, ma, antilag, recoil, snd, chan, maxdamage) W_SetupShot_Dir_ProjectileSize(ent, wepent, v_forward, mi, ma, antilag, recoil, snd, chan, maxdamage)
+#define W_SetupShot_Dir(ent, wepent, s_forward, antilag, recoil, snd, chan, maxdamage) W_SetupShot_Dir_ProjectileSize(ent, wepent, s_forward, '0 0 0', '0 0 0', antilag, recoil, snd, chan, maxdamage)
+#define W_SetupShot(ent, wepent, antilag, recoil, snd, chan, maxdamage) W_SetupShot_ProjectileSize(ent, wepent, '0 0 0', '0 0 0', antilag, recoil, snd, chan, maxdamage)
+#define W_SetupShot_Range(ent, wepent, antilag, recoil, snd, chan, maxdamage, range) W_SetupShot_Dir_ProjectileSize_Range(ent, wepent, v_forward, '0 0 0', '0 0 0', antilag, recoil, snd, chan, maxdamage, range)
 
 vector W_CalculateProjectileVelocity(entity actor, vector pvelocity, vector mvelocity, float forceAbsolute);
 
@@ -28,23 +28,21 @@ float mspercallcount;
 
 void W_SetupProjVelocity_Explicit(entity proj, vector dir, vector upDir, float pSpeed, float pUpSpeed, float pZSpeed, float spread, float forceAbsolute);
 
-#define W_SetupProjVelocity_Basic(ent,pspeed,pspread) W_SetupProjVelocity_Explicit(ent, w_shotdir, v_up, pspeed, 0, 0, pspread, false)
+#define W_SetupProjVelocity_Basic(ent, pspeed, pspread) W_SetupProjVelocity_Explicit(ent, w_shotdir, v_up, pspeed, 0, 0, pspread, false)
 
-#define W_SetupProjVelocity_UP_PRE(ent,wepname,prefix) W_SetupProjVelocity_Explicit(ent, w_shotdir, v_up, WEP_CVAR(wepname, prefix##speed), WEP_CVAR(wepname, prefix##speed_up), WEP_CVAR(wepname, prefix##speed_z), WEP_CVAR(wepname, prefix##spread), false)
-#define W_SetupProjVelocity_UP_PRI(ent,wepname) W_SetupProjVelocity_Explicit(ent, w_shotdir, v_up, WEP_CVAR_PRI(wepname, speed), WEP_CVAR_PRI(wepname, speed_up), WEP_CVAR_PRI(wepname, speed_z), WEP_CVAR_PRI(wepname, spread), false)
-#define W_SetupProjVelocity_UP_SEC(ent,wepname) W_SetupProjVelocity_Explicit(ent, w_shotdir, v_up, WEP_CVAR_SEC(wepname, speed), WEP_CVAR_SEC(wepname, speed_up), WEP_CVAR_SEC(wepname, speed_z), WEP_CVAR_SEC(wepname, spread), false)
+#define W_SetupProjVelocity_UP_PRE(ent, wepname, prefix) W_SetupProjVelocity_Explicit(ent, w_shotdir, v_up, WEP_CVAR(wepname, prefix##speed), WEP_CVAR(wepname, prefix##speed_up), WEP_CVAR(wepname, prefix##speed_z), WEP_CVAR(wepname, prefix##spread), false)
+#define W_SetupProjVelocity_UP_PRI(ent, wepname) W_SetupProjVelocity_Explicit(ent, w_shotdir, v_up, WEP_CVAR_PRI(wepname, speed), WEP_CVAR_PRI(wepname, speed_up), WEP_CVAR_PRI(wepname, speed_z), WEP_CVAR_PRI(wepname, spread), false)
+#define W_SetupProjVelocity_UP_SEC(ent, wepname) W_SetupProjVelocity_Explicit(ent, w_shotdir, v_up, WEP_CVAR_SEC(wepname, speed), WEP_CVAR_SEC(wepname, speed_up), WEP_CVAR_SEC(wepname, speed_z), WEP_CVAR_SEC(wepname, spread), false)
 
-#define W_SetupProjVelocity_UP_BOTH(ent,wepname,isprimary) \
-       if(isprimary) { W_SetupProjVelocity_UP_PRI(ent, wepname); } \
-       else { W_SetupProjVelocity_UP_SEC(ent, wepname); }
+#define W_SetupProjVelocity_UP_BOTH(ent, wepname, isprimary) \
+       if (isprimary) { W_SetupProjVelocity_UP_PRI(ent, wepname); } else { W_SetupProjVelocity_UP_SEC(ent, wepname); }
 
-#define W_SetupProjVelocity_PRE(ent,wepname,prefix) W_SetupProjVelocity_Explicit(ent, w_shotdir, v_up, WEP_CVAR(wepname, prefix##speed), 0, 0, WEP_CVAR(wepname, prefix##spread), false)
-#define W_SetupProjVelocity_PRI(ent,wepname) W_SetupProjVelocity_Explicit(ent, w_shotdir, v_up, WEP_CVAR_PRI(wepname, speed), 0, 0, WEP_CVAR_PRI(wepname, spread), false)
-#define W_SetupProjVelocity_SEC(ent,wepname) W_SetupProjVelocity_Explicit(ent, w_shotdir, v_up, WEP_CVAR_SEC(wepname, speed), 0, 0, WEP_CVAR_SEC(wepname, spread), false)
+#define W_SetupProjVelocity_PRE(ent, wepname, prefix) W_SetupProjVelocity_Explicit(ent, w_shotdir, v_up, WEP_CVAR(wepname, prefix##speed), 0, 0, WEP_CVAR(wepname, prefix##spread), false)
+#define W_SetupProjVelocity_PRI(ent, wepname) W_SetupProjVelocity_Explicit(ent, w_shotdir, v_up, WEP_CVAR_PRI(wepname, speed), 0, 0, WEP_CVAR_PRI(wepname, spread), false)
+#define W_SetupProjVelocity_SEC(ent, wepname) W_SetupProjVelocity_Explicit(ent, w_shotdir, v_up, WEP_CVAR_SEC(wepname, speed), 0, 0, WEP_CVAR_SEC(wepname, spread), false)
 
-#define W_SetupProjVelocity_BOTH(ent,wepname,isprimary) \
-       if(isprimary) { W_SetupProjVelocity_PRI(ent, wepname); } \
-       else { W_SetupProjVelocity_SEC(ent, wepname); }
+#define W_SetupProjVelocity_BOTH(ent, wepname, isprimary) \
+       if (isprimary) { W_SetupProjVelocity_PRI(ent, wepname); } else { W_SetupProjVelocity_SEC(ent, wepname); }
 
 // ====================
 //  Ballistics Tracing
@@ -52,7 +50,7 @@ void W_SetupProjVelocity_Explicit(entity proj, vector dir, vector upDir, float p
 
 .float railgundistance;
 .vector railgunforce;
-void FireRailgunBullet (entity this, .entity weaponentity, vector start, vector end, float bdamage, float bforce, float mindist, float maxdist, float halflifedist, float forcehalflifedist, int deathtype);
+void FireRailgunBullet(entity this, .entity weaponentity, vector start, vector end, float bdamage, float bforce, float mindist, float maxdist, float halflifedist, float forcehalflifedist, int deathtype);
 
 entity fireBullet_trace_callback_eff;
 entity fireBullet_last_hit;
index 296d10fa6bd0bef9b26f857c6e86ed4db684b9f7..0130482d46fd59b0663961f42e0cef01ecea2a1f 100644 (file)
@@ -16,8 +16,7 @@ void WeaponStats_ready(entity fh, entity pass, float status)
        float i, j, n, ibot, jbot, idx;
        vector v;
        string prefix, s;
-       switch(status)
-       {
+       switch (status) {
                case URL_READY_CANWRITE:
                        // we can write
                        prefix = strcat(autocvar_hostname, "\t", GetGametype(), "_", GetMapname(), "\t");
@@ -29,20 +28,24 @@ void WeaponStats_ready(entity fh, entity pass, float status)
                        url_fputs(fh, strcat("#config ", ftos(crc16(false, cvar_purechanges)), "\n"));
                        url_fputs(fh, strcat("#cvar_purechanges ", ftos(cvar_purechanges_count), "\n"));
                        n = tokenizebyseparator(cvar_purechanges, "\n");
-                       for(i = 0; i < n; ++i)
+                       for (i = 0; i < n; ++i) {
                                url_fputs(fh, strcat("#cvar_purechange ", argv(i), "\n"));
-                       for(i = WEP_FIRST; i <= WEP_LAST; ++i) for(ibot = 0; ibot <= 1; ++ibot)
-                               for(j = WEP_FIRST; j <= WEP_LAST; ++j) for(jbot = 0; jbot <= 1; ++jbot)
-                               {
-                                       idx = WEAPONSTATS_GETINDEX(i, ibot, j, jbot);
-                                       v = stov(bufstr_get(weaponstats_buffer, idx));
-                                       if(v != '0 0 0')
-                                       {
-                                               //vector is: kills hits damage
-                                               url_fputs(fh, sprintf("%s%d %d\t%d %d\t", prefix, i, ibot, j, jbot));
-                                               url_fputs(fh, sprintf("%d %d %g\n", v.x, v.y, v.z));
+                       }
+                       for (i = WEP_FIRST; i <= WEP_LAST; ++i) {
+                               for (ibot = 0; ibot <= 1; ++ibot) {
+                                       for (j = WEP_FIRST; j <= WEP_LAST; ++j) {
+                                               for (jbot = 0; jbot <= 1; ++jbot) {
+                                                       idx = WEAPONSTATS_GETINDEX(i, ibot, j, jbot);
+                                                       v = stov(bufstr_get(weaponstats_buffer, idx));
+                                                       if (v != '0 0 0') {
+                                                               // vector is: kills hits damage
+                                                               url_fputs(fh, sprintf("%s%d %d\t%d %d\t", prefix, i, ibot, j, jbot));
+                                                               url_fputs(fh, sprintf("%d %d %g\n", v.x, v.y, v.z));
+                                                       }
+                                               }
                                        }
                                }
+                       }
                        url_fputs(fh, "#end\n\n");
                        url_fclose(fh);
                        break;
@@ -50,8 +53,9 @@ void WeaponStats_ready(entity fh, entity pass, float status)
                        // url_fclose is processing, we got a response for writing the data
                        // this must come from HTTP
                        LOG_INFO("Got response from weapon stats server:");
-                       while((s = url_fgets(fh)))
+                       while ((s = url_fgets(fh))) {
                                LOG_INFO("  ", s);
+                       }
                        LOG_INFO("End of response.");
                        url_fclose(fh);
                        break;
@@ -72,14 +76,12 @@ void WeaponStats_ready(entity fh, entity pass, float status)
 
 void WeaponStats_Shutdown()
 {
-       if(weaponstats_buffer < 0)
+       if (weaponstats_buffer < 0) {
                return;
-       if(autocvar_sv_weaponstats_file != "")
-       {
-               url_multi_fopen(autocvar_sv_weaponstats_file, FILE_APPEND, WeaponStats_ready, NULL);
        }
-       else
-       {
+       if (autocvar_sv_weaponstats_file != "") {
+               url_multi_fopen(autocvar_sv_weaponstats_file, FILE_APPEND, WeaponStats_ready, NULL);
+       } else {
                buf_del(weaponstats_buffer);
                weaponstats_buffer = -1;
        }
@@ -88,20 +90,24 @@ void WeaponStats_Shutdown()
 void WeaponStats_LogItem(float awep, float abot, float vwep, float vbot, vector item)
 {
        float idx;
-       if(weaponstats_buffer < 0)
+       if (weaponstats_buffer < 0) {
                return;
-       if(awep < WEP_FIRST || vwep < WEP_FIRST)
+       }
+       if (awep < WEP_FIRST || vwep < WEP_FIRST) {
                return;
-       if(awep > WEP_LAST || vwep > WEP_LAST)
+       }
+       if (awep > WEP_LAST || vwep > WEP_LAST) {
                return;
-       idx = WEAPONSTATS_GETINDEX(awep,abot,vwep,vbot);
+       }
+       idx = WEAPONSTATS_GETINDEX(awep, abot, vwep, vbot);
        bufstr_set(weaponstats_buffer, idx, vtos(stov(bufstr_get(weaponstats_buffer, idx)) + item));
 }
 
 void WeaponStats_LogDamage(float awep, float abot, float vwep, float vbot, float damage)
 {
-       if(damage < 0)
+       if (damage < 0) {
                error("negative damage?");
+       }
        WeaponStats_LogItem(awep, abot, vwep, vbot, '0 0 1' * damage + '0 1 0');
 }
 
index f031223e78304f3e5540c4855b18e638e981e3e6..8bb0a8b45ea80e8ff06e838c87761547686ee6a4 100644 (file)
@@ -9,4 +9,4 @@ void WeaponStats_LogItem(float awep, float abot, float vwep, float vbot, vector
 void WeaponStats_LogDamage(float awep, float abot, float vwep, float vbot, float damage);
 void WeaponStats_LogKill(float awep, float abot, float vwep, float vbot);
 
-#define WEAPONSTATS_GETINDEX(awep,abot,vwep,vbot) (((vwep) + (awep) * (WEP_LAST - WEP_FIRST + 1) - (WEP_FIRST + WEP_FIRST * (WEP_LAST - WEP_FIRST + 1))) * 4 + (abot) * 2 + (vbot))
+#define WEAPONSTATS_GETINDEX(awep, abot, vwep, vbot) (((vwep) + (awep) * (WEP_LAST - WEP_FIRST + 1) - (WEP_FIRST + WEP_FIRST * (WEP_LAST - WEP_FIRST + 1))) * 4 + (abot) * 2 + (vbot))