Commit Graph
100 Commits
Author SHA1 Message Date
bjarni a973c893fb (svn r10823) -Fix r8610 [FS#1097]: the autoreplace window vehicle count didn't always update correctly) (Matthias) 2007-08-07 23:07:10 +00:00
bjarni beb673733a (svn r10410) -Fix [FS458]: [OSX] if the resolution is changed to something that's too high for the monitor, then it's reduced to fit the monitor size (PinguTux)
This solves a possible crash
  This also solves a graphical glitch where the titlebar can be drawn on top of the game area
  Those issues only aplied to window mode
2007-07-02 16:37:12 +00:00
bjarni ee4208ffe9 (svn r10123) -Fix r10121: the 8 bpp cocoa video driver works again 2007-06-12 23:06:56 +00:00
bjarni ff40914740 (svn r10080) -Cleanup: replaced magic numbers in SubtractMoneyFromAnyPlayer() with enum values 2007-06-10 09:37:09 +00:00
bjarni 3afea2d673 (svn r10077) -Fix: FS#845 Cloning Trains Longer Than 8 Units Causes Crash
The problem was that if adding units to the clone (wagon by wagon) failed, then cloning wouldn't notice it and it made two half trains
  Now it detects this case and it will make cloning fail. The string with the explanation for the failed move will be used in the error message so the user will know why it failed.
2007-06-09 18:31:04 +00:00
bjarni 9f44031a27 (svn r10039) -Fix: [autoreplace] when trying to replace an engine that can't carry the wagons the old one carries (GRF restrictoin), then don't try to replace at all 2007-06-04 20:46:01 +00:00
bjarni e129438139 (svn r10026) -Fix: unlinking a rail vehicle didn't clear the first pointer
After r9973, this could cause some asserts as some vehicles could end up with first pointers to chains they didn't belong to
2007-06-02 17:23:31 +00:00
bjarni 532391db12 (svn r10025) -Fix: [build windows] sorting planes for capacity didn't check mail capacity. Now mail capacity is used if passenger capacity is the same
The sort will still resort to EngineID if both mail and passenger capacities are the same
2007-06-02 15:47:38 +00:00
bjarni 81698422a2 (svn r10024) -Feature: [build windows] trains, road vehicles and ships can now be sorted by cargo capacity (planes already had this option) 2007-06-02 15:41:37 +00:00
bjarni 7d3d73e104 (svn r9982) -Fix (r9874): autoreplacing vehicles from a group could sometimes add the new vehicle twice to the engine (EngineID, not total count) count in the group 2007-05-29 20:52:35 +00:00
bjarni eb5b4ecd4a (svn r9981) -Fix: fixed a rare event that could cause autoreplace to run out of money and generate an error (spotted by elmex and UndernotBuilder)
This happened if the new engine was a dualheaded engine and there was money to replace and refit the front, but not the rear
  It also adds the cost of refitting the rear end of dualheaded engines to the cost animations (display only)
2007-05-29 20:06:06 +00:00
bjarni 77f5c1e25e (svn r9973) -Cleanup: removed some code that kept both ends of a dualheaded engine in the same train (when moving wagons in a depot)
NormaliseTrainConsist() is called later in the same command and it will take care of this issue
2007-05-29 10:35:52 +00:00
bjarni a6bea527a3 (svn r9967) -Fix (r9938): autoreplace would in certain conditions move dualheaded engines in a train (usually to the rear)
-Change: moving an engine in between the two ends of a dualheaded engine will now move the rear dualheaded engine to the front of the newly added engine (instead of moving the new engine to the rear of the rear dualheaded engine)
   This can make a difference if there are wagons in the train
2007-05-28 21:40:40 +00:00
bjarni c346cc430a (svn r9941) -Fix: trams could be cloned to appear in normal road depots and vice versa (spotted by Desolator) 2007-05-26 20:30:55 +00:00
bjarni fd2d6329f3 (svn r9938) -Fix [FS#799]: 100 wagons train + replace engine
Replacing a unit in a train will now remove the old unit before adding the new one. This will solve issues when max train length has been reached
2007-05-26 17:00:44 +00:00
bjarni 95e48eacac (svn r9753) -Fix [FS#732]: trains are lost after autorenewal/autoreplace
v->dest_tile is now copied when replacing the front engine
2007-04-29 20:16:58 +00:00
bjarni aa0e97e3ce (svn r9689) -Fix: Clone vehicles will no longer refit for free 2007-04-20 17:08:55 +00:00
bjarni 73875647b5 (svn r9688) -Codechange: Created a function to get default cargo type for a cargo type 2007-04-20 16:56:55 +00:00
bjarni 4cc3551ef2 (svn r9126) -Feature: "Function of scrollwheel" can now be set to off as well
Note: since this can be useful for all platforms, the GUI is no longer OSX specific.
  Note: scrolling lists is still unaffected by this setting
2007-03-11 21:53:46 +00:00
bjarni 3cf65b8a08 (svn r9125) -Fix r9111: default scrollwheel setting is now zooming, not scrolling 2007-03-11 21:39:20 +00:00
bjarni 9be41fede6 (svn r9112) -Feature r9111: scrollwheel scrolling can now also scroll the smallmap 2007-03-11 11:57:11 +00:00
bjarni 50fe0fe059 (svn r9111) -Feature: [OSX] mighty mice and touchpads can now scroll the map (in all directions)
It has to be enabled first (in patches->interface) first and this will disable scrollwheel zooming
  Note: patch setting "Map scrollwheel speed" might need to be changed since the "correct" setting
    appears to depend on what kind of mouse is in use (mighty mouse or touchpad)
2007-03-11 10:55:35 +00:00
bjarni f776f3beb1 (svn r9073) -Codechange: moved autoreplace to a file of it's own (now autoreplace has a cmd and a gui file) 2007-03-08 23:05:05 +00:00
bjarni c2b7d0192d (svn r9072) -Codechange: [Orders] added methods to orders to free them and check if they are in use 2007-03-08 21:39:34 +00:00
bjarni f61f1962c5 (svn r9040) -Codechange: the build window and CmdBuildAircraft() now shares the code to figure out if an aircraft is buildable in the hangar in question
This should help ensuring that the build command and the list are consistent in what aircraft are buildable
2007-03-06 22:11:58 +00:00
bjarni a24913d461 (svn r9039) -Fix r9034: missed the _pause in cocoa_v.mm 2007-03-06 22:01:59 +00:00
bjarni 853cc54ec6 (svn r8787) -Change r8771: allow fast aircraft in small airports
We should keep the list in sync with the build command as hacked clients can avoid a block in the GUI only
2007-02-17 18:38:35 +00:00
bjarni 4bcf385f31 (svn r8786) -Cleanup: replaced a switch-case to get the right refit command for a certain vehicle type. We have a function to do that 2007-02-17 17:12:19 +00:00
bjarni f731d7ffc4 (svn r8783) -Fix r8771: aircraft vehicle subtype and aircraft engine subtype aren't the same (even though they both tell if it's a plane or helicopter) 2007-02-17 16:07:45 +00:00
bjarni 790a3f5d5e (svn r8777) -Fix: FS#596 Cloning Maglev in UKRS forgets Mail refit
Cloning were unaware that articulated locomotives could refit without refitting the front unit
2007-02-17 13:50:22 +00:00
bjarni 222aebc5dd (svn r8771) -Fix r8343: build aircraft windows will no longer show aircraft that can't use the airport in question
Now it's even better than ever because unless the no jetcrash cheat is enabled, the small airports will not show fast aircraft
2007-02-17 12:45:15 +00:00
bjarni 4a41c23b21 (svn r8770) -Fix r8661: corrected some aircraft sprite placement issues in the depot window 2007-02-17 11:17:49 +00:00
bjarni 6460d5b441 (svn r8749) -Regression r8331: fixed signed/unsigned issue that could create too many lines in build vehicle windows and crash the game 2007-02-15 20:58:45 +00:00
bjarni 8675b8ec7d (svn r8746) -Regression r8331: build train window could sort incorrectly by EngineID with certain newGRF sets 2007-02-15 17:51:39 +00:00
bjarni 5e8bdaba6a (svn r8685) -Feature: selecting "end of orders" and clicking delete will delete all the vehicle's orders
If the orders are shared, then it will still unshare the orders like before.
2007-02-12 00:38:15 +00:00
bjarni e133a523c1 (svn r8662) -Fix r8661: don't try to put negative values in unsigned vars 2007-02-10 14:22:11 +00:00
bjarni 0c8078ae29 (svn r8661) -Fix: [depot windows] Enlarge the blocks in the depot window if a sprite is too big to fit (ships and aircraft only)
-Codechange: depot windows default now makes a 1x1 matrix and resize the window by block size*number of blocks
   This will make less vehicle type specific code and easier to read resizing based on sprite sizes
2007-02-10 13:37:32 +00:00
bjarni b4592c8a54 (svn r8658) -Fix r8605: missed an error message renaming from m to mm (objC to objC++) 2007-02-10 00:22:32 +00:00
bjarni 037d636734 (svn r8621) -Codechange: assigned new numbers to the VEH_(type) enum so that VEH_Train is 0, VEH_Road is 1 and so on
This means that "v->type" can be used as array indexes instead of VehTypeToIndex() (or "v->type - VEH_Train/0x10 as the code still used in some places)
  Surprisingly this can be done without changing the savegame format
2007-02-07 19:10:19 +00:00
bjarni 80125fd934 (svn r8610) -Codechange/Feature: rewrote the list handling in the autoreplace window
-The user will notice the following changes:
      All vehicle types behaves in the same way
      Adding/removing an engine (new design and so on) can no longer result in the window selecting a new engine
      All valid replacements will be displayed since it looks at refitting options as well (this solves the missing ships with the newships GRF)
      Since you can't replace an engine into itself, the engine selected in the left list will no longer appear in the right list

   -The code changes:
      Instead of looping all engines all the time, each list generates a list like the build windows
        This ensures consistent list generation since only one function can loop all engines
      Unified code for all vehicle types
      It now use the lists to call the drawing code in the build vehicle window
      Works on selected EngineIDs instead of selected index in the list
2007-02-06 11:11:12 +00:00
bjarni ca1a88f6c4 (svn r8605) -Codechange: [OSX] changed all objective C to objective C++
This will permanently solve the issue where compilation on OSX broke because C++ code was added to some header files

   -Note: (important if you develop mac specific code)
   taken from http://developer.apple.com/releasenotes/Cocoa/Objective-C++.html           
    gdb lacks an integrated C++ with Objective-C parser. This means that gdb won't be able to evaluate expressions that contain both C++ and Objective-C constructs.
    gdb assumes that the language for ".mm" files is C++.
    you can change it to objective C by typing: (gdb) set language objc 
    Mixing C++ and objective C has some limitation (see link for all of them)
2007-02-05 21:16:56 +00:00
bjarni be19961f1e (svn r8460) -Fix (r8455): the build train window put locomotives and wagons in appeantly random order 2007-01-30 17:19:58 +00:00
bjarni fb5a0ba6df (svn r8397) -Codechange: [orders window] don't move the refit button to the same location as the unload button
instead assert if the widget array place them at different locations
2007-01-24 19:19:12 +00:00
bjarni fc16b983f1 (svn r8395) -Cleanup: [orders window] moved the refit button two places up, so the order of the widget array fits the placement on the screen 2007-01-24 18:41:27 +00:00
bjarni d2597d1fd6 (svn r8394) -Cleanup: added an enum with widget names to the orders window 2007-01-24 18:22:31 +00:00
bjarni 8c098db7a8 (svn r8390) -Codechange (r8384): Rewrote ResizeButtons()
Now it only works on first and last widget to resize
  It now works with offsets correctly (no longer assumes the left is 0)
  It's no longer needed to have a widget right of the ones you resize
  Can handle any number of widgets
2007-01-24 14:32:20 +00:00
bjarni e2f72cbf1f (svn r8384) -Codechange: [GUI] instead of writing a resize button function for each window, a global ResizeButtons() is added 2007-01-24 02:36:55 +00:00
bjarni a1a6e1eb85 (svn r8383) -Feature: train detail window is now resizable horizontally (requested by Wolf01) 2007-01-24 01:37:04 +00:00
bjarni 072e429220 (svn r8382) -Fix (r8374): moved the include of stdint.h to the front of stdafx.h
This fixes the issue where OSX included stdint.h though other includes before defining __STDC_LIMIT_MACROS (and failed to compile because of this)
2007-01-24 00:55:35 +00:00
bjarni a73f67af40 (svn r8381) -Fix (r8377): [build vehicle window] cleaned up the train refitable detection. It had two variables doing the same thing, but not always set to the same (oops) 2007-01-23 21:24:26 +00:00
bjarni 9f31b897b6 (svn r8379) -Cleanup: [build vehicle window] removed overloading with DrawVehiclePurchaseInfo() and renamed them into type specific names 2007-01-23 20:55:04 +00:00
bjarni 9c6317a203 (svn r8378) -Fix (r8331): [build vehicle window] extended the widget with the details with one line since some newgrf trains needs it 2007-01-23 20:23:13 +00:00
bjarni 8d89ca48e1 (svn r8377) -Fix (r8331): [build vehicle window] train cargo capacity now only add "(refitable)" if the engine in question is refitable 2007-01-23 20:01:04 +00:00
bjarni c856c26611 (svn r8371) -Codechange: [autoreplace GUI] moved the autoreplace GUI to a file of it's own
Note: it's the same as r8363, only this time the svn history of autoreplace should be preserved
2007-01-23 13:26:12 +00:00
bjarni 422004013e (svn r8370) -Revert (r8363): the autoreplace GUI move cleared the file history 2007-01-23 13:10:43 +00:00
bjarni 8c3e4ead65 (svn r8364) -Codechange (r8362): added an assert to catch conditions where a request wants to draw more vehicles than the list contains 2007-01-23 01:00:56 +00:00
bjarni 97effdcb96 (svn r8363) -Codechange: [autoreplace GUI] moved the autoreplace GUI to a file of it's own 2007-01-23 00:04:17 +00:00
bjarni a9a1fd8c20 (svn r8362) -Codechange: [vehicle build window] moved the engine drawing loop to a function of it's own
-Fix (r8335): [vehicle build window] ship sprites were moved two pixels to the left
2007-01-22 23:23:30 +00:00
bjarni edf2f70565 (svn r8353) -Cleanup: added IsPlayerBuildableVehicleType() to autoreplace code (duplicated code removal) 2007-01-22 16:48:36 +00:00
bjarni 8de4196410 (svn r8349) -Codechange: replaced CMD_REFIT_VEH() and similar defines with real static inline functions 2007-01-22 16:16:52 +00:00
bjarni 29a89e0a2f (svn r8343) -Cleanup: [build vehicle windows] added a few comments and removed two switch-cases, that we can do without 2007-01-22 14:08:14 +00:00
bjarni 9f73cf6bb1 (svn r8341) -Codechange (r8336): added assert to VehTypeToIndex() to ensure valid vehicle types in the argument 2007-01-22 10:27:14 +00:00
bjarni 4099d62cb2 (svn r8340) -Cleanup (r8338): removed now unused header includes from roadveh_gui.cpp 2007-01-22 08:38:18 +00:00
bjarni 6ccbfffbea (svn r8338) -Codechange: merged road vehicle build window into the other ones
Note: now all build vehicle windows are merged into build_vehicle_gui.cpp
2007-01-22 02:09:51 +00:00
bjarni cf0e5816d6 (svn r8337) -Cleanup: removed some more switch-cases in build_vehicle_gui.cpp and added arrays + VehTypeToIndex() instead 2007-01-22 01:35:53 +00:00
bjarni 8f4e2e8040 (svn r8336) -Codechange: added function to translate vehicle types to 0,1,2... for use for index to arrays
Used this function to get rid of some switch-cases in build_vehicle_gui.cpp
-Fix (r8335): ship build window didn't remember assending/decending sort setting
2007-01-22 01:13:10 +00:00
bjarni 14b2998023 (svn r8335) -Feature: the build ship window is now also resizable horizontally and contains sorting options
-Codechange: the build ship window is merged into build_vehicle_gui.cpp
2007-01-22 00:26:46 +00:00
bjarni 1f32ce7e89 (svn r8334) -Fix (r8331): build window buttons now both resize as intended 2007-01-21 23:24:25 +00:00
bjarni 4bb18a450c (svn r8333) -Codechange: when invalidating a build window list, set a flag instead of rebuilding the list and then rebuild it the next time it's redrawn
This should save CPU time in the (maybe unlikely) event that the list is invalidated more than once between two redraws
2007-01-21 23:13:46 +00:00
bjarni d82ae7427d (svn r8332) -Codechange: moved DrawAircraftImage() and CcBuildAircraft() from build_vehicle_gui.cpp to aircraft_gui.cpp 2007-01-21 22:57:52 +00:00
bjarni b60e5c17cd (svn r8331) -Feature: the train and aircraft build windows are now resizable in horizontal direction as well
-Codechange: merged train and aircraft build window code
2007-01-21 22:50:43 +00:00
bjarni bdc29f3d0d (svn r8327) -Codechange: though overloading, IsPlayerBuildableVehicleType() now works with the type given as a byte as well as a vehicle pointer 2007-01-21 20:08:00 +00:00
bjarni 4241f1eb20 (svn r8303) -Codechange (r8293): default is moved to the front of the switch in ShowVehicleListWindowLocal() 2007-01-21 13:16:31 +00:00
bjarni 59e6e762b8 (svn r8296) -Fix: GenerateVehicleSortList() tried to put a TileIndex into an uint16
-Fix: CmdMassStartStopVehicle() tried to put a TileIndex into an uint16
  Those two bugs were unrelated to each other and unrelated to r8295, even though that commit touched the code in question
2007-01-21 01:25:59 +00:00
bjarni 518c4cdfce (svn r8295) -Cleanup: merged arguments station, order and depot_airport_index for GenerateVehicleSortList() and BuildVehicleList() into one uint16 argument
It turned out that all 3 arguments were the same at all the places those functions are called, so there was no point in having more than one
2007-01-21 01:07:15 +00:00
bjarni 7871ce1879 (svn r8294) -Fix: deleting a vehicle with shared orders, but no orders would fail to reset prev_shared and next_shared
-As a result, vehicles in the game could end up having prev/next pointers to vehicles, that was no longer in the game
2007-01-21 00:13:39 +00:00
bjarni c8c27b9740 (svn r8293) -Codechange: overloaded ShowVehicleListWindow() so it can open all types of vehicle lists (depending on arguments)
- Also removed some unneeded arguments
  - this also allows removing an if-else cascade in ShowVehicleListWindowLocal()
2007-01-21 00:01:47 +00:00
bjarni 00b730ebca (svn r8288) -Fix: [OSX] compiling with debug enabled now works again
-This is once again an obj-C vs C++ issue. I need to make a nice and permanent solution soon, but I need the debugger right now
2007-01-20 11:26:16 +00:00
bjarni ccbe68d5bc (svn r8155) -Fix: fixed compilation when --disable-network is in use 2007-01-16 15:20:22 +00:00
bjarni 0026ea84d1 (svn r8147) -Fix: [autoreplace] v->leave_depot_instantly was not always reset correctly
While it's not certain if this would have any serious sideeffects (or any at all), it's reset when intended now
2007-01-15 17:32:42 +00:00
bjarni 19bdb49e5b (svn r8141) -Fix r8128: [OSX] now OSX can compile again.
Note: this is again another not so nice workaround as Objective C fails to include C++ code in the headers
    We should move to Objective C++ as soon as possible, but such a change is not done overnight and
    this quick fix will allow OSX to compile until the prober solution is done
2007-01-15 00:58:18 +00:00
bjarni f348fc7b4c (svn r8061) -Fix r8055: obj-c can't handle templates
We will need to figure out a nicer solution for this, but now OSX compiles again
2007-01-11 13:47:55 +00:00
bjarni 674dcfa5d2 (svn r7887) -Fix: [OSX] Endian32_Swap should always return a uint32, not a long unsigned int
This kills an OSX specific warning in newgrf_config.c
  Ensured that Endian16_Swap returns uint16 as well, even though that one didn't result in any warnings (yet)
2007-01-05 20:46:53 +00:00
bjarni 7dff5fccd3 (svn r7886) -Fix: [OSX] control+enter will no longer toggle fullscreen as it collided with other hotkeys (pv2b)
People should use command+enter as it was originally intended (this key combo also worked before this commit)
2007-01-05 19:50:44 +00:00
bjarni 116913293a (svn r7771) -Fix: [OSX] make bundle no longer copies docs/OSX_why_multiple_applications.txt, since we no longer got that outdated file 2007-01-02 21:37:23 +00:00
bjarni e13f5c19c1 (svn r7767) -Fix r7751: [OSX] nameclash in includes. ALIGN was defined in both a library and macros.h
we undefines the library one since we don't need that one anyway
2007-01-02 21:27:28 +00:00
bjarni 25e03150a6 (svn r7766) -Fix: [OSX] removed incorrect debug message about corrupted/missing grf files
The md5 code now looks in the secundary data dir as well
  Note: OSX builds can still give the incorrect message: dbg: [sl] Cannot open savegame 'data/opntitle.dat' for saving/loading.
2007-01-02 20:39:07 +00:00
bjarni 405f80c0d1 (svn r7639) -Fix: FS#487 Changed music/qtmidi.c to not use functions deprecated by Apple (pvz) 2006-12-30 11:28:26 +00:00
bjarni 4cee3f0b06 (svn r7626) -Fix r7600: [OSX] building release dmg files no longer includes console.txt, since we don't have that file anymore (this made dmg building fail)
-Cleanup:   [OSX] removed the link files since they aren't needed and broken anyway
2006-12-29 21:46:21 +00:00
bjarni d657aa97de (svn r7588) -Change: [OSX] removed the flag JAGUAR since it didn't work anyway
Also removed all the Makefile code regarding this flag since it's no longer needed
   Removed documentation about special limitations regarding running the game on OSX 10.2
   OpenTTD now officially needs OSX 10.3.9 to work correctly (the trunk needed that for months)
2006-12-28 01:24:00 +00:00
bjarni 1f836aa995 (svn r7587) -Change: [OSX] updated readme about compiling a universal binary as the flag name changed, but didn't change in the readme 2006-12-28 01:13:55 +00:00
bjarni fe202bc518 (svn r7578) -Fix r7577: fixed typo 2006-12-27 14:34:09 +00:00
bjarni 0cfecfbe3c (svn r7557) -Fix: [OSX] FS#463 libfontconfig not present on OSX by default
By adding CUSTOM_FONTCONFIG flag to the Makefile (not Makefile.config) to overwrite default locations of this library
  This allows static linking
2006-12-25 09:50:56 +00:00
bjarni 230b6fd08e (svn r7390) -Codechange r7386: only loop though the windows to find a depot window to unhighlight a vehicle in if there is a vehicle on the mouse pointer 2006-12-06 00:03:24 +00:00
bjarni 256fa07de6 (svn r7389) -Fix: when forcing a vehicle to go to a depot, clear refit orders from current orders (caused refit error popup when not having no orders) 2006-12-05 23:57:04 +00:00
bjarni 4adc6ba4f8 (svn r7386) -Codechange r7385: moved deletion of the vehicle highlight from DeleteVehicle to the sell commands as they are not called as often
Also added a return to the window loop prevent looking at the rest of the windows once the right depot window is found
2006-12-05 22:59:42 +00:00
bjarni 686a0d7750 (svn r7385) -Fix: FS#418 Deleting Train in depot with autoreplace failes
This turned out to be due to continue to drag the old vehicle, that autoreplace sold
  This could also be triggered if more than one player used the same company
  Now deleting a vehicle will remove all depot highlights of that vehicle
2006-12-05 22:40:42 +00:00
bjarni ed46b7d380 (svn r7138) -Fix: [vehicle list windows] fixed a rare crash where having some (not all) vehicle list windows open for a player, that goes bankrupt would crash the game
-Codechange: closing all windows for a player will now loop all windows and close those, which got the player as caption instead of having a list of windows to close
2006-11-13 20:33:51 +00:00
bjarni abc14c950a (svn r6792) -Cleanup: improved the English used in STR_VEH_WITH_SHARED_ORDERS_LIST_TIP (jez)
The meaning should remain the same and there is no need to retranslate this string
2006-10-16 21:30:08 +00:00
bjarni eef1d4de7a (svn r6729) -Fix r6707: [build aircraft window] solved a crash when using a grf set with a buildable helicopter with a lower EngineID than the first buildable plane
Also removed a lot of const cast as they mess up the code and didn't help much
2006-10-10 20:11:48 +00:00