# HG changeset patch # User unc0rr # Date 1201294070 0 # Node ID 40fc0deb388ffcdbcb4c91a32280ee70f182ce7a # Parent 69f1dc50a1faddf1a52080600a3f4771bedd45c1 Start conversion to OpenGL rendering diff -r 69f1dc50a1fa -r 40fc0deb388f QTfrontend/game.cpp --- a/QTfrontend/game.cpp Tue Jan 22 17:18:58 2008 +0000 +++ b/QTfrontend/game.cpp Fri Jan 25 20:47:50 2008 +0000 @@ -251,7 +251,7 @@ arguments << cfgdir->absolutePath(); arguments << QString::number(resolution.width()); arguments << QString::number(resolution.height()); - arguments << QString::number(config->bitDepth()); // bpp + arguments << "16";//QString::number(config->bitDepth()); // bpp arguments << QString("%1").arg(ipc_port); arguments << (config->vid_Fullscreen() ? "1" : "0"); arguments << (config->isSoundEnabled() ? "1" : "0"); diff -r 69f1dc50a1fa -r 40fc0deb388f hedgewars.kdevelop --- a/hedgewars.kdevelop Tue Jan 22 17:18:58 2008 +0000 +++ b/hedgewars.kdevelop Fri Jan 25 20:47:50 2008 +0000 @@ -56,7 +56,354 @@ *.inc *.dpr - + + _CPack_Packages + _CPack_Packages/FreeBSD-Source + _CPack_Packages/FreeBSD-Source/TGZ + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2 + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/KB.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/SDLs.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/SDLs.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/SquareLabel.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/SquareLabel.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/about.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/about.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/binds.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/binds.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/chatwidget.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/chatwidget.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/fpsedit.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/fpsedit.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/frameTeam.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/frameTeam.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/game.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/game.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/gamecfgwidget.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/gamecfgwidget.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/gameuiconfig.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/gameuiconfig.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/hedgehogerWidget.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/hedgehogerWidget.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/hwconsts.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/hwform.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/hwform.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/hwmap.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/hwmap.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/input_ip.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/input_ip.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/itemNum.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/itemNum.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/main.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/mapContainer.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/mapContainer.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/netconnectedclient.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/netconnectedclient.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/netregister.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/netregister.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/netserver.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/netserver.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/netserverslist.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/netserverslist.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/netudpserver.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/netudpserver.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/netudpwidget.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/netudpwidget.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/netwwwserver.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/netwwwserver.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/netwwwwidget.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/netwwwwidget.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/newnetclient.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/newnetclient.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/pages.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/pages.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/playrecordpage.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/playrecordpage.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/predefteams.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/proto.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/proto.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/sdlkeys.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/selectWeapon.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/selectWeapon.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/tcpBase.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/tcpBase.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/team.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/team.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/teamselect.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/teamselect.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/teamselhelper.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/teamselhelper.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/ui_hwform.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/ui_hwform.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/vertScrollArea.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/vertScrollArea.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/weaponItem.cpp + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/QTfrontend/weaponItem.h + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/bin + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/bin/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars/CCHandlers.inc + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars/GSHandlers.inc + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars/HHHandlers.inc + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars/SDLh.pas + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars/SinTable.inc + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars/hwengine.dpr + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars/options.inc + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars/tunsetborder.inc + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars/uAI.pas + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars/uAIActions.pas + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars/uAIAmmoTests.pas + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars/uAIMisc.pas + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars/uAmmos.pas + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars/uCollisions.pas + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars/uConsole.pas + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars/uConsts.pas + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars/uFloat.pas + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars/uGame.pas + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars/uGears.pas + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars/uIO.pas + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars/uKeys.pas + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars/uLand.pas + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars/uLandGraphics.pas + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars/uLandObjects.pas + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars/uLandTemplates.pas + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars/uLocale.pas + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars/uMisc.pas + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars/uRandom.pas + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars/uSHA.pas + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars/uSound.pas + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars/uStore.pas + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars/uTeams.pas + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars/uTriggers.pas + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/hedgewars/uWorld.pas + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Fonts + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Fonts/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Forts + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Forts/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Graphics + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Graphics/AmmoMenu + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Graphics/AmmoMenu/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Graphics/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Graphics/Graves + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Graphics/Graves/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Locale + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Locale/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Maps + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Maps/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Maps/Volcano + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Maps/Volcano/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Maps/cheese + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Maps/cheese/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Maps/mushrooms + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Maps/mushrooms/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Music + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Music/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Sounds + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Sounds/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/Volcano + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/Volcano/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/avematan + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/avematan/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/bubbles + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/bubbles/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/cheese + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/cheese/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/norsk + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/norsk/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/steel + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/steel/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/tibet + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/tibet/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/wood + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/wood/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/xtheme + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/xtheme/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Trainings + _CPack_Packages/FreeBSD-Source/TGZ/hedgewars-src-0.9.2/share/hedgewars/Data/Trainings/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TZ + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2 + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/KB.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/SDLs.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/SDLs.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/SquareLabel.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/SquareLabel.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/about.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/about.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/binds.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/binds.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/chatwidget.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/chatwidget.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/fpsedit.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/fpsedit.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/frameTeam.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/frameTeam.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/game.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/game.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/gamecfgwidget.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/gamecfgwidget.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/gameuiconfig.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/gameuiconfig.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/hedgehogerWidget.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/hedgehogerWidget.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/hwconsts.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/hwform.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/hwform.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/hwmap.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/hwmap.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/input_ip.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/input_ip.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/itemNum.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/itemNum.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/main.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/mapContainer.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/mapContainer.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/netconnectedclient.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/netconnectedclient.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/netregister.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/netregister.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/netserver.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/netserver.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/netserverslist.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/netserverslist.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/netudpserver.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/netudpserver.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/netudpwidget.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/netudpwidget.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/netwwwserver.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/netwwwserver.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/netwwwwidget.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/netwwwwidget.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/newnetclient.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/newnetclient.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/pages.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/pages.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/playrecordpage.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/playrecordpage.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/predefteams.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/proto.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/proto.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/sdlkeys.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/selectWeapon.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/selectWeapon.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/tcpBase.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/tcpBase.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/team.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/team.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/teamselect.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/teamselect.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/teamselhelper.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/teamselhelper.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/ui_hwform.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/ui_hwform.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/vertScrollArea.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/vertScrollArea.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/weaponItem.cpp + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/QTfrontend/weaponItem.h + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/bin + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/bin/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars/CCHandlers.inc + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars/GSHandlers.inc + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars/HHHandlers.inc + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars/SDLh.pas + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars/SinTable.inc + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars/hwengine.dpr + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars/options.inc + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars/tunsetborder.inc + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars/uAI.pas + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars/uAIActions.pas + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars/uAIAmmoTests.pas + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars/uAIMisc.pas + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars/uAmmos.pas + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars/uCollisions.pas + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars/uConsole.pas + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars/uConsts.pas + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars/uFloat.pas + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars/uGame.pas + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars/uGears.pas + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars/uIO.pas + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars/uKeys.pas + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars/uLand.pas + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars/uLandGraphics.pas + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars/uLandObjects.pas + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars/uLandTemplates.pas + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars/uLocale.pas + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars/uMisc.pas + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars/uRandom.pas + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars/uSHA.pas + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars/uSound.pas + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars/uStore.pas + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars/uTeams.pas + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars/uTriggers.pas + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/hedgewars/uWorld.pas + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Fonts + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Fonts/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Forts + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Forts/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Graphics + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Graphics/AmmoMenu + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Graphics/AmmoMenu/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Graphics/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Graphics/Graves + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Graphics/Graves/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Locale + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Locale/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Maps + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Maps/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Maps/Volcano + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Maps/Volcano/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Maps/cheese + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Maps/cheese/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Maps/mushrooms + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Maps/mushrooms/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Music + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Music/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Sounds + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Sounds/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/Volcano + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/Volcano/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/avematan + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/avematan/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/bubbles + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/bubbles/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/cheese + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/cheese/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/norsk + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/norsk/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/steel + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/steel/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/tibet + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/tibet/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/wood + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/wood/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/xtheme + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Themes/xtheme/CMakeLists.txt + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Trainings + _CPack_Packages/FreeBSD-Source/TZ/hedgewars-src-0.9.2/share/hedgewars/Data/Trainings/CMakeLists.txt + diff -r 69f1dc50a1fa -r 40fc0deb388f hedgewars/CCHandlers.inc --- a/hedgewars/CCHandlers.inc Tue Jan 22 17:18:58 2008 +0000 +++ b/hedgewars/CCHandlers.inc Fri Jan 25 20:47:50 2008 +0000 @@ -425,12 +425,16 @@ if Length(s) = 0 then cFullScreen:= not cFullScreen else cFullScreen:= s = '1'; -flags:= SDL_HWSURFACE or SDL_DOUBLEBUF or SDL_HWACCEL; +SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); + +flags:= SDL_OPENGL; if cFullScreen then flags:= flags or SDL_FULLSCREEN else SDL_WM_SetCaption('Hedgewars', nil); SDL_FreeSurface(SDLPrimSurface); SDLPrimSurface:= SDL_SetVideoMode(cScreenWidth, cScreenHeight, cBits, flags); +SetupOpenGL(); + {$IFDEF DEBUGFILE} AddFileLog('SDL video driver: ' + string(SDL_VideoDriverName(buf, sizeof(buf)))); {$ENDIF} diff -r 69f1dc50a1fa -r 40fc0deb388f hedgewars/SDLh.pas --- a/hedgewars/SDLh.pas Tue Jan 22 17:18:58 2008 +0000 +++ b/hedgewars/SDLh.pas Fri Jan 25 20:47:50 2008 +0000 @@ -18,6 +18,7 @@ unit SDLh; interface + {$IFDEF LINUX} {$DEFINE UNIX} {$ENDIF} @@ -61,6 +62,9 @@ SDL_INIT_VIDEO = $00000020; SDL_INIT_AUDIO = $00000010; + + SDL_GL_DOUBLEBUFFER = 5; + SDL_OPENGL = 2; type PSDL_Rect = ^TSDL_Rect; TSDL_Rect = record @@ -241,6 +245,9 @@ function SDL_LockMutex(mutex: PSDL_mutex): LongInt; cdecl; external SDLLibName name 'SDL_mutexP'; function SDL_UnlockMutex(mutex: PSDL_mutex): LongInt; cdecl; external SDLLibName name 'SDL_mutexV'; +function SDL_GL_SetAttribute(attr: byte; value: LongInt): LongInt; cdecl; external SDLLibName; +procedure SDL_GL_SwapBuffers(); cdecl; external SDLLibName; + (* TTF *) const {$IFDEF WIN32} diff -r 69f1dc50a1fa -r 40fc0deb388f hedgewars/hwengine.dpr --- a/hedgewars/hwengine.dpr Tue Jan 22 17:18:58 2008 +0000 +++ b/hedgewars/hwengine.dpr Fri Jan 25 20:47:50 2008 +0000 @@ -23,6 +23,7 @@ program hwengine; uses SDLh, + GL, uConsts in 'uConsts.pas', uGame in 'uGame.pas', uMisc in 'uMisc.pas', @@ -100,20 +101,23 @@ end; gsGame : begin ProcessKbd; + glClear(GL_COLOR_BUFFER_BIT); DoGameTick(Lag); DrawWorld(Lag, SDLPrimSurface); end; gsConsole: begin DoGameTick(Lag); - DrawWorld(Lag, SDLPrimSurface); - DrawConsole(SDLPrimSurface); + glClear(GL_COLOR_BUFFER_BIT); +// DrawWorld(Lag, SDLPrimSurface); +// DrawConsole(SDLPrimSurface); end; gsExit : begin OnDestroy; end; end; -SDL_Flip(SDLPrimSurface); +//SDL_Flip(SDLPrimSurface); +SDL_GL_SwapBuffers(); if flagMakeCapture then begin flagMakeCapture:= false; @@ -230,6 +234,7 @@ WriteToConsole('Init SDL... '); SDLTry(SDL_Init(SDL_INIT_VIDEO) >= 0, true); WriteLnToConsole(msgOK); + SDL_EnableUNICODE(1); WriteToConsole('Init SDL_ttf... '); diff -r 69f1dc50a1fa -r 40fc0deb388f hedgewars/uLand.pas --- a/hedgewars/uLand.pas Tue Jan 22 17:18:58 2008 +0000 +++ b/hedgewars/uLand.pas Fri Jan 25 20:47:50 2008 +0000 @@ -18,13 +18,14 @@ unit uLand; interface -uses SDLh, uLandTemplates, uFloat; +uses SDLh, uLandTemplates, uFloat, GL; {$include options.inc} type TLandArray = packed array[0..1023, 0..2047] of LongWord; TPreview = packed array[0..127, 0..31] of byte; var Land: TLandArray; LandSurface: PSDL_Surface; + LandTexture: GLuint; procedure GenMap; function GenPreview: TPreview; @@ -514,13 +515,13 @@ AddProgress; with PixelFormat^ do - tmpsurf:= SDL_CreateRGBSurface(SDL_HWSURFACE, 2048, 1024, BitsPerPixel, RMask, GMask, BMask, AMask); + tmpsurf:= SDL_CreateRGBSurface(SDL_SWSURFACE, 2048, 1024, 32, $FF, $FF00, $FF0000, 0); TryDo(tmpsurf <> nil, 'Error creating pre-land surface', true); ColorizeLand(tmpsurf); AddProgress; AddBorder(tmpsurf); with PixelFormat^ do - LandSurface:= SDL_CreateRGBSurface(SDL_HWSURFACE, 2048, 1024, BitsPerPixel, RMask, GMask, BMask, AMask); + LandSurface:= SDL_CreateRGBSurface(SDL_SWSURFACE, 2048, 1024, 32, $FF, $FF00, $FF0000, 0); TryDo(LandSurface <> nil, 'Error creating land surface', true); SDL_FillRect(LandSurface, nil, 0); AddProgress; @@ -529,6 +530,7 @@ AddObjects(tmpsurf, LandSurface); SDL_FreeSurface(tmpsurf); +LandTexture:= Surface2Tex(LandSurface); AddProgress end; @@ -539,7 +541,7 @@ TryDo(TeamsCount = 2, 'More or less than 2 teams on map in forts mode!', true); with PixelFormat^ do - LandSurface:= SDL_CreateRGBSurface(SDL_HWSURFACE, 2048, 1024, BitsPerPixel, RMask, GMask, BMask, AMask); + LandSurface:= SDL_CreateRGBSurface(SDL_HWSURFACE, 2048, 1024, 32, RMask, GMask, BMask, AMask); SDL_FillRect(LandSurface, nil, 0); tmpsurf:= LoadImage(Pathz[ptForts] + '/' + TeamsArray[0]^.FortName + 'L', false, true, true); diff -r 69f1dc50a1fa -r 40fc0deb388f hedgewars/uMisc.pas --- a/hedgewars/uMisc.pas Tue Jan 22 17:18:58 2008 +0000 +++ b/hedgewars/uMisc.pas Fri Jan 25 20:47:50 2008 +0000 @@ -18,7 +18,7 @@ unit uMisc; interface -uses uConsts, SDLh, uFloat; +uses uConsts, SDLh, uFloat, GL; {$INCLUDE options.inc} var isCursorVisible : boolean = false; isTerminated : boolean = false; @@ -115,7 +115,8 @@ procedure SendKB; procedure SetLittle(var r: hwFloat); procedure SendStat(sit: TStatInfoType; s: shortstring); -function Str2PChar(const s: shortstring): PChar; +function Str2PChar(const s: shortstring): PChar; +function Surface2Tex(surf: PSDL_Surface): GLuint; var CursorPoint: TPoint; TargetPoint: TPoint = (X: NoPointX; Y: 0); @@ -253,6 +254,30 @@ RectToStr:= '(x: ' + inttostr(rect.x) + '; y: ' + inttostr(rect.y) + '; w: ' + inttostr(rect.w) + '; h: ' + inttostr(rect.h) + ')' end; +function Surface2Tex(surf: PSDL_Surface): GLuint; +var mode: LongInt; + texId: GLuint; +begin +if (surf^.format^.BytesPerPixel = 3) then mode:= GL_RGB else +if (surf^.format^.BytesPerPixel = 4) then mode:= GL_RGBA else + begin + TryDo(false, 'Surface2Tex: BytePerPixel not in [3, 4]', true); + Surface2Tex:= 0; + exit + end; + +glGenTextures(1, @texId); + +glBindTexture(GL_TEXTURE_2D, texId); + +glTexImage2D(GL_TEXTURE_2D, 0, mode, surf^.w, surf^.h, 0, mode, GL_UNSIGNED_BYTE, surf^.pixels); + +glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST); +glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR); + +Surface2Tex:= texId +end; + var i: LongInt; {$ENDIF} diff -r 69f1dc50a1fa -r 40fc0deb388f hedgewars/uStore.pas --- a/hedgewars/uStore.pas Tue Jan 22 17:18:58 2008 +0000 +++ b/hedgewars/uStore.pas Fri Jan 25 20:47:50 2008 +0000 @@ -38,13 +38,14 @@ procedure AddProgress; procedure FinishProgress; function LoadImage(const filename: string; hasAlpha, critical, setTransparent: boolean): PSDL_Surface; +procedure SetupOpenGL; var PixelFormat: PSDL_PixelFormat; SDLPrimSurface: PSDL_Surface; PauseSurface: PSDL_Surface; implementation -uses uMisc, uConsole, uLand, uLocale; +uses uMisc, uConsole, uLand, uLocale, GL, GLU; var HHSurface: PSDL_Surface; @@ -206,6 +207,8 @@ 3: cSkyColor:= (p^[0]) or (p^[1] shl 8) or (p^[2] shl 16); 4: cSkyColor:= PLongword(p)^; end; + glClearColor((cSkyColor shr 16) / 255, ((cSkyColor shr 8) and $FF) / 255, (cSkyColor and $FF) / 255, 0); + if SDL_MustLock(SpritesData[sprSky].Surface) then SDL_UnlockSurface(SpritesData[sprSky].Surface) end; @@ -360,7 +363,29 @@ procedure DrawLand(X, Y: LongInt; Surface: PSDL_Surface); const r: TSDL_Rect = (x: 0; y: 0; w: 2048; h: 1024); begin -DrawFromRect(X, Y, @r, LandSurface, Surface) +glBindTexture(GL_TEXTURE_2D, LandTexture); +glEnable(GL_TEXTURE_2D); + + glBegin(GL_QUADS); + + // top left + glTexCoord2f(0, 0); + glVertex2f(0, 0); + + // top right + glTexCoord2f(1, 0); + glVertex2f(1, 0); + + // bottom right + glTexCoord2f(1, 1); + glVertex2f(1, 1); + + // bottom left + glTexCoord2f(0, 1); + glVertex2f(0, 1); + + glEnd(); +//DrawFromRect(X, Y, @r, LandSurface, Surface) end; procedure DrawCentered(X, Top: LongInt; Source, Surface: PSDL_Surface); @@ -416,7 +441,7 @@ function LoadImage(const filename: string; hasAlpha: boolean; critical, setTransparent: boolean): PSDL_Surface; var tmpsurf: PSDL_Surface; - Result: PSDL_Surface; + //Result: PSDL_Surface; s: shortstring; begin WriteToConsole(msgLoading + filename + '... '); @@ -437,11 +462,26 @@ end; if setTransparent then TryDo(SDL_SetColorKey(tmpsurf, SDL_SRCCOLORKEY or SDL_RLEACCEL, 0) = 0, errmsgTransparentSet, true); -if hasAlpha then Result:= SDL_DisplayFormatAlpha(tmpsurf) - else Result:= SDL_DisplayFormat(tmpsurf); +//if hasAlpha then Result:= SDL_DisplayFormatAlpha(tmpsurf) +// else Result:= SDL_DisplayFormat(tmpsurf); {$IFDEF DEBUGFILE}WriteLnToConsole('(' + inttostr(tmpsurf^.w) + ',' + inttostr(tmpsurf^.h) + ') ');{$ENDIF} WriteLnToConsole(msgOK); -LoadImage:= Result +LoadImage:= tmpsurf//Result +end; + +procedure SetupOpenGL; +var aspect: real; +begin +aspect:= cScreenWidth / cScreenHeight; + +glViewport(0, 0, cScreenWidth, cScreenHeight); + +//glMatrixMode(GL_PROJECTION); +//glLoadIdentity(); + +//gluPerspective(60.0, aspect, 0.1, 100.0); + +glMatrixMode(GL_MODELVIEW) end; //////////////////////////////////////////////////////////////////////////////// diff -r 69f1dc50a1fa -r 40fc0deb388f hedgewars/uWorld.pas --- a/hedgewars/uWorld.pas Tue Jan 22 17:18:58 2008 +0000 +++ b/hedgewars/uWorld.pas Fri Jan 25 20:47:50 2008 +0000 @@ -179,16 +179,16 @@ r.x:= 0; r.y:= 0; r.w:= cScreenWidth; - SDL_FillRect(Surface, @r, cSkyColor) +// SDL_FillRect(Surface, @r, cSkyColor) end; // background -DrawRepeated(sprSky, WorldDx * 3 div 8); -DrawRepeated(sprHorizont, WorldDx * 3 div 5); +//DrawRepeated(sprSky, WorldDx * 3 div 8); +//DrawRepeated(sprHorizont, WorldDx * 3 div 5); // Waves {$WARNINGS OFF} -for i:= -1 to cWaterSprCount do DrawSprite(sprWater, i * 256 + ((WorldDx + (RealTicks shr 6) ) and $FF), cWaterLine + WorldDy - 64, 0, Surface); -for i:= -1 to cWaterSprCount do DrawSprite(sprWater, i * 256 + ((WorldDx - (RealTicks shr 6) + 192) and $FF), cWaterLine + WorldDy - 48, 0, Surface); +//for i:= -1 to cWaterSprCount do DrawSprite(sprWater, i * 256 + ((WorldDx + (RealTicks shr 6) ) and $FF), cWaterLine + WorldDy - 64, 0, Surface); +//for i:= -1 to cWaterSprCount do DrawSprite(sprWater, i * 256 + ((WorldDx - (RealTicks shr 6) + 192) and $FF), cWaterLine + WorldDy - 48, 0, Surface); {$WARNINGS ON} DrawLand(WorldDx, WorldDy, Surface); @@ -200,16 +200,16 @@ r.h:= cScreenHeight - r.y; r.x:= 0; r.w:= cScreenWidth; - SDL_FillRect(Surface, @r, cWaterColor) +// SDL_FillRect(Surface, @r, cWaterColor) end; -DrawGears(Surface); +//DrawGears(Surface); // Waves {$WARNINGS OFF} -for i:= -1 to cWaterSprCount do DrawSprite(sprWater, i * 256 + ((WorldDx + (RealTicks shr 6) + 64) and $FF), cWaterLine + WorldDy - 32, 0, Surface); -for i:= -1 to cWaterSprCount do DrawSprite(sprWater, i * 256 + ((WorldDx - (RealTicks shr 6) + 128) and $FF), cWaterLine + WorldDy - 16, 0, Surface); -for i:= -1 to cWaterSprCount do DrawSprite(sprWater, i * 256 + ((WorldDx + (RealTicks shr 6) ) and $FF), cWaterLine + WorldDy , 0, Surface); +//for i:= -1 to cWaterSprCount do DrawSprite(sprWater, i * 256 + ((WorldDx + (RealTicks shr 6) + 64) and $FF), cWaterLine + WorldDy - 32, 0, Surface); +//for i:= -1 to cWaterSprCount do DrawSprite(sprWater, i * 256 + ((WorldDx - (RealTicks shr 6) + 128) and $FF), cWaterLine + WorldDy - 16, 0, Surface); +//for i:= -1 to cWaterSprCount do DrawSprite(sprWater, i * 256 + ((WorldDx + (RealTicks shr 6) ) and $FF), cWaterLine + WorldDy , 0, Surface); {$WARNINGS ON} // Turn time @@ -219,14 +219,14 @@ if i>99 then t:= 112 else if i>9 then t:= 96 else t:= 80; - DrawSprite(sprFrame, t, cScreenHeight - 48, 1, Surface); +// DrawSprite(sprFrame, t, cScreenHeight - 48, 1, Surface); while i > 0 do begin dec(t, 32); DrawSprite(sprBigDigit, t, cScreenHeight - 48, i mod 10, Surface); i:= i div 10 end; - DrawSprite(sprFrame, t - 4, cScreenHeight - 48, 0, Surface); +// DrawSprite(sprFrame, t - 4, cScreenHeight - 48, 0, Surface); end; // Attack bar @@ -244,14 +244,14 @@ tdx:= hwSign(Gear^.dX) * Sin(Gear^.Angle * Pi / cMaxAngle); tdy:= - Cos(Gear^.Angle * Pi / cMaxAngle); for i:= (Gear^.Power * 24) div cPowerDivisor downto 0 do - DrawSprite(sprPower, hwRound(Gear^.X) + system.round(WorldDx + tdx * (24 + i * 2)) - 16, - hwRound(Gear^.Y) + system.round(WorldDy + tdy * (24 + i * 2)) - 12, - i, Surface) +// DrawSprite(sprPower, hwRound(Gear^.X) + system.round(WorldDx + tdx * (24 + i * 2)) - 16, +// hwRound(Gear^.Y) + system.round(WorldDy + tdy * (24 + i * 2)) - 12, +// i, Surface) end end; // Target -if TargetPoint.X <> NoPointX then DrawSprite(sprTargetP, TargetPoint.X + WorldDx - 16, TargetPoint.Y + WorldDy - 16, 0, Surface); +//if TargetPoint.X <> NoPointX then DrawSprite(sprTargetP, TargetPoint.X + WorldDx - 16, TargetPoint.Y + WorldDy - 16, 0, Surface); // Captions i:= 8; @@ -259,7 +259,7 @@ with Captions[grp] do if Surf <> nil then begin - DrawCentered(cScreenWidth div 2, i + cConsoleYAdd, Surf, Surface); +// DrawCentered(cScreenWidth div 2, i + cConsoleYAdd, Surf, Surface); inc(i, Surf^.h + 2); if EndTime <= RealTicks then begin @@ -277,30 +277,30 @@ r.y:= DrawHealthY; r.w:= NameTag^.w; r.h:= NameTag^.h; - SDL_UpperBlit(NameTag, nil, Surface, @r); +// SDL_UpperBlit(NameTag, nil, Surface, @r); r.x:= 0; r.y:= 0; r.w:= 2 + TeamHealthBarWidth; r.h:= HealthSurf^.h; - DrawFromRect(cScreenWidth div 2, - DrawHealthY, - @r, HealthSurf, Surface); +// DrawFromRect(cScreenWidth div 2, +// DrawHealthY, +// @r, HealthSurf, Surface); inc(r.x, cTeamHealthWidth + 2); r.w:= 3; - DrawFromRect(cScreenWidth div 2 + TeamHealthBarWidth + 2, - DrawHealthY, - @r, HealthSurf, Surface); +// DrawFromRect(cScreenWidth div 2 + TeamHealthBarWidth + 2, +// DrawHealthY, +// @r, HealthSurf, Surface); end; // Lag alert -if isInLag then DrawSprite(sprLag, 32, 32 + cConsoleYAdd, (RealTicks shr 7) mod 12, Surface); +//if isInLag then DrawSprite(sprLag, 32, 32 + cConsoleYAdd, (RealTicks shr 7) mod 12, Surface); // Wind bar -DrawSprite(sprWindBar, cScreenWidth - 180, cScreenHeight - 30, 0, Surface); +//DrawSprite(sprWindBar, cScreenWidth - 180, cScreenHeight - 30, 0, Surface); if WindBarWidth > 0 then begin {$WARNINGS OFF} @@ -309,7 +309,7 @@ r.y:= 0; r.w:= WindBarWidth; r.h:= 13; - DrawSpriteFromRect(sprWindR, r, cScreenWidth - 103, cScreenHeight - 28, 13, 0, Surface); +// DrawSpriteFromRect(sprWindR, r, cScreenWidth - 103, cScreenHeight - 28, 13, 0, Surface); end else if WindBarWidth < 0 then begin @@ -319,11 +319,11 @@ r.y:= 0; r.w:= - WindBarWidth; r.h:= 13; - DrawSpriteFromRect(sprWindL, r, cScreenWidth - 106 + WindBarWidth, cScreenHeight - 28, 13, 0, Surface); +// DrawSpriteFromRect(sprWindL, r, cScreenWidth - 106 + WindBarWidth, cScreenHeight - 28, 13, 0, Surface); end; // AmmoMenu -if (AMxCurr < cScreenWidth) or bShowAmmoMenu then ShowAmmoMenu(Surface); +//if (AMxCurr < cScreenWidth) or bShowAmmoMenu then ShowAmmoMenu(Surface); // Cursor if isCursorVisible then @@ -335,18 +335,18 @@ i:= Ammo^[CurSlot, CurAmmo].Pos; with Ammoz[Ammo^[CurSlot, CurAmmo].AmmoType] do if PosCount > 1 then - DrawSprite(PosSprite, CursorPoint.X - SpritesData[PosSprite].Width div 2, - CursorPoint.Y - SpritesData[PosSprite].Height div 2, - i, Surface); +// DrawSprite(PosSprite, CursorPoint.X - SpritesData[PosSprite].Width div 2, +// CursorPoint.Y - SpritesData[PosSprite].Height div 2, +// i, Surface); end; - DrawSprite(sprArrow, CursorPoint.X, CursorPoint.Y, (RealTicks shr 6) mod 8, Surface) +// DrawSprite(sprArrow, CursorPoint.X, CursorPoint.Y, (RealTicks shr 6) mod 8, Surface) end; {$IFDEF COUNTTICKS} -DXOutText(10, 10, fnt16, inttostr(cntTicks), Surface); +//DXOutText(10, 10, fnt16, inttostr(cntTicks), Surface); {$ENDIF} -if isPaused then DrawCentered(cScreenWidth div 2, cScreenHeight div 2, PauseSurface, Surface); +//if isPaused then DrawCentered(cScreenWidth div 2, cScreenHeight div 2, PauseSurface, Surface); inc(Frames); if cShowFPS then @@ -363,7 +363,7 @@ end; r.x:= cScreenWidth - 50; r.y:= 10; - SDL_UpperBlit(fpsSurface, nil, Surface, @r) +// SDL_UpperBlit(fpsSurface, nil, Surface, @r) end; inc(SoundTimerTicks, Lag);