smatz
ce08aebde7
(svn r18640) -Fix (r18633): don't assert when accessing first invalid item, it's used quite often in the code
...
-Revert (r18637): it's not needed any more
2009-12-26 13:49:14 +00:00
smatz
a7be7ebe80
(svn r18633) -Codechange: fortify SmallVector a bit more
2009-12-25 23:10:20 +00:00
rubidium
7c2a61e210
(svn r18508) -Fix [FS#3372]: if a rail station class had less data than capacity it would try to set a negative position
2009-12-15 01:38:55 +00:00
rubidium
a70f2244e8
(svn r18443) -Fix (r18438): MSVC thinks, in it's infinite wisdom, that int min(int, int) is a better match for min(uint64, uint) than uint64 min(uint64, uint64). As such we need to cast the UINT16_MAX to prevent MSVC from displaying it's infinite wisdom with loads of warnings.
2009-12-09 09:28:47 +00:00
rubidium
b0eacbf350
(svn r18438) -Codechange [FS#3337]: introduce a template for Clamp (fonsinchen) and reuse template functions in their non-template counterparts.
2009-12-09 00:41:18 +00:00
rubidium
485b5a9c2f
(svn r18045) -Fix: GCC 4.5@HEAD not compiling OpenTTD anymore because of a "non-placement deallocation function [is] selected for placement delete", or in other words delete(void *, size_t) is 'magic'.
...
We implemented these delete(void *, size_t) operator functions because MSVC warned that "no matching operator delete found; memory will not be freed if initialization throws an exception" for new(size_t, size_t).
This disables MSVC warning about this because we do not use exceptions in the (constructors that use the) overridden allocation functions, as such they will never be called; delete(void *) remains necessary though.
2009-11-11 21:15:58 +00:00
rubidium
83e7ca3dc8
(svn r18042) -Cleanup: remove some stale comments
2009-11-11 20:53:23 +00:00
rubidium
8f9157b648
(svn r18040) -Codechange: the size parameter (if it's that actually) isn't needed for the delete operator
2009-11-11 20:40:40 +00:00
rubidium
1528b64a68
(svn r17839) -Codechange: implement the concept of 'caching' pool items to pools, that is instead of 'free' push the unused items in a linked list and use them on 'malloc'. Also add the concept of zeroing, or actually not zeroing, on new for pool items.
2009-10-21 19:38:50 +00:00
rubidium
0ebe525e5b
(svn r17838) -Document: the Pool struct's template parameters
2009-10-21 15:40:50 +00:00
rubidium
d5d2354296
(svn r17790) -Feature: translatable base sound/graphics set descriptions
2009-10-17 20:34:09 +00:00
rubidium
d6cded5380
(svn r17693) -Cleanup: remove some unneeded includes
2009-10-04 17:16:41 +00:00
rubidium
ca91a97826
(svn r17579) -Fix: remove doxygen docs for removed parameters, or change @param to @tparam if necessary
2009-09-19 15:17:47 +00:00
rubidium
e8ddf001c8
(svn r17570) -Fix: a number of Doxygen warnings about missing parameters, which were sometimes missing and sometimes just typos
2009-09-19 09:51:14 +00:00
frosch
2d9c54c9a8
(svn r17541) -Feature: Filtering in Add-NewGRF dialog.
2009-09-14 20:59:46 +00:00
rubidium
17313b6e3f
(svn r17530) -Codechange: use QSortT instead of qsort for sorting EngineIDs
2009-09-13 17:47:07 +00:00
rubidium
67448246d3
(svn r17527) -Codechange: use QSortT instead of qsort for sorting smallmaps
2009-09-13 17:38:49 +00:00
smatz
100ae8efcc
(svn r17292) -Codechange: use unified ToPercent() function to convert fract numbers to percents
2009-08-27 13:31:26 +00:00
rubidium
7fbc33dae1
(svn r17248) -Fix: add GPL license notice where appropriate
2009-08-21 20:21:05 +00:00
smatz
c861d9b64b
(svn r16745) -Fix [FS#3011]: invalidate JoinStation window after removing item from the pool
2009-07-05 13:20:05 +00:00
rubidium
571dfb9055
(svn r16736) -Codechange: give some station enums a name and use that instead of 'byte'.
2009-07-04 11:26:57 +00:00
smatz
93c5300fc5
(svn r16715) -Codechange: add attribute to assert_compile(), so it doesn't warn when used inside function
2009-07-01 21:29:03 +00:00
alberth
8fba82c99b
(svn r16684) -Codechange: Add maxdim function for Dimension struct.
2009-06-28 15:16:57 +00:00
alberth
9b070b5405
(svn r16677) -Codechange: Dimension width and height are unsigned.
2009-06-27 20:53:45 +00:00
frosch
0d782b0f96
(svn r16498) -Codechange: Remove hardly used HASBITS.
2009-06-01 15:01:54 +00:00
smatz
56a7b70591
(svn r16380) -Codechange: rename pool.hpp to pool_type.hpp
2009-05-22 15:39:22 +00:00
smatz
62a7948af0
(svn r16378) -Codechange: replace OldPool with simpler Pool. Compilation time, binary size and run time (with asserts disabled) should be improved
2009-05-22 15:13:50 +00:00
smatz
3bd52accd9
(svn r16356) -Codechange: use 'size_t' instead of 'uint' as parameter of functions in mem_func.hpp
2009-05-19 08:21:37 +00:00
smatz
6221d74644
(svn r16325) -Codechange: replace GetPoolItem(index) by PoolItem::Get(index)
2009-05-16 23:34:14 +00:00
rubidium
a5d6e23e9d
(svn r16305) -Codechange: force-enable extra sync checking when random debugging is enable and give the calling location of Chance16(R) instead of the Random call within those functions.
2009-05-14 12:08:24 +00:00
rubidium
3d3b5256f0
(svn r16295) -Fix: ICC defined __GNUC__ but does not define __builtin_bswap32, so fall back to the default swap method for ICC.
2009-05-13 16:51:17 +00:00
smatz
f5316c5cbd
(svn r16269) -Codechange: use gcc's ability to check parameters sent to printf-like functions
...
-Fix: wrong number of parameters or wrong parameter types sent to printf-like functions at several places
2009-05-10 17:27:25 +00:00
smatz
25ecace01b
(svn r16148) -Fix [FS#2839]: misleading comment (part by Bilbo)
2009-04-25 22:22:27 +00:00
rubidium
a1e822df6b
(svn r16130) -Fix [FS#2855]: the overflowsafe type didn't like dividing by int64 larger than MAX_INT32 causing division by negative numbers and small anomolies when drawing graphs.
2009-04-23 23:29:44 +00:00
frosch
d3de4ba91b
(svn r16006) -Fix (r0): Chance16() did not work for b = 1. Also transform the formula to not use divisions.
2009-04-09 22:37:59 +00:00
rubidium
89d0eca6b7
(svn r15931) -Codechange: let the host and ban lists use of SmallVector.
2009-04-03 12:49:58 +00:00
rubidium
3ef8a09e20
(svn r15777) -Add: helper functions to get the least common multiple and the greatest common divisor (Alberth)
2009-03-21 01:34:31 +00:00
rubidium
9d018723b7
(svn r15711) -Codechange: lots of whitespace cleanup/fixes
2009-03-14 18:16:29 +00:00
rubidium
60de42be49
(svn r15649) -Fix (r15556): don't unnecessarily reallocate
2009-03-09 09:38:00 +00:00
rubidium
b55ed2e668
(svn r15603) -Fix [FS#2696]: crash when using an extraordinarily large sprite as cursor.
2009-03-03 20:33:57 +00:00
smatz
846044ee26
(svn r15571) -Fix: incorrect use of memset
2009-02-24 22:25:23 +00:00
rubidium
3ba802e995
(svn r15556) -Change: don't temporary malloc+free when encoding sprites, just reuse the same piece of allocated memory for each encoding.
2009-02-23 17:54:02 +00:00
smatz
b8471e5401
(svn r15508) -Fix: three header files had incorrect 'anti-multiple-inclusion' header
2009-02-17 02:08:53 +00:00
peter1138
e73a4e490c
(svn r15447) -Codechange: void functions don't tend to return true if and only if anyway
2009-02-11 07:17:39 +00:00
belugas
62be0ce7e6
(svn r15446) -Revert(r15445): Seems that "iff" stands for "if and only if". So not much of a typo.
...
Thanks, Yexo. I feel less ignorant today :D
2009-02-11 02:53:15 +00:00
belugas
c26426a44e
(svn r15445) -Fix: little typos
2009-02-11 02:30:08 +00:00
smatz
5ad1cd32b2
(svn r15324) -Codechange: unify the class used for comparing of strings for std::map
2009-02-03 18:08:07 +00:00
smatz
0d3f5e6e74
(svn r15299) -Cleanup: remove many redundant includes
2009-01-31 20:16:06 +00:00
Yexo
0e42a7bac7
(svn r15291) -Cleanup: Move the station list widgets to their class from station_gui.h
...
-Fix: comment for ReallocT was wrong, the memory is not zeroed.
2009-01-29 02:42:36 +00:00
rubidium
3a13b75e37
(svn r15126) -Feature: downloading content from a central server (content.openttd.org) where authors can upload they NewGRFS/AI etc. This should make joining servers that use only NewGRFs that are distributed via this system easier as the players can download the NewGRFs from in the game. It should also make it easier to see whether there are updates for NewGRFs and make the necessary updates.
2009-01-17 16:53:32 +00:00
smatz
16dfe58e4d
(svn r15031) -Fix (r15027): merge reverted r15026, so do it once again
2009-01-12 17:31:43 +00:00
truebrain
a3dd7506d3
(svn r15027) -Merge: tomatos and bananas left to be, here is NoAI for all to see.
...
NoAI is an API (a framework) to build your own AIs in. See:
http://wiki.openttd.org/wiki/index.php/AI:Main_Page
With many thanks to:
- glx and Rubidium for their syncing, feedback and hard work
- Yexo for his feedback, patches, and AIs which tested the system very deep
- Morloth for his feedback and patches
- TJIP for hosting a challenge which kept NoAI on track
- All AI authors for testing our AI API, and all other people who helped in one way or another
-Remove: all old AIs and their cheats/hacks
2009-01-12 17:11:45 +00:00
smatz
9294f96168
(svn r15026) -Codechange: use SpriteTypeByte instead of SpriteType in the SpriteCache struct in order to make it smaller
2009-01-12 16:53:11 +00:00
rubidium
11da45ee55
(svn r14949) -Cleanup: pointer coding style
2009-01-10 00:31:47 +00:00
rubidium
d4b6cc997d
(svn r14910) -Codechange: merge the command queue handling into a single location
2009-01-08 13:57:50 +00:00
peter1138
5f4aef3c11
(svn r14776) -Fix (r14742): ListPositionMap relied on std::map having sorted the map, which is now done by a manual key sorter on SmallMap. This fixes engine ID list sorting.
2008-12-30 21:04:09 +00:00
rubidium
703831ec6d
(svn r14761) -Fix (r14730): missed the one DEREF_CLIENT in the random debug code :(
2008-12-28 22:23:43 +00:00
smatz
2e2086f3f8
(svn r14742) -Codechange: use SmallMap in two cases to reduce compilation time and binary size
2008-12-26 13:50:46 +00:00
frosch
5ea2dc97fd
(svn r14704) -Codechange: Add set capabilities to SmallVector.
2008-12-20 17:09:44 +00:00
smatz
3cd2957544
(svn r14669) -Codechange: use SmallVector instead of std::list at one place
2008-12-13 15:59:25 +00:00
smatz
7a031b60cd
(svn r14486) -Fix (r13343)(r14484): compilation with desync debug was broken
2008-10-18 14:16:29 +00:00
rubidium
b650a86e58
(svn r14422) -Codechange: also reflect the changes of r14421 in the filenames.
2008-09-30 20:51:04 +00:00
rubidium
3b798599b6
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
2008-09-30 20:39:50 +00:00
smatz
c620d5e5f0
(svn r14232) -Codechange: use builtin for byte swapping for gcc >= 4.3
2008-09-02 21:11:48 +00:00
frosch
f7826f8a37
(svn r14083) -Fix [FS#1264, FS#2037, FS#2038, FS#2110]: Rewrite the autoreplace kernel.
2008-08-16 14:02:20 +00:00
rubidium
c5a4e90338
(svn r13910) -Document: string drawing related functions and types (Alberth)
2008-08-01 09:34:34 +00:00
peter1138
6e0af9fdfe
(svn r13781) -Feature: NewGRF presets, selected by a drop down list in the NewGRF window. Presets are saved in the config file.
2008-07-22 14:17:29 +00:00
rubidium
3a799389eb
(svn r13731) -Codechange: make a pool of the array of players.
2008-07-18 16:40:29 +00:00
smatz
114c820c56
(svn r13639) -Codechange: rewrite 32bpp-anim and 32bpp-optimized drawing and encoding so it uses similiar scheme as 8bpp-optimized
...
All zoom levels are stored and a kind of RLE is used. Together with further changes and reducing number of variables, drawing is ~50% faster in average.
2008-06-26 15:46:19 +00:00
skidd13
b4ef380c49
(svn r13607) -Fix (r13606): some coding style issues got fixed but some got/stayed broken
2008-06-22 15:41:38 +00:00
skidd13
640e547886
(svn r13606) -Codechange: use "static FORCEINLINE" where possible as default for core functions (big functions use just inline instead)
2008-06-22 15:21:51 +00:00
skidd13
2f65d35ead
(svn r13575) -Codechange: Move small vector to core since it fits better in there
...
-Codechange: convert smallvector from struct to class
2008-06-19 10:19:02 +00:00
smatz
9da745b381
(svn r13552) -Codechange: use TTD_ENDIAN comparations instead of tests if TTD_[BIG/LITTLE]_ENDIAN is defined
2008-06-17 19:38:00 +00:00
skidd13
03854bf27c
(svn r13517) -Add: remaining used typesafe versions of the mem* functions from <string.h>
2008-06-14 16:41:03 +00:00
skidd13
96fc91baf3
(svn r13516) -Codechange: Move MemCpyT to a fitting core header
...
-Codechange: Split the sorting code from the sortlist to an appropriate header
2008-06-14 16:23:08 +00:00
smatz
bd5067b5a0
(svn r13456) -Codechange: use AllocaM() macro instead of alloca() at most places
2008-06-10 21:59:22 +00:00
glx
6e6014918e
(svn r13273) -Fix [FS#2042]: MSVC warnings (again)
2008-05-26 20:20:38 +00:00
rubidium
d03994098b
(svn r12971) -Documentation: add @file in files that missed them and add something more than whitespace as description of files that don't have a description.
2008-05-06 15:11:33 +00:00
rubidium
72eb1f100b
(svn r12936) -Doc: a few structs in geometry_type.hpp. Patch by Alberth.
2008-05-04 08:38:21 +00:00
rubidium
91fa34ea11
(svn r12873) -Fix [FS#1946]: MSVC is whining because it doesn't understand that bytes should be cast to ints.
2008-04-24 17:53:45 +00:00
smatz
14dc60c8a1
(svn r12778) -Codechange: add the NORETURN attribute to *allocError() functions
2008-04-18 21:38:36 +00:00
rubidium
9d8fa486af
(svn r12761) -Codechange: lots of minor whitespace coding style fixes around operators.
2008-04-18 04:37:06 +00:00
rubidium
c31287206d
(svn r12749) -Codechange: store the viewport information in the windows that have a viewport instead of one global array with a viewport for each window, even when they do not use the viewport.
2008-04-17 09:42:44 +00:00
rubidium
9a73b698d4
(svn r12695) -Codechange: only allocate window structs when needed. Based on a patch by Alberth.
2008-04-13 19:25:14 +00:00
smatz
fb379b522d
(svn r12573) -Codechange: use defined constants instead of numbers in math_func.hpp
2008-04-04 20:34:09 +00:00
smatz
a7d885e4c6
(svn r12572) -Fix (r12192): min() has 32bit arguments, clamping of 64bit values didn't work
2008-04-04 20:03:49 +00:00
rubidium
8e83627991
(svn r12536) -Codechange: some stack allocations were too large for NDS, so use the SmallStackSafeStackAlloc wrapper. Allocate on the stack by default and on the heap for NDS (or other devices that have a very small stack).
2008-04-01 21:12:51 +00:00
skidd13
9d914a803c
(svn r12516) -Revert r2583: Removed mersenne PRNG cause it is not used and won't be used in the future
2008-03-31 16:07:50 +00:00
rubidium
67c1e00aea
(svn r12438) -Fix-ish: typo spotted by Biblo.
2008-03-27 13:59:35 +00:00
smatz
db9d5a909f
(svn r12204) -Fix (r12192): using UINT16_MAX broke compilation on many targets
2008-02-20 19:42:06 +00:00
smatz
ca46154068
(svn r12192) -Fix: clamp various town variables to 16bit prior to returning the value
2008-02-20 14:30:53 +00:00
smatz
b4f58ebae4
(svn r12156) -Fix (r11454): Chance16I was now biased towards zero - round to nearest now
2008-02-16 00:46:38 +00:00
smatz
f19eca0905
(svn r12115) -Codechange: move malloc/realloc error messages to separate file to spare 4-8kB of binary size
2008-02-11 20:23:38 +00:00
rubidium
20e9abed47
(svn r12050) -Fix: random_func broke for desync debug.
2008-02-03 16:21:19 +00:00
rubidium
3b2145aafe
(svn r12004) -Codechange: refactor the random functions to reduce code duplication.
2008-01-29 00:27:25 +00:00
rubidium
59ec5e62ce
(svn r11943) -Codechange: add and use a simple structure to support small stacks by allocating it on the heap or pushing a few kB of data onto the stack when there is a large stack.
2008-01-22 12:09:12 +00:00
glx
b7f50533c2
(svn r11914) -Documentation: fix some @file statement
2008-01-18 03:48:29 +00:00
rubidium
0b1d3e43e5
(svn r11704) -Codechange: remove another bunch of useless includes.
2007-12-26 23:04:26 +00:00
rubidium
0bd93f5c37
(svn r11697) -Fix [FS#1585]: strgen did not (always) compile properly.
2007-12-25 14:08:56 +00:00
skidd13
7963963d98
(svn r11695) -Codechange: Converted the md5 algorithm to OOP
...
-Codechange: Adapt the md5 algorithm to the OpenTTD source
2007-12-25 13:59:21 +00:00
rubidium
b3f6c0734b
(svn r11694) -Codechange: move more endianness related stuff to endian_func.hpp.
2007-12-25 13:28:09 +00:00
rubidium
bf98e25e43
(svn r11691) -Codechange: move+rename helpers.hpp and only include it when it is really needed.
2007-12-25 09:48:53 +00:00
egladil
22f79df328
(svn r11688) -Fix [FS#1581]: Compilation was broken on OS X again.
2007-12-23 18:08:39 +00:00
skidd13
da5d3a7b3b
(svn r11687) -Codechange: move some defines to a better place
2007-12-23 14:06:03 +00:00
rubidium
a773d45885
(svn r11684) -Codechange: split gfx.h in a type and functional header.
2007-12-23 10:56:02 +00:00
rubidium
8f0e68285b
(svn r11682) -Codechange: move some 'generic' geometry related types into a single file and do not include gfx.h everywhere to get a Point type.
2007-12-22 23:30:28 +00:00
rubidium
01e20c9140
(svn r11674) -Codechange: refactor some functions out of macros.h into more logical locations.
2007-12-21 19:21:21 +00:00
rubidium
d5c4ba8246
(svn r11673) -Codechange: move the overflow safe type to a separate file.
2007-12-21 08:34:53 +00:00
rubidium
f56a354d31
(svn r11661) -Codechange: some header reworks in order to try to reduce the compile time of OpenTTD by reduce the amount of circular-ish dependencies.
2007-12-18 19:52:14 +00:00
smatz
93c3e0d6ad
(svn r11652) -Codechange: add the svn $ header for several files
2007-12-17 01:35:45 +00:00
rubidium
214d25905a
(svn r11640) -Fix: missed change of include when moving stuff to random_func.cpp
2007-12-15 22:05:02 +00:00
rubidium
a1dbb10c26
(svn r11616) -Fix [FS#1526]: sometimes large values could go off the chart.
2007-12-10 22:26:24 +00:00
skidd13
82913a2134
(svn r11564) -Codechange: Increase the usage of the for_each_bit macro and rename it fitting to the naming style
2007-12-03 09:19:19 +00:00
rubidium
faf096f506
(svn r11559) -Fix [FS#1505]: overflow when drawing graphics with high company values.
2007-12-02 19:21:56 +00:00
skidd13
71c10f7df7
(svn r11527) -Codechange: Split the bitmath functions of to their own files
2007-11-26 17:50:22 +00:00
skidd13
734b22e070
(svn r11526) -Codechange: Rename the function delta fitting to the naming style
2007-11-26 16:01:29 +00:00
skidd13
bdc7fd2d76
(svn r11523) -Codechange: Move the CHANCE macros to core/random_func.cpp cause they depend on Random()
...
-Codechange: Convert the CHANCE macros to functions and rename them fitting to the naming style
2007-11-25 15:35:25 +00:00
skidd13
bf959f926f
(svn r11510) -Codechange: merge the IS_*INSIDE* functions and rename them fitting to the naming style
2007-11-24 10:38:43 +00:00
skidd13
737aec4db6
(svn r11490) -Codechange: Split the math functions to their own header
...
-Codechange: Replace the rest of the math macros with functions
2007-11-22 18:01:51 +00:00
skidd13
1d56af1d33
(svn r11489) -Fix r11488: Somehow the code was added multiple times
2007-11-21 19:18:34 +00:00
skidd13
83601671c7
(svn r11488) -Codechange: Spilt the random functions out to seperate file
...
-Codechange: Make the mersenne twister more readable
-Codechange: Unify the seeding process of random
2007-11-21 19:13:38 +00:00