Commit Graph

223 Commits (09fab9483cbf0fa8562e13ea11369dfcdd15a2ae)

Author SHA1 Message Date
bjarni e273fe2f33 (svn r3258) -Feature: [OSX] added support for universal binaries
it needs both PPC and x86 libs to compile
	due to this fact, compilation with libPNG or SDL is not tested (dedicated servers only)
	only PPC part is tested as I don't have x86 OSX
19 years ago
bjarni 4550c2361d (svn r3257) -Codechange: [OSX] removed the dynamic lib in bundle option (introduced in rev 3230)
it caused way more problems than it solved
19 years ago
truelight 062d654df1 (svn r3231) Fix: update the GPMI implementation to the latest GPMI-API version 19 years ago
bjarni 97b3afe9ae (svn r3230) -Feature: [OSX] OSX builds can now change where it searches for dynamic libs and can move libs into the bundle
This is not a fix for the issues with static linking, more like a workaround. Static linking still got issues
	Apple recommends to use dynamic linking anyway, so I guess this doesn't matter much
19 years ago
bjarni 8b4d7f97da (svn r3214) -Feature: openttd.cfg can now set how many autosaves to keep before starting to overwrite old ones
max_autosave_num in the config files sets the number of autosaves to keep (default 16)
	MAX_NUM_AUTOSAVES in Makefile.config sets the default value. 16 is used if no value is given
	this behaviour can still be overwritten by keep_all_autosave (openttd.config setting)
	Note: this is a requested behaviour for PDA ports, since they got limited storage space
19 years ago
peter1138 12009af1c5 (svn r3167) - NewGRF: Start moving custom station code to separate files.
Rewrite handling of station classes.
          Allow for more than 8 station tile layouts.
          Start of code to unload custom stations.
19 years ago
truelight 35b8ada5f8 (svn r3113) -Fix: The Makefile had 64bit code which was obsolete, not to say wrong.
This removes all the 64bit stuff from the Makefile. Everything should 
  work just fine. Also removed the warning on amd64, 64bit OpenTTD is 
  stable. Tnx to dst for commenting and testing on this subject.
19 years ago
bjarni 85002131fe (svn r3088) -Fix: [OSX] fixed issue where OSX could not dynamic link to quicktime [ 1334917 ] 19 years ago
bjarni a949e6d3d0 (svn r3031) forgot 1 file and two lines in rev 3029 (mac midi stuff) 19 years ago
bjarni 4eb7a0ac6b (svn r3029) -Change: [OSX] removed the buggy java midi player, which was rendered obsolite by r3022 19 years ago
bjarni 354320527a (svn r3026) -Fix: [OSX] fixed bug that prevented dedicated servers from compiling (introduced in r3022) 19 years ago
bjarni 488db23ed8 (svn r3023) -Fix [BeOS] fixed compilation on BeOS R5 (MYOB) 19 years ago
bjarni cebca8e61b (svn r3022) -feature: [OSX] OSX now uses quicktime to play midi files
this eliminates the long pauses between songs and the "leaving process hehind" bug (moebius_)
19 years ago
truelight 6145b99c22 (svn r2921) -Codechange: moved all AI-code to 1 central place (ai/ai.c)
-Fix: removed the ability for the oldAI to cheat (this will criple him somewhat)
-Add: base-code for many improvements to come in the AI-system
-Add: added base-code for multiplayer AIs (DOES NOT WORK YET!)
19 years ago
truelight 620f36acb6 (svn r2907) -Codechange: splitted the AIs to their own directory. AINew becomes 'trolly', AIOld becomes 'default', both in their own dir in the 'ai' dir. More AIs to come. 19 years ago
Darkvater bb05a9a504 (svn r2904) Stupid editors, and renaming files with the same name just different casing is not really possible, so here comes another commit 19 years ago
Darkvater d37cb0eb78 (svn r2903) Fix case mismatch for ottdmidi java file (moebius) 19 years ago
tron 1e862e9da8 (svn r2895) Remove unused variables and bring a comment closer to reality 19 years ago
tron c7a6af38fe (svn r2882) Some fixes for MorphOS (by tokai)
- Don't track dependencies on system headers
- Add an include path
- Silence a warning regarding a bad signal prototype
- Remove executable flag from pictures
- Add proper OTTD icon
19 years ago
tron a7d6b41c6a (svn r2866) Move all functions and tables which aren't directly involved in managing the sprite heap to a new file gfxinit.c.
This doesn't ease the global variable mess, but makes the distinction between sprite heap and gfx loading routines easier.
19 years ago
tron 2aebbaeecd (svn r2853) Add missing dependencies and flags to the dependency targets and make the info target more informative 19 years ago
tron 8d3afd666b (svn r2843) OSX doesn't like OBJC, so give it back its beloved CC, because it's the only ObjectiveC consumer 19 years ago
tron 69eb13c504 (svn r2841) Pimp the Makefile: Determining the header dependencies is now a separate step.
This should fix the dependency related problems and reduce the number of recompiled files when table/strings.h changes
19 years ago
tron 080c62526d (svn r2826) Remove another write-only variable, thanks glx 19 years ago
truelight 01f9cec6df (svn r2825) -Fix: GCC that put deps in the wrong dirs can now compile OTTD again 19 years ago
truelight 36d717d77a (svn r2824) -Fix: OSX can now also produce dedicated servers 19 years ago
truelight 48d8f9da3f (svn r2823) -Fix: MorphOS doesn't have pthread either! 19 years ago
truelight 479b98980c (svn r2822) -Fix: don't compile pthread for win32 dedicated servers 19 years ago
tron b62887b973 (svn r2815) Store the currency information in one central place instead of scattering it in several unrelated files 19 years ago
tron f315c95fa1 (svn r2809) Implement more generic threading functions, which allow more than one thread 19 years ago
tron 3c916a2dfe (svn r2760) Remove stale comments, long unused stuff and simplify some checks 19 years ago
ludde b8c9194b7c (svn r2756) Renamed railtypes into _railtypes
Renamed railtypes.c into railtypes.h, all other tables are in .h files. (It should be in the tables dir but I couldn't figure out how to get it there without deleting it first).
Added const and extern.
19 years ago
celestar f287f2ff8d (svn r2753) -Codechange: Introduced a new struct "RailtypeInfo" to store rail type specific information. Begun populating it with a bunch of sprites, more to come later. This should result in cleaner, more compact code which allows easy introduction of new railtypes. 19 years ago
tron 81be08bc21 (svn r2712) Overhaul DirectMusic MIDI backend:
- Merge the .c and .cpp part into one file
- Properly deinitialize at the end
- Remove "experimental" status
- Miscellaneous smaller changes
-Fix: Volume control works now
19 years ago
tron 2faf06f4cd (svn r2704) Remove . from include path again, too much trouble. Also add some #ifdefs and #includes for the Windows build 19 years ago
bjarni f1c254befa (svn r2703) - Feature: [OSX] Added a native alert window to show whatever error() needs to print (Tobin made this, while I fixed some issued in it)
- As a bonus, we now have an objective C file (os/macosx/macos.m) to use the functions Apple made to interact with OS stuff
19 years ago
tron 1492a04844 (svn r2700) Insert Id tag into the Makefile 19 years ago
tron 393f4b2149 (svn r2691) Separate dedicated video driver and fix bemidi declarations 19 years ago
tron 9bb81b8eef (svn r2688) MSVC and Watcom can't handle identical file names in different directories, oh my... 19 years ago
tron 126fed74d6 (svn r2685) -Codechange: Split the music/sound/video drivers into separate files and move them into subfolders.
This results in shorter and hopefully easier to maintain files.
Note: I had to change paths in #include statements of some unrelated files, because I added the ottd base directory to the include path (-I.)
19 years ago
tron f3c14486be (svn r2616) Don't stop when compiling a language fails, just delete the defective .lng 19 years ago
truelight a28295b394 (svn r2606) -Codechange: renamed ai.c to ai_old.c, and ai.h to ai_new.h to make room
for a global AI-handler
19 years ago
Darkvater bc11fe03ee (svn r2585) - Fix [Makefile]: some small cleanups, remove warnings, and add mersenne to makefile (Luca) 19 years ago
truelight 48b3b8699d (svn r2542) -Add: [GPMI] Added GPMI (http://sourceforge.net/projects/libgpmi/)
support to OpenTTD in preperation of AIScripts (long term). It is OFF 
  by default. Add GPMI:=1 to Makefile.config to enable.
19 years ago
hackykid ab9c6f126d (svn r2516) - Feature: [pbs] Implement path-based-signalling. This allows multiple trains within the same signal block, provided their paths dont intersect. For this the block must have all exit and entry signals be pbs signals. Place these by ctrl-clicking 4 times on a normal signal.
- Feature: [pbs] Implement autoplacement of pbs blocks, when a block has an entry and an exit pbs signal, covert the entire block to pbs. Can be turned off in the patch settings.
 - Feature: [pbs] Allow showing of reserved status by making the tracks darker, when the pbs debug level is at least 1.
19 years ago
celestar 48ff5e39dc (svn r2491) -Fix: Solved a performance problem introduced in r2467. While busy
committing, restore the sort order in the Makefile
19 years ago
bjarni 83943cd246 (svn r2461) -Feature [Makefile] libpng-config can now be called something else in Makefile.config
useful if you for some reason got a libpng-config, which is called something else
19 years ago
truelight fc2f5b79ef (svn r2458) -Fix: Quickfix to make dedicated-server compile again. We need a more ellegant way to fix this... 19 years ago
truelight d6cd0bdcac (svn r2457) -Fix: typo in Makefile for OSX builds 19 years ago
matthijs 1876744744 (svn r2448) General cleanup of rail related code, more to follow.
* Add: rail.[ch] for rail-related enums and wrapper functions.
* Codechange: Removed dozens of magic numbers with below enums.
* Codechange: Rewrote CheckTrackCombination().
* Add: TILE_SIZE, TILE_PIXELS and TILE_HEIGHT constants.
* Add: enums RailTileType, RailTileSubtype, SignalType to mask against the map arrays.
* Add: enums Track, TrackBits, Trackdir, TrackdirBits for railway track data. (Note that the old RAIL_BIT constants are replaced by TRACK_BIT ones).
* Add: enums Direction and DiagDirection
* Codechange: Moved a bunch of track(dir) related lookup arrays from npf.[ch] to rail.[ch].
* Codechange: move RailType enum from tile.h to rail.h.
* Add: Wrapper functions for masking signal status in the map arrays: SignalAlongTrackdir, SignalAgainstTrackdir and SignalOnTrack.
* Add: Wrapper functions to access rail tiles, using above enums
* Add: Wrapper functions to modify tracks, trackdirs, directions, etc.
* Add: Wrapper functions for all lookup arrays in rail.[ch] (Arrays are still used in parts of the code)
* Codechange: Renamed some variables and arguments to better represent what they contain (railbit -> track, bits -> trackdirbits, etc.). 
* Codechange: Don't use FindLandscapeHeight() in CmdRemoveSingleRail(), since it returns way too much info. Use GetTileSlope() instead.
* Codechange: [NPF] Removed some unused globals and code from npf.c.
19 years ago
Darkvater ba8c649fac (svn r2397) - CodeChange: rename all "ttd" files to "openttd" files. 19 years ago
matthijs 457434ea59 (svn r2371) - Fix: [ 1144510 ] make install tries to install scenarios in the (non-existing) personal dir when USE_HOMEDIR is specified.
This fix solves the issue for now by installing scenarios in the system-wide data dir.
- Add: 32x32 xpm format icon, used for debian packaging.
- Some minor updates to the os/debian directory.
19 years ago
Darkvater 6b794ede3b (svn r2334) - Fix (regression): moved togglefullscreen into the video-driver, now windows works, dedicated works and sdl works. Also reverted the change to the makefile. 19 years ago
Darkvater 21b99af344 (svn r2330) - Fix: link error when compiling as dedicated. Add sdl.c to always compile in makefile as it is always protected by WITH_SDL and add a stub for ToggleFullScreen() 19 years ago
tron 14f482aeb5 (svn r2328) There's no need for extra magic to detect libpng on FreeBSD 19 years ago
bjarni fd9d6e2fc6 (svn r2327) -fix [MacOSX] default path for midi player on mac is now correct again 19 years ago
Darkvater ed5cf7b28f (svn r2314) - Feature: [ 1187490 ] Patches for building on IRIX (jgilje) 19 years ago
truelight e58773e6ce (svn r2226) -Fix: 2 other capital problems for the OSX part of the Makefile 19 years ago
truelight 27f80e09e3 (svn r2225) -Fix: split the endian-detection to target/host. Now cross-compiling
on i386-linux for MacOSX should also work for the language-files (strgen issues)
19 years ago
truelight b195b77906 (svn r2224) -Fix: capital-correctness for OSX-dir-names 19 years ago
bjarni 9bd93a1148 (svn r2198) renamed MacOS to MacOSX where it was written wrong. Made myself MacOSX porter as well as coder 20 years ago
bjarni dadec920a0 (svn r2197) -fix [Makefile]: SDL_CONFIG from makefile.config is now not always overwritten
-fix [OSX]: fixed issue where OSX could not compile the java MIDI app if SHOW_WARNINGS was on (introduced in r1917)
-fix [OSX]: the midi class file is now also deleted with make clear
20 years ago
TrueLight 6ff14a99cb (svn r2196) -Change: updated the Makefile, now it works for crossplatform compiling
(and distcc compiling via Makefile.config). Wiki is coming up soon! Big
tnx to Bjarni and Lucaspiller.
20 years ago
tron c75d699b02 (svn r2133) Fix dependency tracking for C++ files 20 years ago
pasky 68da823951 (svn r2088) - Fix: [ 1155158 ] Make extmidi command a config option in addition to the compile-time MIDI switch. Patch by macbaine. 20 years ago
truelight d1e158d6f7 (svn r2046) -Codechange: moved all waypoint code to waypoint.c/waypoint.h
-Codechange: rewrote some functions while moving waypoint-stuff
-Add: added support for 64k waypoints
-Fix: made the waypoint struct a bit more logic (no bit-fucking)
20 years ago
tron b40a2fcd0d (svn r2000) Split the sound system into backend (mixer.[ch]) and frontend (sound.[ch]) 20 years ago
pasky 2a35773a1b (svn r1996) makefile.config -> Makefile.config, that's its name. 20 years ago
pasky 935da8cabb (svn r1995) Makefile: Use the install tool instead of mkdir+cp for installing the system-wide stuff, more secure. Based on Peter Brett's patch 1152428. 20 years ago
tron 54a40903e3 (svn r1983) Introduce multiple compile time debug levels 20 years ago
pasky d89be97a83 (svn r1980) Check $DESTDIR if $DEST_DIR was not set. 20 years ago
tron 29521b0a59 (svn r1939) Revert part of r1938 which accidently crept in 20 years ago
tron 12b223b3f9 (svn r1938) Miscellaneous cleanups: const correctness, kill a goto, ... 20 years ago
pasky 7f78acebef (svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
- VERBOSE has now greater effect, many previously hidden commands
    are now shown on the terminal as they are executed. (Use $(Q)
    instead of @ where the command should be shown if VERBOSE.)
  - Compilation commands redundancy was eliminated.
  - Compilation commands calling generalized so that the VERBOSE
    support does not further entangle the code. The commands are now
    all at a single place, before the targets in a "Build commands"
    section.

Note that this changeset has a character of proposal. If you do not
like the direction it takes at all, feel free to revert it (probably
together with the previous VERBOSE patch). However, I believe it
improves the code by bringing the compilation commands to a single
place and it greatly improves the VERBOSE support, too (and makes it
much less intrusive).
20 years ago
pasky c710ec4698 (svn r1915) Support for a VERBOSE flag which will make the full compiler invocations to be shown instead of ===> Brief summaries. 20 years ago
tron a0a313490b (svn r1828) New warning flag especially for truelight (:< 20 years ago
tron 59fa465dce (svn r1821) Move generic string handling functions to string.[ch] and introduce stre{cpy,cat}, see string.h for their semantics 20 years ago
truelight bd7f37d592 (svn r1817) -Codechange: Moved depot-functions to depot.c
-Codechange: Added wrappers around depot-access (GetDepot no exists)
-Codechange: Made depot-functions a bit more logic (no longer 
GetDepotByTile crashes your game when you request it on a non-depot tile)
-Add: made depots dynamic (yes, 64k depots are possible now)
20 years ago
tron 36c9758c94 (svn r1803) Move debugging stuff into files of it's own 20 years ago
tron 033c392aca (svn r1796) Revert r1792, because MorphOS has defaults for CC/CXX, they're just wrong, so setting CC/CXX using ?= simply did nothing 20 years ago
tron 1952882e7e (svn r1795) Change CFLAGS for MorphOS (tokai) 20 years ago
tron 7ec7697f56 (svn r1793) Revert one instance of $(shell) back to ``, because MorphOS does The Wrong Thing(tm) when date is used within $(shell) 20 years ago
tron cf5dfe6646 (svn r1792) Revert r1761 and set fallback values via ?= for CC and CXX as there seem to be platforms (MorphOS) out there which don't provide some proper defaults.
Use gcc and g++ as defaults, because cc and c++ aren't available either. *sigh*
20 years ago
tron 24eaed5dfa (svn r1780) Don't clear LIBS and LDFLAGS 20 years ago
truelight 567224e940 (svn r1763) -Add: pool.c / pool.h: generalized routines for dynamic arrays (MemoryPools) 20 years ago
tron 3d8dab0838 (svn r1761) Don't set CC and CXX
If somebody tried to use alternate compilers via an environment variable the assignment in the Makefile simply overwrote that.
20 years ago
tron 9095220450 (svn r1758) Replace `` with $(shell), because the latter is only evaluated once instead of over and over again 20 years ago
tron 77ff2162af (svn r1755) Trim trailing whitespace 20 years ago
matthijs eb78cdb2d4 (svn r1751) - Feature: New PathFinder (NPF).
- Supports trains, road vehicles and ships.
	- Uses A* pathfinding (same codebase as the new ai).
	- Currently unlimited search depth, so might perform badly on large maps/networks (especially ships).
	- Will always find a route if there is one.
	- Allows custom penalties for obstacles to be set in openttd.cfg (npf_ values).
	- With NPF enabled, ships can have orders that are very far apart. Be careful, this will break (ships get lost) when the old pathfinder is used again.
- Feature: Disabling 90 degree turns for trains and ships.
	- Requires NPF to be enabled.
	- Ships and trains can no longer make weird 90 degree turns on tile borders.
- Codechange: Removed table/directions.h.
	- table/directions.h contained ugly static tables but was included more than once. The tables, along with a few new ones are in npf.[ch] now. Better suggestions for a location?
- Fix: Binary heap in queue.c did not allocate enough space, resulting in a segfault.
- Codechange: Rewritten FindFirstBit2x64, added KillFirstBit2x64.
- Codechange: Introduced constant INVALID_TILE, to replace the usage of 0 as an invalid tile. Also replaces TILE_WRAPPED.
- Codechange: Moved TileAddWrap() to map.[ch] 
- Add TileIndexDiffCByDir(), TileIndexDiffCByDir(). 
- Codechange: Moved IsTrainStationTile() to station.h
- Add: IsRoadStationTile() and GetRoadStationDir().
20 years ago
tron 4609d64df7 (svn r1745) Use -fno-inline when DEBUGing 20 years ago
tron 98da9d3712 (svn r1744) DEBUG and PROFILE can be used at the same time. 20 years ago
tron e86e9f96ca (svn r1715) Move [GS]etMapExtraBits to tile.[ch] 20 years ago
tron b85925cbae (svn r1672) Simplify dependency tracking and actually implement it for C++ files, too.
Note: Do "make clean" to get rid of the old dependency files
20 years ago
tron fd8c74c83c (svn r1671) Remove WARNING_DISPLAY, because it contained no warning, but an optimization flag 20 years ago
tron 63fdd4d6be (svn r1670) Garbage collect some variables, because they are only used once and hide magic, like containing -o where a filename must be the next parameter 20 years ago
tron 489f68a083 (svn r1669) Rename all ttd_XXX to just XXX, because we already know who we are (; 20 years ago
tron de64977957 (svn r1666) Move some MorphOS compile flags to a place where they actually belong 20 years ago
tron c340be487b (svn r1665) Remove VERBOSE flag, because it was only partially implemented
Add "info" target instead, which prints out some relevant variables used in the Makefile
20 years ago
bjarni ac148b1dec (svn r1664) Makefile: removed the forced 0.3.6 version tag 20 years ago
bjarni 2ff0cbdd54 (svn r1661) Makefile: added scenario to make install 20 years ago