Age | Commit message (Collapse) | Author |
|
- New optional landscape generator (TerraGenesis Perlin)
- Load heightmaps (either BMP or PNG)
- Progress dialog while generating worlds (no longer a 'hanging' screen)
- New dialogs for NewGame, Create Scenario and Play Heightmap
- Easier to configure your landscape
- More things to configure (tree-placer, ..)
- Speedup of world generation
- New console command 'restart': restart the map EXACTLY as it was when you
first started it (needs a game made after or with this commit)
- New console command 'getseed': get the seed of your map and share it with
others (of course only works with generated maps)
- Many new, world generation related, things
- Many internal cleanups and rewrites
Many tnx to those people who helped making this:
Belugas, DaleStan, glx, KUDr, RichK67, Rubidium, and TrueLight (alfabetic)
Many tnx to those who helped testing:
Arnau, Bjarni, and tokai (alfabetic)
And to all other people who helped testing and sending comments / bugs
Stats: 673 lines changed, 3534 new lines, 79 new strings
|
|
start. This also fixes a bug where a different resolution is chosen for a maximized window, but it retains the maximized flag. Only win32.
|
|
|
|
scrolling can now use this "scrollwheel" to scroll up/down (ln-)
|
|
|
|
scope, CSE for readability, DeMorgan, if cascades -> switch, whitespace, parentheses, bracing, misc.
|
|
|
|
1000% now also applies to Intel macs
|
|
|
|
different define for the SDL_ACTIVEEVENT SDL_APPMOUSEFOCUS which caused undrawing of the mouse only on losing input-focus. Correctly check for the event state
|
|
the window and Draw it again when it enters).
|
|
this bug was introduced in rev 3670, but when undetected for a long time since it was resolution specific
this is likely the issue with x86 OSX in fullscreen, so I removed the really slow workaround and will clean it up once I get positive feedback from a x86 mac
this means that x86 OSX should now get the 1000% video driver speed boost as well
this fix is written by eglandil
|
|
it again when it enters. Added both for WIN32 and SDL. Since Win95 has troubles with TrackMouseEvent(), this function was just simply rewritten which was the easiest. Based on a patch by DmitryKo.
|
|
ChangeDisplay. On some machines a sizechange messagequeue is handled before sending WM_DISPLAYCHANGE resulting in an improper resolution written to the configuration file when exiting from fullscreen. (Frostregen)
|
|
handle those exceptions
|
|
and added another two to show if the screen buffer fails for some reason in cocoa driver (instead of just crashing)
|
|
(done with #ifdef) since it appeared to crash intel based macs
This fix is not a good solution and might not work, but if it works, it's better than nothing until we get the real solution
|
|
video/cocoa_v.m
|
|
speed it up by 1000% in fullscreen
rewrote QZ_DrawScreen to only redraw dirty rectangles (instead of everything)
This reduce the OpenTTD time spent on this function from 75% to 6,7% (in main menu)
Note: window mode is unaffected by this commit
Note: the mouse pointer can now leave artefacts in debug mode
|
|
win32_v.c. Also ifdef the win32 specific configuration file settings.
|
|
by caching global vars in local vars, the CPU keeps them in registers when looping all pixels on screen
this reduce reading from RAM, which is much slower (Tron wrote this after I detected that those loops used a lot of time)
Note: since the reduced time is waiting for the RAM, the actual CPU usage is not reduced.
This means that it's only detectable while fast forwarding and other situations when OTTD wants to use more than 100% of the CPU time
|
|
|
|
|
|
interface
|
|
macros for endian conversion
This increases the execution speed a lot since GCC can't detect the OTTD macro as an endian conversion
while Apple's code uses the instruction to convert endian instead of a series of instructions to produce the same result
Since we don't have that many endian conversions in the game, overall performance should not increase noteworthy
|
|
|
|
the console (egladil)
|
|
|
|
|
|
window size. Reset the window size to its true size upon exiting when double-size is active. Is set in ClientSizeChanged.
|
|
Add extern to cocoa sound driver.
|
|
target by default
|
|
you can still use SDL drivers if you like and you have to run "make upgradeconf" to start using the cocoa drivers (or manually write WITH_COCOA:=1)
since SDL breaks the cocoa drivers, you can't compile with both SDL and cocoa support
Using cocoa drivers makes it easier to make universal binaries and it solves:
-FS#18 [OSX] SDL is weird in universal binaries
-FS#2 [OSX] lazy pointer crash on exit
-FS#10 [OSX] linking error when linking statically to SDL 1.2.8 (needless to explain this, but it means it should be able to compile statically with the default settings now)
-[ 1215073 ] Switching to large size out of fullscreen crashes
Using SDL drivers will still have those issues though
|
|
|
|
|
|
|
|
a power of 2, for exact semantics see the commment in macros.h
|
|
|
|
|
|
change as parameter, not one beyond the last entry to change
|
|
Instead of trying to start a single driver and bailing out if that fails, try to initialise one by one and use the first one which succeeds.
This should fix problems on machines with no sound card, where -s null had to be specified manually.
|
|
|
|
|
|
|
|
all, if network support ist disabled
|
|
some #ifdefs and #includes for the Windows build
|
|
|
|
|
|
|
|
|