Commit Graph

371 Commits

Author SHA1 Message Date
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