Commit graph

788 commits

Author SHA1 Message Date
Kp 2bad2375bb Add type checking for select_file_recursive 2013-12-17 04:01:21 +00:00
Kp 38a5c03d5d Add type checking for newmenu_listbox 2013-12-17 03:58:17 +00:00
Kp be041a9cfc Add type checking for ui_create_dialog 2013-12-17 03:49:24 +00:00
Kp 77c0b58591 Fix editor crash introduced in 47c00c712
glow_values may be NULL, so check before dereferencing it.
2013-12-17 03:48:31 +00:00
Kp 279f123f56 Simplify FADE_FLATPOLY logic 2013-12-17 03:46:35 +00:00
zico 47c00c7128 Added code which draws activated headlights or their absence to g3_draw_polygon_model. This was never implemented in D2X - probably because most of interp.c was adopted from D1X. 2013-12-16 08:37:51 +01:00
zico 45a39d7587 Fixed usage of nm_messagebox_str in net_udp_process_dump 2013-12-16 06:23:06 +01:00
zico 340af42d86 Due to increased calls of multi_do_frame introduced in 6bd9c2bfc1 net_udp_start_poll needed to be modified to see if a player joined or left; Also constantly refill the list in case players change but their numbers don't (i.e. one leaves and one joins at the same time) 2013-12-16 06:13:44 +01:00
Kp 92e8cb7a31 Add type checking to newmenu subfunction userdata 2013-12-15 21:54:38 +00:00
Kp 3908215e73 Add type checking to nm_messagebox format string 2013-12-15 21:54:17 +00:00
Kp b7fda7ee15 Fix nm_messagebox usage to avoid redundant format string parse 2013-12-15 21:53:40 +00:00
Kp 5d306d06be Switch endlevel message dialog not to use nm_messagebox1 2013-12-15 19:00:59 +00:00
Kp 55f67c72d1 Switch MP abort-game menu not to use nm_messagebox1 2013-12-15 18:59:25 +00:00
Kp 8f9015acd2 Switch manual join menu not to use nm_messagebox1
Fixes a remotely triggerable crash caused by parsing game names as a
format string.
2013-12-15 18:58:02 +00:00
Kp 3fb0ffa19b Add typedef for newmenu subfunction 2013-12-15 18:57:54 +00:00
Kp cea46651fc Check type of window handler function 2013-12-15 18:51:26 +00:00
Kp dc36ee3ab3 Store kconfig labels separately 2013-12-15 18:51:23 +00:00
Kp f05b6f0008 Use on-stack bit array for tracking AI segment visits 2013-12-15 18:50:39 +00:00
Kp 2eb1128a76 Move Automap_full_depth into struct automap
It is only used when the map is open.
2013-12-15 18:46:42 +00:00
Kp 7088720507 Use C++ array for Automap_visited 2013-12-15 18:46:42 +00:00
zico 804ed35d26 Slightly different but better handling for segment depth in Automap when having full map powerup or cheat so segment limits can be adjusted properly; In D2 draw unexplored areas blue when cheating and give HUD message when activating cheat; Added note in automap code to specify why grates in Descent1 fade 2013-12-15 13:11:14 +01:00
Kp 027b6fd20a Only build tables in debug builds 2013-12-15 05:20:37 +00:00
Kp ddffec01c7 Use enum for multi_send_msgsend_state values 2013-12-15 01:52:13 +00:00
Kp f8756b2c19 Combine composition of IFF name/indicator 2013-12-15 01:50:29 +00:00
Kp 14811b12d9 Format entire game description in a single call 2013-12-15 01:47:07 +00:00
Kp 00a9ca2423 Remove unused MULTI_PLAY_BY_PLAY
The sending function has been disabled since Bazaar import.
2013-12-15 01:45:19 +00:00
zico ec516b5675 Disable powerup capping for cooperative game mode as it potentially deletes weapons carried over from another level 2013-12-14 02:53:45 +01:00
zico c4f14f1044 Small change in ogl_ulinec to haround up right and bottom properly 2013-12-14 02:34:13 +01:00
Kp cb4fd7c1b4 Compact known file extension storage 2013-12-13 03:58:01 +00:00
Kp 4dfceab50b Factor out file extension filtering 2013-12-13 03:51:14 +00:00
Kp 593d0b25ff Remove duplicate kconfig labels
import re, fileinput
which = 3
last = [None, None]
e = re.compile(r'(?P<left>	\{(?:\s*\d+,){8})(?P<quote>"?)(?P<s>[^",]+)(?P=quote)(?P<right>,.*},)$')
for line in fileinput.input(inplace=True):
	if line == '#if defined(DXX_BUILD_DESCENT_I)\n':
		which = 1
	elif line == '#elif defined(DXX_BUILD_DESCENT_II)\n':
		which = 2
	elif line == '#endif\n':
		which = 3
	else:
		m = e.match(line)
		if m:
			s = m.group('s')
			suppress = True
			if (which & 1) and last[0] != s:
				suppress = False
				last[0] = s
			if (which & 2) and last[1] != s:
				suppress = False
				last[1] = s
			if suppress:
				line = m.group('left') + ' NULL /* duplicate */' + m.group('right') + '\n'
	print line,
2013-12-13 03:50:51 +00:00
Kp ff8db8d39e Reduce relocations for Controls members 2013-12-13 03:49:37 +00:00
Kp 2bd302cddd Move Controls ubyte values into substructure 2013-12-13 03:47:57 +00:00
Kp 07877853ba Use static_assert where available 2013-12-13 03:44:02 +00:00
Kp 02f4c007e3 Make scores_handler fades[] static const 2013-12-11 04:06:35 +00:00
Kp 5ba6917c30 Optimize Degroup not to use n² deletion algorithm 2013-12-11 04:05:58 +00:00
Kp a3fa660d33 Remove casts in dxx_sendto calls 2013-12-11 04:05:24 +00:00
Kp 23e58e2deb Use bitwise-not, not boolean-not, for texture masks 2013-12-11 04:03:04 +00:00
zico e195290fe4 Added quick load ability for savestates 2013-12-10 18:13:32 +01:00
zico 5a36ffdb17 Reduced base divisor for mouse X and Y axes, doubling acceleration and base sensitivity 2013-12-10 16:26:37 +01:00
zico dc2a7c6df0 Rearranged EVENT_KEY_RELEASE for automap_handler so it will not trigger automap_key_command and create a double input following EVEN_KEY_COMMAND 2013-12-10 02:58:56 +01:00
zico 6bd9c2bfc1 Rearranged game mode check so ANARCHY_ONLY_MISSION will not prohibit CTF, Hoard or Bounty 2013-12-10 01:52:19 +01:00
zico a04aa340c5 Keep multi frame running during game idle events to decrease delay on packet forwarding 2013-12-09 16:28:34 +01:00
zico 4f56e3d9ca Removed ancient multiplayer message header handling of D2X that broke communication between players. 2013-12-09 14:51:13 +01:00
zico dae83f9edc Set PPS limits from 5 to 40 2013-12-09 14:25:32 +01:00
zico 3e2fd4f74b Improved pdata update sync when firing and not limiting general use of the force flag 2013-12-09 14:05:24 +01:00
zico 2e407fa5a8 Removed short packets and added segment number to quaternion structure 2013-12-09 14:00:23 +01:00
Kp 04fdf83298 Use helper to copy default key settings 2013-12-08 21:43:53 +00:00
Kp 322c61ef01 Remove use of heap-based splitword 2013-12-08 21:43:53 +00:00
Kp 0c712921b7 Simplify string search in playsave.cpp 2013-12-08 21:43:52 +00:00
Kp b7fe431979 Use RAII for playsave strings 2013-12-08 21:02:10 +00:00
Kp 3b9b5ebfb0 Use RAII to manage function-local heap objects 2013-12-08 19:04:52 +00:00
Kp 60ecc60971 Move abspath onto read_m3u stack 2013-12-08 19:01:55 +00:00
Kp dd6a89221b Move demo file mount paths onto PHYSFSX_removeArchiveContent stack 2013-12-08 18:26:20 +00:00
Kp 11dc06b462 Move file search paths onto PHYSFSX_removeArchiveContent stack 2013-12-08 18:26:20 +00:00
Kp 04fb0c721c Move demo file mount paths onto PHYSFSX_addArchiveContent stack 2013-12-08 18:26:20 +00:00
Kp 0b99c6abf6 Move file search paths onto PHYSFSX_addArchiveContent stack 2013-12-08 18:26:20 +00:00
Kp 9bb36c002a Move object_rw onto state_restore_all_sub stack 2013-12-08 18:26:20 +00:00
Kp 938b9e4427 Move object_rw onto state_save_all_sub stack 2013-12-08 18:26:20 +00:00
Kp f4ac8b34fe Move grs_bitmap BBM onto piggy_new_pigfile stack 2013-12-08 18:26:20 +00:00
Kp 3b75f65359 Move callsign buf onto change_playernum_to stack 2013-12-08 18:26:20 +00:00
Kp 50d14ea3b0 Move ending tmp buffer onto load_mission stack 2013-12-08 18:26:20 +00:00
Kp cebd52442b Move briefing tmp buffer onto load_mission stack 2013-12-08 18:26:20 +00:00
Kp af5ff85286 Move drive letter newmenu_item onto select_file_handler stack 2013-12-08 18:26:19 +00:00
Kp fddcfc8e99 Fix technical buffer overrun in drive letter selection
Padding makes this safe, but moving onto the stack is cleaner.
2013-12-08 18:26:19 +00:00
Kp d16dff3a16 Move kmatrix_screen onto kmatrix_view stack 2013-12-08 18:26:19 +00:00
Kp 4d877c5d67 Move ai_save_state *_rw onto stack 2013-12-08 18:26:19 +00:00
Kp 8e0e19cd27 Move medkey_init LispCommand onto stack 2013-12-08 18:26:19 +00:00
Kp 769c5bc837 Move autosave_mine savename onto stack 2013-12-08 18:26:19 +00:00
Kp 3a1d646dc8 Move close_autosave delname onto stack 2013-12-08 18:26:19 +00:00
Kp 4d261232c6 Remove useless allocation when saving screenshot 2013-12-08 18:26:19 +00:00
Kp 953a1888d7 Combine state pointer and count pointer 2013-12-08 00:12:45 +00:00
Kp a4f3c93247 Separate mutable and const kconfig data 2013-12-08 00:10:29 +00:00
Kp 3e4884f499 Consolidate ramped keyboard input
This also fixes a copy-paste bug in bank handling.
2013-12-07 21:34:53 +00:00
Kp 65ef441f20 Fix copy-paste bug from 98bf17c0 change of keyboard sensitivity
Using different sensitivities for left-slide versus right-slide looks
like a bug.  Fix it.
2013-12-07 21:32:03 +00:00
Kp 141ead1830 Move ramped controls into template structure 2013-12-07 21:13:37 +00:00
Kp 75c229c6bf Normalize con_printf newline usage 2013-12-07 21:13:37 +00:00
Kp 76765624a0 Simplify calculation of buddy ouch_str 2013-12-07 20:37:24 +00:00
Kp 61d8fe7cc8 Remove unused return value of gr_*printf / gr_*string 2013-12-07 18:44:07 +00:00
Kp 60727dd7d5 Add missing va_end calls 2013-12-07 18:42:50 +00:00
Kp f6125b5f2d Fix array overstep on invalid PCX error number 2013-12-07 18:41:40 +00:00
Kp c3dd634cce Remove unused flag OF_HARMLESS 2013-12-07 18:41:35 +00:00
Kp a2cec5d71f Switch PHYSFSX_fgets to auto-sized variant where possible 2013-12-07 18:39:19 +00:00
Kp 7f5410cc8b Use lengthof instead of sizeof(A)/sizeof(A[0])
The latter form can accept pointers, but the template lengthof cannot.
2013-12-07 18:38:10 +00:00
Kp da70171db2 Mark various newmenu strings as const 2013-12-06 04:44:55 +00:00
Kp 70149044c1 Switch gr_printf(x,y,s) to gr_string(x,y,s) 2013-12-06 04:02:13 +00:00
Kp ff35f946a9 Move char_bm into gr_internal_color_string 2013-12-06 03:58:38 +00:00
Kp 70caa4e7b6 Fix array understep in guidebot flare code 2013-12-06 03:36:07 +00:00
Kp a899b9b945 Restrict ini arguments to 1024 char per line 2013-12-06 03:28:59 +00:00
Kp 320d22aae1 Move similar/main/collide.c -> similar/main/collide.cpp 2013-12-06 03:27:30 +00:00
Kp fcf216474b Move */main/collide.c -> similar/main/collide.c 2013-12-06 03:27:30 +00:00
Kp 517a8c1e37 Move similar/main/fireball.c -> similar/main/fireball.cpp 2013-12-06 03:27:30 +00:00
Kp 3620392f56 Remove unused nm_messagebox_fixedfont 2013-12-06 00:24:07 +00:00
Kp 2b88289d32 Make Hack_DblClick_MenuMode static 2013-12-06 00:24:07 +00:00
Kp 0726431030 Simplify preparing secret level text in MP game setup 2013-12-06 00:24:07 +00:00
Kp 1d3395cad1 Improve strlen usage 2013-12-06 00:24:07 +00:00
Kp 83843f32be Reduce copying in colored MP message 2013-12-06 00:24:07 +00:00
Kp 993d240131 Move feedback_result into multi_message_feedback 2013-12-06 00:24:07 +00:00
zico 7b0bda3302 Merge branch 'unification/master' of github.com:dxx-rebirth/dxx-rebirth into unification/master 2013-12-05 13:39:53 +01:00
Drakona 04d84ae61d Pass shot orientation with each weapon packet 2013-12-05 13:11:49 +01:00
Kp 34cd26a187 Remove hud_msg_buf 2013-12-05 00:11:52 +00:00
Kp d9c1f5425c Simplify jukebox filename setup 2013-12-05 00:10:59 +00:00
Kp 0603067145 Make marker floats const 2013-12-05 00:09:37 +00:00
Kp 8ecfce07a1 Fix missing declarations when tracker is enabled
Drakona reports that tracker support does not build.  Fix it.
2013-12-04 23:43:45 +00:00
Kp 18aea17f9e Move */main/fireball.c -> similar/main/fireball.c 2013-12-02 00:21:31 +00:00
Kp 5fae3a5e28 Move similar/main/gamemine.c -> similar/main/gamemine.cpp 2013-12-01 23:55:50 +00:00
Kp 2ac98f7269 Move */main/gamemine.c -> similar/main/gamemine.c 2013-12-01 23:55:29 +00:00
Kp 6fda1ab889 Move similar/main/iff.c -> similar/main/iff.cpp 2013-12-01 23:32:56 +00:00
Kp f99c2b739a Move */iff/iff.c -> similar/main/iff.c 2013-12-01 23:24:51 +00:00
Kp 2d01f3a649 Optimize references to player ship 2013-12-01 22:53:25 +00:00
Kp 9db2badadb Move similar/main/bm.c -> similar/main/bm.cpp 2013-12-01 22:52:54 +00:00
Kp c258115b30 Move */main/bm.c -> similar/main/bm.c 2013-12-01 22:51:44 +00:00
Kp 74ac85076f Store joystick button text in one allocation 2013-12-01 22:42:47 +00:00
Kp 5354d05fbf Store joystick axis text in one allocation 2013-12-01 22:42:47 +00:00
Kp f1f4bb9db6 Diagnose missing/invalid arguments 2013-12-01 22:42:11 +00:00
Kp d3637e7524 Invert sense of SysUseNiceFPS 2013-12-01 22:37:21 +00:00
Kp 2e8bfb06f1 Store arguments in vector<string> 2013-12-01 22:37:21 +00:00
Kp abd503dd0d Record build environment in generated file 2013-12-01 00:56:24 +00:00
Kp 9fd6cfd59d Move __STDC_FORMAT_MACROS to SConstruct for PCH compatibility
__STDC_FORMAT_MACROS is needed to enable PRIi64.  __STDC_FORMAT_MACROS
must be set before including any headers, so when PCH is used, it must
be set on the command line.
2013-12-01 00:54:23 +00:00
Kp d9d79d3c9f Fix buffer overrun on malformed old levels 2013-12-01 00:52:45 +00:00
Kp fa496dc992 Avoid relocations for cheat codes 2013-11-28 02:16:05 +00:00
Kp 08efe14586 Remove unused Laser_player_fire parameter harmless_flag 2013-11-28 02:12:13 +00:00
Kp 43314e4e4e Change save_hoard_data::sounds from *[] to [][] 2013-11-28 02:09:35 +00:00
Kp 3e2c0b5e1b Switch multi_allow_powerup_text to [][] from *[] 2013-11-28 02:09:30 +00:00
Kp 5d1769cd2c Switch RankStrings to be [][14] instead of *[]
Saves 10 .rel.ro entries and 6 bytes on x86 / 46 bytes on x64.
2013-11-28 02:08:54 +00:00
Kp e535de5181 Move terrain lighting data onto stack 2013-11-28 00:27:43 +00:00
Kp 2de5c3b6d7 Mark editor filename buffers static 2013-11-28 00:27:43 +00:00
Kp 65d1d1bcde Make edge_colors static, and const if D1 2013-11-28 00:27:43 +00:00
Kp 2d5f7c2ce3 Make edges[] const 2013-11-28 00:27:43 +00:00
Kp 2ca4c7ed3e Make super_boss_gate_type_list const 2013-11-28 00:27:43 +00:00
Kp 2de6e5069b Make Obj_light_xlate const 2013-11-28 00:27:43 +00:00
Kp 03daa71a02 Remove unused center_names 2013-11-28 00:27:43 +00:00
Kp 541961a2f7 Make Object_type_names const 2013-11-28 00:27:43 +00:00
Kp 203b85a0b1 Make Edge_between_sides static const 2013-11-28 00:27:43 +00:00
Kp f92195e557 Make render translation tables static const 2013-11-28 00:27:43 +00:00
Kp 386c193cae Make med_functions const 2013-11-28 00:27:43 +00:00
Kp 68732756e8 Make Wall_names const 2013-11-28 00:27:43 +00:00
Kp 0bcf492b56 Make system_name [][] from *[] 2013-11-28 00:27:42 +00:00
Kp 182256c2f4 Make Adam_level_names [][] from *[] 2013-11-28 00:27:42 +00:00
Kp 8bd0ceb245 Make DemoExtraMessage from *[] to [][] 2013-11-28 00:27:42 +00:00
Kp 2665abfb4b Only write player file if new highest level is higher than old 2013-11-24 23:50:43 +00:00
Kp c84ef6ac84 Add whitespace to fix rainbow parentheses 2013-11-24 23:50:43 +00:00
Kp 1932647fb1 Set Texture* values at load time 2013-11-24 23:50:43 +00:00
Kp a4855dbdb3 Use stricter check for robots in set_player_awareness_all
Rather than tracking down every path through which an object can have
its type set to OBJ_NONE without clearing its control_type, add an
explicit check that the type is OBJ_ROBOT.
2013-11-24 23:11:30 +00:00
Kp 5388520198 Fix array understep in automap 2013-11-24 23:08:32 +00:00
Kp c70c6c98b3 Remove obsolete segment::degenerated flag
Shrinks Segments[] by 36000 bytes.
2013-11-24 23:08:32 +00:00
Kp ee5fbe1467 Use helper to diminish palette color toward zero 2013-11-24 23:08:32 +00:00
Kp e30f548d60 Invert sense of DbgAltTexMerge 2013-11-24 22:57:36 +00:00
Kp 761795e4c8 Invert sense of DbgBigPig 2013-11-24 22:57:36 +00:00
Kp 3b49e65f95 Invert sense of DbgUseDoubleBuffer 2013-11-24 22:57:36 +00:00
Kp bbb9214e0e Invert sense of hires/lowres options 2013-11-24 22:57:36 +00:00
Kp 8899120312 Remove SndDisableSdlMixer when mixer=0 2013-11-24 22:57:36 +00:00
Kp 9efbba6c94 Fix D2 editor loading RDL files 2013-11-24 22:53:30 +00:00
Kp ba1bbce571 Move similar/main/fuelcen.c -> similar/main/fuelcen.cpp 2013-11-24 22:51:56 +00:00
Kp 2d920e5f7b Move similar/main/gameseq.c -> similar/main/gameseq.cpp 2013-11-24 22:49:52 +00:00
Kp aa05263b29 Move */main/gameseq.c -> similar/main/gameseq.c 2013-11-24 22:47:19 +00:00
Kp 53149e6bcd Move similar/main/ai.c -> similar/main/ai.cpp 2013-11-23 22:47:45 +00:00
Kp 47a4bb1ff1 Move */main/ai.c -> similar/main/ai.c 2013-11-23 22:47:45 +00:00
Kp 6be79cadce Unify ai_follow_path 2013-11-23 22:41:01 +00:00
Kp f4cbfca8e2 Use helper to test for thief flag 2013-11-18 04:51:33 +00:00
Kp b326bb832b Use helper to clamp kconfig values 2013-11-18 04:51:06 +00:00
Kp 810ccd037d Sanity check axis reads 2013-11-18 04:51:06 +00:00
Kp 4ba8444fc8 Use helper to read axis fields 2013-11-18 04:51:06 +00:00
Kp 6f839dedae Use helper to set exclusive binding 2013-11-18 04:51:06 +00:00
Kp 5266426171 Also switch kc_menu to references 2013-11-18 00:56:20 +00:00
Kp 975acb97fe Remove pointer subtraction in kc_change_* 2013-11-18 00:56:20 +00:00
Kp 29826db21c Always keep kc_* table relations const 2013-11-18 00:54:59 +00:00
Kp 6becfdacca Remove NUM_DXX_REBIRTH_CONTROLS 2013-11-18 00:54:59 +00:00
Kp a842b31a20 Remove NUM_MOUSE_CONTROLS 2013-11-18 00:54:59 +00:00
Kp 04b0bd892d Remove NUM_JOYSTICK_CONTROLS 2013-11-18 00:54:59 +00:00
Kp bf7063080e Remove NUM_KEY_CONTROLS 2013-11-18 00:54:59 +00:00
Kp c3d328ea5c Use helper to test for guidebot flag 2013-11-16 23:24:12 +00:00
Kp 6586d474f9 Only rebuild tables on request 2013-11-16 23:24:12 +00:00
Kp fc1e00dae6 Pre-compute labelx+inputx 2013-11-16 23:24:12 +00:00
Kp c959915fba Remove always-true test in kc_drawitem 2013-11-16 23:24:12 +00:00
Kp d0514455b3 Use automap_state instead of automap_count 2013-11-16 23:24:12 +00:00
Kp 321e240744 Use rear_view_state instead of rear_view_count 2013-11-16 23:24:12 +00:00
Kp cda0b60687 Remove unused fire_secondary_count 2013-11-16 23:24:12 +00:00
Kp 494c380abb Switch automap to use fire_primary_state
Counting is unnecessary here.
2013-11-16 23:24:12 +00:00
Kp d035fb258a Remove unused kc_item->id 2013-11-16 04:28:39 +00:00
Kp 9a6414ceca Combine hitbox bounds testing 2013-11-16 04:28:39 +00:00
Kp b7f1a71840 Combine item text formatting 2013-11-16 04:28:39 +00:00
Kp beac9ec079 Use helper to read a player from PHYSFS_file 2013-11-10 23:01:40 +00:00
Kp c0e24f7c75 Add helper to write a player to a PHYSFS_file 2013-11-10 23:00:50 +00:00
Kp 5ff051cf4e Move */main/fuelcen.c -> similar/main/fuelcen.c 2013-11-10 22:56:12 +00:00
Kp bcd6ea5eed Move similar/main/piggy.c -> similar/main/piggy.cpp 2013-11-10 19:08:12 +00:00
Kp 4ef3937d35 Move */main/piggy.c -> similar/main/piggy.c 2013-11-10 19:08:12 +00:00
Kp 9c9f0a070a Reduce differences in name_frame 2013-11-09 18:06:47 +00:00
Kp c3288abd89 Remove global 'flydata' 2013-11-09 18:06:47 +00:00
Kp cbda2231a6 Move similar/main/endlevel.c -> similar/main/endlevel.cpp 2013-11-09 17:46:41 +00:00
Kp ea2022bb01 Move */main/endlevel.c -> similar/main/endlevel.c 2013-11-09 17:46:41 +00:00
Kp 4469ff36c0 Manage movie subtitles automatically 2013-11-09 17:45:21 +00:00
Kp c9692eadd1 Clamp automap viewing distance 2013-11-09 05:07:02 +00:00
Kp f11e787ef3 Use helper for bounding check 2013-11-08 03:14:44 +00:00
Kp ed8484f096 Remove unnecessary packing on vms_vector 2013-11-08 03:14:43 +00:00
Kp 6fc8d110f3 Only give secondaries that exist 2013-11-02 04:25:33 +00:00
Kp 58958e091b Only give primaries that exist 2013-11-02 04:24:14 +00:00
Kp 2714679284 Mark private functions static 2013-11-02 04:23:55 +00:00
Kp babac8144a Fix off-by-one in teleport validation 2013-11-01 23:17:22 +00:00
Kp 65e9d0caa7 Avoid double formatting when printing marker 2013-11-01 02:58:05 +00:00