From be1d72d7cc8430b91107fb3f1574f60ea4f4c63b Mon Sep 17 00:00:00 2001 From: Rafael Barreto Date: Wed, 19 May 2010 20:31:15 +0000 Subject: [PATCH] Armor icon hud, and blocking too much open maps git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@4937 e016b1c5-ed68-44aa-a2f7-31cac88cffde --- packages/maps/official/ac_douze_tmp.cfg | 436 ------------------------ packages/maps/official/ac_douze_tmp.cgz | Bin 5716 -> 0 bytes packages/misc/items.png | Bin 34137 -> 40458 bytes source/src/renderhud.cpp | 4 +- source/src/server.cpp | 5 +- source/src/serveractions.h | 2 +- source/src/serverchecks.h | 85 ++++- source/src/tools.cpp | 21 +- 8 files changed, 97 insertions(+), 456 deletions(-) delete mode 100644 packages/maps/official/ac_douze_tmp.cfg delete mode 100644 packages/maps/official/ac_douze_tmp.cgz diff --git a/packages/maps/official/ac_douze_tmp.cfg b/packages/maps/official/ac_douze_tmp.cfg deleted file mode 100644 index 2e7c34ed..00000000 --- a/packages/maps/official/ac_douze_tmp.cfg +++ /dev/null @@ -1,436 +0,0 @@ -fog 350 -fogcolour 0x968070 -mapmodelreset -mapmodel 2 2 0 0 "nothing" -mapmodel 4 1 0 0 "comp_bridge" -mapmodel 0 7 0 0 "ladder_7x" -mapmodel 0 8 0 0 "ladder_8x" -mapmodel 0 10 0 0 "ladder_10x" -mapmodel 0 11 0 0 "ladder_11x" -mapmodel 0 15 0 0 "ladder_15x" -mapmodel 0 12 0 0 "streetlamp" -mapmodel 0 12 0 0 "streetlamp" -mapmodel 3 2 0 0 "bench" -mapmodel 2 4 0 0 "dumpster" -mapmodel 0 0 0 0 "roadblock01" -mapmodel 0 0 0 0 "roadblock02" -mapmodel 1 8 0 0 "fence" -mapmodel 1 8 0 0 "fencepost" -mapmodel 0 0 0 0 "fencegate_open" -mapmodel 1 8 0 0 "fencegate_closed" -mapmodel 0 0 0 0 "grass01" -mapmodel 0 0 0 0 "grass01_d" -mapmodel 0 0 0 0 "grass01_s" -mapmodel 0 0 0 0 "grass02" -mapmodel 0 0 0 0 "grass02_d" -mapmodel 0 0 0 0 "grass02_s" -mapmodel 0 0 0 0 "plant01" -mapmodel 0 0 0 0 "plant01_d" -mapmodel 0 0 0 0 "plant01_s" -mapmodel 0 0 0 0 "tree01" -mapmodel 1 2 0 0 "chair1" -mapmodel 0 0 0 0 "laptop1" -mapmodel 0 0 0 0 "picture1" -mapmodel 1 6 0 0 "locker" -mapmodel 0 0 0 0 "strahler" -mapmodel 0 0 0 0 "light01" -mapmodel 0 0 0 0 "bulb" -mapmodel 1 3 0 0 "barrel" -mapmodel 1 2 0 0 "barrel2" -mapmodel 0 0 0 0 "elektro" -mapmodel 3 1 0 0 "europalette" -mapmodel 0 0 0 0 "gastank" -mapmodel 2 1 0 0 "gutter_h" -mapmodel 1 2 0 0 "gutter_v" -mapmodel 0 0 0 0 "wrench" -mapmodel 0 0 0 0 "screw" -mapmodel 0 0 0 0 "signs/flammable" -mapmodel 0 0 0 0 "signs/speed" -mapmodel 0 0 0 0 "signs/maint" -mapmodel 0 0 0 0 "signs/caution" -mapmodel 0 0 0 0 "signs/biohazard" -mapmodel 0 0 0 0 "fag" -mapmodel 0 0 0 0 "can" -mapmodel 0 0 0 0 "can2" -mapmodel 0 0 0 0 "wood01" -mapmodel 0 0 0 0 "hook" -mapmodel 0 0 0 0 "coffeemug" -mapmodel 0 0 0 0 "flyer" -mapmodel 0 0 1 0 "poster" -mapmodel 1 1 0 0 "aard" -mapmodel 4 1 0 0 "bridge" -mapmodel 0 1 0 0 "ladder_rung" -mapmodel 0 8 0 0 "drainpipe" -mapmodel 2 2 0 0 "toca/airconditioner" -mapmodel 0 0 0 0 "toca/bullet" -mapmodel 0 1 0 0 "toca/cinderblock" -mapmodel 1 7 0 0 "toca/commrack" -mapmodel 1 4 0 0 "toca/commrack2" -mapmodel 0 0 0 0 "toca/computer/monkeymou" -mapmodel 1 8 0 0 "toca/corrugated/beam" -mapmodel 1 4 0 0 "toca/guardrail" -mapmodel 1 4 0 0 "toca/guardrail2" -mapmodel 0 0 0 0 "toca/milkcarton" -mapmodel 1 1 0 0 "toca/monitor" -mapmodel 2 3 0 0 "toca/officedesk" -mapmodel 0 0 0 0 "toca/plasmatv" -mapmodel 4 1 0 0 "toca/platformmet" -mapmodel 0 6 0 0 "toca/powermeter" -mapmodel 1 6 0 0 "toca/rack" -mapmodel 2 8 0 0 "toca/radarconsole" -mapmodel 0 0 0 0 "toca/securitycam/secucam" -mapmodel 0 0 0 0 "toca/sgshell" -mapmodel 4 1 7 0 "toca/stairs1" -mapmodel 4 1 0 0 "toca/stairs2" -mapmodel 1 3 0 0 "toca/radioactivedrum" -mapmodel 1 2 0 0 "toca/radioactivedrum2" -mapmodel 2 1 0 0 "toca/tyre" -mapmodel 1 2 0 0 "toca/trashbag" -mapmodel 1 3 0 0 "toca/trashcan" -mapmodel 1 2 0 0 "toca/tv" -mapmodel 2 3 0 0 "toca/utilitytable" -mapmodel 1 3 0 0 "toca/wheel" -mapmodel 0 0 0 0 "toca/signs/biohazard" -mapmodel 0 0 0 0 "toca/signs/chemical" -mapmodel 0 0 0 0 "toca/signs/confined" -mapmodel 0 0 0 0 "toca/signs/toxic" -mapmodel 0 0 0 0 "toca/signs/donotenter" -mapmodel 0 0 0 0 "toca/signs/explosives" -mapmodel 0 0 0 0 "toca/signs/firstaid" -mapmodel 0 0 0 0 "toca/signs/noentry" -mapmodel 0 0 0 0 "toca/signs/nosmoking" -mapmodel 0 0 0 0 "toca/signs/radioactive" -mapmodel 0 0 0 0 "toca/signs/restricted" -mapmodel 1 6 0 0 "toca/signs/target" -mapmodel 0 2 0 0 "toca/computer/pc" -mapmodel 1 8 0 0 "toca/corrugated/fence1" -mapmodel 1 8 0 0 "toca/corrugated/fence2" -mapmodel 0 0 0 0 "toca/securitycam/vertmount" -mapmodel 0 0 0 0 "toca/securitycam/wallmount" -mapmodel 1 4 0 0 "toca/guardrail2/gr2pole" -mapmodel 0 0 0 0 "toca/airconditioner/interior" -mapmodel 1 1 1 0 "toca/pipes/concretepipe" -mapmodel 1 1 1 0 "toca/pipes/metalpipe" -mapmodel 0 1 0 0 "toca/pipes/metalpipe2" -mapmodel 0 0 0 0 "signs/arab" -mapmodel 1 1 0 0 "toca/milkcrate" -mapmodel 0 0 0 0 "toca/ceilingfan" -mapmodel 1 7 0 0 "toca/tree1" -mapmodel 0 17 0 0 "toca/palmtree1" -mapmodel 2 3 0 0 "toca/razorwire" -mapmodel 0 14 0 0 "toca/tree2" -mapmodel 0 18 0 0 "toca/pine" -mapmodel 2 7 0 0 "toca/servercluster/rack" -mapmodel 2 1 0 0 "toca/servercluster/U3_1" -mapmodel 2 1 0 0 "toca/servercluster/U3_2" -mapmodel 2 1 0 0 "toca/servercluster/U3_3" -mapmodel 2 2 0 0 "toca/servercluster/U6_1" -mapmodel 2 2 0 0 "toca/servercluster/U6_2" -mapmodel 2 2 0 0 "toca/servercluster/U6_3" -mapmodel 0 4 0 0 "toca/window1" -mapmodel 1 2 8 0 "toca/barbwire" -mapmodel 1 1 0 0 "toca/shelf" -mapmodel 4 1 15 0 "toca/guardtower" -mapmodel 1 2 0 0 "toca/treetrunk1" -mapmodel 0 0 0 0 "nocamp" -loadsky "textures/skymaps/makke/mountain" -loadnotexture -texturereset -texture 0 "./kurt/klite1.jpg" -texture 0 "./toca/greybricks.jpg" -texture 0 "./arcitool/archibrick01.jpg" -texture 0 "./arcitool/archibrick02.jpg" -texture 0 "./arcitool/archibrick03.jpg" -texture 0 "./arcitool/archibrick04.jpg" -texture 0 "./arcitool/archibrick05.jpg" -texture 0 "./arcitool/archibrick06.jpg" -texture 0 "./arcitool/archibrick07.jpg" -texture 0 "./arcitool/rohbaubims.jpg" -texture 0 "./mitaman/grsites/brick051.jpg" -texture 0 "./mitaman/grsites/brick065.jpg" -texture 0 "./boeck/stone_022.jpg" -texture 0 "./DigitalFlux/gray_bricks_02.jpg" -texture 0 "./DigitalFlux/gray_bricks_01.jpg" -texture 0 "./makke/bricks_2.jpg" -texture 0 "./makke/bricks_3.jpg" -texture 0 "./makke/brickwall.jpg" -texture 0 "./noctua/wall/brick02.jpg" -texture 0 "./sub/brick_wall_08.jpg" -texture 0 "./sub/brick_wall_09.jpg" -texture 0 "./makke/bricky.jpg" -texture 0 "./makke/01-CMU.jpg" -texture 0 "./makke/mauer1.jpg" -texture 0 "./makke/mauer2.jpg" -texture 0 "./makke/d_brick.jpg" -texture 0 "./mitaman/3dcafe/stone18.jpg" -texture 0 "./noctua/tiles/16tile12.jpg" -texture 0 "./noctua/tiles/16tile09.jpg" -texture 0 "./noctua/tiles/16tile10.jpg" -texture 0 "./noctua/tiles/16tile11.jpg" -texture 0 "./noctua/tiles/16tile07.jpg" -texture 0 "./arcitool/Cotta1-grau.jpg" -texture 0 "./arcitool/Cotta1-graubraun.jpg" -texture 0 "./arcitool/Cotta1-graubraunhell.jpg" -texture 0 "./arcitool/Cotta1-hell.jpg" -texture 0 "./arcitool/Cotta2-beige.jpg" -texture 0 "./arcitool/Cotta2-dunkel.jpg" -texture 0 "./arcitool/Cotta2-grau.jpg" -texture 0 "./arcitool/Cotta2-satt.jpg" -texture 0 "./makke/tiles.jpg" -texture 0 "./noctua/ground/cobbles01.jpg" -texture 0 "./arcitool/pflaster2.jpg" -texture 0 "./arcitool/gittersteine2.jpg" -texture 0 "./makke/11-Brick.jpg" -texture 0 "./makke/stein.jpg" -texture 0 "./makke/br_tiles.jpg" -texture 0 "./makke/c_tile.jpg" -texture 0 "./makke/pebbles_01.jpg" -texture 0 "./arcitool/sisal21.jpg" -texture 0 "./makke/platten.jpg" -texture 0 "./noctua/ground/asph01.jpg" -texture 0 "./noctua/ground/asph02.jpg" -texture 0 "./noctua/ground/asph03.jpg" -texture 0 "./makke/asph_01.jpg" -texture 0 "./DigitalFlux/dirty_asphalt_02.jpg" -texture 0 "./DigitalFlux/dirty_asphalt_03.jpg" -texture 0 "./makke/concrete.jpg" -texture 0 "./makke/concrete_trim.jpg" -texture 0 "./makke/concrete_trim_small.jpg" -texture 0 "./noctua/ground/snowy03.jpg" -texture 0 "./noctua/ground/snowy04.jpg" -texture 0 "./noctua/ground/snowy05.jpg" -texture 0 "./noctua/metal/iron05.jpg" -texture 0 "./noctua/metal/iron05_b.jpg" -texture 0 "./noctua/metal/iron01.jpg" -texture 0 "./noctua/metal/zinc02.jpg" -texture 0 "./noctua/metal/zinc03.jpg" -texture 0 "./noctua/wall/plast02.jpg" -texture 0 "./noctua/wall/conc01.jpg" -texture 0 "./noctua/wall/conc02.jpg" -texture 0 "./noctua/wall/conc05.jpg" -texture 0 "./noctua/wall/wall02.jpg" -texture 0 "./arcitool/sichtbeton1.jpg" -texture 0 "./arcitool/sichtbeton2.jpg" -texture 0 "./noctua/ground/snowy02.jpg" -texture 0 "./boeck/stone_013.jpg" -texture 0 "./boeck/stone_014.jpg" -texture 0 "./noctua/wall/plast01.jpg" -texture 0 "./noctua/wall/plast03.jpg" -texture 0 "./noctua/wall/plast04.jpg" -texture 0 "./mitaman/various/5sqtunnelroad.jpg" -texture 0 "./mitaman/various/027metal.jpg" -texture 0 "./boeck/metal_019.jpg" -texture 0 "./boeck/metal_019_b.jpg" -texture 0 "./mitaman/various/036metal.jpg" -texture 0 "./boeck/rolltor.jpg" -texture 0 "./mitaman/golgotha/hhroofgray.jpg" -texture 0 "./mitaman/golgotha/tunnel_ceiling.jpg" -texture 0 "./mitaman/golgotha/tunnel_ceiling_b.jpg" -texture 0 "./mitaman/zastrow/metal_overlaps.jpg" -texture 0 "./mitaman/zastrow/metal_plate_fill.jpg" -texture 0 "./mitaman/golgotha/metal_bumps2.jpg" -texture 0 "./mitaman/golgotha/metal_bumps3.jpg" -texture 0 "./mitaman/zastrow/metal_siding_kinks.jpg" -texture 0 "./noctua/metal/zinc01.jpg" -texture 0 "./noctua/metal/copper01.jpg" -texture 0 "./noctua/metal/copper02.jpg" -texture 0 "./noctua/metal/iron02.jpg" -texture 0 "./noctua/metal/iron03.jpg" -texture 0 "./noctua/metal/iron04.jpg" -texture 0 "./noctua/metal/metbgr01.jpg" -texture 0 "./noctua/metal/metbgr02.jpg" -texture 0 "./noctua/metal/metbgr03.jpg" -texture 0 "./noctua/metal/metbgr04.jpg" -texture 0 "./noctua/metal/verdig01.jpg" -texture 0 "./noctua/metal/brass01.jpg" -texture 0 "./mitaman/various/006metal.jpg" -texture 0 "./mitaman/various/metal020.jpg" -texture 0 "./boeck/wood_009.jpg" -texture 0 "./boeck/wood_010.jpg" -texture 0 "./boeck/wood_017.jpg" -texture 0 "./makke/wood_01.jpg" -texture 0 "./makke/wood_01_b.jpg" -texture 0 "./arcitool/n_f-natur2.jpg" -texture 0 "./arcitool/Blockbohlen-natur.jpg" -texture 0 "./arcitool/Zaun.jpg" -texture 0 "./arcitool/Rundholz.jpg" -texture 0 "./mitaman/grsites/wood060.jpg" -texture 0 "./noctua/wood/blinds01.jpg" -texture 0 "./noctua/wood/fb_board.jpg" -texture 0 "./noctua/wood/planks01.jpg" -texture 0 "./noctua/wood/planks01_b.jpg" -texture 0 "./noctua/wood/planks02.jpg" -texture 0 "./noctua/wood/planks02_hor.jpg" -texture 0 "./noctua/wood/planks02_trim.jpg" -texture 0 "./noctua/wood/bark01.jpg" -texture 0 "./noctua/wood/wood02.jpg" -texture 0 "./noctua/wood/wood03.jpg" -texture 0 "./noctua/wood/wood04.jpg" -texture 0 "./mitaman/various/063bois.jpg" -texture 0 "./mitaman/various/063bois_b.jpg" -texture 0 "./craig_fortune/terrain/grass_lush1.jpg" -texture 0 "./craig_fortune/terrain/Grass_mossy.jpg" -texture 0 "./craig_fortune/terrain/Grass_parched.jpg" -texture 0 "./arcitool/Wiese3.jpg" -texture 0 "./arcitool/Wiese6.jpg" -texture 0 "./craig_fortune/terrain/Grass_lush.jpg" -texture 0 "./craig_fortune/terrain/mud.jpg" -texture 0 "./craig_fortune/terrain/Mud_thick.jpg" -texture 0 "./makke/cracked_mud.jpg" -texture 0 "./craig_fortune/terrain/sand_bleached.jpg" -texture 0 "./sub/sub_sand.jpg" -texture 0 "./DigitalFlux/light_brown_dirt_02.jpg" -texture 0 "./DigitalFlux/dirt_pebbles_01.jpg" -texture 0 "./DigitalFlux/light_brown_dirt_01.jpg" -texture 0 "./DigitalFlux/reddish_brown_dirt_01.jpg" -texture 0 "./DigitalFlux/reddish_brown_dirt_02.jpg" -texture 0 "./makke/dirt_01.jpg" -texture 0 "./makke/stuck1.jpg" -texture 0 "./noctua/ground/mud01.jpg" -texture 0 "./noctua/ground/pebble01.jpg" -texture 0 "./noctua/ground/ground02.jpg" -texture 0 "./noctua/ground/ground06.jpg" -texture 0 "./arcitool/schotter1.jpg" -texture 0 "./arcitool/schotter2.jpg" -texture 0 "./craig_fortune/terrain/Rock_cracked.jpg" -texture 0 "./craig_fortune/terrain/rubble.jpg" -texture 0 "./craig_fortune/terrain/Rock_rubble.jpg" -texture 0 "./noctua/ground/snowy01.jpg" -texture 0 "./makke/rock.jpg" -texture 0 "./noctua/stone/stone18.jpg" -texture 0 "./noctua/stone/stone02.jpg" -texture 0 "./noctua/stone/stone03.jpg" -texture 0 "./noctua/stone/stone04.jpg" -texture 0 "./noctua/stone/stone05.jpg" -texture 0 "./noctua/stone/stone06.jpg" -texture 0 "./noctua/stone/stone07.jpg" -texture 0 "./noctua/stone/stone08.jpg" -texture 0 "./noctua/stone/stone09.jpg" -texture 0 "./noctua/stone/stone12.jpg" -texture 0 "./noctua/stone/stone13.jpg" -texture 0 "./noctua/stone/stone15.jpg" -texture 0 "./noctua/stone/stone16.jpg" -texture 0 "./noctua/stone/stone17.jpg" -texture 0 "./noctua/stone/marmor01.jpg" -texture 0 "./noctua/stone/stone19.jpg" -texture 0 "./noctua/wall/conc03.jpg" -texture 0 "./noctua/wall/conc04.jpg" -texture 0 "./noctua/wall/d_wall01.jpg" -texture 0 "./noctua/textile/carpet04.jpg" -texture 0 "./noctua/textile/carpet01.jpg" -texture 0 "./noctua/textile/carpet02.jpg" -texture 0 "./noctua/textile/carpet03.jpg" -texture 0 "./noctua/textile/burlap01.jpg" -texture 0 "./noctua/textile/carpet05.jpg" -texture 0 "./arcitool/Wellblech1-1.jpg" -texture 0 "./arcitool/Glasbausteine.jpg" -texture 0 "./boeck/gully.jpg" -texture 0 "./boeck/aircon2.jpg" -texture 0 "./makke/aircon.jpg" -texture 0 "./makke/aircon_sm.jpg" -texture 0 "./makke/door.jpg" -texture 0 "./makke/klappe.jpg" -texture 0 "./makke/klappe2.jpg" -texture 0 "./makke/klappe3.jpg" -texture 0 "./makke/neuklappe.jpg" -texture 0 "./makke/panel.jpg" -texture 0 "./mitaman/3dcafe/objects09_a.jpg" -texture 0 "./mitaman/golgotha/elecpanelstwo.jpg" -texture 0 "./mitaman/various/metal_trim_4_v.jpg" -texture 0 "./mitaman/various/metal_trim_4_h.jpg" -texture 0 "./mitaman/various/metal026.jpg" -texture 0 "./mitaman/various/vent_cap.jpg" -texture 0 "./mitaman/various/rgrates0006.jpg" -texture 0 "./mitaman/various/large_plate.jpg" -texture 0 "./makke/lampe.jpg" -texture 0 "./makke/lampe_tile.jpg" -texture 0 "./makke/lampe_tile_a.jpg" -texture 0 "./makke/lampe_tile2.jpg" -texture 0 "./makke/lampe_tile2_a.jpg" -texture 0 "./makke/stairtrim.jpg" -texture 0 "./makke/metalstair1.jpg" -texture 0 "./makke/metalstair2.jpg" -texture 0 "./mitaman/zastrow/metal_siding_kinksb.jpg" -texture 0 "./makke/window.jpg" -texture 0 "./makke/windows.jpg" -texture 0 "./mitaman/zastrow/sub_window31.jpg" -texture 0 "./mitaman/zastrow/sub_window33.jpg" -texture 0 "./mitaman/various/sub_window23.jpg" -texture 0 "./mitaman/various/sub_window38.jpg" -texture 0 "./mitaman/3dcafe/door10.jpg" -texture 0 "./mitaman/3dcafe/door12.jpg" -texture 0 "./mitaman/3dcafe/door15.jpg" -texture 0 "./mitaman/3dcafe/door07.jpg" -texture 0 "./mitaman/zastrow/sub_doors512B05.jpg" -texture 0 "./mitaman/zastrow/sub_doors512A10.jpg" -texture 0 "./mitaman/zastrow/sub_doors512A16.jpg" -texture 0 "./mitaman/various/sub_doors256nf_01.jpg" -texture 0 "./mitaman/3dcafe/objects08.jpg" -texture 0 "./craig_fortune/crates/light_weathered.jpg" -texture 0 "./craig_fortune/crates/light.jpg" -texture 0 "./zastrow/3wood_crate_03.jpg" -texture 0 "./zastrow/2wood_crate_03.jpg" -texture 0 "./zastrow/2wood_crate_10.jpg" -texture 0 "./zastrow/2wood_crate_12.jpg" -texture 0 "./zastrow/3wood_crate_02.jpg" -texture 0 "./zastrow/2wood_crate_02.jpg" -texture 0 "./zastrow/3wood_crate_10.jpg" -texture 0 "./zastrow/3wood_crate_12.jpg" -texture 0 "./zastrow/wood_crate_02.jpg" -texture 0 "./zastrow/wood_crate_03.jpg" -texture 0 "./zastrow/wood_crate_10.jpg" -texture 0 "./zastrow/wood_crate_12.jpg" -texture 0 "./makke/box_2.jpg" -texture 0 "./makke/box_4.jpg" -texture 0 "./makke/box_3.jpg" -texture 0 "./makke/smallsteelbox.jpg" -texture 0 "./drunkenM/rock_wall1.jpg" -texture 0 "./makke/douze.jpg" -texture 0 "./makke/clayceiling.jpg" -mapsoundreset -mapsound "./ambience/cavedrip.ogg" -1 -mapsound "./ambience/distant_cars.ogg" -1 -mapsound "./ambience/hum01.ogg" -1 -mapsound "./ambience/hum02.ogg" -1 -mapsound "./ambience/night_crickets.ogg" -1 -mapsound "./ambience/water.ogg" -1 -mapsound "./ambience/wind.ogg" -1 -mapsound "./ambience/t_aircond.ogg" -1 -mapsound "./ambience/t_compressor.ogg" -1 -mapsound "./ambience/t_crow.ogg" -1 -mapsound "./ambience/t_dogs01.ogg" -1 -mapsound "./ambience/t_helicopter.ogg" -1 -mapsound "./ambience/t_hum01.ogg" -1 -mapsound "./ambience/t_hum02.ogg" -1 -mapsound "./ambience/t_hum03.ogg" -1 -mapsound "./ambience/t_hum04.ogg" -1 -mapsound "./ambience/t_night_dog.ogg" -1 -mapsound "./ambience/t_night01.ogg" -1 -mapsound "./ambience/t_night02.ogg" -1 -mapsound "./ambience/t_radio_comms.ogg" -1 -mapsound "./ambience/t_radio_static.ogg" -1 -mapsound "./ambience/t_satcoms.ogg" -1 -mapsound "./ambience/t_sludge.ogg" -1 -mapsound "./ambience/t_static01.ogg" -1 -mapsound "./ambience/t_static02.ogg" -1 -mapsound "./ambience/t_vent01.ogg" -1 -mapsound "./ambience/t_vent02.ogg" -1 -mapsound "./ambience/t_water_owl.ogg" -1 -mapsound "./ambience/t_water01.ogg" -1 -mapsound "./ambience/t_waterdrip.ogg" -1 -mapsound "./ambience/t_wind.ogg" -1 -mapsound "./ambience/t_waterpipe01.ogg" -1 -mapsound "./ambience/t_waterpipe02.ogg" -1 -mapsound "./ambience/warningalarm01.ogg" -1 -mapsound "./ambience/t_gastank.ogg" -1 -mapsound "./ambience/t_keyboard.ogg" 1 -mapsound "./ambience/t_factory01.ogg" -1 -mapsound "./ambience/t_vents.ogg" -1 -mapsound "./ambience/t_waterfront.ogg" -1 -mapsound "./ambience/t_generator.ogg" -1 -mapsound "./ambience/t_electricbuzz.ogg" -1 -mapsound "./ambience/t_alarm01.ogg" -1 -mapsound "./ambience/flies.ogg" -1 -mapsound "./ambience/deserthawk.ogg" -1 -mapsound "./ambience/owl.ogg" -1 -mapsound "./ambience/citynoisebirds.ogg" -1 diff --git a/packages/maps/official/ac_douze_tmp.cgz b/packages/maps/official/ac_douze_tmp.cgz deleted file mode 100644 index 8c9850ff203cbd41339a7af57fd87a396bc642d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5716 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 a0R{lf+mwn6XFt#Y0000armour) drawequipicon(620, 1650, 3, 3, false); + if(p->armour) drawequipicon(620, 1650, (p->armour-1)/25, 2, false); drawequipicon(20, 1650, 2, 3, (p->state!=CS_DEAD && p->health<=20 && !m_osok)); // weapons diff --git a/source/src/server.cpp b/source/src/server.cpp index aeb931d2..bd09e947 100644 --- a/source/src/server.cpp +++ b/source/src/server.cpp @@ -1625,7 +1625,7 @@ void startdemoplayback(const char *newname) setupdemoplayback(); } -int Mvolume, Marea, Mopen; +int Mvolume, Marea, Mopen = 0; float Mheight = 0; void startgame(const char *newname, int newmode, int newtime, bool notify) @@ -1673,7 +1673,7 @@ void startgame(const char *newname, int newmode, int newtime, bool notify) if(e.fitsmode(smode)) sents[i].spawned = sents[i].legalpickup = true; } mapbuffer.setrevision(); - logline(ACLOG_INFO, "Map height density information for %s: H = %.2f V = %d and A = %d", smapname, Mheight, Mvolume, Marea); + logline(ACLOG_INFO, "Map height density information for %s: H = %.2f V = %d, A = %d and MA = %d", smapname, Mheight, Mvolume, Marea, Mopen); } else if(isdedicated) sendservmsg("\f3server error: map not found - please start another map"); if(notify) @@ -2102,6 +2102,7 @@ void checkclientpos(client *cl) { vec &po = cl->state.o; int ls = (1 << maplayout_factor) - 1; + if(po.x < 0 || po.y < 0 || po.x > ls || po.y > ls || maplayout[((int) po.x) + (((int) po.y) << maplayout_factor)] > po.z + 3) { if(gamemillis > 10000 && (servmillis - cl->connectmillis) > 10000) cl->mapcollisions++; diff --git a/source/src/serveractions.h b/source/src/serveractions.h index 785fdd8c..6b9a4460 100644 --- a/source/src/serveractions.h +++ b/source/src/serveractions.h @@ -49,7 +49,7 @@ struct mapaction : serveraction bool notify = valid_client(caller); int maploc = MAP_NOTFOUND; mapstats *ms = map[0] ? getservermapstats(map, true, &maploc) : NULL; // this is very redundant, since startgame gets the layout - mapok = mode == GMODE_COOPEDIT || ( ms != NULL && Mheight < 30 ); + mapok = mode == GMODE_COOPEDIT || ( ms != NULL && Mheight < 30 && (Mopen = checkarea()) < 10000 ); if(!mapok) { if(notify) sendservmsg("the server does not have/support this map", caller); diff --git a/source/src/serverchecks.h b/source/src/serverchecks.h index 7af87765..da7c4a66 100644 --- a/source/src/serverchecks.h +++ b/source/src/serverchecks.h @@ -1,7 +1,86 @@ -int checkarea(char *maplayout) +#define MINELINE 50 + +int getmaxarea(bool inversed_x, bool inversed_y, bool transposed) { - return 0; + int ls = (1 << maplayout_factor); + int xi = 0, oxi = 0, xf = 0, oxf = 0, yi = 0, yf = 0, fx = 0, fy = 0; + int area = 0, maxarea = 0; + bool sav_x = false, sav_y = false; + + if (transposed) fx = maplayout_factor; + else fy = maplayout_factor; + + // walk on x for each y + for ( int y = (inversed_y ? ls-1 : 0); (inversed_y ? y >= 0 : y < ls); (inversed_y ? y-- : y++) ) { + + /* Analyzing each cube of the line */ + for ( int x = (inversed_x ? ls-1 : 0); (inversed_x ? x >= 0 : x < ls); (inversed_x ? x-- : x++) ) { + if ( maplayout[ ( x << fx ) + ( y << fy ) ] != 127 ) { // if it is not solid + if ( sav_x ) { // if the last cube was saved + xf = x; // new end for this line + } + else { + xi = x; // new begin of the line + sav_x = true; // accumulating cubes from now + } + } else { // solid + if ( xf - xi > MINELINE ) break; // if the empty line is greater than a minimum, get out + sav_x = false; // stop the accumulation of cubes + } + } + + /* Analyzing this line with the previous one */ + if ( xf - xi > MINELINE ) { // if the line has the minimun threshold of emptiness + if ( sav_y ) { // if the last line was saved + if ( 2*oxi + MINELINE < 2*xf && + 2*xi + MINELINE < 2*oxf ) { // if the last line intersect this one + yf = y; // new end of area + area += xf - xi; + } else { + oxi = xi; // new area vertices + oxf = xf; + } + } + else { + oxi = xi; + oxf = xf; + yi = y; // new begin of area + sav_y = true; // accumulating lines from now + } + } else { + sav_y = false; // stop the accumulation of lines + if (area > maxarea) maxarea = area; // new max area + area=0; + } + + sav_x = false; // reset + xi = xf = 0; + } + return maxarea; +} + +/* Please... someone more skilled do a better job here... this is ridiculous */ +int checkarea() { + int area = 0, maxarea = 0; + area = getmaxarea(false,false,false); + if ( area > maxarea ) maxarea = area; + area = getmaxarea(true,false,false); + if ( area > maxarea ) maxarea = area; + area = getmaxarea(false,true,false); + if ( area > maxarea ) maxarea = area; + area = getmaxarea(true,true,false); + if ( area > maxarea ) maxarea = area; + area = getmaxarea(false,false,true); + if ( area > maxarea ) maxarea = area; + area = getmaxarea(true,false,true); + if ( area > maxarea ) maxarea = area; + area = getmaxarea(false,true,true); + if ( area > maxarea ) maxarea = area; + area = getmaxarea(true,true,true); + if ( area > maxarea ) maxarea = area; + + return maxarea; } /** @@ -16,7 +95,7 @@ one coding this kind of check must pay a special attention to the lag effect and affect the data observed. This is not a trivial task, and probably it is the main reason why such tools were never implemented. -This file is here for compatibility purposes. +This part is here for compatibility purposes. If you know nothing about these detections, please, just ignore it. */ diff --git a/source/src/tools.cpp b/source/src/tools.cpp index 4ba1135f..8c2b475b 100644 --- a/source/src/tools.cpp +++ b/source/src/tools.cpp @@ -25,9 +25,9 @@ const char *numtime() } extern char *maplayout; -extern int maplayout_factor, Mvolume, Marea, Mopen; +extern int maplayout_factor, Mvolume, Marea; extern float Mheight; -extern int checkarea(char *maplayout); +extern int checkarea(); mapstats *loadmapstats(const char *filename, bool getlayout) { @@ -83,8 +83,8 @@ mapstats *loadmapstats(const char *filename, bool getlayout) memset(maplayout, 0, layoutsize * sizeof(char)); char *t = NULL; char floor = 0, ceil; - int diff; - Mvolume = Marea = Mopen = 0; + int diff = 0; + Mvolume = Marea = 0; loopk(layoutsize) { char *c = maplayout + k; @@ -110,10 +110,6 @@ mapstats *loadmapstats(const char *filename, bool getlayout) ceil = f->getchar(); if(floor >= ceil && ceil > -128) floor = ceil - 1; // for pre 12_13 diff = ceil - floor; - if ( diff > 6 ) { - Marea++; - Mvolume+=diff; - } if(type == FHF) floor = -128; f->getchar(); f->getchar(); if(s.hdr.version>=2) f->getchar(); @@ -125,14 +121,15 @@ mapstats *loadmapstats(const char *filename, bool getlayout) if(s.hdr.version<=2) { f->getchar(); f->getchar(); } break; } + if ( type != SOLID && diff > 6 ) { + Marea++; + Mvolume+=diff; + } if(fail) break; t = c; } if(fail) { DELETEA(maplayout); } - else { - Mheight = Marea ? (float)Mvolume/Marea : 0; - Mopen = checkarea(maplayout); - } + else Mheight = Marea ? (float)Mvolume/Marea : 0; } } delete f;