1.12.0 ------ * Redo startlight graphics in SVG * CMake: Switch to the recommended way to link Qt5 * Make the steering more stable * Add a Linux AppData file. * Add 3 new tracks by Wuzzy <almikes@aol.com> * Remove CMake policy CMP0054 setting. * Fix GitHub issue #7: Bad track preview images. * Fix GitHub issue #6: Assertion failure when empty route cleared. * Add 4 new tracks by Wuzzy <almikes@aol.com> * Remove lower bridge rails for now. * Add 'de' to lang options in README. * Add German translation * Track prop. dialog can set user track and name * Fix VBO binding. * Refactor trackselectionmenu.cpp * Implement MCObject's physics properties as a separate component. * Remove useless uniforms from shadow shaders. * Eliminate copy-pasted web site url's. * Improve log messages about translations. * Editor: Improve override cursor logic. * Editor: Remove dead code. * Refactor TrackDataBase. * Update Czech translations. 1.11.0 ------ * Show a red overlay on hard crashes. * Fix unit tests. * Own layer for damage smoke. * Remove misleading comments. * Eliminate copy-paste. * Editor: Fix wrong scale when track given as a CLI argument. * Add body damage system. * Stabilize the steering a bit. * Make difficulty setting affect game speed. * Add difficulty selection. * Refactor settingsmenu.hpp * Refactor steering logic. * Editor: Don't try to open a track if filename is empty. * Use same renderer for all particle batches. * Sparkles as surface particles. * Remove alpha blending from the plant object. * Add screenshots of 1.10.0 * Sort particles in place. * Update web/index.html 1.10.0 ------ * Remove some needless assert's. * Reduce quadratic drag. * Move brake signs a bit further. * Add a chicane to straight.trk and make it shorter. * Move MCGLScene to MCWorldRenderer. * Common base class for all particle renderers. * Refactor particle rendering. * Smaller tree swing amplitude. * Fix cppcheck warnings. * Mud particles as surface particles. * Make it possible to spin. * Take more car colors in to use. * Simple specular effect for the cars. * Fix specular lighting of the tire object. * No leaf particle when colliding with plants. * Higher z for the plant object. * Implement batching and shadows for MCSurfaceParticles. * New-style signal connections in Game. * Lambda slots for show/hide cursor. * Lambda slot for the update timer. * Eliminate magic numbers. * Add MCSurfaceParticleRenderer. * Longer start grid to Suzuka. * Editor: Implement row and col deletion. * Editor: replace some if's with asserts. * Editor: Fit track properly when loading a track. * More sane use of casts. * C++11 way to disable copy ctor's. * Cosmetic changes to tracktile.hpp. * Editor: Implement row and column insertion. * Refactor Config. * Remove unused class TileTypeDialog. * Editor: Use C++11's override specifier. * Editor: Replace private slots with lambdas in EditorView. * Editor: Cosmetic changes to EditorView. * Use add_compile_options() instead of appending CMAKE_CXX_FLAGS. * Render rect particles as quads if not GLES. * Add MCGLRectParticleRenderer. * Show lap time in message area. * Fix a typo. * Remove obsolete images. * Use GLSL's reflect(). * Replace MCException with std::runtime_error. * Use C++11's move semantics in MCBBox and MCBBox3d. * Use C++11's move semantics in MCVector2d and MCVector3d. * Refactor child velocity logic. * Don't set render layer when on bridge. * Render hud after shadows. * Refactor MCSurfaceConfigLoader. * Enable depth test for smoke. * Fix depth test toggling in MCWorldRenderer. * Remove render layers from cars' sub-objects. * Render shadows with depth information. * Update point sizes after resolution change. * Refactor bridge creation. * Fix build with qmake. * Rescue corrupted dev branch. * Set z-offsets for car surfaces. * Add optional z attribute to MCSurface / surface config loader. * Fix exception handling. * Rename textures.conf => surfaces.conf * Add mcvector2d.hh and mcvector3d.hh to CMakeLists.txt * Divide layers into render and collision layers. * Fix depth buffering. * Add option to filter layers to be rendered. * Use C++11 enum class in ResetAction. * Use C++11 enum class in InputHandler. * Use C++11 enum class in Game. * Use C++11 enum class in MTFH::Menu. * Use C++11 enum class for state. * Use C++11 enum class for layers. * Editor: Improve some tile graphics. * Editor: Different colors for brake and brake hard. * Refactor the use of gravity. * Make timing based on frames instead of QTime. * Fix a bug where mouse release outside pressed item caused two items being focused. * Instantly change the virtual resolution between fullscreen modes. 1.9.2 ----- * Fix rendering of the windowed mode. * Fix rendering in other than native resolutions. * Take maximum supported texture size into account. * Remove unused code. * Remove commented code. * QGLFramebufferObject => QOpenGLFramebufferObject. * Add camera location support to MCGLShaderProgram. * Simplify FBO shading. * CMake: Check for polices before setting. * Fix some MSVC compilation warnings. * Improve documentaton in mcglscene.hh * Add getters for eyeZ and viewAngle. 1.9.1 ----- * Set VSync default to 'ON'. * Force QSettings to .INI-format on Windows. * Show game version in the intro screen. * Fix broken OpenGL scene size on virtual desktops. * Make the code compile with MS Visual C++ 2013. * Adjustable object grid size. * Add unit test for sleep prevention. * Add MCWorldTest. * Fix crash when quitting. * Fix multiple bridge issues. * Fix a bug where tire objects couldn't get on a bridge. * Improve bridge graphics. * Improve tile graphics. * Re-license artwork under CC BY-SA. * Enable vsync menu if QT_VERSION >= 5.3.0 * Make shaders able to have pending property changes. * Fix rendering of two-player game. * Darker asphalt tile. * New rotating leaf particles. * Switch to the new QSurface-based graphics stack. * Improve doc of MCSurfaceManager. * Fix MiniCore compatibility with QML. * Fix game.pro * Remove obsolete files. * Not mandatory to give paths to MCAssetManager. * MCObjectTree => MCObjectGrid * Move some MCWorldRenderer methods to private scope. * Update printHelp(). * Add support for QOpenGLFunctions. * Move Particles/* to Graphics/ * Refactor vertex attribute array stuff from MCGLRectParticle to MCGLObjectBase. * Move some default shaders from the game to engine's side. * Refactor vertex attribute array stuff from child classes to MCGLObjectBase. * Add proxy methods to set shaders for texture fonts. * Refactor CMakeLists.txt * Remove option to build for OpenGL 3.0 because shaders are not up-to-date. * Refactor MiniCore file layout. 1.8.3 ----- * Fix bug in child object velocity calculation. * Tune impulse calibration. 1.8.2 ----- * More accurate contact normal calculations. * Fix bridges collision layers. * Add small collision margin. * More accurate distance from veactor calculations. * Improvements to physics regarding angular impulse. * Remove impulse generation loops. * Lighter tire object. * More agile car. * Add slightly more grip. * Fix some object layering issues. * Add suzuka.trk * Refactor layer logic. * Fix some compilation warnings. * Set CXX flags for Clang. * Move font generation from GraphicsFactory to FontFactory. 1.8.1 ----- * Tune car parameters. * Drop support for Qt4. 1.8.0 ----- * Improve target zones of ring.trk * Improvements to twister.trk * Linear filtering for the generated font texture. * Improve positioning of stuck cars. * Remove the crap brightness/contrast functionality. * Texture tuning. * Break after resolving the deepest contact. * Help stuck cars more eagerly. * Rewrite bridge logic. * Make the Dust Racing 2d banner stationary * Completely tire-controlled car. * Improve sky reflection. * Add shader headers to project. * Tune color of the yellow car. * Improve effect when off-track. * Remove redundant message print * Improvements for Visual Studio build. * Add names of static vorbis libs commonly used in Windows * Set cxx flags only if compiler is GNUCXX or MINGW * Fix tires appearing on top of the car on bridge. * Refactor scene.cpp * Refactor MCObject. * Render shadows onto a texture. * Decouple shadow rendering from object rendering. * Remove SlideFrictionGenerator. * Fix website image sizes on mobile. * Rewrite index.html * Refactor gravitational constant. * Optimize texture binding. * Optimize VAO release. * Optimize VBO binding. * Fix installing the game when not built in the source root. Patch by Rémi Verschelde. * Enhancement of the desktop files. Patch by Rémi Verschelde. 1.7.3 ----- * Revert "Optimize VBO, VAO and texture binding." - Caused missing number plate of the first car * Fix MCObject::addTorque() * Remove linear and angular velocity limits. * Add support for positional force. * Fix build with GL30=ON. * Enable build on FreeBSD. 1.7.2 ----- * Log the font texture size. * Add French translations. * Improve computer braking in twister.trk. * Add CONTRIBUTING instructions. * Add screenshots of 1.7.1 1.7.1 ----- * Add missing bridge model for editor. 1.7.0 ----- * Don't show prev/next if on first/last item. * Add twister.trk * Add bridge object. * Remove specular shaders from crate and tire. * Small improvements to render timing. * Move user tracks to the beginning of the track array. * Fix computer driving line in curvastone.trk * Editor: visualize computer hints. * Fix off-track detection on 'sand grass straight' tile. * Optimize VBO, VAO and texture binding. * Add fade out flash transition. * Add turn left and turn right signs. * Update brake.png * Add a new crash sound. * Increase the initial slide friction to 1.0 * Optimize viewport switching. * Optimize the use of GL_DEPTH_TEST. * Add CLI option to force vsync off. * Use random functionality from C++11. * Improve sky reflection. * Add cache for uniform locations. * Update scripts/genericLinuxBuildQt5 1.6.3 ----- * Add specular lighting. * Set race record only if race with computers. * Fix audio threading. * Cars 0 and 1 as pink and grey. * Introduce MCGLMaterial. * Rename master to default when referring to shaders. * Default argument value for MCWorldRenderer::enableDepthTestOnLayer() * Scene-level setters for ambient and diffuse lights. * Remove shadersGLES.h from game.pro * CMake option to statically link vorbis libs. * Move MCGLScene::updateViewProjectionMatrixAndShaders() to private scope. * Add MCGLScene::setFadeValue(). * Use tile.hasAsphalt() instead of listing non-asphalt tiles. * Separate generic Linux build scripts for Qt4 and Qt5. * Remove needless shadersGLES. * Refactor lighting in shaders. * update mxeWindowsBuild. * Update Czech translations. * Move MXE script to scripts/ * Refactor race.cpp. * Refactor car creation into CarFactory. 1.6.2 ----- * Update README and INSTALL. * Fix time trial mode. 1.6.1 ----- * Use colorful cars only in TOP-6. * Updates README. * Update Czech translations. * Add dark red car. * Add dark green car. * Update Italian translations. * Update cs and it source strings. * Add option to set sounds on/off. * Add fallback char for Ä. * Add translations to mxeWindowsBuild. * Use wide strings in credits.cpp. * Add command line option to force language. * Update Finnish translations. * Remove the FPS menu and settings. * Use the vsync setting in Game. * Add VSyncMenu. * Rename 'Key configuration' to 'Controls'. * Update credits menu content. * Move reset settings to a new reset menu. * Move graphics settings to a new GFX menu. * New game loop. * Fix build for OpenGL 3.0 * Refcator car image switching. * Add cyan car. * Add violet car. * Add green car. * Sort tiles before rendering. * Add notion of driver vsync. 1.5.5 ----- * Full screen mode by default. * #ifdef for GL versions in game.cpp * Set version 120 for OpenGL 2.1 shaders. * Remove precision qualifiers from ver 1.00 desktop shaders. 1.5.4 ----- * Remove swap interval setting. * Remove unused variable. * Less dramatic tire wear when off-track. * Remove FPS setting completely. * Add install target for fonts. * Add fallback glyphs. * Add unlimited FPS setting. * Use updateGL to update. * Use the bounding rect version of QPainter::drawText(). * Make text more dense. * Font generator tries to use Ubuntu Mono. * Add Ubuntu Mono fonts to data/fonts. * Switch to wide chars. * Use wchar_t in the font map. * Update AUTHORS. * Add Czech translations for the editor. * Generate game font on-the-fly. * Fix some documentation formatting. * Make createFontFromData a public function. * Cosmetics. * Add message about missing translation. * Add Finnish translations for the editor. * Add Czech translations. * Update qmake project files. * Update Italian translations. * Add Italian translations for the editor. * Add blue car. 1.5.2 ----- * Add script to build and package for Windows on Linux. * Move mxeEnv.sh to scripts/ * Remove unused variable from MCTextureGlyph. * Don't send pit signal twice. * Add scissor tests for split screen modes. * Pass QString as const reference in audio signals. * More quiet skid sound. * Update .gitignore * Shorter audio signal names. * Reset input handler on race start. * Refactor CarSoundEffectManager. * Add skid sound. * Hit sounds. * Less aggressive tire wear on grass. * Remove some crates from curvastone.trk * A bit more acceleration friction. * More realistic kmh values. * Refactor Startlights. * Connect volume change signals. * Play cheering when winner finishes, not the human player. * Add bell sound when checkered flag appears. * Add predefined keys to Settings. * Save lap count. * Add generic value setter/getter to Settings. * Slide a bit more on worn-out tires. * Init race record when new track is set. * Reset tire wear on pit stop. * Blink car status view on pit stop. * Add pit stops. * Make tires wear when turning and accelerating or just braking. * Fix clang warnings. * New background image for settings. * Update Finnish translations. * Translate resolutionmenu.cpp * Fix documentation typos. * MCObjectFactory returns MCObjectPtr's instead of references. * Fix comment format in mcobject.hh * Support for trigger objects. * Cosmetics in MCObject. * Add red car. * Refactors Scene. * Render different positions with different colors. * Save and load race records. * Longer fade out from game. * Smaller font for timing data. * Show race time. * Fix editor crash on object deletion. * Add Italian translations. * Fix turning direction on reverse. * Add dirty cell cache to MCObjectTree. * Rename sound files. * Stop engine sounds after a race. * Update INSTALL. * Set listener location via a signal. * Use pkg_check_modules to find libvorbisfile. * Update qmake project files to link to libopenal and libvorbisfile. * Refactor Scene::updateFrame() * Tune engine sound parameters. * Common base class for OpenALWavData and OpenALOggData. * Update the example debian/rules * Add engine sound for all computers. * Ogg Vorbis support. * Drop dependency to ALUT. * Add sound for each car. * Optimize pitch changes. * LPF the engine sound. * Initial engine sound. * Remove throw()'s from STFH. * Add CarSoundEffectManager. * Add stopSound(), setPitch(), setVolume() to AudioThread. * Add mutex to OpenALSource. * Add engine sound wave. * Load sounds into a map. * Load sounds concurrently with the rest of init. * Use DATA_PATH in AudioThread::loadSounds() * Remove needless STFH::DataManager. * Add menu sounds. * OpenAL implementation of STFH. * Add STFH. * Move glew and glm under contrib/ * Remove deps installation from InstallWindows.cmake * Remove obsolete/ * Remove deps: assume statically linked libs on Windows builds. * Add experimental qmake project files. * Add mxeEnv.sh helper. * Use CMAKE_RC_COMPILER instead of hard-coded windres.exe * Correctly handle particle animation types in MCParticle. * Support varying point size also in GL30 and GLES shaders. * Reduce moment of inertia. * Revisit smoke particle effects. * Update AUTHORS * Fix loop limits in TrackSelectionMenu. * Small refactoring in MCObjectTree. * Set to initial slide friction to 0.90. * Rename some variables according to current naming convention. * Improve smoke particle. * Use smart pointers always when ownership is in question. * New dir layout for source images. * Fix translations on Qt5. 1.4.6 ----- * Option for horizontal split. * Tune sliding parameters. * Remove deprecated sandAreaCurve45*. * Make track selection menu usable with mouse. * Refactor MCSurfaceConfigLoader. * Add blur to star.png * Rework tile graphics. * Remove sandGrassStraight45Female. * Remove glPushAttrib() from StartlightsOverlay. * Rework startlights. * Remove sandAreaCurve45*. Graphics to be added directly to the tile. * Remove unused src images. * Fix artifacts in the textured font. * Fix Help on wide screens. * Rename confusing MCSurface::setScale() to ::setSize(). * Automatically show/hide mouse cursor. * Fade startlights out on GO. * Refactor view splitting. * Support translations via Qt. 1.4.5 ----- * Improve documentation of CMake's options. * Optional DATA_PATH, BIN_PATH and DOC_PATH. 1.4.4 ----- * Fix regression with install paths. * Set cmake policy to the required version. * Ubuntu => USC in CMakelists.txt * Add DEPENDS to runtime targets. * Refactor runtime targets. * Don't set CMAKE_INSTALL_PREFIX in the code. 1.4.3 ----- * Support OpenGL 2.1 by default. * Add custom targets for doc files. * Fix CPack binary paths. * Add install targets for Windows deps. * Add deps for win32. 1.4.2 ----- * Fix computer driving lines in monza.trk * Make the game a bit more challenging. * More sane shader API. * Fix normals. * Normal mapping for cars. * Tune car parameters. * Move ShaderProgram to MiniCore. * Refactor steering. * Improve steering stability. * Updates triangle.trk. * Updates rock.png. * No contrast setting for the grandstand. * Add some crates to straight.trk. * Fix batched rendering of surface shadows. * Collision detection for MCCircleShape. * Refactor MCCollisionDetector. * Remove unused variable from MCCircleShape. * Fix the contrast algorithm. * Less aggressive off track message. * Update INSTALL. * Move install stuff to InstallLinux.cmake and InstallWindows.cmake. 1.4.1 ----- * Display a message when off track. * Refactor on-display messaging. * Android compatibility improvements. * GLES compatibility improvements. * Simplify texture and program binding. * Add MC_NO_GLEW define to allow compilation without GLEW. * Drop dependency to QGLWidget in MCSurfaceManager. * Add missing virtual destructor body to MCGravityGenerator. * Move common GL stuff into MCGLObjectBase. * Move aboutdlg.* to obsolete/ * Remove useless variable. * Remove useless includes. * Fix CPack on out-of-source builds. * Load shaders from source code. * Multitextured sand. * Support third texture. * Update curvastone.trk * Update monza.trk * Editor: Object rotation can be set randomly. * Add bushArea object. * Tires wear out when off track. * Track locking and best positions per lap count. * Menus remember saved values. * Add a generic quit item (X) to menus. * Show cursor with --show-cursor. * Menu items can be selected with a mouse. * Don't try to swap buffers if not enabled. * Fix app shutdown on Windows. 1.3.1 ----- * Log the game version on startup. * Fix point particles on OpenGL older than 3.3 * Fix crashing shaders on OpenGL 3.3 1.3.0 ----- * Include Qt version in CPack package names. * Point sprite skid marks. * Fix Z-buffering of grandstands. * Set brightness and contrast in the surface config. * Refactor MCSurfaceMetaData. * Mud particles as MCGLRectParticles. * Soften grandstand.png. * Off-track smoke. * Fix zero glPointSize(). * Optimize batch rendering. * Rename pCamera to camera. * Add constructor for ActionMapping. * Renames m_vba => m_vao. * Optimize texture and VAO usage. * Adds starting grid to all race tracks. * Refactors rendering stuff out from MCWorld to MCWorldRenderer. * Adds ring.trk * Fix unlocking of new race tracks. * Fix performance issues due to faulty texture scaling. * Increase smoke timeout. * Scale particle point size with resolution. * GL_DYNAMIC_DRAW hint for particles. * Font improvements. * High contrast graphics. * Proper batching for point sprites. * Fix crash with OpenGL 3.3 * Remove obsolete keyword maxGlyphsPerRow. 1.2.2 ----- * Tune car parameters. * Fix track unlocking. * Add 3 and 5 to lap count selection. * CMake: Use target_link_libraries for MiniCore. * CMake: Support for CPack. * Fix build on Windows. 1.2.1 ----- * Swap buffers only when renderer is enabled. * Add 1 lap to lap count selection. * Fine tune the font. * Editor: Delete objects after they have been removed from the scene. Patch by Markus Rinne. * Refactor StateMachine. * Use Qt signal and lambda to exit game from menu. * CMake: Print message about used Qt version. * Move Scene::translateCarsToStartPositions() to Race:: * Simplify menu texts. * Removes useless QApplication::setGraphicsSystem("opengl") * Removes dead code. * Editor: The New Track Dialog validates entered values. * Editor: Add shortcuts for undo and redo. * Editor: Add Undo. Patch by Markus Rinne. * Remove lap count property from race tracks. * Add lap count menu. * Add sandAreaCurve45 and sandAreaCurve45Right. * Editor: Handle objects before target nodes. * Correctly fade alpha. * Adds sandAreaBig object. * Adds sandAreaCurve object. * Even smaller cars. * Smaller turning impulse. * More off-track friction. * Simplifies the texture font system and config. * Separate resolution menus for windowed and full screen. * Refactor main.cpp * Resolution scaling. * Remove obsolete OpenGL stuff from MCGLScene. * Remove obsolete OpenGL stuff from MCGLScene. * Editor: Add flood fill. Patch by Markus Rinne. * Prepare the project for Qt5. * Refactors Startlights. * More variance to computer speeds. * Full screen by default. * Add a comment about moment of intertia. * Refactors StateMachine. * Updates packaging. * Editor: Refactors mouse event handling in EditorView. * Generate desktop files only if ReleaseBuild defined. * Adds home site url to the Help page. * Refactors the number plate generation to GraphicsFactory. 1.0.2 ----- * Fixes install targets. * Adds support for USC. * Make sure the first track is always unlocked. * Updates packaging. 1.0.1 ----- * Unlock the first race track. * Generate desktop files only on Linux. * CMake: Output binaries to CMAKE_BINARY_DIR instead of CMAKE_SOURCE_DIR. * Limit the power to 200 kW. 1.0.0 ----- * Updates curvastone.trk. * Updates infinity.trk. * Updates triangle.trk. * Removes irritating.trk (it was too irritating). * Improves the lighting model. * Improves the game dynamics. * Support for mesh objects. * Removes MCSurfaceConfigLoader::setConfigPath(). * Adds cube.obj * Moves MCObject::hasShadow() to MCShapeView. * Configurable keys. * Refactors SettingsMenu::SettingsMenu() * Show all stars when best pos is 1. * Removes demo.trk and circle.trk as they are crap. * Less acceleration friction. * Friction limits acceleration. * Updates the car svg's. * Adds documentation to TrackObjectFactory. * Transparent background for the new application icons. * Rename Track Editor to Level Editor in dustrac-editor.desktop * Sets fixed limit to lateral friction. * Adds clamp() and clampFast() to MCVector2d and MCVector3d. 0.16.0 ------ * Fixes typo in surfaces.conf * New grandstand texture. * Refactors object creation in TrackLoader. * Updates the help text. * Correct shape radius for the plant object. * Removes h.trk. * Fixes loading of locked tracks. * Replaces square.trk with demo.trk. * Finish in TOP-6 to unlock a new race track. * Start pos will be the best pos of the current race track. * Increase car count to 12. * Generate number plates on-the-fly. * Refactors MCSurface. * Updates INSTALL. * New application icons. * Adds curvastone.trk. * Adds new resolutions to the Resolutions menu. * Editor: Automatically select the most recently added object. * Editor: Re-order toolbar icons. * Editor: Allow even larger target nodes. * Editor: Show open file name in the window title. * Updates index.html 0.15.0 ------ * Improves the startlight animation. * Resizeable target nodes. * Editor: Make TargetNodes darker. * Editor: Adds grassEditor.png * Editor: Rename computer hints. * Remove 15 and 45 fps from the FPS menu. * Correct layer for leaf particles. * Adds menu.vsh * Removes MCSurface::renderScaled(). * Calculate color in the vertex shader. * Kill particles when the world is cleared. * The next starting pos will be the previous best pos. * Refactors Race. * Updates triagle.trk * Reduce braking friction. * Moves stuck cars onto the previous check point. * Show a message box error if OpenGL to old. * Updates monza.trk * More realistic friction. * New rock texture. * Small particle optimizations. * Adds skid marks. * Decrease the max number of particles. * Lazy release the active shader program. * Simplify particle alpha. * Refactors MCSurface. * Force OpenGL core profile 3.0 * Upgrades shaders to version 1.30. * Fixes asphalt boundaries. * Updates the example debian packaging. 0.14.0 ------ * Adds sky reflection. * Updates square.trk * Fixes grandstand shadows. 0.13.0 ------ * Refactors EventHandler to use an action map. * Adds (L/R)SHIFT and (L/R)CTRL as alternative keys. * Editor: Fixes clear tile action. * Editor: Fixes a crash when clicking on empty track. * Adds StateMachine::isFading(). * Configurable fps. * Revert "Use full screen mode as the default." * Fixes game logic on different game modes. * Adds Time Trial and Duel menu items. * Adds index.html * Adds screenshots of 0.12.0 0.12.0 ------ * Use full screen mode as the default. * Kill particles that are not visible. * Don't render checkered flag on two player race. * Makes smoke faster. * Change the color of blue car to grey. * Input handling for player two. * TimingOverlay for both players. * Correctly update TreeView. * Recreate cars again for each race. * Moves OffTrackDetectors from Scene to Race. * Renames car images. * Refactors Scene::Scene(). * Don't kill particles that are outside the view. * Correctly setup and render cameras. * Refactors Car::render(). * Improves the documentation of Car::collisionEvent(). * Adds leaf particles. * New sparkle particle. * Adds 'About Qt' menu action. * Moves MCWorld from Physics/ to Core/ * Removes some useless MCSurface::bindTexture()'s * Refactors particle stuff to ParticleManager. * Remove some banners from circle.trk * Dynamically remove and restore sleeping objects from integration. * Change the project name to DustRacing2D in CMakeLists.txt. * Updates Help with controls for player 2. * Adds support for permanently selected items. * Use C++11 lambdas in SettingsMenu. * Adds game mode menu. * Adds MenuItem::setMenuOpenAction(). * Split-screen support. * Refactors MCGLScene. * Removes unused destructor. * Log info about GLEW and check failure on initialization error. * Render grass by using multitexturing. * Pass sin and cos to shaders. * Adds tile.png * Removes private implementation from MCSurfaceManager. * Removes unused images. * New grass and sand textures. * Adds a message text to ConfirmationMenu. * Makes trees darker. * Makes asphalt darker. * Windows-specific tweaks to CMakeList.txt's 0.11.1 ------ * Adds zip output to the archive script. * Use GLEW to improve portability. * Use shared_ptr in MCForceRegistry. * Cosmetic changes in Menu. * Updates license texts with Dust Racing 2D. * Cosmetic changes in MenuItem. * Use shared_ptr in Scene. * Renames AiLogic to AI. * Removes a useless QTimer include. * Replaces the explicit shader getters with a single getter and hash. * Merges Renderer and MainWindow. * Separates the menu toolkit from the game sources. * Adds example packaging for Ubuntu/Debian. * Adds screenshots of 0.11.0 * Fixes game pause. 0.11.0 ------ * Take window aspect ratio in the account. * Adds resolution menu. 0.10.0 ------ * New static checkered flag. * Adds checkeredFlag.png * Fixes compilation warnings on GCC 4.7. * Increase restitution of the tire object. * Refactors MCWorld. * New broad phase algorithm. * Editor: Also a right-click on object makes it selected. * Editor: Objects can be properly added on top of other objects. * Moves MathUtil::SIGN to public scope. * Removes some plants from square.trk. * Updades circle.trk. * Removes some plants from monza.trk. * Removes some plants from irritating.trk. * Removes some plants from h.trk. * Removes some plants from triangle.trk. * Editor: Objects can be deleted under target nodes. * New trees and plants. * Makes plants stationary. * Updates monza.trk. * New smoother event loop. * Adds Dust Racing 2D banner. * Build object batches based on typeID. * Batch support for MCSurfaceParticle. 0.9.0 ----- * Removes obsolete glEnable(GL_TEXTURE_2D) calls. * Adds type identifiers for particles. * Improves rendering performance. * Removes irritating rocks from irritating.trk. * Lowers the linear and angular sleep limits to 0.01. * New rock texture. * Adds grandstand objects. * Eliminate copy-paste initializations in MCObject. * Eliminate copy-paste initializations in MCSurface. * Editor: Arrow keys can be used to move objects. * Adds screenshots of 0.8.1 * Fixes a bug in the computer power scaling. * Improves messages. * Editor: Adds a tip about saving to ~/DustRacingTracks. * Makes the game a bit faster and harder. * Adds simple ambient lighting. * Adds car number plates. 0.8.1 ----- * Correctly reset QSettings. 0.8.0 ----- * Adds functionality to the Settings menu. * Editor: Makes object rotation incremental. * Adds SurfaceMenu base class for game menus. * Removes TODO as it's obsolete. * Finishing in TOP-5 unlocks the next race track. * Use std::stable_sort in TrackLoader. * Disable wrapping around in TrackSelectionMenu. * Sets indices to the default race tracks. * Adds an arrow to the finish line preview tile. * Updates the Help menu. * Loads the unlock statuses of race tracks. * Adds a new track circle.trk * Refactors menu creation. * Refines the intro. * Improves the smoke effect. * Particle performance improvements. * Adds MessageOverlay. * Updates the credits menu. * Fixes turning on reverse. * Also 'B' brakes. * Moves all scattered QSettings related stuff to Settings. * Editor: Open the "save as" dialog when saving (CTRL+S) the first time. * Fixes the scaling of startLightGlow. * Adds stars to track selection menu. * Adds star.svg and star.png * Save and load best positions. * Adds index-based track ordering. * Show time as mm:ss.zz * Refactors TimingOverlay. * Adds error handling for shader loading. 0.7.3 ----- * Use the same image file for credits and help menus. * Makes the race track data format a bit more compact. * Refactors event handling to EventHandler. * Fixes invalid categories in the desktop files. * Don't install under /opt by default. 0.7.2 ----- * Don't set CMAKE_INSTALL_PREFIX in CMakeLists.txt * Batch support for MCSurfaceParticle. 0.7.1 ----- * Moves curves.trk to obsolete/ * Adds documentation to MCWorld::buildBatches(). * Removes obsolete test.trk * Set the object also sleeping if it's stationary. * Ignore collisions between sleeping objects. * Refactors TrackLoader. * Adds triangle.trk * Refactors rendering functions in MCWorld. * Adds a missing vector include in editordata.hpp. * Don't bind program if already bound. * Cosmetic changes to MCVector2d and MCVector3d. * Adds irritating.trk * Refactors event handling in Renderer. * Pressing P pauses the game. * CMake: find_package() checks for Qt modules. Set CMake version to >= 2.8.7. * CC license changed from by to by-nc. 0.7.0 ----- * Refactors track rendering. * New asphalt engine. * Refactors the menu classes. * Adds Intro. * Adds transition animations between the menu and the game. * Adds new background images for the menu. 0.6.1 ----- * Adds documentation to shaderprogram.hpp * Render sparkles as points. * Adds mud particle. * New smoke. * Moves wall.hpp and wall.cpp to obsolete/ 0.6.0 ----- * Fixes SF#3546834: OffTrackDetector doesn't work correctly on some tiles. * Menu reacts on key press events, not key release events. * Menu::done() returns true, if stack is empty. * Adds Credits menu. * Adds Help menu. * Removes needless headers from mainmenu.cpp * Take linefeed into account in MCTextureText. * Updates README. * Show timing as 'hh:mm:ss.zz' * New track straight.trk * Moves woods.trk to obsolete/ * Makes the wall wall object longer. * Adds CMake install targets. * Makes some MCObject's methods non-virtual. 0.5.0 ----- * Adds the main menu. * Don't reset motion when adding object to the world. * Dedicated friction generator for off-track conditions. * Fixes SF#3547742: Some of the cars have a wrong orientation on the start grid. * Fixes SF#3547321: Pressing ESC while playing should take the game back to the main menu. * Fixes unit tests. 0.4.0 ----- * Default lap count 5 for all tracks. * Render all objects by using GLSL shaders. * Renames basePath to baseImagePath in texture config. * Adds shader support to MCShapeView. * Improves the engine directory layout. * Render text using shaders. * MCSurface renders with shaders only. * Adds MCGLShaderProgram and ShaderProgram. * Render the track by using GLSL shaders. * Removes animation from tiles. * Slide more. * Don't take typeId into account in MCObjectTree. * Optimize collision detection of stationary objects. * Don't set text color if not needed. * Removes private class from MCTextureText. * Fixes some compilation warnings. * Adds infinity.trk 0.3.2 ----- * Sets MCWorld::metersPerPixel earlier. * Search tracks also in ~/DustRacingTracks * Longer delay before fade out. * Disable only acceleration when the race is over. * Adds black and orange cars. * Moves data/images/raw to src/images. * Renames dustrac to dustrac-game and editor to dustrac-editor. * Makes the starting grid shorter. 0.3.1 ----- * Updates monza.trk. * The game returns back to the main menu after a race. * Makes the checkered flag smaller. * Adds a plant object. * Freeze laps time when player has finished. * Disables car controls when race has finished. * Displays 'winner finished' text when the race is over. * Render MCGLRectParticle by using triangles instead of a quad. * Render MCSurface by using triangles instead of a quad. * Scales down the front tire texture. * Friction adjustments. * Use a simpler friction approach for stability (and more fun). * Adds a rock object. 0.3.0 ----- * Updates TODO. * Draw the first checkpoint in white. * Adds TrackSelectionMenu. * Fixes some compilation warnings. * Introduces more variance to the computer players. * Use Car::Description instead of constants in anonymous namespace. * Free-hand routes. * Editor: Refactors Object creation to ObjectFactory. * Renames ObjectData => ObjectModel, ObjectLoader => ObjectModelLoader. * Fixes incorrect object dimensions when loading a track into the editor. * Makes wall stationary, heavier tire objects. * Braking spot hints. * Adds monza.trk * Increases slide friction. * Track number of active particles. * Don't update particle alpha on every frame. * Batch support for MCSurfaceView. * Simple batching of views. * Reduce the displayed precision of timing. * Refactors and optimizes MCTextureText. * NVIDIA-specific optimizations for VBO's. * Fixes compilation with -DMC_USE_DOUBLE. * Refactors TimingOverlay. * MCTextureText renders VBO's. * Adds MCSurface::setTexCoords(). * A bit taller trees. * Physics improvements. * Optimizations when rendering the same surface multiple times. * Integer calculations in tree views. * Don't test stationary objects against stationary objects. * Enable depth tests for trees. * Refactors MCSurface. * Removes obsolete glColor4f()-calls. * Removes debug code from MCRectShape. * Track renders by using MCSurface instead of custom render. * TreeView to use MCSurface instead of custom render. * MCGLRectParticle uses VBO's. * MCSurface uses VBO's. * Updates AUTHORS. * New track woods.trk. * Rotation support for all objects in editor and in the game. * Removes obsolete test.trk * Log OpenGL version. * Lap records are saved and loaded. * Refactors TimingOverlay. * Removes the obsolete analog speedometer. 0.2.2 ----- * Updates TODO. * Bigger start light glow. * OpenGL call lists for multiple objects. * Impulsegenerator improvements. * Handle only one deepest contact at a time. * Refactors MCObject properties. * Fixes Z-buffering. * Refactors MCWorld::setDimensions(). * Adds missing include to mcrandom.cc * Less powerful cars. * Tunes steering so that it depends of speed. * Editor bug fixes. * Makes curves.trk longer. * Misleading "set track properties" => "set lap count". * Hor and ver size of the track can be enlarged separately. * Hor/Ver driving line hints. * Adds drag force to cars. * New km/h speed scaling. * Set higher possible max speed for Car. * Digital speedometer. 0.2.1 ----- * Changes MCLogger into a stream-based logger. - Fixes crashes on some platforms due to portability * issues with va_list. * Only one update timer. * Updates README. * Performance improvements by removing pimpl from the engine. 0.2.0 ----- * Refactors MCWorld. * Collision improvements. * Vertical initial positions. * Object drag'n'drop. * Updates README. * Private class for MCTextureText. * Refactors TimingOverlay. * About dialog for editor. * Erase action. * Parameter tuning. * Improves friction policy when off-track. * Build binaries to the root of the source tree. * Use rectangular objects as the world "walls". * Physics improvements: friction, position resolving, KMS. * Updates CentrifugalForceGenerator. * Makes rendering of track smoother. * Separates scene and screen resolutions. * Adds MCGLScene. * Fade in animation using a fragment shader. * Adds the main state machine. * Set the data path in the main CMakeLists.txt. 0.1-alpha4 ---------- * Adds CHANGELOG. * Lap count can be set in the editor for each track. * Updates README. * Implementation class for MCVectorAnimation. * Refactors Track. * Adds a CMake target for runtime files. * Updates TODO. * Update impulses only on integrate. * Parameter tuning. * Change the order of scene update and render. * More power for reverse. Bug fixes related to reverse. * Refactors wall.cpp. * Disable culling after rendering walls. * Four pixels bigger car. * Separates position resolving and impulse generation. * Support for "sleeping" objects. * Simpler frame update timing. * Mechanism to send MCTimerEvent's. * Adds MCTimerEvent. * Disables mouse cursor. * Updates INSTALL. * Adds missing sand.png. 0.1-alpha3 ---------- * Use QWidget instead of QMainWindow. Also fixes rendering on Windows. * Refactors Car controlling. * Adds Car::Description. * Support for ten cars. * Don't spawn sparkles at low speeds. * New graphics: sand. * Updates graphics: asphalt. * Updates archive.sh -- Jussi Lind <jussi.lind@iki.fi>