Commit graph

246 commits

Author SHA1 Message Date
Kp 78f6dc29a6 Cache font scale Y float 2015-06-13 22:42:20 +00:00
Kp 869d0ffdc5 Optimize gr_get_string_size
Cache cv_font.
Defer updating longest_width.
Compute line height once at the end.
2015-06-13 22:42:20 +00:00
Kp e57afde68b Hoist store in gr_internal_string0_template 2015-05-09 17:39:02 +00:00
Kp 8ac92b098f Cache variables in gr_internal_string0_template 2015-05-09 17:39:02 +00:00
Kp bd5573356d Reduce gr_internal_string0_template variable scope 2015-05-09 17:39:02 +00:00
Kp 4228ed2324 Switch gr_internal_string0_template to count down loop 2015-05-09 17:39:02 +00:00
Kp 6d9de0d177 Use partial_range for font width 2015-05-09 17:39:02 +00:00
Kp d2cded3ad4 Combine gr_internal_string0{,m} 2015-05-09 17:39:01 +00:00
Kp b1ed5b86e2 Return get_char_width results by value 2015-05-09 17:39:01 +00:00
Kp 21aed0488f Hoist gr_setcolor in gr_internal_string_clipped_template 2015-05-09 17:39:00 +00:00
Kp 2fc4ca8d5a Cache variables in gr_internal_string_clipped_template 2015-05-09 17:39:00 +00:00
Kp bbadf1fe3e Reduce gr_internal_string_clipped_template variable scope 2015-05-09 17:38:59 +00:00
Kp 9d238af808 Switch gr_internal_string_clipped_template to count down loops 2015-05-09 17:38:59 +00:00
Kp 2d423ca383 Combine gr_internal_string_clipped{_m} 2015-05-09 17:38:59 +00:00
Kp aea5df067d Cache locals in get_char_width 2015-05-09 17:38:59 +00:00
Kp 4b0f257698 Pass find_kern_entry grs_font by & 2015-05-09 17:38:59 +00:00
Kp 1017802e48 Combine get_char_width and get_char_width_f as template 2015-05-09 17:38:59 +00:00
Kp c9ef463a16 Mark gr_message_color_level const 2015-05-09 17:38:59 +00:00
Kp f668705f20 Use array<> for Computed_colors 2015-04-26 20:15:57 +00:00
Kp 67e5e8c6c1 Remove unused gr_make_blend_table 2015-04-26 20:15:57 +00:00
Kp ace2235ad8 Remove unused gr_make_cthru_table 2015-04-26 20:15:57 +00:00
Kp 9274e56a41 Simplify gr_find_closest_color exit 2015-04-26 20:15:56 +00:00
Kp f900d4a5ee Remove RAIIdmem::operator pointer
Mac OS X defines uint_fast32_t to unsigned int, causing ambiguous
overloads between RAIIdmem::operator[](std::size_t) and
RAIIdmem::operator[](int).  Adding a disambiguating overload for OS X
breaks Windows.  Remove operator pointer and operator[].  Rely on the
inherited operator[] for indexing.  Require users to call ->get() to
convert to a simple pointer.

First btb ambiguity reported: https://github.com/dxx-rebirth/dxx-rebirth/pull/34
Second btb ambiguity reported: https://github.com/dxx-rebirth/dxx-rebirth/pull/43
2015-02-17 03:52:59 +00:00
Kp 99a4a0ed62 Capture range_for by-value temporaries as const
Modifying a by-value temporary does not affect the underlying container,
so modifying it is almost always a bug.  Require use of a by-reference
capture when modification is desired.

sed -i -e 's/range_for\s*(\s*\(const\s\+\)\?auto\s\+\([[:alpha:]_]\)/range_for (const auto \2/g'
2015-02-05 03:03:49 +00:00
Kp 93589368c9 Move PHYSFSX_putc to the one file that uses it 2015-01-29 04:27:36 +00:00
Kp ff4a0ccd70 Fix RAIIdmem array usage
Some RAIIdmem instances managed a T[], but were declared to manage a T.
2015-01-28 03:42:53 +00:00
Kp 49bf64c9b6 Use range_for in pcx_encode_line 2015-01-20 02:46:42 +00:00
Kp f7815810e8 Use RAIIPHYSFS_File to manage PHYSFS_File
Fixes a few leaks on error paths.
2015-01-17 18:31:42 +00:00
Kp 68d705a85a Use bool conversion to test PHYSFS_File pointer 2015-01-17 18:31:42 +00:00
Kp 6dc36deb74 Pass get_font_total_width arg by & 2014-12-02 03:35:01 +00:00
Kp c89e3b7452 Pass gr_bitmapm arg as & 2014-12-02 03:35:01 +00:00
Kp 95539512d5 Pass pcx_read_bitmap arg by & 2014-12-02 03:35:01 +00:00
Kp 5eddc2c197 Make bitmap bm_data const where easy 2014-12-02 03:24:38 +00:00
Kp 0e63b3c300 Pass pcx_encode_line input as const 2014-11-30 22:09:22 +00:00
Kp 2697918223 Pass gr_bm_pixel arg by & 2014-11-30 22:09:22 +00:00
Kp 26f4aaa51b Pass gr_set_transparent arg by & 2014-11-30 22:09:21 +00:00
Kp efa7566821 Pass colormap as array<> 2014-11-30 22:09:21 +00:00
Kp ef539be1ab Pass gr_init_bitmap_data arg by & 2014-11-30 22:09:21 +00:00
Kp f6dde1c593 Pass gr_init_bitmap_alloc arg by & 2014-11-30 22:09:21 +00:00
Kp 53ce29e789 Pass gr_init_bitmap arg by & 2014-11-30 22:09:20 +00:00
Kp 97332b848c Pass gr_free_bitmap_data arg by & 2014-11-30 22:09:20 +00:00
Kp a86313e746 Pass ogl_init_texture arg by & 2014-11-30 22:09:19 +00:00
Kp 166f15617d Pass ogl_ubitmapm_cs arg by & 2014-11-30 22:09:18 +00:00
Kp 2e59c6f80a Improve loops in font handling 2014-11-25 04:03:13 +00:00
Kp 841e037e15 Pass ogl_loadbmtexture_f arg by & 2014-11-13 03:42:41 +00:00
Kp 3bb04d0d07 Clear unowned font pointer when font is freed 2014-10-01 02:14:41 +00:00
Kp 55b0dea7c6 Propagate for variables in similar/2d/font.cpp 2014-09-26 02:42:12 +00:00
Kp 703f60ac3f Fix -Wtype-limits warnings 2014-09-21 21:41:55 +00:00
Kp 94550355a8 Use make_unique instead of bare new 2014-08-24 18:28:09 +00:00
Kp cb352968b8 Fix !OGL build in gr_internal_color_string 2014-08-08 02:52:56 +00:00
Kp b276590998 Change gr_fade_table to array<array<>> 2014-08-08 02:50:27 +00:00
Kp f47aa29cd9 Use color_t for color values 2014-08-08 02:07:47 +00:00
Kp 1560dd43e1 Use unique_ptr for font->ft_bitmaps 2014-08-07 03:09:28 +00:00
Kp fd6a7c218e Use unique_ptr for font->ft_chars 2014-08-07 03:05:48 +00:00
Kp fbf1c1f413 Throw on too many fonts open 2014-07-22 23:48:23 +00:00
Kp c1d184240d Use unique_ptr to manage fonts 2014-07-22 23:48:23 +00:00
Kp bd1c6d8c5d Reduce header includes of physfsx.h 2014-07-22 23:48:23 +00:00
Kp e63e46f8f0 List initialize PCX header 2014-07-04 03:46:40 +00:00
Kp 048d4bcc8f List initialize bitmap 2014-07-04 03:45:35 +00:00
Matt Vandermeulen 28f307eb85 Fixes #5 - Byteswap header renamed to byteutil, plus sed magic
[Kp: switch to #pragma for byteutil.h]
2014-07-03 02:03:08 +00:00
Kp 7f3ad84094 Use std::swap instead of inline swap 2014-06-08 00:05:33 +00:00
zico ad7cb106bc Changed custom D1X license to GPLv3 2014-06-01 19:55:23 +02:00
zico ab4975bab0 Reverted commit 347292d866 2014-06-01 19:08:17 +02:00
Kp 073f00974a Eliminate uses of the typedef struct X { ... } X; pattern
C++ does not require this pattern.

import re, fileinput
to = re.compile(r'^typedef struct ([a-z_A-Z]+)\s*{')
tc = re.compile(r'^}(.*?)\s*([a-z_A-Z]+);$')
osn = None
for line in fileinput.input(inplace=True):
	m = to.match(line)
	if m:
		osn = m.group(1)
		print 'struct %s\n{' % osn
		continue
	if osn:
		m = tc.match(line)
		if m:
			csn = m.group(2)
			if osn == csn:
				print '}%s;' % m.group(1)
				osn = None
				continue
			else:
				osn = None
	print line,
2013-12-28 22:48:07 +00:00
Kp b1c5307eb1 Use array for palette_array_t 2013-12-22 00:37:36 +00:00
Kp e9f9cb676f Centralize palette utilities 2013-12-22 00:05:13 +00:00
Kp a3d66a3b37 Add typedef palette_array_t for palette data 2013-12-22 00:05:13 +00:00
Kp 1e8036bd24 Split compiler.h for PCH compatibility 2013-12-21 05:12:38 +00:00
Kp c3c1695ba5 Use gr_ustring instead of gr_uprintf where possible 2013-12-17 04:03:34 +00:00
Kp 1bf3722670 Use gr_string instead of gr_printf where possible 2013-12-17 04:03:34 +00:00
Kp 3b9b5ebfb0 Use RAII to manage function-local heap objects 2013-12-08 19:04:52 +00:00
Kp 75c229c6bf Normalize con_printf newline usage 2013-12-07 21:13:37 +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 ff35f946a9 Move char_bm into gr_internal_color_string 2013-12-06 03:58:38 +00:00
Kp 2714679284 Mark private functions static 2013-11-02 04:23:55 +00:00
Kp a6b1bd58a2 Use MALLOC consistently 2013-10-26 03:50:27 +00:00
Kp c58c4e4d06 Move declarations to headers 2013-10-03 03:11:52 +00:00
Kp f9899a9f20 Mark various functions static 2013-10-03 03:11:51 +00:00
Kp 4d026f8b69 Move similar/2d/pcx.c -> similar/2d/pcx.cpp 2013-10-01 02:53:09 +00:00
Kp f4c25c4e9a Move similar/2d/palette.c -> similar/2d/palette.cpp 2013-10-01 02:53:09 +00:00
Kp 381c2e0781 Move similar/2d/font.c -> similar/2d/font.cpp 2013-10-01 02:53:09 +00:00
Kp a881ee455e Remove fix.h 2013-08-08 03:01:48 +00:00
Kp e23a06fb4f Drop worthless font zeroing
BSS is initialized to zero.  Explicitly zeroing it again wastes time and
space.
2013-08-08 03:01:47 +00:00
Kp d10aaea55b Mark various font functions static 2013-07-27 21:41:27 +00:00
Kp 934867aaf3 Ensure font allocation failure if tw/th not initialized 2013-07-27 21:41:09 +00:00
Kp 14f6b9baff Use unsigned iteration counters in bald_guy_load 2013-07-21 21:42:09 +00:00
Kp 46664b522b Fix probable infinite loop in bald_guy_load 2013-07-21 21:42:09 +00:00
Kp d1e4a68a3b Use MALLOC in bald_guy_load 2013-07-21 21:42:09 +00:00
Kp 4577dd3977 Merge branch 'd2x-rebirth/master' into unification/master 2013-07-21 21:34:46 +00:00
Kp a1ba420031 Mark various parameters and variables as const 2013-07-20 23:12:24 +00:00
Kp 5648874a37 Merge branch d2x-rebirth/master into unification/master 2013-06-14 03:31:59 +00:00
Kp 544a07bffa Move */2d/palette.c -> similar/2d/palette.c 2013-03-03 01:03:33 +00:00
Kp 61001e1d94 Move */2d/pcx.c -> similar/2d/pcx.c 2013-03-03 01:03:33 +00:00
Kp 606a455c88 Move */2d/font.c -> similar/2d/font.c 2013-03-03 01:03:33 +00:00