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- 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 = \ 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/netplay/netplay.cpp b/lib/netplay/netplay.cpp index e58694238..bafeb11f9 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()); @@ -1567,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; } 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/macosx/configs/mkdmgs.sh b/macosx/configs/mkdmgs.sh index 119101a12..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" @@ -18,8 +20,8 @@ sequencelomd5="ab2bbc28cef2a3f2ea3c186e18158acd" relbuild="${CONFIGURATION_BUILD_DIR}" dmgout="${OBJROOT}/dmgout" -. "${OBJROOT}/autorevision.tmp" -bldtg="$(echo "${VCS_TAG}" | sed 's:/:_:g')_[${VCS_SHORT_HASH}]" +. "${PROJECT_DIR}/../src/autorevision.cache" +bldtg="$(echo "${VCS_TAG}" | sed -e 's:/:_:g' -e 's:^v::')_[${VCS_SHORT_HASH}]" # Fail if not release if [ ! "${CONFIGURATION}" = "Release" ]; then @@ -128,8 +130,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 +189,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 +230,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" diff --git a/po/hu.po b/po/hu.po index 2fc75089b..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-16 03:55+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" @@ -11887,18 +11887,18 @@ 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 +#: 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." @@ -11906,7 +11906,7 @@ 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." @@ -11914,12 +11914,12 @@ 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." @@ -11927,7 +11927,7 @@ 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" @@ -11936,21 +11936,25 @@ 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. 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 +#: lib/netplay/netplay.cpp:2871 msgid "Failed to get a lobby response!" msgstr "Képtelenség, hogy kapjon egy támogatói választ!" @@ -12002,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 @@ -12330,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" @@ -12360,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" @@ -12480,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" @@ -12499,7 +12503,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" @@ -12579,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" @@ -12865,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:" @@ -12899,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" @@ -13085,11 +13089,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 @@ -13519,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" @@ -14148,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ő. ***" +msgstr "*** jelszót [%s] kötelező! ***" -#: src/multiint.cpp:2998 +#: src/multiint.cpp:2999 msgid "*** password is NOT required! ***" -msgstr " *** jelszó NEM kötelező. ***" +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" diff --git a/src/action.cpp b/src/action.cpp index 201399e87..3813ceaf8 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 cfdcbb6ec..6fae26c3c 100644 --- a/src/droid.cpp +++ b/src/droid.cpp @@ -217,7 +217,7 @@ 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)) + if (isVtolDroid(psDroid) || ((psDroid->droidType == DROID_TRANSPORTER || psDroid->droidType == DROID_SUPERTRANSPORTER) && bMultiPlayer) && (psDroid->sMove.Status == MOVEINACTIVE)) { damage *= 3; } diff --git a/src/hci.cpp b/src/hci.cpp index 3321fa660..bf57c0411 100644 --- a/src/hci.cpp +++ b/src/hci.cpp @@ -1912,7 +1912,7 @@ static void intProcessObject(UDWORD id) { statButID = id; } - if (psObj->selected) + if (psObj && psObj->selected) { psObj->selected = false; widgSetButtonState(psWScreen, statButID, 0); @@ -2032,6 +2032,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); diff --git a/src/init.cpp b/src/init.cpp index 6fef88254..94dca9b9b 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -600,8 +600,6 @@ bool systemInitialise(void) pie_InitRadar(); - readAIs(); - return true; } @@ -698,13 +696,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(); + if (!scrTabInitialise()) // Initialise the script system { return false; diff --git a/src/move.cpp b/src/move.cpp index da8781145..113ad1c48 100644 --- a/src/move.cpp +++ b/src/move.cpp @@ -1073,8 +1073,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) @@ -1141,15 +1140,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)); } } } @@ -1158,11 +1154,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); } @@ -1827,15 +1820,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 ); diff --git a/src/multiint.cpp b/src/multiint.cpp index db029b3d1..fa6d1d913 100644 --- a/src/multiint.cpp +++ b/src/multiint.cpp @@ -227,6 +227,7 @@ static struct struct AIDATA { + AIDATA() : assigned(0) {} char name[MAX_LEN_AI_NAME]; char slo[MAX_LEN_AI_NAME]; char vlo[MAX_LEN_AI_NAME]; @@ -3828,7 +3829,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); } } diff --git a/src/power.cpp b/src/power.cpp index e40756b37..814d50b4f 100644 --- a/src/power.cpp +++ b/src/power.cpp @@ -189,7 +189,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 */ @@ -209,14 +209,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); } @@ -242,7 +242,7 @@ static int64_t updateExtractedPower(STRUCTURE *psBuilding) { // include modifier as a % extractedPoints = asPower[psBuilding->player].powerModifier * 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; @@ -279,7 +279,7 @@ void updatePlayerPower(int player, int ticks) updateCurrentPower(psStruct, player, ticks); } } - syncDebug("updatePlayerPower%u %"PRId64"->%"PRId64"", player, powerBefore, asPower[player].currentPower); + syncDebug("updatePlayerPower%u %" PRId64"->%" PRId64"", player, powerBefore, asPower[player].currentPower); syncDebugEconomy(player, '<'); } @@ -312,7 +312,7 @@ static void updateCurrentPower(STRUCTURE *psStruct, UDWORD player, int ticks) } int multiplier = getBuildingPowerPoints(psStruct); - syncDebug("updateCurrentPower%d = %"PRId64",%u", player, extractedPower, multiplier); + syncDebug("updateCurrentPower%d = %" PRId64",%u", player, extractedPower, multiplier); asPower[player].currentPower += (extractedPower * multiplier) / 100 * ticks; ASSERT(asPower[player].currentPower >= 0, "negative power"); @@ -326,7 +326,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"); } @@ -335,7 +335,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"); } @@ -379,9 +379,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. }