From d4dda2323a66d57446d0e41403f8a3fb676306d2 Mon Sep 17 00:00:00 2001 From: per Date: Sun, 17 Nov 2013 14:29:28 +0100 Subject: [PATCH 01/18] Update Readme by removing out of date information regarding command-line options. Refer instead to wiki and --help option. Closes ticket:4104 --- doc/Readme.en | 71 +++------------------------------------------------ 1 file changed, 4 insertions(+), 67 deletions(-) diff --git a/doc/Readme.en b/doc/Readme.en index ea6c7fcfb..1c843223e 100644 --- a/doc/Readme.en +++ b/doc/Readme.en @@ -298,80 +298,17 @@ width=640 3.3 Command-line options ------------------------ -Additionally to the configuration-file Warzone 2100 can be started with dif- -ferent options and arguments. +Additionally to the configuration-file Warzone 2100 can be started with different +options and arguments. For a list of these options, run the game with the +--help option. Notes: These options all have two dashes (--), not one dash only (-). Trying to use the options with one dash only will not work. The game will display a notice when trying to use invalid command-line options. Arguments that need paths need them in the form they are used on the operating system. ---fullscreen - Starts the game in fullscreen-mode. - ---window - Starts the game in windowed mode. - ---resolution WIDTHxHEIGHT - Sets the resolution Warzone 2100 will use; usable for fullscreen mode and - windowed mode. - ---shadows - Enables shadows. - ---noshadows - Disables shadows. - ---sound - Enables sound. - ---nosound - Disables sound. - ---datadir path - Sets the data-directory to the path specified. - ---configdir path - Sets the configuration-directory to the path specified. - ---savegame name - Loads a saved game. - ---cheat - Enables the usage of cheats and debug-keys, see cheats and debug-keys. - ---help - Outputs a help message and exits; only useful when run from command-line. - ---debug option - Shows debug information; option can be any of the following: all, main, - sound, video, wz, 3d, texture, net, memory, error, script. If you want - more than one option, you will have to use another --debug. The option - "all" contains every other option. - ---debugfile file - Directs debug output to the specified file. - ---version - Outputs the Warzone 2100 version and exits. - ---mod_ca mod-file - Enables the specified campaign mod. You have to specify the full name of - the mod-file. - ---mod_mp mod-file - Enables the specified multiplayer mod. You have to specify the full name - of the mod-file. - ---mod mod-file - Enables the specified mod globally - for campaign and multiplayer. You - have to specify the full name of the mod-file. Global mods are only - useful when things are changed that affect both, campaign and multi- - player. - - Note: Some options have corresponding entries in the configuration-file and will -persist from one start of Warzone 2100 to the next. For example starting the +persist from one start of Warzone 2100 to the next. For example, starting the game with --nosound only once will silence it as long as you do not start it with --sound or change the corresponding value in the configuration file. Fur- ther information on command-line options can be found at the Wiki of the War- From f0bb142e4540a0325e75676123154bcd5cf8a227 Mon Sep 17 00:00:00 2001 From: per Date: Sun, 17 Nov 2013 15:18:46 +0100 Subject: [PATCH 02/18] Add workaround for null pointer reference bug on recycling in factory. Closes ticket:4035. --- src/hci.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/hci.cpp b/src/hci.cpp index 0cf447301..dfcbe066d 100644 --- a/src/hci.cpp +++ b/src/hci.cpp @@ -2355,7 +2355,7 @@ static void intProcessObject(UDWORD id) { statButID = id; } - if (psObj->selected) + if (psObj && psObj->selected) { psObj->selected = false; widgSetButtonState(psWScreen, statButID, 0); @@ -2484,6 +2484,7 @@ static void intProcessObject(UDWORD id) { /* Find the object that the stats ID refers to */ psObj = intGetObject(id); + ASSERT_OR_RETURN(, psObj, "Missing referred to object id %u", id); intResetWindows(psObj); From 143c5dafff0705d9791437a2d023e03e1a945327 Mon Sep 17 00:00:00 2001 From: per Date: Sun, 17 Nov 2013 16:02:07 +0100 Subject: [PATCH 03/18] Reinitialize AI data and player names each time frontend is reloaded. This closes ticket:3994. --- lib/netplay/netplay.cpp | 1 + src/init.cpp | 6 +++--- src/multiint.cpp | 1 + 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/netplay/netplay.cpp b/lib/netplay/netplay.cpp index b363c8a8f..609f83219 100644 --- a/lib/netplay/netplay.cpp +++ b/lib/netplay/netplay.cpp @@ -328,6 +328,7 @@ void NET_InitPlayers() for (i = 0; i < MAX_CONNECTED_PLAYERS; ++i) { NET_InitPlayer(i, true); + NetPlay.players[i].name[0] = '\0'; NETinitQueue(NETnetQueue(i)); } NETinitQueue(NETbroadcastQueue()); diff --git a/src/init.cpp b/src/init.cpp index 9438cb278..5cb690c83 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -602,8 +602,6 @@ bool systemInitialise(void) iV_Reset(); // Reset the IV library. - readAIs(); - return true; } @@ -699,13 +697,15 @@ init_ObjectDead( void * psObj ) bool frontendInitialise(const char *ResourceFile) { - debug(LOG_MAIN, "Initialising frontend : %s", ResourceFile); + debug(LOG_WZ, "== Initializing frontend == : %s", ResourceFile); if(!InitialiseGlobals()) // Initialise all globals and statics everywhere. { return false; } + readAIs(); + iV_Reset(); // Reset the IV library. if (!scrTabInitialise()) // Initialise the script system diff --git a/src/multiint.cpp b/src/multiint.cpp index a3757aea8..5658723bb 100644 --- a/src/multiint.cpp +++ b/src/multiint.cpp @@ -217,6 +217,7 @@ static const int difficultyValue[] = { 1, 10, 15, 20 }; struct AIDATA { + AIDATA() : assigned(0) {} char name[MAX_LEN_AI_NAME]; char slo[MAX_LEN_AI_NAME]; char vlo[MAX_LEN_AI_NAME]; From feafcad20ccdc5795755d4839860e98ef3bacd06 Mon Sep 17 00:00:00 2001 From: cybersphinx Date: Sun, 17 Nov 2013 16:26:37 +0100 Subject: [PATCH 04/18] Hungarian translation update by mtomi78. Closes #4112. --- po/hu.po | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/po/hu.po b/po/hu.po index 2fc75089b..d5ece0a97 100644 --- a/po/hu.po +++ b/po/hu.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Warzone 2100\n" "Report-Msgid-Bugs-To: warzone2100-project@lists.sourceforge.net\n" -"POT-Creation-Date: 2013-11-16 03:55+0100\n" +"POT-Creation-Date: 2013-11-04 14:36+0100\n" "PO-Revision-Date: 2023-11-14 20:18+0100\n" "Last-Translator: Kálmán „KAMI” Szalai \n" "Language-Team: Magyar (Hungary) \n" @@ -11887,11 +11887,11 @@ msgstr "Helyi rendszer" #: lib/ivis_opengl/screen.cpp:187 msgid "OpenGL GLSL shader version 1.20 is not supported by your system. Some things may look wrong. Please upgrade your graphics driver/hardware, if possible." -msgstr "OpenGL 2.0-t nem támogatja a te rendszered. Néhány dolgot rossznak látok. Kérlek frissítsd fel a drivert vagy hardware videokártyád, ha ez lehetséges." +msgstr "OpenGL GLSL 1.20árnyékolási verziót nem támogatja a te rendszered. Néhány dolgot rossznak látok. Kérlek frissítsd fel a drivert vagy hardware videokártyád, ha ez lehetséges." #: lib/ivis_opengl/screen.cpp:193 msgid "OpenGL 1.2 + VBO + TEC is not supported by your system. The game requires this. Please upgrade your graphics drivers/hardware, if possible." -msgstr "OpenGL 1.4 nem támogatja a rendszered. A játéknak szüksége van rá. Kérlek frissítsd fel a drivert vagy hardware videokártyád, ha ez lehetséges." +msgstr "OpenGL 1.2 + VBO + TEC használatát nem támogatja a rendszered. A játéknak szüksége van rá. Kérlek frissítsd fel a drivert vagy hardware videokártyád, ha ez lehetséges." #: lib/netplay/netplay.cpp:218 #: lib/netplay/netplay.cpp:1118 @@ -11902,16 +11902,14 @@ msgstr "Jelszó begépelés" msgid "" "Your router doesn't support UPnP, you must manually configure your router & firewall to\n" "open port 2100 before you can host a game." -msgstr "" -"A routered nem támogatja az UPnP-t, és kézzel kell konfigurálni a routered & tűzfalad \n" +msgstr "A routered nem támogatja az UPnP-t, és kézzel kell konfigurálni a routered & tűzfalad \n" "nyisd a 2100 portot mielőtt csatalkozol távoli játékhoz." #: lib/netplay/netplay.cpp:998 msgid "" "No UPnP device was found. You must manually configure your router & firewall to\n" "open port 2100 before you can host a game." -msgstr "" -"UPnP eszköz nem található, és kézzel kell konfigurálni a routered & tűzfalad \n" +msgstr "UPnP eszköz nem található, és kézzel kell konfigurálni a routered & tűzfalad \n" "nyisd a 2100 portot mielőtt csatalkozol távoli játékhoz." #: lib/netplay/netplay.cpp:1026 @@ -11923,8 +11921,7 @@ msgstr "Nem lehet feloldani a mester szerver nevét (%s)!" msgid "" "You must manually configure your router & firewall to\n" " open port 2100 before you can host a game." -msgstr "" -"Kézzel konfigurálhatod a routered & tűzfalad \n" +msgstr "Kézzel konfigurálhatod a routered & tűzfalad \n" "nyisd a 2100 portot mielőtt csatalkozol távoli játékhoz." #: lib/netplay/netplay.cpp:1040 @@ -11932,8 +11929,7 @@ msgstr "" msgid "" "Game configured port (%s) correctly on (%s)\n" "Your external IP is %s" -msgstr "" -"Játék konfigurált port (%s) korrigálva (%s)\n" +msgstr "Játék konfigurált port (%) korrigálva (%s)\n" "Külső IP elérhetőséged %s" #: lib/netplay/netplay.cpp:2175 @@ -11948,7 +11944,10 @@ msgid "" "Make sure port %d can receive incoming connections.\n" "If you're using a router configure it to use UPnP\n" " or to forward the port to your system." -msgstr "Hibás kapcsolódás a lobbi szerverhez: %s. Készíts megfelelő portot %d ahová beérkezik a bejövő kapcsolat. Ha rutert konfigurálod haszlnáld UPnP, vagy további portokat a rendszeredhez." +msgstr "Hibás kapcsolódás a lobbi szerverhez: %s.\n" +"Készíts megfelelő portot %d ahová beérkezik a bejövő kapcsolat.\n" +"Ha routert konfigurálod haszlnáld UPnP\n" +", vagy további portokat a rendszeredhez." #: lib/netplay/netplay.cpp:2870 msgid "Failed to get a lobby response!" @@ -12499,7 +12498,7 @@ msgstr "FŐ MENÜ" #: src/frontend.cpp:117 #, fuzzy msgid "Official site: http://wz2100.net/" -msgstr "Látogass el a hivatalos oldalra: http://wz2100.net" +msgstr "Látogass el a hivatalos oldalra: http://wz2100.net/" #: src/frontend.cpp:187 msgid "Fast Play" @@ -13085,11 +13084,11 @@ msgstr "--> KILÉPÉS <--" #: src/ingameop.cpp:512 msgid "Save Campaign Game" -msgstr "Új küldetés" +msgstr "Új küldetés mentése" #: src/ingameop.cpp:516 msgid "Save Skirmish Game" -msgstr "Csata indítása" +msgstr "Csata indítás mentése" #: src/init.cpp:422 #, c-format @@ -14085,7 +14084,7 @@ msgstr "Mentett játék betöltése" msgid "GAME SAVED :" msgstr "JÁTÉK MENTVE:" -#: src/move.cpp:2290 +#: src/move.cpp:2284 #, c-format msgid "You found %u power in an oil drum." msgstr "%u energiát találtál egy olajkúton." @@ -14482,11 +14481,11 @@ msgstr "Kapcsolódás a kiszolgáló szerverhez..." #: src/multiint.cpp:2992 #, c-format msgid "*** password [%s] is now required! ***" -msgstr "*** jelszót [%s] kötelező. ***" +msgstr "*** jelszót [%s] kötelező! ***" #: src/multiint.cpp:2998 msgid "*** password is NOT required! ***" -msgstr " *** jelszó NEM kötelező. ***" +msgstr " *** jelszó NEM kötelező! ***" #: src/multiint.cpp:3058 msgid "Sorry! Failed to host the game." @@ -15537,3 +15536,4 @@ msgstr "Verzió %s%s%s%s" #~ msgid "Python Tank Killer Tracks" #~ msgstr "Piton Tank ölő" + From ea8e66a9e386c61e0917ac6af5f28d87553236c6 Mon Sep 17 00:00:00 2001 From: cybersphinx Date: Sun, 17 Nov 2013 17:09:58 +0100 Subject: [PATCH 05/18] Fix Hungarian translation. Refs #4112. --- po/hu.po | 356 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 180 insertions(+), 176 deletions(-) diff --git a/po/hu.po b/po/hu.po index d5ece0a97..504ef6411 100644 --- a/po/hu.po +++ b/po/hu.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Warzone 2100\n" "Report-Msgid-Bugs-To: warzone2100-project@lists.sourceforge.net\n" -"POT-Creation-Date: 2013-11-04 14:36+0100\n" +"POT-Creation-Date: 2013-11-17 16:23+0100\n" "PO-Revision-Date: 2023-11-14 20:18+0100\n" "Last-Translator: Kálmán „KAMI” Szalai \n" "Language-Team: Magyar (Hungary) \n" @@ -11894,62 +11894,67 @@ msgid "OpenGL 1.2 + VBO + TEC is not supported by your system. The game requires msgstr "OpenGL 1.2 + VBO + TEC használatát nem támogatja a rendszered. A játéknak szüksége van rá. Kérlek frissítsd fel a drivert vagy hardware videokártyád, ha ez lehetséges." #: lib/netplay/netplay.cpp:218 -#: lib/netplay/netplay.cpp:1118 +#: lib/netplay/netplay.cpp:1119 msgid "Enter password here" msgstr "Jelszó begépelés" -#: lib/netplay/netplay.cpp:984 +#: lib/netplay/netplay.cpp:985 msgid "" "Your router doesn't support UPnP, you must manually configure your router & firewall to\n" "open port 2100 before you can host a game." -msgstr "A routered nem támogatja az UPnP-t, és kézzel kell konfigurálni a routered & tűzfalad \n" +msgstr "" +"A routered nem támogatja az UPnP-t, és kézzel kell konfigurálni a routered & tűzfalad \n" "nyisd a 2100 portot mielőtt csatalkozol távoli játékhoz." -#: lib/netplay/netplay.cpp:998 +#: lib/netplay/netplay.cpp:999 msgid "" "No UPnP device was found. You must manually configure your router & firewall to\n" "open port 2100 before you can host a game." -msgstr "UPnP eszköz nem található, és kézzel kell konfigurálni a routered & tűzfalad \n" +msgstr "" +"UPnP eszköz nem található, és kézzel kell konfigurálni a routered & tűzfalad \n" "nyisd a 2100 portot mielőtt csatalkozol távoli játékhoz." -#: lib/netplay/netplay.cpp:1026 +#: lib/netplay/netplay.cpp:1027 #, fuzzy, c-format msgid "Could not open require port (%s) on (%s)" msgstr "Nem lehet feloldani a mester szerver nevét (%s)!" -#: lib/netplay/netplay.cpp:1030 +#: lib/netplay/netplay.cpp:1031 msgid "" "You must manually configure your router & firewall to\n" " open port 2100 before you can host a game." -msgstr "Kézzel konfigurálhatod a routered & tűzfalad \n" +msgstr "" +"Kézzel konfigurálhatod a routered & tűzfalad \n" "nyisd a 2100 portot mielőtt csatalkozol távoli játékhoz." -#: lib/netplay/netplay.cpp:1040 +#: lib/netplay/netplay.cpp:1041 #, c-format msgid "" "Game configured port (%s) correctly on (%s)\n" "Your external IP is %s" -msgstr "Játék konfigurált port (%) korrigálva (%s)\n" +msgstr "" +"Játék konfigurált port (%s) korrigálva (%s)\n" "Külső IP elérhetőséged %s" -#: lib/netplay/netplay.cpp:2175 +#: lib/netplay/netplay.cpp:2176 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "Nem lehet feloldani a mester szerver nevét (%s)!" -#: lib/netplay/netplay.cpp:2197 +#: lib/netplay/netplay.cpp:2198 #, c-format msgid "" "Error connecting to the lobby server: %s.\n" "Make sure port %d can receive incoming connections.\n" "If you're using a router configure it to use UPnP\n" " or to forward the port to your system." -msgstr "Hibás kapcsolódás a lobbi szerverhez: %s.\n" -"Készíts megfelelő portot %d ahová beérkezik a bejövő kapcsolat.\n" +msgstr "" +"Hibás kapcsolódás a lobbi szerverhez: %s.\n" +"Készíts megfelelő portot %d ahová beérkezik a bejövő kapcsolat.\n" "Ha routert konfigurálod haszlnáld UPnP\n" ", vagy további portokat a rendszeredhez." -#: lib/netplay/netplay.cpp:2870 +#: lib/netplay/netplay.cpp:2871 msgid "Failed to get a lobby response!" msgstr "Képtelenség, hogy kapjon egy támogatói választ!" @@ -12001,10 +12006,10 @@ msgstr "Stratégiai játék" #: src/challenge.cpp:222 #: src/hci.cpp:915 -#: src/hci.cpp:3378 -#: src/hci.cpp:3501 -#: src/hci.cpp:3937 -#: src/hci.cpp:4971 +#: src/hci.cpp:3379 +#: src/hci.cpp:3502 +#: src/hci.cpp:3938 +#: src/hci.cpp:4972 #: src/intelmap.cpp:530 #: src/intorder.cpp:727 #: src/loadsave.cpp:250 @@ -12329,12 +12334,12 @@ msgid "Water Speed" msgstr "Sebesség vizen" #: src/design.cpp:2003 -#: src/hci.cpp:4994 +#: src/hci.cpp:4995 msgid "Tab Scroll left" msgstr "Tab görgetés balra" #: src/design.cpp:2018 -#: src/hci.cpp:5009 +#: src/hci.cpp:5010 msgid "Tab Scroll right" msgstr "Tab görgetés jobbra" @@ -12359,7 +12364,7 @@ msgid "Player dropped" msgstr "Játékos kiszállt" #: src/display3d.cpp:666 -#: src/multiint.cpp:2374 +#: src/multiint.cpp:2375 msgid "Waiting for other players" msgstr "Várakozás további játékosra" @@ -12479,7 +12484,7 @@ msgid "Tutorial" msgstr "Gyakorlás" #: src/frontend.cpp:111 -#: src/hci.cpp:3487 +#: src/hci.cpp:3488 msgid "Options" msgstr "Beállítások" @@ -12578,7 +12583,7 @@ msgid "TCP port 2100 must be opened in your firewall or router to host games!" msgstr "TCP 2100 port megnyitotta a tűzfalad vagy routered a távoli játékokhoz!" #: src/frontend.cpp:464 -#: src/multiint.cpp:1482 +#: src/multiint.cpp:1483 msgid "OPTIONS" msgstr "BEÁLLÍTÁSOK" @@ -12864,7 +12869,7 @@ msgid "GAME OPTIONS" msgstr "JÁTÉK OPCIÓK" #: src/frontend.cpp:1482 -#: src/multiint.cpp:2643 +#: src/multiint.cpp:2644 msgid "Mod: " msgstr "Mód:" @@ -12898,144 +12903,144 @@ msgstr "%u csalt (hibakeresés menü), egy új droidja lett: %s." msgid "Player %u is cheating (debug menu) him/herself a new droid." msgstr "%u csalt (hibakeresés menü), egy új droidja lett." -#: src/hci.cpp:3298 +#: src/hci.cpp:3299 msgid "Commanders (F6)" msgstr "Parancsnokok (F6)" -#: src/hci.cpp:3311 +#: src/hci.cpp:3312 msgid "Intelligence Display (F5)" msgstr "Inteligens kijelző (F5)" -#: src/hci.cpp:3324 +#: src/hci.cpp:3325 msgid "Manufacture (F1)" msgstr "Gyártás (F1)" -#: src/hci.cpp:3337 +#: src/hci.cpp:3338 msgid "Design (F4)" msgstr "Tervezés (F4)" -#: src/hci.cpp:3350 +#: src/hci.cpp:3351 msgid "Research (F2)" msgstr "Kutatás (F2)" -#: src/hci.cpp:3363 +#: src/hci.cpp:3364 msgid "Build (F3)" msgstr "Építés (F3)" -#: src/hci.cpp:3434 -#: src/multiint.cpp:1588 +#: src/hci.cpp:3435 +#: src/multiint.cpp:1589 #: src/multimenu.cpp:798 msgid "Power" msgstr "Energia" -#: src/hci.cpp:3525 +#: src/hci.cpp:3526 msgid "Map:" msgstr "Térkép:" -#: src/hci.cpp:3538 +#: src/hci.cpp:3539 msgid "Load" msgstr "Játék beolvasása" -#: src/hci.cpp:3539 +#: src/hci.cpp:3540 msgid "Load Map File" msgstr "Mentett játék betöltése" -#: src/hci.cpp:3550 +#: src/hci.cpp:3551 msgid "Save" msgstr "Mentés" -#: src/hci.cpp:3551 +#: src/hci.cpp:3552 msgid "Save Map File" msgstr "Térképfájl mentés" -#: src/hci.cpp:3563 +#: src/hci.cpp:3564 msgid "New" msgstr "Új" -#: src/hci.cpp:3564 +#: src/hci.cpp:3565 msgid "New Blank Map" msgstr "Új üres térkép" -#: src/hci.cpp:3612 +#: src/hci.cpp:3613 msgid "Tile" msgstr "Egymás mellé rak" -#: src/hci.cpp:3613 +#: src/hci.cpp:3614 msgid "Place tiles on map" msgstr "Terep felhelyezése a térképre" -#: src/hci.cpp:3626 +#: src/hci.cpp:3627 msgid "Unit" msgstr "Egység" -#: src/hci.cpp:3627 +#: src/hci.cpp:3628 msgid "Place Unit on map" msgstr "Egységek elhelyezése a térképen" -#: src/hci.cpp:3635 +#: src/hci.cpp:3636 msgid "Struct" msgstr "Szerkezet" -#: src/hci.cpp:3636 +#: src/hci.cpp:3637 msgid "Place Structures on map" msgstr "Építési korlátok meghatározása" -#: src/hci.cpp:3644 +#: src/hci.cpp:3645 msgid "Feat" msgstr "Tett" -#: src/hci.cpp:3645 +#: src/hci.cpp:3646 msgid "Place Features on map" msgstr "Technológiák elhelyezése a térképen" -#: src/hci.cpp:3659 +#: src/hci.cpp:3660 msgid "Pause" msgstr "Szünet" -#: src/hci.cpp:3660 +#: src/hci.cpp:3661 msgid "Pause or unpause the game" msgstr "Szünetelteti vagy folytatja a játékot" -#: src/hci.cpp:3678 +#: src/hci.cpp:3679 msgid "Align height of all map objects" msgstr "Egymáshoz igazítja az összes objektum magasságát a térképen" -#: src/hci.cpp:3691 +#: src/hci.cpp:3692 msgid "Edit" msgstr "Szerkesztés" -#: src/hci.cpp:3692 +#: src/hci.cpp:3693 msgid "Start Edit Mode" msgstr "Szerkesztő indítása" -#: src/hci.cpp:3706 +#: src/hci.cpp:3707 #: src/ingameop.cpp:113 #: src/ingameop.cpp:257 #: src/ingameop.cpp:261 msgid "Quit" msgstr "Kilépés" -#: src/hci.cpp:3707 +#: src/hci.cpp:3708 msgid "Exit Game" msgstr "Kilépés a játékból" -#: src/hci.cpp:3733 +#: src/hci.cpp:3734 msgid "Current Player:" msgstr "Jelenlegi játék:" -#: src/hci.cpp:4014 +#: src/hci.cpp:4015 msgid "Progress Bar" msgstr "Eszköztár sor" -#: src/hci.cpp:4896 +#: src/hci.cpp:4897 msgid "Factory Delivery Point" msgstr "Gyár szállító pont" -#: src/hci.cpp:4914 +#: src/hci.cpp:4915 msgid "Loop Production" msgstr "Külső értékesítés" -#: src/hci.cpp:5224 +#: src/hci.cpp:5225 msgid "Ally progress" msgstr "Szövetséges állomány" @@ -13518,9 +13523,9 @@ msgid "KEY MAPPING" msgstr "Kulcsfontosságú megfeleltetés" #: src/keyedit.cpp:377 -#: src/multiint.cpp:762 -#: src/multiint.cpp:1262 -#: src/multiint.cpp:1674 +#: src/multiint.cpp:763 +#: src/multiint.cpp:1263 +#: src/multiint.cpp:1675 msgid "Return To Previous Screen" msgstr "Vissza az előző képernyőre" @@ -14084,7 +14089,7 @@ msgstr "Mentett játék betöltése" msgid "GAME SAVED :" msgstr "JÁTÉK MENTVE:" -#: src/move.cpp:2284 +#: src/move.cpp:2290 #, c-format msgid "You found %u power in an oil drum." msgstr "%u energiát találtál egy olajkúton." @@ -14147,434 +14152,434 @@ msgstr "Közepes" msgid "Insane" msgstr "Örült" -#: src/multiint.cpp:700 +#: src/multiint.cpp:701 #: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Beállítások elfogadása" -#: src/multiint.cpp:702 -#: src/multiint.cpp:1317 +#: src/multiint.cpp:703 +#: src/multiint.cpp:1318 msgid "Cancel" msgstr "Mégse" -#: src/multiint.cpp:713 +#: src/multiint.cpp:714 msgid "IP Address or Machine Name" msgstr "IP cím vagy gépnév" -#: src/multiint.cpp:759 +#: src/multiint.cpp:760 msgid "CONNECTION" msgstr "KAPCSOLAT" -#: src/multiint.cpp:764 +#: src/multiint.cpp:765 msgid "Lobby" msgstr "Előcsarnok" -#: src/multiint.cpp:765 +#: src/multiint.cpp:766 msgid "IP" msgstr "IP" -#: src/multiint.cpp:986 +#: src/multiint.cpp:987 msgid "[Password required]" msgstr " *** jelszó kötelező! ***" -#: src/multiint.cpp:990 +#: src/multiint.cpp:991 msgid "[No Tanks]" msgstr "[Nincsenek Tankok]" -#: src/multiint.cpp:994 +#: src/multiint.cpp:995 msgid "[No Cyborgs]" msgstr "[Nincsenek Cyborgok]" -#: src/multiint.cpp:998 +#: src/multiint.cpp:999 msgid "[No VTOLs]" msgstr "[Nincs VTOLS]" -#: src/multiint.cpp:1002 +#: src/multiint.cpp:1003 #, c-format msgid "Hosted by %s" msgstr "Kiszolgáló %s által" -#: src/multiint.cpp:1006 +#: src/multiint.cpp:1007 #, c-format msgid "Hosted by %s —%s" msgstr "Kiszolgáló %s —%s által" -#: src/multiint.cpp:1028 +#: src/multiint.cpp:1029 msgid "Can't find any games for your version." msgstr "Nem talál játékokat a verziódhoz." -#: src/multiint.cpp:1043 +#: src/multiint.cpp:1044 msgid "No games are available" msgstr "Nincs rendelkezésre álló játék" -#: src/multiint.cpp:1046 +#: src/multiint.cpp:1047 msgid "Game is full" msgstr "Maximális játékosszám" -#: src/multiint.cpp:1050 +#: src/multiint.cpp:1051 msgid "You were kicked!" msgstr "Kiütöttek!" -#: src/multiint.cpp:1053 +#: src/multiint.cpp:1054 msgid "Wrong Game Version!" msgstr "Rossz játékverzió." -#: src/multiint.cpp:1056 +#: src/multiint.cpp:1057 msgid "You have an incompatible mod." msgstr "Inkompatibilis módban vagy." -#: src/multiint.cpp:1060 +#: src/multiint.cpp:1061 msgid "Host couldn't send file?" msgstr "Gazdagép nem tudott fájlt küldeni?" -#: src/multiint.cpp:1064 +#: src/multiint.cpp:1065 msgid "Incorrect Password!" msgstr "Helytelen Jelszó." -#: src/multiint.cpp:1067 +#: src/multiint.cpp:1068 msgid "Host has dropped connection!" msgstr "Gazdagéppel a kapcsolata elveszett." -#: src/multiint.cpp:1071 +#: src/multiint.cpp:1072 msgid "Connection Error" msgstr "Kapcsolódási hiba." -#: src/multiint.cpp:1190 +#: src/multiint.cpp:1191 msgid "Searching" msgstr "Keresés" -#: src/multiint.cpp:1259 +#: src/multiint.cpp:1260 msgid "GAMES" msgstr "JÁTÉKOK" -#: src/multiint.cpp:1267 +#: src/multiint.cpp:1268 msgid "Refresh Games List" msgstr "Játék lista frissítése" -#: src/multiint.cpp:1270 +#: src/multiint.cpp:1271 #, fuzzy msgid "Filter Games List" msgstr "Játék lista frissítése" -#: src/multiint.cpp:1297 +#: src/multiint.cpp:1298 msgid "Enter Password:" msgstr "Jelszó megadása:" -#: src/multiint.cpp:1315 +#: src/multiint.cpp:1316 msgid "OK" msgstr "OK" -#: src/multiint.cpp:1436 +#: src/multiint.cpp:1437 msgid "Tanks disabled!!" msgstr "Tankok tiltva!!" -#: src/multiint.cpp:1437 +#: src/multiint.cpp:1438 msgid "Cyborgs disabled." msgstr "Cyborgok tiltva" -#: src/multiint.cpp:1438 +#: src/multiint.cpp:1439 msgid "VTOLs disabled." msgstr "VTOL tiltva." -#: src/multiint.cpp:1439 +#: src/multiint.cpp:1440 msgid "Satellite Uplink disabled." msgstr "Műhold parabola központ" -#: src/multiint.cpp:1440 +#: src/multiint.cpp:1441 msgid "Laser Satellite disabled." msgstr "Lézerműhold parancsnoki állás" -#: src/multiint.cpp:1487 -#: src/multiint.cpp:1495 +#: src/multiint.cpp:1488 +#: src/multiint.cpp:1496 msgid "Select Game Name" msgstr "Játéknév kiválasztása" -#: src/multiint.cpp:1488 +#: src/multiint.cpp:1489 msgid "One-Player Skirmish" msgstr "Egyjátékos csata" -#: src/multiint.cpp:1499 +#: src/multiint.cpp:1500 msgid "Select Map" msgstr "Térkép kiválasztása" -#: src/multiint.cpp:1509 +#: src/multiint.cpp:1510 msgid "Click to set Password" msgstr "Kattintson ide a jelszó beállításához" -#: src/multiint.cpp:1519 #: src/multiint.cpp:1520 +#: src/multiint.cpp:1521 msgid "Scavengers" msgstr "Dögevők" -#: src/multiint.cpp:1522 +#: src/multiint.cpp:1523 msgid "No Scavengers" msgstr "Nincsenek dögevők" -#: src/multiint.cpp:1552 +#: src/multiint.cpp:1553 msgid "Select Player Name" msgstr "Játékos nevének kiválasztása" -#: src/multiint.cpp:1555 +#: src/multiint.cpp:1556 #: src/multimenu.cpp:791 msgid "Alliances" msgstr "Szövetségek" -#: src/multiint.cpp:1558 +#: src/multiint.cpp:1559 msgid "No Alliances" msgstr "Nincsenek szövetségek" -#: src/multiint.cpp:1560 +#: src/multiint.cpp:1561 msgid "Allow Alliances" msgstr "Megengedi szövetséget" -#: src/multiint.cpp:1564 +#: src/multiint.cpp:1565 msgid "Locked Teams" msgstr "Zárolt csapatok" -#: src/multiint.cpp:1590 +#: src/multiint.cpp:1591 msgid "Low Power Levels" msgstr "Alacsony energia szint" -#: src/multiint.cpp:1592 +#: src/multiint.cpp:1593 msgid "Medium Power Levels" msgstr "Közepes energia szint" -#: src/multiint.cpp:1594 +#: src/multiint.cpp:1595 msgid "High Power Levels" msgstr "Magas energia szint" -#: src/multiint.cpp:1626 +#: src/multiint.cpp:1627 msgid "Base" msgstr "Bázis" -#: src/multiint.cpp:1628 +#: src/multiint.cpp:1629 msgid "Start with No Bases" msgstr "Kezdés bázis nélkül" -#: src/multiint.cpp:1630 +#: src/multiint.cpp:1631 msgid "Start with Bases" msgstr "Kezdés bázissal" -#: src/multiint.cpp:1632 +#: src/multiint.cpp:1633 msgid "Start with Advanced Bases" msgstr "Kezdés fejlesztett bázissal" -#: src/multiint.cpp:1664 +#: src/multiint.cpp:1665 msgid "Map Preview" msgstr "Térkép előnézet" -#: src/multiint.cpp:1666 +#: src/multiint.cpp:1667 msgid "Click to see Map" msgstr "Kattints ide a térkép megtekintéséhez" -#: src/multiint.cpp:1679 -#: src/multiint.cpp:1681 +#: src/multiint.cpp:1680 +#: src/multiint.cpp:1682 msgid "Start Hosting Game" msgstr "Központi játék elindítása" -#: src/multiint.cpp:1688 -#: src/multiint.cpp:1692 +#: src/multiint.cpp:1689 +#: src/multiint.cpp:1693 msgid "Show Structure Limits" msgstr "Építési korlátozás" -#: src/multiint.cpp:1688 -#: src/multiint.cpp:1692 +#: src/multiint.cpp:1689 +#: src/multiint.cpp:1693 msgid "Set Structure Limits" msgstr "Épületek maximális számának beállítása" -#: src/multiint.cpp:1769 +#: src/multiint.cpp:1770 msgid "DIFFICULTY" msgstr "NEHÉZSÉG" -#: src/multiint.cpp:1783 +#: src/multiint.cpp:1784 msgid "Less aggressive" msgstr "Kevésbé agresszív" -#: src/multiint.cpp:1784 +#: src/multiint.cpp:1785 msgid "Plays nice" msgstr "Kedvelt játékosok" -#: src/multiint.cpp:1785 +#: src/multiint.cpp:1786 msgid "No holds barred" msgstr "Nincs fedetlen hatalom" -#: src/multiint.cpp:1786 +#: src/multiint.cpp:1787 msgid "Starts with advantages" msgstr "Kezdés fejlesztett bázissal" -#: src/multiint.cpp:1814 +#: src/multiint.cpp:1815 msgid "CHOOSE AI" msgstr "AI választás" -#: src/multiint.cpp:1852 +#: src/multiint.cpp:1853 msgid "Allow human players to join in this slot" msgstr "Emberi játékosok kapcsolódnak a nyomhoz" -#: src/multiint.cpp:1859 +#: src/multiint.cpp:1860 msgid "Leave this slot unused" msgstr "Elhagyom ezt a nem használt nyomot" -#: src/multiint.cpp:2316 +#: src/multiint.cpp:2317 msgid "Team" msgstr "Csapat" -#: src/multiint.cpp:2359 +#: src/multiint.cpp:2360 msgid "You cannot change difficulty in a challenge" msgstr "Nem tudsz változtatni a nehézségen mozgásnál" -#: src/multiint.cpp:2359 +#: src/multiint.cpp:2360 msgid "Click to change difficulty" msgstr "Kattintson a nehézség beállításához" -#: src/multiint.cpp:2374 +#: src/multiint.cpp:2375 msgid "Waiting for player" msgstr "Várakozás további játékosra" -#: src/multiint.cpp:2374 +#: src/multiint.cpp:2375 msgid "Player is ready" msgstr "Játékos kiszállt" -#: src/multiint.cpp:2374 +#: src/multiint.cpp:2375 msgid "Click when ready" msgstr "Kattintson, ha kész" -#: src/multiint.cpp:2381 +#: src/multiint.cpp:2382 msgid "READY?" msgstr "KÉSZ?" -#: src/multiint.cpp:2425 +#: src/multiint.cpp:2426 msgid "PLAYERS" msgstr "JÁTÉKOSOK" -#: src/multiint.cpp:2460 +#: src/multiint.cpp:2461 msgid "Click to change to this slot" msgstr "Kattintson a játékosok betöltésének változtatásához" -#: src/multiint.cpp:2488 +#: src/multiint.cpp:2489 msgid "Choose Team" msgstr "Csapatválasztás" -#: src/multiint.cpp:2518 +#: src/multiint.cpp:2519 msgid "Click to change player colour" msgstr "Kattintson a játékos színeinek változtatásához" -#: src/multiint.cpp:2546 +#: src/multiint.cpp:2547 msgid "Click to change player position" msgstr "Kattintson a játékos pozíciójának beállításához" -#: src/multiint.cpp:2550 +#: src/multiint.cpp:2551 msgid "Click to change AI" msgstr "Kattintson a játékos AI beállítás változtatásához" -#: src/multiint.cpp:2616 +#: src/multiint.cpp:2617 msgid "CHAT" msgstr "CSEVEGÉS" -#: src/multiint.cpp:2648 +#: src/multiint.cpp:2649 msgid "All players need to have the same mods to join your game." msgstr "Minden játékosnak ugyanazokkal a mod-okkal kell rendelkeznie, hogy csatlakozhassanak a játékhoz." -#: src/multiint.cpp:2689 +#: src/multiint.cpp:2690 msgid "Connecting to the lobby server..." msgstr "Kapcsolódás a kiszolgáló szerverhez..." -#: src/multiint.cpp:2992 +#: src/multiint.cpp:2993 #, c-format msgid "*** password [%s] is now required! ***" msgstr "*** jelszót [%s] kötelező! ***" -#: src/multiint.cpp:2998 +#: src/multiint.cpp:2999 msgid "*** password is NOT required! ***" msgstr " *** jelszó NEM kötelező! ***" -#: src/multiint.cpp:3058 +#: src/multiint.cpp:3059 msgid "Sorry! Failed to host the game." msgstr "Nem sikerült a játékot létrehoznia." -#: src/multiint.cpp:3181 +#: src/multiint.cpp:3182 msgid "'Locked Teams' mode enabled" msgstr "„Fix csapatok” mód engedélyezve" -#: src/multiint.cpp:3209 -#: src/multiint.cpp:3278 +#: src/multiint.cpp:3210 +#: src/multiint.cpp:3279 #: src/multimenu.cpp:1486 #, c-format msgid "The host has kicked %s from the game!" msgstr "A játékmester kirúgta %s a játékból!" -#: src/multiint.cpp:3344 +#: src/multiint.cpp:3345 msgid "Host is Starting Game" msgstr "A játékmester elindította a játékot" -#: src/multiint.cpp:3922 +#: src/multiint.cpp:3923 msgid "UPnP has been enabled." msgstr "UPnP be lett kapcsolva" -#: src/multiint.cpp:3928 +#: src/multiint.cpp:3929 msgid "UPnP detection faled. You must manually configure router yourself." msgstr "UPnP detektálás hibás. Kézzel kell a routert konfigurálnod." -#: src/multiint.cpp:3932 +#: src/multiint.cpp:3933 #, fuzzy msgid "UPnP detection is in progress..." msgstr "Dekódolás folyamatban....." -#: src/multiint.cpp:3939 +#: src/multiint.cpp:3940 msgid "UPnP detection disabled by user. Autoconfig of port 2100 will not happen." msgstr "UPnP vizsgálatot kikapcsolta a felhasználó. Automatikus beállítás a 2100 portra nem történt meg." -#: src/multiint.cpp:3943 +#: src/multiint.cpp:3944 msgid "Press the start hosting button to begin hosting a game." msgstr "Nyomd meg a távoli start gombot a távoli játék indításához " -#: src/multiint.cpp:3984 +#: src/multiint.cpp:3985 msgid "Can't connect to lobby server!" msgstr "Nem tud kapcsolódni a kiszolgáló szerverhez!" -#: src/multiint.cpp:4076 +#: src/multiint.cpp:4077 #, c-format msgid "Mods: %s" msgstr "Mód: %s" -#: src/multiint.cpp:4083 +#: src/multiint.cpp:4084 msgid "Mods: None!" msgstr "Mód: Nincs!" -#: src/multiint.cpp:4093 +#: src/multiint.cpp:4094 #, c-format msgid "Version: %s" msgstr "Verzió: %s" -#: src/multiint.cpp:4144 +#: src/multiint.cpp:4145 #, c-format msgid "Click to take player slot %d" msgstr "Kattintson a játékosok betöltéséhez %d" -#: src/multiint.cpp:4153 -#: src/multiint.cpp:4355 +#: src/multiint.cpp:4154 +#: src/multiint.cpp:4356 msgid "Open" msgstr "Megnyitás" -#: src/multiint.cpp:4153 -#: src/multiint.cpp:4356 +#: src/multiint.cpp:4154 +#: src/multiint.cpp:4357 msgid "Closed" msgstr "Bezárás" -#: src/multiint.cpp:4203 +#: src/multiint.cpp:4204 #, c-format msgid "Sending Map: %d%% " msgstr "Térkép küldés: %d%%" -#: src/multiint.cpp:4211 +#: src/multiint.cpp:4212 #, c-format msgid "Map: %d%% downloaded" msgstr "Térkép: %d%% letöltött" -#: src/multiint.cpp:4237 +#: src/multiint.cpp:4238 msgid "HOST" msgstr "GAZDAGÉP" -#: src/multiint.cpp:4244 +#: src/multiint.cpp:4245 #: src/multimenu.cpp:805 msgid "Ping" msgstr "Pingelés" @@ -15536,4 +15541,3 @@ msgstr "Verzió %s%s%s%s" #~ msgid "Python Tank Killer Tracks" #~ msgstr "Piton Tank ölő" - From 5d5a6eb8b7c4f38cf3d03eaa7430e8c972b5ed3e Mon Sep 17 00:00:00 2001 From: dak180 Date: Sun, 17 Nov 2013 11:20:37 -0500 Subject: [PATCH 06/18] Quote all possible spaces the mkdmgs script. --- macosx/configs/mkdmgs.sh | 65 +++++++++++++++++++++++----------------- 1 file changed, 38 insertions(+), 27 deletions(-) diff --git a/macosx/configs/mkdmgs.sh b/macosx/configs/mkdmgs.sh index 119101a12..49fd0114d 100755 --- a/macosx/configs/mkdmgs.sh +++ b/macosx/configs/mkdmgs.sh @@ -18,7 +18,7 @@ sequencelomd5="ab2bbc28cef2a3f2ea3c186e18158acd" relbuild="${CONFIGURATION_BUILD_DIR}" dmgout="${OBJROOT}/dmgout" -. "${OBJROOT}/autorevision.tmp" +. "${PROJECT_DIR}/../src/autorevision.cache" bldtg="$(echo "${VCS_TAG}" | sed 's:/:_:g')_[${VCS_SHORT_HASH}]" # Fail if not release @@ -128,8 +128,9 @@ fi # Make the dSYM Bundle mkdir -p "${dmgout}/warzone2100-${bldtg}-dSYM" -cp -a "${relbuild}"/*.dSYM "${dmgout}/warzone2100-${bldtg}-dSYM" +cp -af "${relbuild}"/*.dSYM "${dmgout}/warzone2100-${bldtg}-dSYM" cd "${dmgout}" +rm -f "warzone2100-${bldtg}-dSYM.tgz" tar -czf "warzone2100-${bldtg}-dSYM.tgz" --exclude '.DS_Store' "warzone2100-${bldtg}-dSYM" # mkredist.bash @@ -186,33 +187,40 @@ done cd "${dmgout}" rm -rf ./out ./temp -mkdir temp/ -mkdir out/ -mv warzone2100-${bldtg}-dSYM temp/warzone2100-${bldtg}-dSYM -mv warzone2100-${bldtg}-dSYM.tgz out/warzone2100-${bldtg}-dSYM.tgz +mkdir "temp/" +mkdir "out/" +mv "warzone2100-${bldtg}-dSYM" "temp/warzone2100-${bldtg}-dSYM" +mv "warzone2100-${bldtg}-dSYM.tgz" "out/warzone2100-${bldtg}-dSYM.tgz" echo "== Creating DMG ==" -cp -a wztemplate.sparseimage temp/wztemplatecopy.sparseimage -hdiutil resize -size 220m temp/wztemplatecopy.sparseimage -hdiutilOut="$(hdiutil mount temp/wztemplatecopy.sparseimage | tr -d "\t")" -mountpnt="$(echo "${hdiutilOut}" | sed -E 's:(/dev/disk[0-9])( +)(/Volumes/Warzone 2100):\1:')" +cp -a "wztemplate.sparseimage" "temp/wztemplatecopy.sparseimage" +hdiutil resize -size 220m "temp/wztemplatecopy.sparseimage" + +hdiutilOut="$(hdiutil mount "temp/wztemplatecopy.sparseimage" | tr -d "\t")" + mountpth="$(echo "${hdiutilOut}" | sed -E 's:(/dev/disk[0-9])( +)::')" + cp -a Warzone.app/* "${mountpth}/Warzone.app" signd "${mountpth}/Warzone.app" -hdiutil detach "${mountpnt}" -hdiutil convert temp/wztemplatecopy.sparseimage -format UDZO -o out/warzone2100-${bldtg}-novideo.dmg + +hdiutil detach "${mountpth}" +hdiutil convert "temp/wztemplatecopy.sparseimage" -format UDZO -o "out/warzone2100-${bldtg}-novideo.dmg" + if [ -f "${sequencelonme}" ]; then echo "== Creating LQ DMG ==" - hdiutil resize -size 770m temp/wztemplatecopy.sparseimage - hdiutilOut="$(hdiutil mount temp/wztemplatecopy.sparseimage | tr -d "\t")" - mountpnt="$(echo "${hdiutilOut}" | sed -E 's:(/dev/disk[0-9])( +)(/Volumes/Warzone 2100):\1:')" + hdiutil resize -size 770m "temp/wztemplatecopy.sparseimage" + + hdiutilOut="$(hdiutil mount "temp/wztemplatecopy.sparseimage" | tr -d "\t")" + mountpth="$(echo "${hdiutilOut}" | sed -E 's:(/dev/disk[0-9])( +)::')" - rm "${mountpth}/Warzone.app/Contents/Resources/data/sequences.wz" - cp -a sequences-lo.wz "${mountpth}/Warzone.app/Contents/Resources/data/sequences.wz" + + rm -f "${mountpth}/Warzone.app/Contents/Resources/data/sequences.wz" + cp -a "sequences-lo.wz" "${mountpth}/Warzone.app/Contents/Resources/data/sequences.wz" + signd "${mountpth}/Warzone.app" - hdiutil detach "${mountpnt}" - hdiutil convert temp/wztemplatecopy.sparseimage -format UDZO -o out/warzone2100-${bldtg}-lqvideo.dmg + hdiutil detach "${mountpth}" + hdiutil convert "temp/wztemplatecopy.sparseimage" -format UDZO -o "out/warzone2100-${bldtg}-lqvideo.dmg" else echo "${sequencelonme} does not exist, skipping" fi @@ -220,21 +228,24 @@ fi if [ -f "${sequencenme}" ]; then echo "== Creating HQ DMG ==" - hdiutil resize -size 1145m temp/wztemplatecopy.sparseimage - hdiutilOut="$(hdiutil mount temp/wztemplatecopy.sparseimage | tr -d "\t")" - mountpnt="$(echo "${hdiutilOut}" | sed -E 's:(/dev/disk[0-9])( +)(/Volumes/Warzone 2100):\1:')" + hdiutil resize -size 1145m "temp/wztemplatecopy.sparseimage" + + hdiutilOut="$(hdiutil mount "temp/wztemplatecopy.sparseimage" | tr -d "\t")" + mountpth="$(echo "${hdiutilOut}" | sed -E 's:(/dev/disk[0-9])( +)::')" - rm "${mountpth}/Warzone.app/Contents/Resources/data/sequences.wz" - cp -a sequences.wz "${mountpth}/Warzone.app/Contents/Resources/data/sequences.wz" + + rm -f "${mountpth}/Warzone.app/Contents/Resources/data/sequences.wz" + cp -a "sequences.wz" "${mountpth}/Warzone.app/Contents/Resources/data/sequences.wz" + signd "${mountpth}/Warzone.app" - hdiutil detach "${mountpnt}" - hdiutil convert temp/wztemplatecopy.sparseimage -format UDZO -o out/warzone2100-${bldtg}-hqvideo.dmg + hdiutil detach "${mountpth}" + hdiutil convert "temp/wztemplatecopy.sparseimage" -format UDZO -o "out/warzone2100-${bldtg}-hqvideo.dmg" else echo "${sequencenme} does not exist, skipping" fi echo "== Cleaning up ==" -rm -f temp/wztemplatecopy.sparseimage +rm -f "temp/wztemplatecopy.sparseimage" # Open the dir open "out" From 35745a79a39216de1f87225a2041b7370d6801d3 Mon Sep 17 00:00:00 2001 From: Cyp Date: Sun, 17 Nov 2013 19:53:42 +0100 Subject: [PATCH 07/18] Fix build with C++11 and/or Qt. "blah"PRIu64 was interpreted as a string literal, and wzDelay was missing. --- lib/framework/trig.cpp | 10 +++++----- lib/qtgame/wzapp_qt.cpp | 5 +++++ src/power.cpp | 20 ++++++++++---------- 3 files changed, 20 insertions(+), 15 deletions(-) diff --git a/lib/framework/trig.cpp b/lib/framework/trig.cpp index 0cbf390a6..42bd1ba76 100644 --- a/lib/framework/trig.cpp +++ b/lib/framework/trig.cpp @@ -73,15 +73,15 @@ bool trigInitialise(void) { uint64_t lower = test*test; uint64_t upper = (test + 1)*(test + 1) - 1; - ASSERT((uint32_t)iSqrt(lower) == test, "Sanity check failed, sqrt(%"PRIu64") gave %"PRIu32" instead of %"PRIu64"!", lower, i64Sqrt(lower), test); - ASSERT((uint32_t)iSqrt(upper) == test, "Sanity check failed, sqrt(%"PRIu64") gave %"PRIu32" instead of %"PRIu64"!", upper, i64Sqrt(upper), test); + ASSERT((uint32_t)iSqrt(lower) == test, "Sanity check failed, sqrt(%" PRIu64") gave %" PRIu32" instead of %" PRIu64"!", lower, i64Sqrt(lower), test); + ASSERT((uint32_t)iSqrt(upper) == test, "Sanity check failed, sqrt(%" PRIu64") gave %" PRIu32" instead of %" PRIu64"!", upper, i64Sqrt(upper), test); } for (test = 0xFFFE0000; test != 0x00020000; test = (test + 1)&0xFFFFFFFF) { uint64_t lower = test*test; uint64_t upper = (test + 1)*(test + 1) - 1; - ASSERT((uint32_t)i64Sqrt(lower) == test, "Sanity check failed, sqrt(%"PRIu64") gave %"PRIu32" instead of %"PRIu64"!", lower, i64Sqrt(lower), test); - ASSERT((uint32_t)i64Sqrt(upper) == test, "Sanity check failed, sqrt(%"PRIu64") gave %"PRIu32" instead of %"PRIu64"!", upper, i64Sqrt(upper), test); + ASSERT((uint32_t)i64Sqrt(lower) == test, "Sanity check failed, sqrt(%" PRIu64") gave %" PRIu32" instead of %" PRIu64"!", lower, i64Sqrt(lower), test); + ASSERT((uint32_t)i64Sqrt(upper) == test, "Sanity check failed, sqrt(%" PRIu64") gave %" PRIu32" instead of %" PRIu64"!", upper, i64Sqrt(upper), test); } return true; @@ -174,7 +174,7 @@ int32_t i64Sqrt(uint64_t n) r -= (int64_t)(r*r - n) > 0; // If we rounded up, subtract 1. // Check that we got the right result. - ASSERT((int64_t)(r*r - n) <= 0 && (int64_t)((r + 1)*(r + 1) - n) > 0, "Too badly broken sqrt function, i64Sqrt(%"PRIu64") = %"PRIu64".", n, r); + ASSERT((int64_t)(r*r - n) <= 0 && (int64_t)((r + 1)*(r + 1) - n) > 0, "Too badly broken sqrt function, i64Sqrt(%" PRIu64") = %" PRIu64".", n, r); return r; } diff --git a/lib/qtgame/wzapp_qt.cpp b/lib/qtgame/wzapp_qt.cpp index 4b991f5be..8856b8352 100644 --- a/lib/qtgame/wzapp_qt.cpp +++ b/lib/qtgame/wzapp_qt.cpp @@ -758,6 +758,11 @@ void wzReleaseMouse() WzMainWindow::instance()->freeMouse(); } +void wzDelay(unsigned int delay) +{ + //SDL_Delay(delay); +} + bool wzActiveWindow() { return WzMainWindow::instance()->underMouse(); diff --git a/src/power.cpp b/src/power.cpp index ce7cac990..4d3d8deb4 100644 --- a/src/power.cpp +++ b/src/power.cpp @@ -173,7 +173,7 @@ static void syncDebugEconomy(unsigned player, char ch) { ASSERT_OR_RETURN(, player < MAX_PLAYERS, "Bad player (%d)", player); - syncDebug("%c economy%u = %"PRId64"", ch, player, asPower[player].currentPower); + syncDebug("%c economy%u = %" PRId64"", ch, player, asPower[player].currentPower); } /*check the current power - if enough return true, else return false */ @@ -193,14 +193,14 @@ bool checkPower(int player, uint32_t quantity) void usePower(int player, uint32_t quantity) { ASSERT_OR_RETURN(, player < MAX_PLAYERS, "Bad player (%d)", player); - syncDebug("usePower%d %"PRId64"-=%u", player, asPower[player].currentPower, quantity); + syncDebug("usePower%d %" PRId64"-=%u", player, asPower[player].currentPower, quantity); asPower[player].currentPower = MAX(0, asPower[player].currentPower - quantity*FP_ONE); } void addPower(int player, int32_t quantity) { ASSERT_OR_RETURN(, player < MAX_PLAYERS, "Bad player (%d)", player); - syncDebug("addPower%d %"PRId64"+=%d", player, asPower[player].currentPower, quantity); + syncDebug("addPower%d %" PRId64"+=%d", player, asPower[player].currentPower, quantity); asPower[player].currentPower += quantity*FP_ONE; CLIP(asPower[player].currentPower, 0, MAX_POWER*FP_ONE); } @@ -237,7 +237,7 @@ static int64_t updateExtractedPower(STRUCTURE *psBuilding) } // include modifier as a % extractedPoints = modifier * EXTRACT_POINTS * FP_ONE / (100 * GAME_UPDATES_PER_SEC); - syncDebug("updateExtractedPower%d = %"PRId64"", psBuilding->player, extractedPoints); + syncDebug("updateExtractedPower%d = %" PRId64"", psBuilding->player, extractedPoints); } ASSERT(extractedPoints >= 0, "extracted negative amount of power"); return extractedPoints; @@ -274,7 +274,7 @@ void updatePlayerPower(UDWORD player) updateCurrentPower((POWER_GEN *)psStruct->pFunctionality, player); } } - syncDebug("updatePlayerPower%u %"PRId64"->%"PRId64"", player, powerBefore, asPower[player].currentPower); + syncDebug("updatePlayerPower%u %" PRId64"->%" PRId64"", player, powerBefore, asPower[player].currentPower); syncDebugEconomy(player, '<'); } @@ -305,7 +305,7 @@ static void updateCurrentPower(POWER_GEN *psPowerGen, UDWORD player) } } - syncDebug("updateCurrentPower%d = %"PRId64",%u", player, extractedPower, psPowerGen->multiplier); + syncDebug("updateCurrentPower%d = %" PRId64",%u", player, extractedPower, psPowerGen->multiplier); asPower[player].currentPower += (extractedPower * psPowerGen->multiplier) / 100; ASSERT(asPower[player].currentPower >= 0, "negative power"); @@ -319,7 +319,7 @@ void setPower(unsigned player, int32_t power) { ASSERT(player < MAX_PLAYERS, "Bad player (%u)", player); - syncDebug("setPower%d %"PRId64"->%d", player, asPower[player].currentPower, power); + syncDebug("setPower%d %" PRId64"->%d", player, asPower[player].currentPower, power); asPower[player].currentPower = power*FP_ONE; ASSERT(asPower[player].currentPower >= 0, "negative power"); } @@ -328,7 +328,7 @@ void setPrecisePower(unsigned player, int64_t power) { ASSERT(player < MAX_PLAYERS, "Bad player (%u)", player); - syncDebug("setPower%d %"PRId64"->%"PRId64"", player, asPower[player].currentPower, power); + syncDebug("setPower%d %" PRId64"->%" PRId64"", player, asPower[player].currentPower, power); asPower[player].currentPower = power; ASSERT(asPower[player].currentPower >= 0, "negative power"); } @@ -372,9 +372,9 @@ bool requestPrecisePowerFor(STRUCTURE *psStruct, int64_t amount) // you can have it asPower[psStruct->player].currentPower -= amount; delPowerRequest(psStruct); - syncDebug("requestPrecisePowerFor%d,%u amount%"PRId64"", psStruct->player, psStruct->id, amount); + syncDebug("requestPrecisePowerFor%d,%u amount%" PRId64"", psStruct->player, psStruct->id, amount); return true; } - syncDebug("requestPrecisePowerFor%d,%u wait,amount%"PRId64"", psStruct->player, psStruct->id, amount); + syncDebug("requestPrecisePowerFor%d,%u wait,amount%" PRId64"", psStruct->player, psStruct->id, amount); return false; // Not enough power in the queue. } From 2b0dc1bce3729a633ad4df218eb790b362b943e3 Mon Sep 17 00:00:00 2001 From: dak180 Date: Sun, 17 Nov 2013 14:34:18 -0500 Subject: [PATCH 08/18] Make sure to remove the leading `v`. --- macosx/configs/mkdmgs.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/macosx/configs/mkdmgs.sh b/macosx/configs/mkdmgs.sh index 49fd0114d..4a4653239 100755 --- a/macosx/configs/mkdmgs.sh +++ b/macosx/configs/mkdmgs.sh @@ -19,7 +19,7 @@ relbuild="${CONFIGURATION_BUILD_DIR}" dmgout="${OBJROOT}/dmgout" . "${PROJECT_DIR}/../src/autorevision.cache" -bldtg="$(echo "${VCS_TAG}" | sed 's:/:_:g')_[${VCS_SHORT_HASH}]" +bldtg="$(echo "${VCS_TAG}" | sed -e 's:/:_:g' -e 's:^v::')_[${VCS_SHORT_HASH}]" # Fail if not release if [ ! "${CONFIGURATION}" = "Release" ]; then From a3468b1a00da072539ded959b1bdfdfb5673007a Mon Sep 17 00:00:00 2001 From: dak180 Date: Sun, 17 Nov 2013 15:09:29 -0500 Subject: [PATCH 09/18] Make sure tar does not make `._` files. --- macosx/configs/mkdmgs.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/macosx/configs/mkdmgs.sh b/macosx/configs/mkdmgs.sh index 4a4653239..78e5bdbac 100755 --- a/macosx/configs/mkdmgs.sh +++ b/macosx/configs/mkdmgs.sh @@ -1,6 +1,8 @@ #!/bin/bash # Config +export COPYFILE_DISABLE=1 + bsurl="http://downloads.sf.net/project/warzone2100" simgflnme="wztemplate.sparseimage" From aafca35a730fc9681495800145241ec2a75eb454 Mon Sep 17 00:00:00 2001 From: Cyp Date: Tue, 2 Apr 2013 17:11:49 +0100 Subject: [PATCH 10/18] Remove unused file multiplay/maps/4c-rush/templ.bjo. --- data/mp/multiplay/maps/4c-rush/templ.bjo | Bin 12 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 data/mp/multiplay/maps/4c-rush/templ.bjo diff --git a/data/mp/multiplay/maps/4c-rush/templ.bjo b/data/mp/multiplay/maps/4c-rush/templ.bjo deleted file mode 100644 index b847efde5c5fe7ed8bba6a94c181b8d7f5975b5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 OcmXR(%`ISJfB*mz6#=;b From fb1f90dd2767a695aff7901b7685ad45884ba885 Mon Sep 17 00:00:00 2001 From: vexed Date: Mon, 18 Nov 2013 21:54:48 -0500 Subject: [PATCH 11/18] Keep a copy of our log filename that we use to work around an obscure bug(?) in compiler flags (windows (mingw) only). Should now correctly show the log filename on crashes in the dialog. --- lib/framework/debug.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/framework/debug.cpp b/lib/framework/debug.cpp index 70c3a8ae4..bd78c5bf1 100644 --- a/lib/framework/debug.cpp +++ b/lib/framework/debug.cpp @@ -182,7 +182,7 @@ void debug_callback_file( void ** data, const char * outputBuffer ) } } - +char WZ_DBGFile[PATH_MAX]; //Used to save path of the created log file /** * Setup the file callback * @@ -202,7 +202,7 @@ bool debug_callback_file_init(void **data) fprintf(stderr, "Could not open %s for appending!\n", WZDebugfilename); return false; } - + snprintf(WZ_DBGFile, sizeof(WZ_DBGFile), "%s", WZDebugfilename); setbuf(logfile, NULL); fprintf(logfile, "\n--- Starting log [%s]---\n", WZDebugfilename); *data = logfile; @@ -467,7 +467,7 @@ void _debug( int line, code_part part, const char *function, const char *str, .. #if defined(WZ_OS_WIN) char wbuf[512]; ssprintf(wbuf, "%s\n\nPlease check the file (%s) in your configuration directory for more details. \ - \nDo not forget to upload the %s file, WZdebuginfo.txt and the warzone2100.rpt files in your bug reports at http://developer.wz2100.net/newticket!", useInputBuffer1 ? inputBuffer[1] : inputBuffer[0], WZDebugfilename, WZDebugfilename); + \nDo not forget to upload the %s file, WZdebuginfo.txt and the warzone2100.rpt files in your bug reports at http://developer.wz2100.net/newticket!", useInputBuffer1 ? inputBuffer[1] : inputBuffer[0], WZ_DBGFile, WZ_DBGFile); MessageBoxA( NULL, wbuf, "Warzone has terminated unexpectedly", MB_OK|MB_ICONERROR); #elif defined(WZ_OS_MAC) int clickedIndex = \ From 6e5e8bdd0995880d03710d51f48db5014289ec72 Mon Sep 17 00:00:00 2001 From: vexed Date: Mon, 18 Nov 2013 21:56:28 -0500 Subject: [PATCH 12/18] Fix false positive in the Coverity static analysis tool. The array will never be MAX_PLAYERS (11) and overrun it, since the loop goes up to indexLen which is < MAX_PLAYERS. This fixes a rash of asserts of 'Found no player position for player X' where X is missing because of the false positive above, which cut the array short. refs: cea585162d631e8a6360153a28d7825405dd9de3 --- lib/netplay/netplay.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/netplay/netplay.cpp b/lib/netplay/netplay.cpp index 609f83219..26ac860ae 100644 --- a/lib/netplay/netplay.cpp +++ b/lib/netplay/netplay.cpp @@ -1568,9 +1568,9 @@ static bool NETprocessSystemMessage(NETQUEUE playerQueue, uint8_t type) NETbeginDecode(playerQueue, NET_PLAYER_INFO); NETuint32_t(&indexLen); - if (indexLen >= MAX_PLAYERS || (playerQueue.index != NET_HOST_ONLY && indexLen > 1)) + if (indexLen > MAX_PLAYERS || (playerQueue.index != NET_HOST_ONLY && indexLen > 1)) { - debug(LOG_ERROR, "MSG_PLAYER_INFO: Bad number of players updated"); + debug(LOG_ERROR, "MSG_PLAYER_INFO: Bad number of players updated: %u", indexLen); NETend(); break; } From 0805e57c9a0b0087283ce28006517e27967be66e Mon Sep 17 00:00:00 2001 From: vexed Date: Tue, 19 Nov 2013 01:28:14 -0500 Subject: [PATCH 13/18] Revert "If we are a VTOL, ignore ground units when moving over them. In other words, don't try to move around them, since you can fly over them." This reverts commit 75ede1da1d77b6326b9897b59d5d394d3ef533f0. --- src/move.cpp | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/src/move.cpp b/src/move.cpp index 632126bb2..462cb3951 100644 --- a/src/move.cpp +++ b/src/move.cpp @@ -1191,15 +1191,12 @@ static void moveCalcDroidSlide(DROID *psDroid, int *pmx, int *pmy) if (psObst->type == OBJ_DROID) { DROID *psShuffleDroid = (DROID *)psObst; - // if we are a VTOL, and 'ground unit' isn't, then don't bother moving them - if ((isVtolDroid(psDroid) && isVtolDroid(psShuffleDroid)) || !isVtolDroid(psDroid)) + + if (aiCheckAlliances(psObst->player, psDroid->player) + && psShuffleDroid->action != DACTION_WAITDURINGREARM + && psShuffleDroid->sMove.Status == MOVEINACTIVE) { - if (aiCheckAlliances(psObst->player, psDroid->player) - && psShuffleDroid->action != DACTION_WAITDURINGREARM - && psShuffleDroid->sMove.Status == MOVEINACTIVE) - { - moveShuffleDroid(psShuffleDroid, psDroid->sMove.target - removeZ(psDroid->pos)); - } + moveShuffleDroid(psShuffleDroid, psDroid->sMove.target - removeZ(psDroid->pos)); } } } @@ -1208,11 +1205,8 @@ static void moveCalcDroidSlide(DROID *psDroid, int *pmx, int *pmy) if (psObst != NULL) { - // Try to slide round it (unless we are a VTOL, and it isn't another VTOL (still trying to prevent clustering) - if ((isVtolDroid(psDroid) && isVtolDroid((DROID *)psObst)) || !isVtolDroid(psDroid)) - { - moveCalcSlideVector(psDroid, psObst->pos.x, psObst->pos.y, pmx, pmy); - } + // Try to slide round it + moveCalcSlideVector(psDroid, psObst->pos.x, psObst->pos.y, pmx, pmy); } CHECK_DROID(psDroid); } From b9a136ac7adeec52c9f165869c102cdfdaebd440 Mon Sep 17 00:00:00 2001 From: vexed Date: Tue, 19 Nov 2013 01:50:11 -0500 Subject: [PATCH 14/18] Revert: Fix the SuperTransport body type to be SUPER HEAVY, not HEAVY. Try harder not to have them be on top of each other (only in MultiPlayer games). Fix explosion type. Fix damage calculations when they are on the ground. Try to better balance the Super Transport, hitpoints now at 500, Armor types changed to 35 & 20 and make weapon MG1-VTOL instead of MG3-VTOL. This reverts commit e3279f6d033b4967b955dcaaf2ce3c5e21ed7579. Conflicts: src/droid.cpp --- data/mp/stats/assignweapons.txt | 2 +- data/mp/stats/body.txt | 2 +- src/action.cpp | 2 +- src/droid.cpp | 13 +++---------- src/move.cpp | 12 +++--------- 5 files changed, 9 insertions(+), 22 deletions(-) diff --git a/data/mp/stats/assignweapons.txt b/data/mp/stats/assignweapons.txt index bb58b6445..b481cbd32 100644 --- a/data/mp/stats/assignweapons.txt +++ b/data/mp/stats/assignweapons.txt @@ -316,7 +316,7 @@ SK-Mantis-VTOL-HBB,Bomb2-VTOL-HvHE,NULL,NULL,6 SK-Retre-VTOL-HBB,Bomb2-VTOL-HvHE,NULL,NULL,6 SK-Retal-VTOL-Scourge,Missile-VTOL-AT,NULL,NULL,6 SK-Retre-VTOL-Plasmite,Bomb5-VTOL-Plasmite,NULL,NULL,6 -SuperTransport,MG1-VTOL,NULL,NULL,5 +SuperTransport,MG3-VTOL,NULL,NULL,5 SK-Veng-Hover-Seraph,Missile-MdArt,NULL,NULL,6 Dragon-Hover-SeraphGauss,Missile-MdArt,RailGun3Mk1,NULL,6 ZNULLDESIGN,ZNULLWEAPON,ZNULLWEAPON,ZNULLWEAPON,0 diff --git a/data/mp/stats/body.txt b/data/mp/stats/body.txt index efaf67a52..38daa7e4d 100644 --- a/data/mp/stats/body.txt +++ b/data/mp/stats/body.txt @@ -1,7 +1,7 @@ Body key,Unused,Size,Build power,Build points,Weight,Body points,Body model,Unused,Weapon slots,Engine power,AFRK,AFRH,AREK,AREH,ALEK,ALEH,ARIK,ARIH,ATOK,ATOH,ABOK,ABOH,Flame model,Designable ZNULLBODY,Level All,LIGHT,0,0,0,0,MIBNKBOD.PIE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 TransporterBody,Level All,MEDIUM,325,637,250,200,drcytran.pie,100,1,2000,20,9,20,9,20,9,20,9,20,9,20,9,0,0 -SuperTransportBody,Level All,SUPER HEAVY,500,625,1850,500,drtrans.pie,100,1,7525,34,20,34,20,34,20,34,20,34,20,34,20,0,0 +SuperTransportBody,Level All,HEAVY,500,625,1850,1000,drtrans.pie,100,1,7525,40,40,40,40,40,40,40,40,40,40,40,40,0,0 Superbody,Level All,HEAVY,10,10,2700,9000,DRHBOD11.PIE,500,1,40000,999,999,999,999,999,999,999,999,999,999,999,999,0,0 FireBody,Level One,LIGHT,4,75,3000,200,EXFIRE.PIE,50,1,4000,4,1,4,1,4,1,4,1,4,1,4,1,0,0 CybRotMgGrd,Level All,LIGHT,21,75,150,200,cybd_std.pie,100,1,600,12,6,12,6,12,6,12,6,12,6,12,6,0,0 diff --git a/src/action.cpp b/src/action.cpp index fc1dad709..79415302b 100644 --- a/src/action.cpp +++ b/src/action.cpp @@ -83,7 +83,7 @@ struct DROID_ACTION_DATA psDroid->sMove.Status == MOVESHUFFLE) /** Radius for search when looking for VTOL landing position */ -static const int vtolLandingRadius = 43; +static const int vtolLandingRadius = 23; /** * @typedef tileMatchFunction diff --git a/src/droid.cpp b/src/droid.cpp index 755cb301d..4eef53878 100644 --- a/src/droid.cpp +++ b/src/droid.cpp @@ -161,8 +161,8 @@ int32_t droidDamage(DROID *psDroid, unsigned damage, WEAPON_CLASS weaponClass, W CHECK_DROID(psDroid); - // VTOLs (and transporters in MP) on the ground take triple damage - if ((isVtolDroid(psDroid) || (((psDroid->droidType == DROID_TRANSPORTER) || (psDroid->droidType == DROID_SUPERTRANSPORTER)) && bMultiPlayer)) && (psDroid->sMove.Status == MOVEINACTIVE)) + // VTOLs on the ground take triple damage + if (isVtolDroid(psDroid) && psDroid->sMove.Status == MOVEINACTIVE) { damage *= 3; } @@ -539,14 +539,7 @@ static void removeDroidFX(DROID *psDel, unsigned impactTime) pos.x = psDel->pos.x; pos.z = psDel->pos.y; pos.y = psDel->pos.z; - if (psDel->droidType == DROID_SUPERTRANSPORTER) - { - addEffect(&pos, EFFECT_EXPLOSION, EXPLOSION_TYPE_LARGE, false, NULL, 0, impactTime); - } - else - { - addEffect(&pos, EFFECT_DESTRUCTION, DESTRUCTION_TYPE_DROID, false, NULL, 0, impactTime); - } + addEffect(&pos, EFFECT_DESTRUCTION, DESTRUCTION_TYPE_DROID, false, NULL, 0, impactTime); audio_PlayStaticTrack( psDel->pos.x, psDel->pos.y, ID_SOUND_EXPLOSION ); } } diff --git a/src/move.cpp b/src/move.cpp index 462cb3951..089c6f8d7 100644 --- a/src/move.cpp +++ b/src/move.cpp @@ -1123,8 +1123,7 @@ static void moveCalcDroidSlide(DROID *psDroid, int *pmx, int *pmy) { if (((DROID *)psObj)->droidType == DROID_TRANSPORTER || ((DROID *)psObj)->droidType == DROID_SUPERTRANSPORTER) { - // ignore transporters in campaign - if (!bMultiPlayer) + // ignore transporters continue; } if (!bLegs && ((DROID *)psObj)->droidType == DROID_PERSON) @@ -1884,15 +1883,10 @@ static void moveUpdateVtolModel(DROID *psDroid, SDWORD speed, uint16_t direction moveGetDroidPosDiffs( psDroid, &dx, &dy ); - // set slide blocking tile for map edge - // and in MP, try not to have transports cluster together as much - if (((psDroid->droidType != DROID_TRANSPORTER && psDroid->droidType != DROID_SUPERTRANSPORTER))|| bMultiPlayer) + /* set slide blocking tile for map edge */ + if ( psDroid->droidType != DROID_TRANSPORTER && psDroid->droidType != DROID_SUPERTRANSPORTER) { moveCalcBlockingSlide(psDroid, &dx, &dy, direction, &slideDir); - if (bMultiPlayer) - { - moveCalcDroidSlide(psDroid, &dx, &dy); - } } moveUpdateDroidPos( psDroid, dx, dy ); From d5ac23a267dce5dbc51fa5a50688841ce73af4c6 Mon Sep 17 00:00:00 2001 From: vexed Date: Tue, 19 Nov 2013 02:13:46 -0500 Subject: [PATCH 15/18] Try to better balance Super Transport Hitpoints now at 500, Armor types changed to 35 & 20 and make weapon MG1-VTOL instead of MG3-VTOL refs: e3279f6d033b4967b955dcaaf2ce3c5e21ed7579 --- data/mp/stats/assignweapons.txt | 2 +- data/mp/stats/body.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/data/mp/stats/assignweapons.txt b/data/mp/stats/assignweapons.txt index b481cbd32..bb58b6445 100644 --- a/data/mp/stats/assignweapons.txt +++ b/data/mp/stats/assignweapons.txt @@ -316,7 +316,7 @@ SK-Mantis-VTOL-HBB,Bomb2-VTOL-HvHE,NULL,NULL,6 SK-Retre-VTOL-HBB,Bomb2-VTOL-HvHE,NULL,NULL,6 SK-Retal-VTOL-Scourge,Missile-VTOL-AT,NULL,NULL,6 SK-Retre-VTOL-Plasmite,Bomb5-VTOL-Plasmite,NULL,NULL,6 -SuperTransport,MG3-VTOL,NULL,NULL,5 +SuperTransport,MG1-VTOL,NULL,NULL,5 SK-Veng-Hover-Seraph,Missile-MdArt,NULL,NULL,6 Dragon-Hover-SeraphGauss,Missile-MdArt,RailGun3Mk1,NULL,6 ZNULLDESIGN,ZNULLWEAPON,ZNULLWEAPON,ZNULLWEAPON,0 diff --git a/data/mp/stats/body.txt b/data/mp/stats/body.txt index 38daa7e4d..efaf67a52 100644 --- a/data/mp/stats/body.txt +++ b/data/mp/stats/body.txt @@ -1,7 +1,7 @@ Body key,Unused,Size,Build power,Build points,Weight,Body points,Body model,Unused,Weapon slots,Engine power,AFRK,AFRH,AREK,AREH,ALEK,ALEH,ARIK,ARIH,ATOK,ATOH,ABOK,ABOH,Flame model,Designable ZNULLBODY,Level All,LIGHT,0,0,0,0,MIBNKBOD.PIE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 TransporterBody,Level All,MEDIUM,325,637,250,200,drcytran.pie,100,1,2000,20,9,20,9,20,9,20,9,20,9,20,9,0,0 -SuperTransportBody,Level All,HEAVY,500,625,1850,1000,drtrans.pie,100,1,7525,40,40,40,40,40,40,40,40,40,40,40,40,0,0 +SuperTransportBody,Level All,SUPER HEAVY,500,625,1850,500,drtrans.pie,100,1,7525,34,20,34,20,34,20,34,20,34,20,34,20,0,0 Superbody,Level All,HEAVY,10,10,2700,9000,DRHBOD11.PIE,500,1,40000,999,999,999,999,999,999,999,999,999,999,999,999,0,0 FireBody,Level One,LIGHT,4,75,3000,200,EXFIRE.PIE,50,1,4000,4,1,4,1,4,1,4,1,4,1,4,1,0,0 CybRotMgGrd,Level All,LIGHT,21,75,150,200,cybd_std.pie,100,1,600,12,6,12,6,12,6,12,6,12,6,12,6,0,0 From 9bb57850c6304ba08b7875661230b592e7f6aa4d Mon Sep 17 00:00:00 2001 From: vexed Date: Tue, 19 Nov 2013 02:18:21 -0500 Subject: [PATCH 16/18] Fix Transporter types to take the same multiplier of damage as VTOLs when on ground. refs: e3279f6d033b4967b955dcaaf2ce3c5e21ed7579 --- src/droid.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/droid.cpp b/src/droid.cpp index 4eef53878..da91159c0 100644 --- a/src/droid.cpp +++ b/src/droid.cpp @@ -161,8 +161,8 @@ int32_t droidDamage(DROID *psDroid, unsigned damage, WEAPON_CLASS weaponClass, W CHECK_DROID(psDroid); - // VTOLs on the ground take triple damage - if (isVtolDroid(psDroid) && psDroid->sMove.Status == MOVEINACTIVE) + // VTOLs (and transporters in MP) on the ground take triple damage + if (isVtolDroid(psDroid) || ((psDroid->droidType == DROID_TRANSPORTER || psDroid->droidType == DROID_SUPERTRANSPORTER) && bMultiPlayer) && (psDroid->sMove.Status == MOVEINACTIVE)) { damage *= 3; } From 7827f6bcd47dfe1ecf8d4aa95f4ae9f2adb4c15c Mon Sep 17 00:00:00 2001 From: vexed Date: Tue, 19 Nov 2013 02:19:58 -0500 Subject: [PATCH 17/18] Fix the explosion effect for the Super Transporter refs: e3279f6d033b4967b955dcaaf2ce3c5e21ed7579 --- src/droid.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/droid.cpp b/src/droid.cpp index da91159c0..3a7434a88 100644 --- a/src/droid.cpp +++ b/src/droid.cpp @@ -539,7 +539,14 @@ static void removeDroidFX(DROID *psDel, unsigned impactTime) pos.x = psDel->pos.x; pos.z = psDel->pos.y; pos.y = psDel->pos.z; - addEffect(&pos, EFFECT_DESTRUCTION, DESTRUCTION_TYPE_DROID, false, NULL, 0, impactTime); + if (psDel->droidType == DROID_SUPERTRANSPORTER) + { + addEffect(&pos, EFFECT_EXPLOSION, EXPLOSION_TYPE_LARGE, false, NULL, 0, impactTime); + } + else + { + addEffect(&pos, EFFECT_DESTRUCTION, DESTRUCTION_TYPE_DROID, false, NULL, 0, impactTime); + } audio_PlayStaticTrack( psDel->pos.x, psDel->pos.y, ID_SOUND_EXPLOSION ); } } From a2b721183d086c82bc0be7a72f0c483fd3abc5b9 Mon Sep 17 00:00:00 2001 From: vexed Date: Tue, 19 Nov 2013 01:21:54 -0500 Subject: [PATCH 18/18] Fix message for Challenges. --- src/multiint.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/multiint.cpp b/src/multiint.cpp index 5658723bb..5a4841a32 100644 --- a/src/multiint.cpp +++ b/src/multiint.cpp @@ -3941,7 +3941,14 @@ bool startMultiOptions(bool bReenter) addConsoleMessage(buf, DEFAULT_JUSTIFY, NOTIFY_MESSAGE); } } - ssprintf(buf, _("Press the start hosting button to begin hosting a game.")); + if (challengeActive) + { + ssprintf(buf, _("Hit the ready box to begin your challenge!")); + } + else + { + ssprintf(buf, _("Press the start hosting button to begin hosting a game.")); + } addConsoleMessage(buf, DEFAULT_JUSTIFY, NOTIFY_MESSAGE); }