Commit Graph

371 Commits

Author SHA1 Message Date
Henry Wilson 81315939b9 Codechange: Replaced SmallVector::Find() non-const with std::find() 2019-03-26 20:15:57 +00:00
Henry Wilson f3938fdb83 Codechange: Replaced SmallVector::Reset() with std::vector::clear() + shrink_to_fit() 2019-03-26 20:15:57 +00:00
Henry Wilson bad2c2154b Codechange: Replaced SmallVector::Resize() with std::vector::resize() 2019-03-26 20:15:57 +00:00
Henry Wilson a690936ed7 Codechange: Replace SmallVector::Length() with std::vector::size() 2019-03-26 20:15:57 +00:00
Henry Wilson 56ae855dc2 Codechange: Removed SmallVector::operator[] 2019-03-26 20:15:57 +00:00
Henry Wilson 9cba6f7193 Codechange: Replaced SmallVector::Compact() with std::vector::shrink_to_fit() 2019-03-26 20:15:57 +00:00
Henry Wilson bfd79e59dc Codechange: Replace SmallVector::Clear() with std::vector::clear() 2019-03-26 20:15:57 +00:00
Henry Wilson 4b349c0f90 Codechange: [core] Implement SmallVector using std::vector
The public and protected interface to SmallVector are unchanged
SmallVector now requires that items be default constructible
This isn't an issue since some contained items were previously created
uninitialized.

Temporary default constructors are added to the following structs
- SmallPair
- SmallStackItem
- GRFPresence

Where vector<bool> is required, transition immediately to std::vector
to avoid returning proxy object references.
2019-03-26 20:15:57 +00:00
Patric Stout 72c5f2b3ee Remove: DOS support
In 10 years there was no active development on DOS. Although it
turned out to still work, the FPS was very bad. There is little
interest in the current community to look into this.

Further more, we like to switch to c++11 functions for threads,
which are not implemented by DJGPP, the only current compiler
for DOS.

Additionally, DOS is the only platform which does not support
networking. It is the reason we have tons of #ifdefs to support
disabling networking.

By removing DOS support, we can both use c++11 functions for threads,
and remove all the code related to disabling network. Sadly, this
means we have to see DOS go.

Of course, if you feel up for the task, simply revert this commit,
and implement stub c++11 functions for threads and stub functions
for networking. We are more than happy to accept such Pull Request.
2019-03-19 23:22:51 +01:00
Niels Martin Hansen d7522e5e8f Codechange: Add a k-d tree generic data structure 2019-03-09 20:27:11 +01:00
Patric Stout f52e5a4d61 Fix: warnings when compiling with DJGPP
This was most likely broken for months, if not years.
2019-03-05 22:22:00 +01:00
Patric Stout 1c5ea33099 Fix: warnings when compiling for a recent version of Haiku
This might break older Haiku versions, but it is hard to tell.
2019-03-05 22:22:00 +01:00
Patric Stout ad30d04b5e Codechange: removed some left-behind __NDS__ references 2019-03-05 22:03:00 +01:00
Patric Stout 7784d77713 Remove: MorphOS / AmigaOS support
In 10 years there is no commit to change how MorphOS works, and we
have no active maintainer for it. It is unlikely it works in its
current state (but not impossible).

With the arrival of SDL2 (and removal of SDL), MorphOS is no longer
support. There is an SDL2 port for MorphOS, but it is not maintained
by upstream SDL2, and nobody can currently test it out.

If anyone wants to re-add MorphOS, please do (revert this patch,
fix the problems, and create a Pull Request). If you need any help
doing so, let us know! It is not that we don't like MorphOS, it is
that we don't have anyone fixing the problems :(
2019-03-05 22:03:00 +01:00
PeterN c0c8fb25fb
Change: Use SlErrorCorrupt() on pool index error when loading a savegame, instead of terminating. (#7219) 2019-02-13 09:01:49 +00:00
btzy 9d75600ac0 Fix: Round up deltas for smooth scrolling, so target will be reached 2019-01-20 19:43:56 +00:00
nikolas 4fc1b2baae Fix: Grammar in a bunch of comments (#7054) 2019-01-13 07:38:48 +00:00
glx c540d72445 Fix: [Win32] WIN32 may not be defined, always prefer the compiler predefined macro _WIN32 2018-12-27 18:09:16 +01:00
frosch 18ca3e8660 Fix: [NewGRF] Make VA2 operator 11 (ror) behave well-defined when rotating by 0 bits. 2018-10-31 14:35:46 +01:00
Charles Pigott f5b1115039 Doc: Lots and lots of doxymentation fixes 2018-10-31 12:35:54 +01:00
Charles Pigott 5f86e1a390 Codechange: Silence -Wclass-memaccess warnings with GCC8 2018-06-27 22:54:46 +02:00
Michael Lutz 9959cd9522 Fix 0165fe1: Native OSX doesn't have a __BYTE_ORDER macro but defines a differently named macro. 2018-04-30 23:57:28 +02:00
Matthijs Kooijman fa87212a76 Fix: Some spelling errors in printed messages 2018-04-30 13:38:58 +02:00
Patric Stout 0165fe1283
Codechange: remove endian_check in favour of __BYTE_ORDER macro (Rubidium) (#6762) 2018-04-29 19:01:28 +02:00
Charles Pigott 86012e10ea Fix: Remove need to instantiate SmallStack's pool object by making it a singleton method 2018-04-21 16:28:50 +02:00
Michael Lutz 4851feb102 Codechange: Add functions to insert and extract an element at a specific position in a SmallVec. 2018-04-15 20:49:29 +02:00
alberth bc08fe7c5f (svn r27641) -Codechange: Fold the _fios_items file list vector into its own class. 2016-09-04 12:50:22 +00:00
michi_cc 2b8bb12d62 (svn r27381) -Fix: Warnings due to C++11 requirements for explicit narrowing conversions in initializer lists. 2015-08-10 20:24:13 +00:00
peter1138 cea2c3490a (svn r27049) -Fix (r26482): Fix compilation with --enable-desync-debug. 2014-10-28 11:32:19 +00:00
alberth 8fe8765aaa (svn r26685) -Fix: Tighten parameter bound checks on GSCargoMonitor functions, and return -1 on out-of-bound parameters. 2014-07-12 17:04:14 +00:00
rubidium ab964a6cee (svn r26651) -Fix: make sure an abs is used that supports int64 when using abs on those variables 2014-06-17 19:01:45 +00:00
rubidium 0463dbdc9e (svn r26482) -Codechange: add an include that allows us to undefine/redefine "unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values 2014-04-23 20:13:33 +00:00
fonsinchen 46590e112e (svn r26343) -Fix: Rewrite SmallStack so that it doesn't use a pool and is reentrant. 2014-02-16 16:25:18 +00:00
frosch 858e80f3dd (svn r26333) -Fix: Compilation without static_assert. 2014-02-11 20:34:48 +00:00
fonsinchen e37656f2e5 (svn r26331) -Fix: some inconsistencies regarding link graph (job) IDs. 2014-02-10 20:13:07 +00:00
rubidium b3e93d6520 (svn r26057) -Fix: a number of possibly uninitialised variables 2013-11-23 13:12:19 +00:00
fonsinchen fe550c2db3 (svn r25893) -Fix: Document RandomRange and change misleading parameter name 'max' in random functions. 2013-10-20 14:48:08 +00:00
fonsinchen 1ed478d433 (svn r25889) -Codechange: Add forgotten file. 2013-10-20 13:46:14 +00:00
fonsinchen e21ae34878 (svn r25887) -Fix: Ignore NULL pointers in delete operator of PoolItem. 2013-10-20 13:35:35 +00:00
rubidium 13855f0a09 (svn r25705) -Fix: a number of typos (inspired by 90c920601c84975acb694f3673e2beb08b013753) 2013-08-09 18:43:44 +00:00
michi_cc de097dd989 (svn r25685) -Codechange: [OSX] Use non-deprecated functions for byte swapping. 2013-08-05 20:37:29 +00:00
frosch 18ae9c78bc (svn r25402) -Fix-ish: Prevent copying of BasePool and WindowDesc, since they register in static vectors. 2013-06-15 15:06:22 +00:00
fonsinchen 4fd57501bb (svn r25348) -Add: multimap implementation with guaranteed order between equal keys 2013-06-09 12:52:11 +00:00
fonsinchen dfad8317aa (svn r25347) -Add: function for deterministic approximate division 2013-06-09 12:50:33 +00:00
rubidium b0a2818ed0 (svn r25256) -Add: small matrix type (like vector, but for matrices) (fonsinchen) 2013-05-19 14:06:26 +00:00
frosch 5cd5aca98c (svn r25043) -Change [FS#3764]: Only display subtypes in the refit GUI which are available for all selected vehicles. Also add a generic list item to refit while keeping the subtypes of individual vehicles. 2013-02-24 16:43:24 +00:00
rubidium 6be79c424d (svn r24959) -Doc [FS#5459]: that certain parameters need to be within certain boundaries 2013-02-02 20:18:41 +00:00
planetmaker c24374f99c (svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by Eagle_rainbow) 2013-01-08 22:46:42 +00:00
alberth 732e073261 (svn r24776) -Doc: Typo fixes, additions, and additional dots collected from various sources (including Eagle_rainbow, MinchinWeb) 2012-12-01 13:12:39 +00:00
frosch dcfb2af871 (svn r24741) -Add: Const-methods to SmallMap. 2012-11-14 22:50:30 +00:00
frosch f9819c6645 (svn r24448) -Fix [FS#5255]: Copy constructor and assignment operator cannot be implicit template specialisations. (adf88) 2012-07-29 20:02:25 +00:00
frosch e1617a3d10 (svn r24275) -Codechange: Make SmallVector::FindIndex() const. 2012-05-25 20:52:11 +00:00
smatz b5525fd33d (svn r23941) -Add: support for clang 2012-02-12 21:17:32 +00:00
michi_cc 9d72b47984 (svn r23880) -Add: A simple smart pointer. 2012-02-04 13:28:35 +00:00
rubidium a48e3cb891 (svn r23854) -Codechange: make it easier to put random debug stuff into the random log 2012-01-26 17:24:56 +00:00
rubidium 2a0754b678 (svn r23814) -Codechange: write the random-debug output directly to a file 2012-01-15 21:15:38 +00:00
alberth 4af8c2d5e1 (svn r23704) -Doc: Doxygen comment fixes and additions. 2012-01-01 17:22:32 +00:00
truebrain 1c9bec1999 (svn r23640) -Fix: stop using FORCEINLINE (1/3rd of the instances were, the others were still regular inline), but make sure inline is always a 'forced' inline (I am looking at you MSVC) 2011-12-20 17:57:56 +00:00
truebrain 2ae87e7213 (svn r23634) -Add: support language files for GameScript (Rubidium) 2011-12-19 21:05:46 +00:00
rubidium 6153dc57f5 (svn r23466) -Fix [FS#4871, FS#4874]: assertion triggered when resizing a window during ReInit by an amount that's not a multiple of the resize interval 2011-12-09 22:07:00 +00:00
michi_cc d3b7b89493 (svn r23415) -Feature: Infrastructure maintenance costs. 2011-12-03 23:40:46 +00:00
glx 2c20738067 (svn r22898) -Codechange: use MSVC compiler intrinsics for byte swapping 2011-09-06 00:10:20 +00:00
frosch 5ccd091fd1 (svn r22881) -Fix (r22875): GCC warnings on 64bit systems. 2011-09-03 12:45:45 +00:00
michi_cc f227e90c24 (svn r22875) -Codechange: Add some asserts and checks to better prevent overflow of the argument to malloc. (monoid) 2011-09-02 20:54:51 +00:00
rubidium fb5ecb9499 (svn r22411) -Document: another bunch of bits 2011-05-02 17:42:12 +00:00
rubidium 59e42ea178 (svn r22177) -Fix: make sure the right endianness is chosen with cross-compiling, and strndup is available in the binary for more exotic platforms 2011-03-03 21:43:24 +00:00
planetmaker ac0700c564 (svn r22136) -Fix (r22112): Silence compiler warning about non-virtual destructor 2011-02-24 06:57:55 +00:00
smatz 756cc6cf65 (svn r22116) -Codechange: use PoolBase::Clean() at more places 2011-02-19 23:05:47 +00:00
smatz 642fb19d4f (svn r22115) -Fix (r22114): some comments and code ordering were wrong 2011-02-19 18:55:10 +00:00
smatz 5fd13843f7 (svn r22112) -Codechange: register all pools in a pool vector 2011-02-19 18:23:45 +00:00
smatz fbfb0ffbf2 (svn r22041) -Codechange: add a check that we called PoolItem::CanAllocateItem() before actually allocating it 2011-02-09 18:55:51 +00:00
rubidium 7eba2bf4d3 (svn r21890) -Cleanup: remove some unneeded includes 2011-01-22 14:52:20 +00:00
rubidium eb299736c1 (svn r21886) -Codechange: move documentation towards the code to make it more likely to be updated [n]. 2011-01-22 09:53:15 +00:00
alberth 8282b66b70 (svn r21645) -Doc: Document SmallPair and SmallMap template parameters. 2010-12-26 17:47:00 +00:00
rubidium ff015ac62c (svn r21336) -Fix (r21030) [FS#4274]: compile failure when desync debugging is enabled (fonsinchen) 2010-11-27 12:55:43 +00:00
frosch 98250ad8da (svn r20951) -Codechange: Add SmallMap::Contains() and use it. 2010-10-16 20:34:43 +00:00
alberth b3270caaf1 (svn r20838) -Fix [FS#4136]: Cast '1' in bitmath functions to width of result before shifting. 2010-09-22 20:59:24 +00:00
yexo 0decc3e094 (svn r20731) -Fix (r20739): SmallVector did not have an assignment operator, causing invalid memory reads / double free 2010-09-03 23:04:02 +00:00
yexo a45b598bfc (svn r20729) -Fix [FS#4107]: assert when overbuilding object 2010-09-03 21:50:51 +00:00
frosch 4bd32799f1 (svn r20286) -Codechange: Unify end of doxygen comments. 2010-08-01 19:44:49 +00:00
frosch ed4f806f1d (svn r20283) -Codechange: Unify start of doygen comments. 2010-08-01 19:22:34 +00:00
alberth a825b4fa5f (svn r20266) -Doc: Mostly typo fixes, a few doxygen-related improvements. 2010-07-31 21:02:56 +00:00
frosch 67bec51f27 (svn r19970) -Fix (r14742): SmallMap::Insert() did not compile. Construct new items like operator[]. 2010-06-13 09:41:48 +00:00
frosch 1d3adb2b66 (svn r19931) -Fix (r19914): Convert assertion in Backup<> destructor into DEBUG() output. It was triggered on exceptions, especially when aborting world generation. 2010-06-05 12:16:12 +00:00
frosch 9db3cde73a (svn r19914) -Codechange: Wrap a helper class around temporary assignments of _current_company to ensure proper restoration. 2010-05-31 20:22:57 +00:00
alberth 51e67a40e0 (svn r19909) -Doc: Typo fixes, small doxygen improvements. 2010-05-30 13:05:36 +00:00
rubidium 2c25f51281 (svn r19789) -Add [FS#3519]: a typed FOR_EACH_SET_BIT (adf88) 2010-05-11 20:59:54 +00:00
rubidium be504a6ef0 (svn r19788) -Codechange: make FOR_EACH_SET_BIT not change the value of the passed bit variable, i.e. allow expressions as parameter 2010-05-11 20:48:06 +00:00
frosch af7051178d (svn r19671) -Fix (r19670): RoundDiv() needs to deal with signed numerators. 2010-04-18 17:13:01 +00:00
frosch 2e90f7f8b9 (svn r19670) -Codechange: Add CeilDiv() and RoundDiv() to simplify integer divisions with rounding. 2010-04-18 14:56:05 +00:00
frosch 184fa43df2 (svn r19652) -Fix: RandomRange() is used for bigger ranges in many cases, so generally extent it to handle 32 bits. 2010-04-17 11:49:25 +00:00
frosch 2141ca2368 (svn r19643) -Fix (r19120): Industry generation failed for large maps and lots of industry types. 2010-04-16 21:21:54 +00:00
smatz 0ef33548c2 (svn r19614) -Codechange: "it's" => "its" where appropriate 2010-04-12 14:12:47 +00:00
frosch 0d4e6c46ff (svn r19605) -Codechange: Merge ExtractBits into EnumPropsT. 2010-04-11 15:44:16 +00:00
rubidium d0122644af (svn r19133) -Fix [FS#3621]: [Mac OS X] --enable-desync-debug failed compiling (planetmaker) 2010-02-14 16:52:15 +00:00
frosch b0496c339f (svn r19125) -Fix (r18809): Compiling with desync-debug failed. 2010-02-13 20:13:34 +00:00
smatz d62d0ac489 (svn r19019) -Codechange: use HasExactlyOneBit() and HasAtMostOneBit() instead of CountBits() where possible 2010-02-05 17:05:58 +00:00
rubidium d818c7c7b1 (svn r18996) -Fix (r18993, r18994): MSVC 64 bits had somethings to complain about 2010-02-03 21:45:48 +00:00
rubidium c75f19f40b (svn r18993) -Codechange: allow allocating multiple items in a SmallVector with one call. 2010-02-03 17:25:56 +00:00
rubidium 82fc28f77f (svn r18809) -Codechange/Cleanup: remove unneeded headers from some files, if a header require a header make it include that header 2010-01-15 16:41:15 +00:00
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